PDA

View Full Version : سوال: رسم دایره



Snoopboy
جمعه 04 آذر 1390, 22:38 عصر
خسته نباشید
من یه برنامه نوشتم برای اینکه رسم دایره باشه.
البته نه معمولی.
می خوام با یه حلقه دایره های کوچیک باشه که رسم بشه و کل صفحه رو پر کنه. یعنی کل صفحه پر بشه از دایره های کوچیک کوچیک با یک حلقه. و ستونی و افقی پر بشه از دایره ها.
بهتر اگه بخوام توضیح بدم اینه که نمی خوام یک دایره رسم کنم. اینقدر دایره رسم کنم که صفحه پر بشه منتها با یک حلقه ها. ایشالله خوب توضیح داده باشم
کد های خودم هم میگذارم که ببینید
for(x=20;x<640;x+=40)
y=20
while(y<480)
circle(x,y,10)
y+=40

int x,y;
for(i=20;i<640*480;i+=40){
x=i/640;
x=x*640;
x=i-x;
y=(i/480)*40;
circle(x,y,10);
}
اولی با دو حلقه است ولی دومی با یک حلقه منتها دومی کار نمی کنه. اگه ممکنه راهنماییم کنید
متشکرم:قلب:

Ananas
چهارشنبه 09 آذر 1390, 19:54 عصر
سلام.
این که درسته فقط یه اشکالی داره که i < 640*480 رو باید به 40 تقسیم کنی که کار اضافی نکنه البته دایره ها رو درست رسم میکنه ولی 40 برابر تا پایین ادامه میده. نمیدونم چرا ولی باید به شعاع دایره ها که 40 باشه تقسیم کنی بعدم برای محاسبه x میشه از روش ساده تر باقیمانده تقسیم استفاده کنی یعنی بنویسی :
int x,y;
for(i = 20;i < (640*480) / 40;i += 40)
{
// x=i/640;
// x=x*640;
// x=i-x;
x = i % 640;
y=(i/480)*40;
circle(x,y,10);
}
من فکر میکنم برنامه اول اشکال داشت چون ; نگذاشتی و {} هم نداره.