PDA

View Full Version : بعد دهی بوسیله دوران



amin1softco
یک شنبه 22 فروردین 1389, 18:32 عصر
یک مهره سرباز در شطرنج رو درنظر بگیرید این مهره را ما قبلا با مکس با دوران یک خط به دور خودش ایجاد می کردیم حالا آیا امکان این کار با OpenGL هست یعنی ما یک خط منحنی مانند 3 انگلیسی رو دور خودش دوران بدیم و یک حجم ایجاد بشه ؟

سوال دیگم اینه که اگه ما بخواهیم یک برنامه paint ساده مثل ویندوز را با OpenGL پیاده سازی بکنیم چطور باید عمل پاکن را شبیه سازی کنیم مثلا فرض کنید یک مثلث با ورتکس ها ایجاد می کنیم حالا چطوری یک گوشه از این مثلث رو پاک کنیم البته نمی خوام یک تیکه سفید بزارم روش ها؟

سوال بعدیم اینه که چطوری میشه مثل paint یک خط مارپیچ دار ایجاد کرد یعنی با کشیدن ماوس انحنای خط تغییر کنه؟

در ضمن کسی سورس یک paint ساده رو نداره؟؟؟؟!

amin1softco
یک شنبه 22 فروردین 1389, 19:22 عصر
البته برای اولی یک همچین کدی نوشتم حاصلش این شد:

http://barnamenevis.org/forum/attachment.php?attachmentid=46923&stc=1&d=1271000110



glPushMatrix();
for(GLfloat i=0.0;i<=360;i+=1.0){
glRotated(1,0,1,0);
glBegin(GL_LINE_STRIP);
glVertex2f( 0.9,0.0);
for(GLfloat i=0.0;i<=180;i+=1.0)
glVertex2f(0.5*cos((pi/180)*i),0.5*sin((pi/180)*i));
glVertex2f(-0.9,0.0);
glEnd();}
glPopMatrix();
یعنی اگه ما بیایم تو خود ماتریس روی یک محور 360 دفعه خط رو دوران بدیم میشه حجم البته فکر کنم درست باشه

amin1softco
دوشنبه 23 فروردین 1389, 09:11 صبح
آقا سوا دومم یک راهی پیدا کردم اما فکر نکنم راه درستی باشه می تونیم با یک حلقه به صورت دایره ایی از glClipPlane استفاده کنیم اونوقت فکر کنم بشه حالت پاکن رو پیاده سازی کرد برای حالت محو شدنشم فکر کنم بشه از glFog استفاده کرد

برای سوال سوم تو رد بوک یک مثال زده بود ولی مثل اینکه از gluNurbsSurface استفاده کنیم بهتر از ورتکس معمولی باشه

دوستان پیشنهاد بهتری ندارید؟!؟!
سورس؟!