Posts

Showing posts from June, 2012

Bresenham's Line Algorithm

Image
♣ The Algorithm :: Compute the initial values: dx = x 2 - x 1 Inc 2 = 2(dy - dx) dy = y 2 - y 1 d = Inc 1 - dx Inc 1 = 2dy Set (x,y) equal to the lower left-hand endpoint and x end equal to the largest value of x. If dx < 0, then x = x 2 , y = y 2 , x end = x 1 . If dx > 0, then x = x 1 , y = y 1 , x end = x 2 . Plot a point at the current (x,y) coordinates. Test to see whether the entire line has been drawn. If x = x end , stop. Compute the location of the next pixel. If d < 0, then d = d + Inc 1 . If d &gte; 0, then d = d + Inc 2 , and then y = y + 1. Increment x: x = x + 1. Plot a point at the current (x,y) coordinates. Go to step 4. ♣ C / C++ Code :: void BresenhamsLine(int x1, int y1, int x2, int y2) { int dx, dy, Inc1, Inc2, d, x, y, xend; dx = x2-x1; dy = y2 - y1; Inc1 = 2*dy; Inc2 = 2*(dy - dx); d = Inc1 - dx; if(dx < 0) { x=x2, y=y2, xend=x1; } else if(dx &

Normal line algorithm

Image
♣ The Algorithm :: ♣ C / C++ Code :: void NormalLine(int x1, int y1, int x2, int y2) { int dx, dy, b, x, y, xend; float m; dx = x2 - x1; dy = y2 - y1; m = (float) dy / dx; b = y1 - m*x1; if(dx < 0) { x=x2, y=y2, xend=x1; } else if(dx > 0) { x=x1, y=y1, xend=x2; } while(x <= xend) { putpixel(x,y, LIGHTMAGENTA); x++; y = m*x + b; } } ♣ JAVA Code :: ♣ Source Codes :: Normal line algorithm.cpp Normal line algorithm.java আবদুল্লাহ বিন ওমার (রাঃ) হতে বর্ণিত। 'রসূলুল্লাহ (সঃ) বলেছেনঃ তোমাদের কেউ নামায পড়লে সে যেন তার দু'কাপড়ে নামায পড়ে। সৌন্দর্য প্রকাশের অগ্রাধিকার আল্লাহর জন্যই।' (তাহাওয়ী, বায়হাকী, তাবরানী)

Bresenham's circle algorithm

Image
♣ The Algorithm :: ♣ C / C++ Code :: void BresenhamsCircle(int h, int k, int r) { int x = 0, y = r; int d = 3 - 2*r; while(x <= y) { putpixel(x+h, y+k, MAGENTA); putpixel(y+h, x+k, MAGENTA); putpixel(-y+h, x+k, MAGENTA); putpixel(-x+h, y+k, MAGENTA); putpixel(-x+h, -y+k, MAGENTA); putpixel(-y+h, -x+k, MAGENTA); putpixel(y+h, -x+k, MAGENTA); putpixel(x+h, -y+k, MAGENTA); if(d < 0){ d += 4*x+6; x++; } else if(d >= 0) { d += 4*(x-y)+10; x++, y--; } } } ♣ JAVA Code :: ♣ Source Codes :: Bresenham's circle algorithm.cpp Bresenham's circle algorithm.java আবদুল্লাহ বিন ওমার (রাঃ) হতে বর্ণিত। 'রসূলুল্লাহ (সঃ) বলেছেনঃ তোমাদের কেউ নামায পড়লে সে যেন তার দু'কাপড়ে নামায পড়ে। সৌন্দর্য প্রকাশের অগ্রাধিকার আল্লাহর জন্যই।' (তাহাওয়ী, বায়হাকী, তাবরানী)