درود!
این جا مکانی است ویژه برای دانشجویان مهندسی کامپیوتر / آی تی و نرم افزار و صد البته افرادی که جویندگان دانش و تکنولوژی هستند.
آقایان دانوش ،یاشار و آمالی دارندگان این بلاگ بودند و هم اکنون تنها آقای دانوش مدیریت این وبلاگ را بر عهده دارد، با توجه به زمان بندی ها هم اکنون در این سایت فعالیت پویا ای نداریم.
دوشنبه 20 آبان 1392
17:11
یاشار عرفانیان
در این پست به ادامه ی مبحث گرافیک خواهیم پرداخت ، حال برای کاربردی تر شدن مطالب ، ادامه ی توضیحات را با یک مثال آغاز می کنیم. 
به ادامه ی مطلب مراجعه کنید.
در این مثال می خواهیم یک دایره را بر روی تابع کسینوس ها تا زمانی که شمارنده کمتر از 400 است چاپ کنیم.
همان طور که در پست های قبلی توضیح داده شد ابتدا کتابخانه های مورد نیاز را وارد می کنیم:(در قسمت فرو رفته اول)
پس از شروع برنامه و تعریف متغییر ها و ورود آنها توسط کاربر ، در قسمت فرو رفتگی دوم وارد مقیاس پیکسلی میشویم.
نکته : برای تعیین رنگ هر شی که می خواهید آنرا چاپ کنید می توانید از دستور مقابل استفاده نمایید ، در بین پرانتز ها عدد بین 1 تا 15 را قرار دهید ؛ هر عدد نشانه ی یک رنگ است.                     
setcolor(7);
در داخل حلقه ی for دستورات را می نویسیم که در این X ها را فقط یکی یکی اضافه می کنیم و برای y هم تابع (cos(x را قرار می دهیم ، در ضمن به دلیل این که دامنه ی تغییرات در واحد پیکسل بسیار کوچک است برای تابع کسینوس یک ضریب قرار می دهیم تا بهتر قابل مشاهده شود.

نکته : در ریاضیات بر روی محور y هر چه به سمت پایین می آییم مقدار آن منفی می شود اما چون در اینجا y منفی نداریم و به دلیل اینکه تابع کسینوس نسبت به محور x ها قرینه نشان داده نشود ، یک ضریب منفی برای تابع کسینوس قرار می دهیم.

در نهایت برای اینکه چاپ شدن تک تک دایره ها را مشاهده کنیم از تابع delay استفاده می کنیم که در آن عدد بین پرانتز ها بر حسب میلی ثانیه می باشد.

//in the name of GOD
                                     #include<iostream.h>
                                     #include<graphics.h>
                                     #include<conio.h>
                                     #include<dos.h>
                                     #include<math.h>

void main()
{
int x,y,r,i;

cout<<"x = ";
cin>>x;

cout<<"y = ";
cin>>y;

cout<<"r = ";
cin>>r;

                                   int d=0,m=0;
                                   initgraph(&m,&d,"");

x=0;
for(i=1;i<400;i++)
{
x++;
y=-50* cos(x*3.14/180);
setcolor(4);
circle(x+100,y+100,r);

delay(20);
}

getch();
}





برچسب ها: setcolor، cos، گرافیک،
شبکه اجتماعی فارسی کلوب | Buy Mobile Traffic | سایت سوالات