Rysowanie okręgu - tablice

0

Witam.
Programuję mikrokontorlery w języku C, aktualnie bawię się wyświetlaczem od Nokii
Który ma 4032pixeli
Wysokość 84
szerokość 48

No i stworzyłem sobie teraz tablicę:

char dane[4032];
Która przyjmuje 2 wartości:
1-zapala się pixel
0-pixel się gasi.

Więc jeśli wpiszemy
dane[0]=1; //to oświeci nam się pierwszy pixel w pierwszym wierszu,
dane[83]=1; //to oświeci nam się osatatni(84) pixel w pierwszym wierszu.
dane[84]=1; //Zapali się nam pierwszy pixel w drugim wierszu
itp...

Potrzebuję teraz napisać funkcję, która będzie nam kreśliła okrąg.
Na pewno będzie musiała przyjmować trzy argumenty,
dwa pierwsze(x,y) będą wskazywały gdzie jest środek okręgu
i trzeci argument(r) będzie określał promień okręgu
Czyli nasza deklaracja funkcji może być taka
void okrag(int x, int y, int r);

Teraz jeśli wywołam funkcję w taki sposób:
okrag(3,3,1);
To chcę aby do tablicy dane[], w odpowiednie miejsca ustawiły się "1",

Mam problem z napisaniem tej funkcji,
Mógłby mi ktoś pomóc?

1

Z tym problemem google pomogło by Ci perfekcyjnie ;)
http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm -> linia
http://en.wikipedia.org/wiki/Xiaolin_Wu%27s_line_algorithm -> linia z AA
http://en.wikipedia.org/wiki/Midpoint_circle_algorithm -> okrąg

Te linki powinny dać Ci dobry początek ;)

0

Dzięki,
Ostatni link bardzo mi pomógł :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1