[an error occurred while processing this directive]
(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Вопросик 04 апреля 2003 г. 10:11
В ответ на: Просьба о воспоможествовании. отправлено Belov 04 апреля 2003 г. 10:01

// Рисование 1/8 окружности (алгоритм Миллера)
void DrawCircle (unsigned char xc, unsigned char yc, unsigned char radius, unsigned char pixel)
{
char x, y, d;

x = 0;
y = radius;
d = 3 - 2 * radius;
while (x < y)
{
PixelCircle(xc, yc, x, y, pixel);
if (d < 0) d = d + 4 * x + 6;
else
{
d = d + 4 * (x - y) + 10;
--y;
}
++x;
}
if (x == y) PixelCircle(xc, yc, x, y, pixel);
}

// Симметричные точки для других частей окружности
PixelCircle (unsigned char xc, unsigned char yc, unsigned char x, unsigned char y, unsigned char pixel)
{
PutPixelXY(xc + x, yc + y, pixel);
PutPixelXY(xc + y, yc + x, pixel);
PutPixelXY(xc + y, yc - x, pixel);
PutPixelXY(xc + x, yc - y, pixel);
PutPixelXY(xc - x, yc - y, pixel);
PutPixelXY(xc - y, yc - x, pixel);
PutPixelXY(xc - y, yc + x, pixel);
PutPixelXY(xc - x, yc + y, pixel);
}

А лучше в поисковике набрать слова "алгоритм Брезенхема", "алгоритм Миллера", "машинная грфика"...

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru