View Full Version : كشيدن دايره
saed2006
سه شنبه 06 مهر 1389, 09:49 صبح
دستور كشيدن دايره توي محيط دايركت چي هست؟
دستوري براي كشيدن نقطه با يك فطر مشخص وجود داره؟
khorzu
سه شنبه 06 مهر 1389, 18:37 عصر
دستور مستقیمی توی DX برای این کارها وجود نداره ... باید با LineStrip به صورت دستی رسم بشه .
Darab2008
جمعه 20 خرداد 1390, 04:41 صبح
دستور مستقیمی توی DX برای این کارها وجود نداره ... باید با LineStrip به صورت دستی رسم بشه .
به نظرم کشیدن دستی مناسب نباشه اگه بتونی از توابع ریاضی استفاده کنی به راحتی آب خوردن میتونی یک دایره رسم کنی .
برای این کار باید بدونی که دایره روی صفحه مختصات با چهار ربع کشیده میشه یعنی ربع اول ( x. y ) و ربع دوم ( x.y-) و ربع سوم (x.-y-)
و ربع چهارم ( ایکس و منفی ابگرگ ) خب پس اگه بتونی یه کمان یعنی یک چهارم دایره رو بکشی دقیقن میتونی با منفی و مثبت کردن اون کل دایره رو بکشی با استفاده از رابطه فیثاغورث و دانستن نقطه شروع و شعاع دایره متونی نقاط روی محور دایرت رو بدست بیاری و بکشی .
روش بعدی استفاده از توابع مثلثاتی که کار رو خیلی راحت کرده با استفاده از توابع sin , cos متونی مختصات نقاط ربع اول رو بدست بیاری وبرای ربع های دگر هم استفاده کنی که برای بدست اوردن اونها باید شعاع و نقطه شروع رو هم داشته باشی و از فرمول زیر بدست میاد
x= x0 + r cos (teta)
,
y = y0+ rsin(teta )
pswin.pooya
جمعه 20 خرداد 1390, 15:15 عصر
سلام
بسته به نوع كاربرد روشهاي مختلفي وجود داره مثلا اگز از ي يه API برداري استفاده مي كني ( مثلOpenGL و DX) بهتره از همون توابع مثلثاتي رسم دايره استفاده كني اما اگر قراره پيكسلي رسم كني بهتره از روش نقطه مياني استفاده كني.
من توي آدرس زير يك كتاب (جزوه دكتر مهري) رو قرار دادم كه هر دو روش رو توضيح داده:
opengl.persiangig.com
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.