إخوتي الأعزاء
درسنا في مادة الرسم بالحاسوب خوارزمية Bresentham's Line Algorithm
وطلب منا مدرس المادة أن نحول الخوارزمية إلى برنامج في الجافا
طبعا قمت بكتابة الخوارزمية في برنامج ولكن واجهتني مشكلة رسم نقطة لأني لا أعرف دالة رسم نقطة
فاجتهدت من عندي وحولت كود رسم خط إلى كود رسم نقطة
ولكن لم تنفع الطريقة ويظهر لي خطأ في كود g.draw(point)
فأرجو المساعدة
وهذا البرنامج الذي كتبة
وربما يكون هناك خطأ آخر في كتابة الخوارزميو فأرجو تنبيهي بذلك
اقتباسpublic void paint(Graphics g){
Graphics2D g2 = (Graphics2D)g;
int x0 = 40;
int y0 = 50;
int x1 = 220;
int y1 = 250;
int xn=x0;
int yn=y0;
int Dx = x1-x0;
int Dy = y1-y0;
Point2D.Double point = new Point2D.Double(x0, y0);
g2.draw(point);
int p = 2*Dy-Dx;
int k=0;
while (xn=x1 & yn=y1)
{
if (p<0)
{
xn=xn+1;
yn=yn;
Point2D.Double point = new Point2D.Double(xn, yn);
g2.draw(point);
p=p+2*Dy;
}
else
{
xn=xn+1;
yn=yn+1;
Point2D.Double point = new Point2D.Double(xn, yn);
g2.draw(point);
p=p+2*Dy-2*Dx;
}
}
}
أرجو سرعة الرد لأن البرنامج مطلوب غداً
وبالنسبة للأقواس هي سليمة ولكن لا ادري لماذ في الموضوع تظهر معكوسة
مع خالص تحياتي
:happy: :happy:
