PDA

View Full Version : مشکل این کد در رسم دایره



mohsenmxp
دوشنبه 29 آبان 1391, 17:40 عصر
کد زیر رو جهت رسم یک دایره نوشتم اما دایره کامل نیست
مشکل کدم کجاست؟

int x, Xc = 50, Yc = 50, r = 100;
float y;
Bitmap bmp1 = new Bitmap(200, 200);
for (x = r - Xc; x < Xc + r; x++)
{
y = (float)(Math.Sqrt(r * r - (x - Xc) * (x - Xc)));
bmp1.SetPixel((int)x, (int)(Yc + y), Color.Red);
pictureBox1.Image = bmp1;
bmp1.SetPixel((int)(x),(int)Math.Abs(Yc-y),Color.Red);
pictureBox1.Image = bmp1;
}

hakim22
دوشنبه 29 آبان 1391, 19:28 عصر
مشکل شما اینه که مقادیری که از جذر خارج میشه همیشه مثبته و فرمول دایره هم پشت جذر یک علامت مثبت منفی داره و شما یادت رفته اونو درنظر بگیری
شما قسمت مثبت (بالای محورهای y رو ترسیم می کنید)

یکبار همین حلقه را با قرار دادن یک علامت منفی پشت جذر تکرار کنید