Графика В С

Тема в разделе "C/C++/C#", создана пользователем liza777, 14 окт 2011.

Наш партнер Genesis Hackspace
  1. liza777

    liza777 Гость

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

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    ОС, компилятор, какие средства надо использовать?
     
  3. liza777

    liza777 Гость

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

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    И какие действия были предприняты?
     
  5. liza777

    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;
    }
     
Загрузка...
Похожие Темы - Графика
  1. Lers
    Ответов:
    0
    Просмотров:
    1.661
  2. 203
    Ответов:
    2
    Просмотров:
    1.496

Поделиться этой страницей