Графика В С

  • Автор темы liza777
  • Дата начала
L

liza777

#1
У меня вот такая задача:
разработать программу, обеспечивающую создание на экране треугольника и квадрата.
Программа должна предусматривать два режима отображения графической информации:
 отображение на экране всего множества заданных фигур;
 отображение одной текущей фигуры.
Переход от первого режима ко второму может быть осуществлен за счет того, что каждая фигура прорисовывается на экране дважды:
 первый раз фигура прорисовывается заданным цветом;
 второй раз та же фигура прорисовывается с использованием цвета фона.
Фигуры-многоугольники отображаются по узловым точкам с использованием функции отображения отрезка прямой линии по его двум конечным точкам.
Для получения узловых точек каждой очередной фигуры необходимо рассчитать очередной набор узловых точек в соответствии с заданной анимацией и морфингом фигуры.
 

lazybiz

Well-known member
03.11.2010
1 339
0
#2
ОС, компилятор, какие средства надо использовать?
 
L

liza777

#3
Средства не важно какие, язык с++ или с. А этот предмет наз-ся "алгоритмические основы машинной графики"
 
L

liza777

#5
Я разработала прогу по алгоритму из методички, но вот как подставить сами функциии рисования?

void main()
{
int x,y,x1,x2,dx,dy,sx,sy,e,c,b;
x1=1;
x2=1;
y1=1;
y2=4;
x=x1;
y=y1;
dx=mod(x2-x1);
dy=mod(y2-y1);
sx=sign(x2,x1);
sy=sign(y2,y1);
e=2*dy-dx;
if (dx-dy)<0
{
c=1;
b=dx;
dx=dy;
dy=b;
}else
c=0;
e=2*dy-dx;
i=1;
if (i<dx)
{
if (e<0)
{
e=2*dy-dx;
if(c==1)
y=y+sx;
else
x=x+sx;
i=i+1;
}
else
{
if(c==1)
x=x+sx;
else
y=y+sy;
}
}
end;
}


int sign (a,:RTFM:
{
int z;
if (a-:crash:>=0;
z=1;
else
z=-1;
return z;
}