Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 10.04.2014
Сообщений: 5
1

Анимация Кривой Дракона (фрактала Хартера-Хейтуэя)

14.03.2015, 18:49. Показов 1527. Ответов 0
Метки нет (Все метки)

Помогите сделать так, чтобы можно было изменять количество изломов с помощью клавиатуры.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <gl/glut.h>
 
void drowDrakon(int x1, int y1, int x2, int y2, int i)
{
    if(i == 15)
    {
 
        glColor3f(x1, x2, i);
        glVertex2i(x1, y1); //координаты вырисовываемого
        glVertex2i(x2, y2); //отрезка
    }
 
    else
    {
        int x = (x1 + x2) / 2 + (y2 - y1) / 2; //координаты
        int y = (y1 + y2) / 2 - (x2 - x1) / 2; //точки излома
        drowDrakon(x, y, x1, y1, i+1);//кривая дракона
        drowDrakon(x, y, x2, y2, i+1);//кривая дракона
    }
}
 
void reshape(int w, int h)
{
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glViewport(0, 0, w, h);
 
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluOrtho2D(0, w, 0, h);
 
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
 
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_LINES);
    drowDrakon(300, 400, 500, 400, 15); //вызов функции вырисовки
    glEnd();
    glutSwapBuffers();
}
 
int main(int argc, char *argv[])
{
      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
      glutInitWindowSize(1000, 1000);
 
      glutCreateWindow("KRIVAYA DRAKONA");
 
      glutDisplayFunc(display);
      glutReshapeFunc(reshape);
 
      glutMainLoop();
}
i изменяется от 15 до 30
Заранее благодарю.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2015, 18:49
Ответы с готовыми решениями:

Дракон хартера-хейтуэя
Здравствуйте! Кто то умеет переводить программы с Делфи на С++, у меня что то плохо получается!...

Фрактал Дракон Хартера-Хейтуэя
Возник вопрос по поводу рекурсии в matlab, требуется построить фрактал &quot;Дракон Хартера-Хейтуэя &quot;....

GUI: фрактал Дракон Хартера-Хейтуэя
Вот программа. Должен строиться фрактал Дракон Хартера-Хейтуэя. function =Dracon(Lmax) %...

Дракон Хартера-Хайтвея(Кривая дракона)
Объясните как рисовать Дракона Хартера-Хайтвея(не с закруглёнными, а с ровными линиями). У меня в...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2015, 18:49

Построение кривой дракона
Построение кривой дракона Кривая дракона — один из наиболее известных фракталов. Она строится так:...

Анимация кривой Безье
Доброго времени суток! Такая проблема: нужно построить анимацию кривой Безье как в Википедии -...

Анимация движения примитива по построенной кривой
Имеется программа для построения кривой лемнискаты Бернулли. Выполнена с помощью tkinter. Нужно...

Анимация полета по кривой, как реализовать?
Правильно ли я мыслю: есть допустим башня с радиусом стрельбы R, просчитать попал ли в враг в...

Найти уравнение кривой на плоскости, если угол касательной и длина кривой заданы параметрически
Фиксированный единичный вектор скользит по параметрически заданной кривой,прочерчивая линейчатую...

По уравнению кривой второго порядка определить ее тип и привести уравнение кривой к каноническому виду
По уравнению кривой второго порядка определить ее тип и привести уравнение кривой к каноническому...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.