Bresenham Algorithmus
von heinz- SNIPPET_TEXT:
-
- void rasterCircle(int x0, int y0, int radius)
- {
- int f = 1 - radius;
- int ddF_x = 0;
- int ddF_y = -2 * radius;
- int x = 0;
- int y = radius;
- pixelColor(display,x0,y0+radius,0xff0000ff);
- pixelColor(display,x0,y0-radius,0xff0000ff);
- pixelColor(display,x0+radius,y0,0xff0000ff);
- pixelColor(display,x0-radius,y0,0xff0000ff);
- while(x < y)
- {
- if(f >= 0)
- {
- y--;
- ddF_y += 2;
- f += ddF_y;
- }
- x++;
- ddF_x += 2;
- f += ddF_x + 1;
- pixelColor(display,x0+x,y0+y,0x00ff00ff);
- pixelColor(display,x0-x,y0+y,0x0000ffff);
- pixelColor(display,x0+x,y0-y,0xffff00ff);
- pixelColor(display,x0-x,y0-y,0x00ffffff);
- pixelColor(display,x0+y,y0+x,0xff00ffff);
- pixelColor(display,x0-y,y0+x,0xffffffff);
- pixelColor(display,x0+y,y0-x,0x808080ff);
- pixelColor(display,x0-y,y0-x,0xff8080ff);
- }
- }
Quellcode
Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN