• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Графика В С

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

liza777

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

liza777

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

liza777

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

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;
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!