خرداد
۲۵
۱۳۹۱

پیاده سازی مثلث سرپینسکی با ‏OpenGL

توضیحاتی از این مثلث جالب برگرفته شده از :http://gorooh.parsiblog.com

مثلث متساوی الاضلاعی را در نظر بگیرید. وسط های ضلع های آن را به هم وصل کنید ومثلث متساوی الاضلاعی که در وسط پدید می آید را از آن حذف نمائید .

 

اکنون سه مثلث متساوی الاضلاع باقی مانده در شکل را در نظر بگیرید ,وسط های ضلع ها را در هر مثلث به هم وصل کرده واز درون هر یک, مثلث متساوی الاضلاعی که در وسط پدید می آید را حذف نمائید.

با تکرار این روش در دو گام بعدی این شکل ها حاصل می شوند :

اگر این فرآیند را تا بی نهایت تکرار کنیم شکل به دست آمده را مثلث سیرپینسکی گویند .

————————

همچنین توضیحات بیشتر درباره این مثلث را میتوانید در آدرس زیر ببینید:

http://en.wikipedia.org/wiki/Sierpinski_triangle

و در پایان کد رسم این مثلث با استفاده از OpenGL در زبان برنامه سازی c++ تحت کامپایلر Visual studio 6:

دانلود پیاده سازی مثلث سرپینسکی

البته با تغییرات اندکی میتوانید این کد را در کامپایلرهای دیگر هم اجرا کنید.

تصویری از اجرای برنامه

توضیحاتی راجع به کد برنامه:

نحوه پیاده سازی به این ترتیب است که ابتدا برنامه از کاربر درخواست وارد کردن یک عدد صحیح به عنوان سایز مثلث میکند. هرقدر این عدد بزرگتر باشد مثلث رسم شده بزرگتر خواهد بود. عدد وارد شده در واقع نصف طول و عرض مثلث میباشد.

استراتژی رسم اینگونه است که ابتدا سه نقطه ثابت که رئوس اولیه بزرگترین مثلث را تشکیل میدهند رسم میشوند.  سپس نقطه میانی بین یکی از رئوسی که به صورت رندم انتخاب شده با راس اول (دوم یا سوم) انتخاب و رسم میشود. بعد از این مرحله برنامه وارد حلقه ای میشود که شمارنده آن هرقدر بیشتر باشد مثلث دقیقتری رسم خواهد شد. در این حلقه هربار یکی از سه راس اولیه به صورت رندم انتخاب میشود تا نقطه میانی آن با نقطه میانی که در مرحله قبل انتخاب شده بود رسم شود. بعد از انجام مکرر این کار خواهید دید که مثلث سرپینسکی به شکل اعجاب آوری ترسیم خواهد شد.

موفق باشید

مرور کد برنامه:

 

//

//

توضیح:این پست از پستهای وبلاگ سابق اینجانب به آدرس mohsen-rsd.blogfa.com بوده است.

اشتراک گذاری این مطلب:

نوشته‌های مرتبط

درباره نویسنده

برنامه‌نویس ++‏C/C‏ - برنامه‌نویس سیستم‌های گرافیکی با استفاده از کتابخانه ‏OpenGL - برنامه‌نویس #‏C و ..‏



فرستادن دیدگاه