موضوع مقاله: منحنی بزیه | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # منحنی بزیه | مقدمه: منحنی بزیه ، گونه‌ای منحنی پارامتری مورد استفاده در گرافیک رایانه‌ای و صنایع مربوط به آن است. | ## بخش 1: منحنی بزیه | تعمیم‌های منحنی بزیه به ابعاد بالاتر را سطوح بزیه می گویند که یکی از حالت‌های خاص آن‌ها، مثلث بزیه است. در گرافیک برداری، از منحنی‌های بزیه برای مدل‌سازی منحنی‌های نرمی استفاده می‌شود که می‌توانند تا بی‌نهایت بزرگ و کوچک شوند. مسیرها دارای محدودیت‌های تصویری گرافیک شطرنجی (به انگلیسی: Raster) نیستند و کار با آن‌ها از نظر شهودی آسان است. مبنای ریاضیاتی منحنی‌های بزیه چندجمله‌ای‌های برنشتاین است که از سال ۱۹۱۲ شناخته شده‌بود، ولی از این چندجمله‌ای تا حدود ۵۰ سال بعد در گرافیک استفاده‌ای نشد تا این که مهندس فرانسوی پیر بزیه برای طراحی بدنهٔ خودروهای رنو از آن بهره برد. نقطه‌های لنگر ابتدا و انتهای منحنی را مشخص می‌کنند و نقطه‌های کنترل انحنای مسیر را تعیین می‌نمایند. پاره‌خطی که یک نقطهٔ لنگر را به یک نقطهٔ کنترل وصل می‌کند، به دستگیره معروف است. اختراع مبنای ریاضی منحنی‌های بزیه (چندجمله‌ای‌های برنشتاین) در سال ۱۹۱۲ تبیین شد اما از این چندجمله‌ای‌ها در زمینه گرافیک استفاده‌ای نشد. حدود ۵۰ سال بعد وقتی پل دو کاستلژو ریاضیدان در ۱۹۵۹، الگوریتم دو کاستلژو (یک روش عددی پایدار برای ارزیابی منحنی‌ها) را ایجاد کرد، برای نخستین بار از این چندجمله‌ای‌ها در طراحی اتومبیل سیتروئن به کمک رایانه استفاده کرد. این چندجمله‌ای‌ها در دهه ۱۹۶۰ توسط مهندس فرانسوی پیر بزیه، که از آن‌ها برای طراحی بدنه اتومبیل در شرکت رنو استفاده می‌کرد، به‌طور گسترده تبلیغ شد. موارد خاص منحنی بزیه توسط مجموعه‌ای از نقاط کنترل P0 تا Pn تعریف می‌شود، جایی که n ترتیب آن را می‌نامند (n = ۱ برای خطی، ۲ برای درجه دوم و غیره). در بخش‌های زیر، همه‌ی ترکیب‌های خطی را آفین در نظر بگیرید؛ یعنی حاصل جمع ضرایب، برابر 1 است. منحنی‌های خطی بزیه با توجه به نقاط مجزای P0 و P1، یک منحنی خطی بزیه فقط یک خط مستقیم بین این دو نقطه است. منحنی درجه دوم بزیه مسیری است که با داشتن نقاط P0، P1 و P2 توسط تابع ردیابی می‌شود: که به ترتیب می‌تواند به عنوان درون‌یابی خطی نقاط متناظر در منحنی‌های خطی بزیه از P0 به P1 و از P1 به P2 تفسیر شود. اگر معادله‌ی قبلی را ساده کنیم، به معادله زیر می‌رسیم: این را می‌توان به گونه‌ای نوشت که تقارن را با توجه به P1 برجسته کند: حال می‌توانیم مشتق منحنی بزیه را نسبت به t محاسبه کنیم: پس می‌توان نتیجه گرفت که مماس‌های منحنی در نقاط P0 و P2 در نقطه‌ی P1 یکدیگر را قطع می‌کنند. وقتی t از ۰ به ۱ افزایش می‌یابد، منحنی از P0 در جهت P1 حرکت می‌کند، سپس خم می‌شود تا از جهت P1، به P2 برسد. مشتق دوم منحنی بزیه نسبت به t نیز چنین است: منحنی‌های مکعب بزیه چهار نقطه P 0، P 1، P 2 و P 3 در صفحه یا در فضای بعد بالاتر، منحنی بزیه مکعبی را تعریف می‌کنند. فاصله بین P 1 و P 2 «تا چه حد» و «چگونه سریع» حرکت منحنی به سمت P 1 قبل از انحراف به سمت P 2 را تعیین می‌کند. نوشتن BPi,Pj,Pk(t) برای منحنی درجه دوم بزیه که توسط نقاط P i، P j و P k تعریف شده‌است، منحنی بزیه مکعب را می‌توان به عنوان ترکیبی از دو منحنی درجه دوم بزیه تعریف کرد: فرم صریح منحنی به شرح زیر است: برای بعضی از گزینه‌های P 1 و P 2 منحنی ممکن است خودش را قطع کند یا حاوی یک تکینگی (cusp) باشد. هر سری از ۴ نقطه مشخص را می‌توان به یک منحنی بزیه مکعب تبدیل کرد که به ترتیب از هر ۴ نقطه عبور می‌کند. با توجه به نقطه شروع و پایان برخی از منحنی‌های بزیه مکعب، و نقاط امتداد منحنی مربوط به t = ۱/۳ و t = ۲/۳، نقاط کنترل منحنی بزیه اصلی را می‌توان بازیابی کرد. مشتق منحنی بزیه مکعب با توجه به t مقدار زیر است: مشتق دوم منحنی بزیه با توجه به t مقدار زیر است: تعریف کلی منحنی‌های بزیه را می‌توان برای هر درجه n میتوان تعریف کرد. تعریف بازگشتی یک تعریف بازگشتی برای منحنی بزیه از درجه n، آن را به عنوان یک ترکیب خطی نقطه به نقطه (درون یابی خطی) از یک جفت نقطه مربوط در دو منحنی بزیه از درجه بیان می‌کند. تعریف صریح فرمول را می‌توان به صراحت به شرح زیر بیان کرد: جایی که ضرایب دوجمله‌ای هستند. به عنوان مثال، برای n = ۵: واژه‌شناسی برخی اصطلاحات با این منحنی‌های پارامتریک مرتبط است. توجه داشته باشید که t 0 = ۱، (1 - t) 0 = ۱، و ضریب دوجمله‌ای، ، است: نقاط P i را برای منحنی بزیه نقاط کنترلی می‌نامند. چند ضلعی حاصل از اتصال نقاط بزیه با خطوط، شروع با P 0 و پایان دادن به P n، چند ضلعی بزیه (یا چند ضلعی کنترل) نامیده می‌شود. فرم چند جمله‌ای گاهی مطلوب است که منحنی بزیه را به جای چند جمله، چند جمله‌ای ساده‌تر برنشتاین به صورت چند جمله‌ای بیان کنید. | ## بخش 2: منحنی بزیه | استفاده از قضیه دوجمله‌ای در تعریف منحنی و به دنبال برخی از مقداری بازآرایی نتیجه می‌دهد: که این می‌تواند عملی باشد اگر می‌تواند قبل از بسیاری از ارزیابی‌ها محاسبه شود ؛ با این وجود باید احتیاط کرد زیرا منحنی‌های مرتبه بالا ممکن است از ثبات عددی برخوردار نباشند (در صورت بروز این الگوریتم دی Casteljau باید استفاده شود). یک منحنی را می‌توان در هر نقطه به دو زیر شاخه، یا به دلخواه بسیاری از زیرشاخه‌ها تقسیم کرد که هر یک از آن‌ها نیز منحنی بزیه است. برخی از منحنی‌های ساده به نظر می‌رسند، مانند دایره، نمی‌توان دقیقاً توسط منحنی بزیه یا بزیه به‌صورت قطعه ای توصیف کرد. اگرچه یک منحنی بزیه مکعب چهار قطعه می‌تواند یک دایره تقریبی را ببینید (به منحنی ترکیبی بزیه مراجعه کنید)، با حداکثر خطای شعاعی کمتر از یک قسمت در هزار، وقتی هر نقطه کنترل داخلی (یا نقطه آفلاین) فاصله باشد به صورت افقی یا عمودی از یک نقطه کنترل بیرونی روی یک دایره واحد. به‌طور کلی، یک منحنی بزیه مکعب n-قطعه می‌تواند یک دایره را تقریبی بداند، زمانی که هر نقطه کنترل داخلی فاصله است از یک نقطه کنترل بیرونی روی یک دایره واحد، جایی که t 360 / n درجه است، و n > 2. هر منحنی درجه دوم بزیه نیز یک منحنی بزیه مکعب است، و به‌طور کلی، هر منحنی بزیه درجه n نیز منحنی درجه m برای هر m > n است. معنای این از لحاظ شهودی این است که منحنی بزیه بیش از چند ضلعی نقاط کنترل خود را «موج دار شود» و ممکن است در واقع کمتر از آن «موج دار شود». یک منحنی نظم بزیه بالاتر از دو ممکن است خودش را قطع کند یا برای برخی از گزینه‌های کنترل نقاط قعر باشد. با اشاره به شکل سمت راست، ویژگی‌های مهم سهمی را می‌توان به شرح زیر به دست آورد: مماس‌های سهمی در نقاط انتهایی منحنی (A و B) در نقطه کنترل آن (C) تلاقی می‌کنند. اگر D نقطه میانی AB باشد، مماس منحنی عمود بر CD (خط فیروزه ای خط دار) راس آن را تعریف می‌کند (V). اگر G محل تلاقی این مماس و محور باشد، خط عبوری از G و عمود بر CD، دایرکتریکس (سبز جامد) است. کانون (F) در تقاطع محور و خطی است که از E عبور می‌کند و عمود بر CD است (زرد نقطه دار). مشتق مشتق منحنی سفارش n است ساخت منحنی‌های بزیه منحنی‌های خطی t در تابع را برای یک منحنی خطی بزیه می‌توان تصور کرد که فاصله B (t) از P 0 به P 1 چیست. منحنی درجه دوم برای منحنی‌های درجه دوم بزی می‌توان نقاط میانی Q 0 و Q 1 را طوری ساخت که t از ۰ تا ۱ متغیر باشد: نقطه از P 0 تا P 1 متغیر است و یک منحنی خطی بزیه را توصیف می‌کند. نقطه B (t) بین تا به صورت خطی درون یابی می‌شود و منحنی درجه دوم بزیه را توصیف می‌کند. منحنی‌های مرتبه بالاتر برای منحنی‌های مرتبه بالاتر شخص به نقاط میانی بیشتری احتیاج دارد. برای منحنی‌های مکعبی می‌توان نقاط میانی Q 0، Q 1 و Q 2 را که منحنی‌های خطی بزیه را توصیف می‌کند و نقاط R 0 & R 1 را که منحنی‌های درجه دوم بزیه را توصیف می‌کنند، ساخت: برای منحنی‌های مرتبه چهارم می‌توان نقاط میانی Q 0، Q 1، Q 2 و Q 3 را ساخت که منحنی‌های خطی بزیه، نقاط R 0، R 1 و R 2 را توصیف می‌کند که منحنی‌های درجه دوم بزیه و نقاط S 0 & S 1 را توصیف می‌کند. منحنی‌های بزیه مکعبی را توصیف کنید: برای منحنی‌های مرتبه پنجم، می‌توان نقاط میانی مشابهی را ساخت. جبران کردن (معروف به نوازش) منحنی‌های بزیه منحنی در یک جابجایی ثابت از یک منحنی بزیه داده نمی‌شود، که در ریاضیات منحنی افست یا موازی نامیده می‌شود ("موازی" با منحنی اصلی قرار دارد، مانند جابجایی بین ریل‌ها در یک مسیر راه‌آهن)، دقیقاً توسط یک منحنی بزیه تشکیل نمی‌شود (به جز در برخی موارد پیش پا افتاده). در زمینه گرافیک برداری، به رنگ آمیزی دو منحنی افست با تقارن متقارن نوازش گفته می‌شود (منحنی بزیه یا به‌طور کلی مسیری از چندین بخش بزیه). ارتفاع درجه منحنی بزیه از درجه n می‌تواند به منحنی بزیه از درجه n+1 با همان شکل تبدیل شود. این در صورتی مفید است که نرم‌افزار منحنی‌های بزیه را فقط در درجه خاص پشتیبانی کند. به عنوان مثال، سیستم‌هایی که فقط می‌توانند با منحنی‌های مکعبی مکعبی کار کنند، می‌توانند با استفاده از نمایش مکعب معادل آنها، به‌طور ضمنی با منحنی‌های درجه دوم کار کنند. هر مولفه ضرب در (1 − t) می‌شود و t، بنابراین یک درجه بدون تغییر مقدار افزایش می‌یابد. در اینجا مثالی برای افزایش درجه از ۲ به ۳: برای n دلخواه از برابری استفاده می‌کنیم از این رو: معرفی دلخواه و . بنابراین، نقاط کنترل جدید تکرار درجه ارتفاع مفهوم ارتفاع درجه را می‌توان بر روی چند ضلعی کنترل R تکرار کرد تا توالی چند ضلعی‌های کنترل R , R 1، R 2 و غیره به دست آید. عدد یک منحنی وزنی شکل بزیه به شکل برنشتاین است و مخرج یک مجموع وزنی از چند جمله‌های برنشتاین است. | ## بخش 3: منحنی بزیه | از منحنی‌های منطقی بزیه، در میان سایر کاربردها، می‌توان برای نمایش دقیق بخش‌های مخروطی، از جمله قوسهای دایره ای استفاده کرد. با توجه به نقاط کنترل P i، منحنی بزیه منطقی را می‌توان با شرح زیر توصیف کرد: یا به سادگی این عبارت را می‌توان با استفاده از سیستم‌های عددی علاوه بر واقعی برای اوزان، گسترش داد. در صفحه پیچیده، نقاط {۱}، {-۱} و {۱} با وزن { }، {۱} و { } یک دایره کامل با شعاع یک ایجاد کنید. برای منحنی‌های دارای نقطه و وزن روی یک دایره، وزن‌ها را می‌توان بدون تغییر شکل منحنی مقیاس بندی کرد. مقیاس گذاری وزن مرکزی منحنی فوق توسط ۱٫۳۵۵۰۸، پارامتر سازی یکنواخت تری را به دست می‌دهد. با اعمال تبدیل مربوطه بر روی نقاط کنترل منحنی می توان تبدیلات آفین مانند انتقال (هندسه) و چرخش را روی منحنی اعمال کرد. در صورت نیاز به اشکال پیچیده‌تر، منحنی‌های کم‌نظیر بزیه به هم وصل می‌شوند و یک منحنی بزیه مرکب تولید می‌کنند. ی را که در آن دو منحنی تشکیل دهنده بزیه به هم می‌رسند، مجبور کنیم در روی خط مشخص شده توسط دو نقطه کنترل در دو طرف قرار بگیریم. ساده‌ترین روش برای تبدیل اسکن (تصادفی سازی) منحنی بزیه ارزیابی آن در بسیاری از نقاط با فاصله نزدیک و اسکن تبدیل توالی تقریبی بخشهای خط است. با این حال، این تضمین نمی‌کند که خروجی تصادفی شده به اندازه کافی صاف به نظر می‌رسد، زیرا ممکن است نقاط از یکدیگر بسیار دور باشند. یک روش تطبیقی معمول، تقسیم بازگشتی است که در آن نقاط کنترل یک منحنی بررسی می‌شود تا ببیند که آیا منحنی به یک خط مستقیم نزدیک به یک تحمل کوچک است. در غیر این صورت، منحنی از نظر پارامتری به دو بخش و تقسیم می‌شود و روش مشابه به‌طور بازگشتی برای هر نیمه اعمال می‌شود. روش‌های متمایزسازی به جلو نیز وجود دارد، اما باید برای تجزیه و تحلیل انتشار خطا بسیار دقت شود. روشهای تحلیلی که یک بزیه با هر خط اسکن قطع می‌شود شامل یافتن ریشه‌های چند جمله ای مکعبی (برای بزیه‌های مکعبی) و مقابله با چندین ریشه است، بنابراین آن‌ها در عمل اغلب استفاده نمی‌شوند. بدین منظور، هواپیما ابتدا به هشت بخش ۴۵ درجه تقسیم می‌شود (توسط محورهای مختصات و دو خط )، سپس منحنی به بخش‌های کوچکتر تجزیه می‌شود، به طوری که جهت یک بخش منحنی در یک بخش باقی می‌ماند. از آنجا که سرعت منحنی یک چند جمله ای درجه دو است، پیدا کردن مقادیری که موازی یکی از این خطوط باشد را می‌توان با حل معادلات درجه دوم انجام داد. در هر بخش، حرکت افقی یا عمودی غالب است و تعداد کل مراحل در هر جهت را می‌توان از مختصات نقطه انتهایی خواند. برای مثال حرکت افقی بخش ۰–۴۵ درجه به سمت راست غالب است، بنابراین فقط باید تصمیم بگیرید که بین کدام پله‌ها به سمت راست منحنی باید یک پله بالا برود.Parts 19–22 of انیمیشن در برنامه‌های انیمیشن سازی، مانند Adobe Flash و Synfig، از منحنی‌های بزیه برای طرح کلی، به عنوان مثال حرکت، استفاده می‌شود. کاربران مسیر مورد نظر را در منحنی‌های بزیه ترسیم می‌کنند، و برنامه قاب‌های لازم را برای حرکت جسم در طول مسیر ایجاد می‌کند. در انیمیشن سه بعدی، منحنی‌های بزیه اغلب برای تعریف مسیرهای سه بعدی و همچنین منحنی‌های دو بعدی برای درهم آمیختن فریم کلیدی استفاده می‌شوند. رندر داخلی تمام منحنی‌های بزیه در رندرهای فونت یا گرافیک برداری، آن‌ها را به صورت بازگشتی تقسیم می‌کند تا جایی که منحنی به اندازه کافی مسطح باشد تا به صورت مجموعه ای از بخش‌های خطی یا دایره ای ترسیم شود. الگوریتم تقسیم دقیق به اجرا وابسته است، فقط معیارهای مسطح بودن باید رعایت شود تا به دقت لازم برسد و از تغییر موضع منحنی غیر یکنواخت جلوگیری کند. از آنجا که قوس دایره‌ها و بیضی‌ها را نمی‌توان دقیقاً توسط منحنی‌های بزیه نشان داد، ابتدا با منحنی‌های بزیه تقریب می‌شوند که به نوبه خود با قوس‌های دایره‌ها تقریب می‌شوند. این ناکارآمد است زیرا تقریب‌های منحنی بزیه با استفاده از کمان‌های دایره یا بیضی نیز وجود دارد، که می‌تواند با دقت دلخواه به صورت تدریجی ارائه شود. رویکرد دیگری که توسط آداپتورهای گرافیکی سخت‌افزاری مدرن با هندسه شتابدهنده استفاده می‌شود، می‌تواند دقیقاً تمام منحنی‌های بزیه و مخروطی (یا سطوح) را به NURBS تبدیل کند، که می‌تواند بدون تقسیم منحنی به صورت بازگشتی به صورت افزایشی ارائه شود تا به شرایط مسطح لازم برسد. | ## جمع‌بندی | این روش همچنین اجازه می‌دهد تا تعریف منحنی را تحت همه تبدیل‌ها و پیش‌بینی‌های 2D و 3D خطی یا پرسپکتیو حفظ کنیم.