PDA

View Full Version : رسم بیضی با استفاده از الگوریتم کارا



langargostar
پنج شنبه 08 اردیبهشت 1390, 17:57 عصر
دوستان من این جلسه استادمون این مباحث زیر رو درس داد و بهما 4 تا سوال داد که حلش کنیم.اگه کسی بلده کمکم کنه.

مباحث درسمون:

بيضي :
رسم بيضي به كمك توابع پارامتري
تابع زير جهت رسم يك بيضي ميتواند استفاده شود.

void PramEٍllipse (int a, int b, int r1, int r2, int color)
{
float x, y;
for (float i=0; i<= (2*PI); i+=0.01)
{
x=a+r1*cos (i);
y=b+r2*sin (i);
putpixel((int)(x+0.5), (int)(y+0.5), color);
}
}

تمرين: با منطقي مشابه تقارن در دايره، تابع شماره 17 كه مربوط به رسم بيضي را بهينه سازي و باز نويسي
نمائيد.

گام حلقه در بيضي:
پارامتر گام حلقه در رسم بيضي مي تواند با توجه به مستطيل محاطي محاسبه شود.

برنامه اي بنويسيد كه با دريافت متغيرهاي شعاع كوچك و بزرگ بيضي و مختصات مركز بيضي آنرا رسم
كند.

#include < iostream.h>
#include <conio.h>
#include <graphics.h>
#define PI 3.14159

#include<math.h>
main ()
{
int gd=DETECT, gm, a, b, r, x1, y1;
float i ,x,y,step;
initgraph(&gd, &gm, "..\\BGI");
cout <<"EnterA(x,y):" ;
cin >>x1>>y1;
cout <<"\n Enter r,R:" ;
cin >>a >> b;
step =PI (4*(a+b));
for (i=0; i<= (2*PI); i+=step)
{
x=x1+a*cos(i);
y=y1+b*sin (i);
putpixel(x, y, YELLOW);
}
getch ();
closegraph ();
}

تمرين: الگو ريتمي كارا براي رسم بيضي با استفاده از نقطه مياني ارائه كنيد.
تمرين: با توجه به رابطه تفاضلات مرتبه دوم، الگوريتم نوشته شده خود در تمرين قبلي را بار ديگر بهبود
ببخشيد.
تمرين: با منطقي مشابه تقارن در دايره، الگوريتم مربوط به رسم بيضي را بهينه سازي و باز نويسي نمائيد.

langargostar
شنبه 10 اردیبهشت 1390, 00:21 صبح
یعنی هیچکی ,هیچی بلد نیست.متاسفم!!!!!!!!!!!!!!!!!!!!!!!!!!:م تفکر: