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

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

Отправлено Electrovoicer 23 сентября 2006 г. 10:38
В ответ на: Подскажите функцию или алгоритм рисования линии. Чтобы не изобретать велосипед... отправлено <font color=gray>M@RS</font> 23 сентября 2006 г. 10:27

void drawline(int x1, int y1, int x2, int y2)
{
int x;
int y;
int dx;
int dy;
int sx;
int sy;
int z;
int e;
int i;
int ch;

x = x1;
y = y1;
dx = abs(x2-x1);
dy = abs(y2-y1);
sx = sign(x2-x1);
sy = sign(y2-y1);
e = 2*dy-dx;
if( dy>=dx )
{
z = dx;
dx = dy;
dy = z;
ch = yes;
}
else
{
ch = no;
}
i = 1;
do
{
lcd_setpixel(x, y);
if( e {
if( ch == yes)
{
y = y+sy;
}
else
{
x = x+sx;
}
e = e+2*dy;
}
else
{
if( ch == yes)
{
x = x+sx;
}
else
{
y = y+sy;
}
e = e-2*dx;
}
i = i+1;
}
while(i<=dx+dy);
lcd_setpixel(x, y);
}

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

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание