منحنی بزیه کیست؟ توضیح بده.
منحنی بزیه ()، گونه‌ای منحنی پارامتری مورد استفاده در گرافیک رایانه‌ای و صنایع مربوط به آن است. تعمیم‌های منحنی بزیه به ابعاد بالاتر را سطوح بزیه می گویند که یکی از حالت‌های خاص آن‌ها، مثلث بزیه است. در گرافیک برداری، از منحنی‌های بزیه برای مدل‌سازی منحنی‌های نرمی استفاده می‌شود که می‌توانند تا بی‌نهایت بزرگ و کوچک شوند. از پیوند زدن چند منحنی بزیه ساده یک مسیر (منحنی بزیهٔ پیچیده) حاصل می‌شود. مسیرها دارای محدودیت‌های تصویری گرافیک شطرنجی (به انگلیسی: Raster) نیستند و کار با آن‌ها از نظر شهودی آسان است.مبنای ریاضیاتی منحنی‌های بزیه چندجمله‌ای‌های برنشتاین است که از سال ۱۹۱۲ شناخته شده‌بود، ولی از این چندجمله‌ای تا حدود ۵۰ سال بعد در گرافیک استفاده‌ای نشد تا این که مهندس فرانسوی پیر بزیه برای طراحی بدنهٔ خودروهای رنو از آن بهره برد.هر منحنی بزیه دو "نقطه لنگر" و دو "نقطه کنترل" دارد. نقطه‌های لنگر ابتدا و انتهای منحنی را مشخص می‌کنند و نقطه‌های کنترل انحنای مسیر را تعیین می‌نمایند. پاره‌خطی که یک نقطهٔ لنگر را به یک نقطهٔ کنترل وصل می‌کند، به دستگیره معروف است.اختراع.مبنای ریاضی منحنی‌های بزیه (چندجمله‌ای‌های برنشتاین) در سال ۱۹۱۲ تبیین شد اما از این چندجمله‌ای‌ها در زمینه گرافیک استفاده‌ای نشد. حدود ۵۰ سال بعد وقتی پل دو کاستلژو ریاضیدان در ۱۹۵۹، (یک روش عددی پایدار برای ارزیابی منحنی‌ها) را ایجاد کرد، برای نخستین بار از این چندجمله‌ای‌ها در طراحی اتومبیل سیتروئن به کمک رایانه استفاده کرد. این چندجمله‌ای‌ها در دهه ۱۹۶۰ توسط مهندس فرانسوی پیر بزیه، که از آن‌ها برای طراحی بدنه اتومبیل در شرکت رنو استفاده می‌کرد، به‌طور گسترده تبلیغ شد.موارد خاص."منحنی بزیه" توسط مجموعه‌ای از "نقاط کنترل" P0 تا Pn تعریف می‌شود، جایی که "n" ترتیب آن را می‌نامند ("n" = ۱ برای خطی، ۲ برای درجه دوم و غیره). اولین و آخرین نقاط کنترل همیشه نقاط انتهایی منحنی هستند. با این حال، نقاط کنترل میانی (در صورت وجود) به‌طور کلی روی منحنی قرار ندارند. در بخش‌های زیر، همه‌ی ترکیب‌های خطی را در نظر بگیرید؛ یعنی حاصل جمع ضرایب، برابر 1 است.منحنی‌های خطی بزیه.با توجه به نقاط مجزای P0 و P1، یک منحنی خطی بزیه فقط یک خط مستقیم بین این دو نقطه است. این منحنی را با معادله‌منحنی‌های درجه دوم بزیه.منحنی درجه دوم بزیه مسیری است که با داشتن نقاط P0، P1 و P2 توسط تابع formula_2 ردیابی می‌شود:formula_3که به ترتیب می‌تواند به عنوان درون‌یابی خطی نقاط متناظر در منحنی‌های خطی بزیه از P0 به P1 و از P1 به P2 تفسیر شود. اگر معادله‌ی قبلی را ساده کنیم، به معادله زیر می‌رسیم:formula_4این را می‌توان به گونه‌ای نوشت که تقارن را با توجه به P1 برجسته کند:formula_5حال می‌توانیم مشتق منحنی بزیه را نسبت به "t" محاسبه کنیم:formula_6پس می‌توان نتیجه گرفت که مماس‌های منحنی در نقاط P0 و P2 در نقطه‌ی P1 یکدیگر را قطع می‌کنند. وقتی "t" از ۰ به ۱ افزایش می‌یابد، منحنی از P0 در جهت P1 حرکت می‌کند، سپس خم می‌شود تا از جهت P1، به P2 برسد.مشتق دوم منحنی بزیه نسبت به "t" نیز چنین است:منحنی‌های مکعب بزیه.چهار نقطه P 0، P 1، P 2 و P 3 در صفحه یا در فضای بعد بالاتر، منحنی بزیه مکعبی را تعریف می‌کنند. منحنی از P 0 شروع می‌شود و به سمت P 1 می‌رود و و از جهت P 2،به P3 می‌رسد. معمولاً از P 1 یا P 2 عبور نخواهد کرد. این نقاط فقط برای ارائه اطلاعات جهت دار وجود دارد. فاصله بین P 1 و P 2 «تا چه حد» و «چگونه سریع» حرکت منحنی به سمت P 1 قبل از انحراف به سمت P 2 را تعیین می‌کند.نوشتن BPi,Pj,Pk("t") formula_8برای منحنی درجه دوم بزیه که توسط نقاط P i، P j و P k تعریف شده‌است، منحنی بزیه مکعب را می‌توان به عنوان ترکیبی از دو منحنی درجه دوم بزیه تعریف کرد:formula_9فرم صریح منحنی به شرح زیر است:formula_10برای بعضی از گزینه‌های P 1 و P 2 منحنی ممکن است خودش را قطع کند یا حاوی یک تکینگی (cusp) باشد.هر سری از ۴ نقطه مشخص را می‌توان به یک منحنی بزیه مکعب تبدیل کرد که به ترتیب از هر ۴ نقطه عبور می‌کند. با توجه به نقطه شروع و پایان برخی از منحنی‌های بزیه مکعب، و نقاط امتداد منحنی مربوط به "t" = ۱/۳ و "t" = ۲/۳، نقاط کنترل منحنی بزیه اصلی را می‌توان بازیابی کرد.مشتق منحنی بزیه مکعب با توجه به "t" مقدار زیر است:formula_11مشتق دوم منحنی بزیه با توجه به "t" مقدار زیر است:formula_12تعریف کلی.منحنی‌های بزیه را می‌توان برای هر درجه "n میتوان تعریف کرد".تعریف بازگشتی.یک تعریف بازگشتی برای منحنی بزیه از درجه "n"، آن را به عنوان یک ترکیب خطی نقطه به نقطه (درون یابی خطی) از یک جفت نقطه مربوط در دو منحنی بزیه از درجهformula_13 "بیان می‌کند."اجازه دهید formula_14 منحنی بزیه را مشخص می‌کنیم که با انتخاب هر یک از نقاط P 0، P 1 ،. ، P "n" سپس برای شروع،formula_15formula_16این بازگشت در انیمیشن‌های زیر توضیح داده شده‌است.تعریف صریح.فرمول را می‌توان به صراحت به شرح زیر بیان کرد:formula_17جایی که formula_18 ضرایب دوجمله‌ای هستند.به عنوان مثال، برای "n" = ۵:formula_19واژه‌شناسی.برخی اصطلاحات با این منحنی‌های پارامتریک مرتبط است. ما داریم:formula_20چند جمله ای‌ها:formula_21به چند جمله ای پایه برنشتاین درجه "n معروف هستند".توجه داشته باشید که "t" 0 = ۱، (1 - "t") 0 = ۱، و ضریب دوجمله‌ای، formula_18 ، است:formula_23نقاط P "i را" برای منحنی بزیه نقاط "کنترلی می"‌نامند. چند ضلعی حاصل از اتصال نقاط بزیه با خطوط، شروع با P 0 و پایان دادن به P "n"، "چند ضلعی بزیه" (یا "چند ضلعی کنترل") نامیده می‌شود. بدنه محدب چند ضلعی بزیه شامل منحنی بزیه است.فرم چند جمله‌ای.گاهی مطلوب است که منحنی بزیه را به جای چند جمله، چند جمله‌ای ساده‌تر برنشتاین به صورت چند جمله‌ای بیان کنید. استفاده از قضیه دوجمله‌ای در تعریف منحنی و به دنبال برخی از مقداری بازآرایی نتیجه می‌دهد:formula_24کهformula_25این می‌تواند عملی باشد اگر formula_26 می‌تواند قبل از بسیاری از ارزیابی‌ها محاسبه شود formula_27 ؛ با این وجود باید احتیاط کرد زیرا منحنی‌های مرتبه بالا ممکن است از ثبات عددی برخوردار نباشند (در صورت بروز این الگوریتم دی Casteljau باید استفاده شود). توجه داشته باشید که محصول خالی ۱ است.خواص.منحنی مرتبه دوم یک بخش سهمی است.منحنی درجه دوم بزیه نیز بخشی از یک سهمی است. از آنجا که سهمی یک بخش مخروطی است، برخی منابع از بزیه‌های درجه دوم به عنوان «قوس‌های مخروطی» یاد می‌کنند. با اشاره به شکل سمت راست، ویژگی‌های مهم سهمی را می‌توان به شرح زیر به دست آورد:مشتق.مشتق منحنی سفارش "n" استformula_31ساخت منحنی‌های بزیه.منحنی‌های خطی."t" در تابع را برای یک منحنی خطی بزیه می‌توان تصور کرد که فاصله B ("t") از P 0 به P 1 چیست. به عنوان مثال، وقتی "t = ۰٫۲۵"، B ("t") یک چهارم راه از نقطه P 0 به P 1 است. از آنجا که "t" از ۰ تا ۱ متغیر است، B ("t") یک خط مستقیم از P 0 به P 1 را توصیف می‌کند.منحنی درجه دوم.برای منحنی‌های درجه دوم بزی می‌توان نقاط میانی Q 0 و Q 1 را طوری ساخت که "t" از ۰ تا ۱ متغیر باشد:منحنی‌های مرتبه بالاتر.برای منحنی‌های مرتبه بالاتر شخص به نقاط میانی بیشتری احتیاج دارد. برای منحنی‌های مکعبی می‌توان نقاط میانی Q 0، Q 1 و Q 2 را که منحنی‌های خطی بزیه را توصیف می‌کند و نقاط R 0 &amp; R 1 را که منحنی‌های درجه دوم بزیه را توصیف می‌کنند، ساخت:برای منحنی‌های مرتبه چهارم می‌توان نقاط میانی Q 0، Q 1، Q 2 و Q 3 را ساخت که منحنی‌های خطی بزیه، نقاط R 0، R 1 و R 2 را توصیف می‌کند که منحنی‌های درجه دوم بزیه و نقاط S 0 &amp; S 1 را توصیف می‌کند. منحنی‌های بزیه مکعبی را توصیف کنید:برای منحنی‌های مرتبه پنجم، می‌توان نقاط میانی مشابهی را ساخت.این نمایش‌ها متکی بر فرایند مورد استفاده در الگوریتم De Casteljau برای محاسبه منحنی‌های بزیه است.جبران کردن (معروف به نوازش) منحنی‌های بزیه.منحنی در یک جابجایی ثابت از یک منحنی بزیه داده نمی‌شود، که در ریاضیات منحنی افست یا موازی نامیده می‌شود ("موازی" با منحنی اصلی قرار دارد، مانند جابجایی بین ریل‌ها در یک مسیر راه‌آهن)، دقیقاً توسط یک منحنی بزیه تشکیل نمی‌شود (به جز در برخی موارد پیش پا افتاده). به‌طور کلی، منحنی انحراف دو طرفه بزیه مکعب یک منحنی جبری مرتبه ۱۰ است و به‌طور کلی برای یک بزیه درجه "n" منحنی انحراف دو طرفه یک منحنی جبری درجه ۴ ، formula_36 است. با این حال، روشهای ابتکاری وجود دارد که معمولاً تقریب مناسبی را برای اهداف عملی ارائه می‌دهند.در زمینه گرافیک برداری، به رنگ آمیزی دو منحنی افست با تقارن متقارن "نوازش گفته می‌شود" (منحنی بزیه یا به‌طور کلی مسیری از چندین بخش بزیه). تبدیل از منحنی‌های افست به خطوط پر شده بزیه از اهمیت عملی در تبدیل فونت‌های تعریف شده در Metafont است که اجازه می‌دهد تا منحنی‌های بزیه را به فونت‌های نوع 1 PostScript که به‌طور گسترده استفاده می‌شود، تبدیل کنید. پر کردن یک کانتور مشخص شده توسط منحنی‌های بزیه (غیر خود تلاقی).ارتفاع درجه.منحنی بزیه از درجه "n" می‌تواند به منحنی بزیه از درجه "n+1 با همان شکل تبدیل شود". این در صورتی مفید است که نرم‌افزار منحنی‌های بزیه را فقط در درجه خاص پشتیبانی کند. به عنوان مثال، سیستم‌هایی که فقط می‌توانند با منحنی‌های مکعبی مکعبی کار کنند، می‌توانند با استفاده از نمایش مکعب معادل آنها، به‌طور ضمنی با منحنی‌های درجه دوم کار کنند.برای انجام ارتفاع درجه، از برابری استفاده می‌کنیم formula_37 . هر مولفه formula_38 ضرب در (1 − "t") می‌شود و "t"، بنابراین یک درجه بدون تغییر مقدار افزایش می‌یابد. در اینجا مثالی برای افزایش درجه از ۲ به ۳:formula_39برای "n" دلخواه از برابری استفاده می‌کنیمformula_40از این رو:formula_41معرفی دلخواه formula_42 و formula_43 .بنابراین، نقاط کنترل جدیدformula_44تکرار درجه ارتفاع.مفهوم ارتفاع درجه را می‌توان بر روی چند ضلعی کنترل R تکرار کرد تا توالی چند ضلعی‌های کنترل R , R 1، R 2 و غیره به دست آید. بعد از افزایش درجه "r"، چند ضلعی R r دارای رئوس P 0، r، P 1، r، P 2، r، است. . ، P n + r، r داده شده توسطformula_45همچنین می‌توان نشان داد که برای منحنی بزیه زیرین "B" ,formula_46منحنی‌های بزیه منطقی.منحنی بیزیر منطقی وزنی قابل تنظیم برای ایجاد تقریب نزدیک به اشکال دلخواه اضافه می‌کند. عدد یک منحنی وزنی شکل بزیه به شکل برنشتاین است و مخرج یک مجموع وزنی از چند جمله‌های برنشتاین است. از منحنی‌های منطقی بزیه، در میان سایر کاربردها، می‌توان برای نمایش دقیق بخش‌های مخروطی، از جمله قوسهای دایره ای استفاده کرد.با توجه به formula_47 نقاط کنترل P "i"، منحنی بزیه منطقی را می‌توان با شرح زیر توصیف کرد:formula_48یا به سادگیformula_49این عبارت را می‌توان با استفاده از سیستم‌های عددی علاوه بر واقعی برای اوزان، گسترش داد. در صفحه پیچیده، نقاط {۱}، {-۱} و {۱} با وزن { formula_50 }، {۱} و { formula_51 } یک دایره کامل با شعاع یک ایجاد کنید. برای منحنی‌های دارای نقطه و وزن روی یک دایره، وزن‌ها را می‌توان بدون تغییر شکل منحنی مقیاس بندی کرد. مقیاس گذاری وزن مرکزی منحنی فوق توسط ۱٫۳۵۵۰۸، پارامتر سازی یکنواخت تری را به دست می‌دهد.برنامه‌های کاربردی.گرافیک کامپیوتری.منحنی‌های بزیه به‌طور گسترده‌ای در گرافیک کامپیوتر برای مدل‌سازی منحنی‌های صاف استفاده می‌شود.از آنجایی که منحنی به طور کامل در بدنه محدب (پوسته محدب) نقاط کنترل آن قرار دارد ، می توان نقاط را به صورت گرافیکی نمایش داد و برای دستکاری منحنی به طور مستقیم استفاده کرد. با اعمال تبدیل مربوطه بر روی نقاط کنترل منحنی می توان تبدیلات آفین مانند انتقال (هندسه) و چرخش را روی منحنی اعمال کرد.منحنی‌های درجه دوم و مکعب بزیه بیشترین شیوع را دارند. منحنی‌های درجه بالاتر برای ارزیابی از نظر محاسباتی گران ترند. در صورت نیاز به اشکال پیچیده‌تر، منحنی‌های کم‌نظیر بزیه به هم وصل می‌شوند و یک منحنی بزیه مرکب تولید می‌کنند. از منحنی ترکیبی بزیه معمولاً به عنوان «مسیر» در زبانهای گرافیکی برداری (مانند PostScript)، استانداردهای گرافیکی برداری (مانند SVG) و برنامه‌های گرافیکی برداری (مانند Artline، Timeworks Publisher، Adobe Illustrator، CorelDraw، Inkscape و Allegro) یاد می‌شود. . به منظور پیوستن منحنی‌های بزیه به یک منحنی ترکیبی بزیه و بدون انحراف، خاصیتی به نام "G1 مداوم"، کافی است که نقطه کنترلی را که در آن دو منحنی تشکیل دهنده بزیه به هم می‌رسند، مجبور کنیم در روی خط مشخص شده توسط دو نقطه کنترل در دو طرف قرار بگیریم.ساده‌ترین روش برای تبدیل اسکن (تصادفی سازی) منحنی بزیه ارزیابی آن در بسیاری از نقاط با فاصله نزدیک و اسکن تبدیل توالی تقریبی بخشهای خط است. با این حال، این تضمین نمی‌کند که خروجی تصادفی شده به اندازه کافی صاف به نظر می‌رسد، زیرا ممکن است نقاط از یکدیگر بسیار دور باشند. برعکس ممکن است در مناطقی که منحنی نزدیک به خطی است، نقاط زیادی ایجاد کند. یک روش تطبیقی معمول، تقسیم بازگشتی است که در آن نقاط کنترل یک منحنی بررسی می‌شود تا ببیند که آیا منحنی به یک خط مستقیم نزدیک به یک تحمل کوچک است. در غیر این صورت، منحنی از نظر پارامتری به دو بخش formula_52 و formula_53 تقسیم می‌شود و روش مشابه به‌طور بازگشتی برای هر نیمه اعمال می‌شود. روش‌های متمایزسازی به جلو نیز وجود دارد، اما باید برای تجزیه و تحلیل انتشار خطا بسیار دقت شود.روشهای تحلیلی که یک بزیه با هر خط اسکن قطع می‌شود شامل یافتن ریشه‌های چند جمله ای مکعبی (برای بزیه‌های مکعبی) و مقابله با چندین ریشه است، بنابراین آن‌ها در عمل اغلب استفاده نمی‌شوند.الگوریتم rasterisation مورد استفاده در Metafont مبتنی بر تشخیص منحنی است، به طوری که با دنباله ای از "حرکت‌های rook " که کاملاً عمودی یا کاملاً افقی هستند، در امتداد مرزهای پیکسل تقریب می‌یابد. بدین منظور، هواپیما ابتدا به هشت بخش ۴۵ درجه تقسیم می‌شود (توسط محورهای مختصات و دو خط formula_54)، سپس منحنی به بخش‌های کوچکتر تجزیه می‌شود، به طوری که "جهت" یک بخش منحنی در یک بخش باقی می‌ماند. از آنجا که سرعت منحنی یک چند جمله ای درجه دو است، پیدا کردن formula_55 مقادیری که موازی یکی از این خطوط باشد را می‌توان با حل معادلات درجه دوم انجام داد. در هر بخش، حرکت افقی یا عمودی غالب است و تعداد کل مراحل در هر جهت را می‌توان از مختصات نقطه انتهایی خواند. برای مثال حرکت افقی بخش ۰–۴۵ درجه به سمت راست غالب است، بنابراین فقط باید تصمیم بگیرید که بین کدام پله‌ها به سمت راست منحنی باید یک پله بالا برود.انیمیشن.در برنامه‌های انیمیشن سازی، مانند Adobe Flash و Synfig، از منحنی‌های بزیه برای طرح کلی، به عنوان مثال حرکت، استفاده می‌شود. کاربران مسیر مورد نظر را در منحنی‌های بزیه ترسیم می‌کنند، و برنامه قاب‌های لازم را برای حرکت جسم در طول مسیر ایجاد می‌کند.در انیمیشن سه بعدی، منحنی‌های بزیه اغلب برای تعریف مسیرهای سه بعدی و همچنین منحنی‌های دو بعدی برای درهم آمیختن فریم کلیدی استفاده می‌شوند. منحنی‌های بزیه اکنون به‌طور مداوم برای کنترل کاهش انیمیشن در CSS، JavaScript و JavaFx استفاده می‌شود.قلم‌ها.قلم‌های TrueType از منحنی‌های بزیه مرکب متشکل از منحنی‌های درجه دوم بزیه استفاده می‌کنند. زبان‌‌های دیگر و ابزارهای تصویربرداری (مانند PostScript، Asymptote، Metafont و SVG) از بزیه مرکب متشکل از منحنی‌های بزیه مکعب برای ترسیم اشکال منحنی استفاده می‌کنند. بسته به طعم قلم، قلمهای OpenType می‌توانند از هر دو نوع استفاده کنند.رندر داخلی تمام منحنی‌های بزیه در رندرهای فونت یا گرافیک برداری، آن‌ها را به صورت بازگشتی تقسیم می‌کند تا جایی که منحنی به اندازه کافی مسطح باشد تا به صورت مجموعه ای از بخش‌های خطی یا دایره ای ترسیم شود. الگوریتم تقسیم دقیق به اجرا وابسته است، فقط معیارهای مسطح بودن باید رعایت شود تا به دقت لازم برسد و از تغییر موضع منحنی غیر یکنواخت جلوگیری کند. ویژگی «منحنی روان» نمودارها در Microsoft Excel نیز از این الگوریتم استفاده می‌کند.از آنجا که قوس دایره‌ها و بیضی‌ها را نمی‌توان دقیقاً توسط منحنی‌های بزیه نشان داد، ابتدا با منحنی‌های بزیه تقریب می‌شوند که به نوبه خود با قوس‌های دایره‌ها تقریب می‌شوند. این ناکارآمد است زیرا تقریب‌های منحنی بزیه با استفاده از کمان‌های دایره یا بیضی نیز وجود دارد، که می‌تواند با دقت دلخواه به صورت تدریجی ارائه شود. رویکرد دیگری که توسط آداپتورهای گرافیکی سخت‌افزاری مدرن با هندسه شتابدهنده استفاده می‌شود، می‌تواند دقیقاً تمام منحنی‌های بزیه و مخروطی (یا سطوح) را به NURBS تبدیل کند، که می‌تواند بدون تقسیم منحنی به صورت بازگشتی به صورت افزایشی ارائه شود تا به شرایط مسطح لازم برسد. این روش همچنین اجازه می‌دهد تا تعریف منحنی را تحت همه تبدیل‌ها و پیش‌بینی‌های 2D و 3D خطی یا پرسپکتیو حفظ کنیم.موتورهای قلم، مانند FreeType، منحنی‌های قلم (و خطوط) را با استفاده از فرایندی که به عنوان rasterization قلم شناخته‌می‌شود، روی یک سطح پیکسلی ترسیم می‌کنند.