Форум программистов, компьютерный форум CyberForum.ru

Нарисовать призму - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
DarkWolf
Сообщений: n/a
12.06.2012, 01:01     Нарисовать призму #1
Ребят мне на завтра нужно сдать архитектуру компьютеров, напишите пожалуйста хоть приблизительно правильный код программы под такую вот задачку:

Разработать программу, которая: рисует пизму и при нажатии z - поворот на 10 градусов вокруг оси z.

Пожалуйста ребят очень срочно!!!!

Добавлено через 12 минут
впринципе если можно на другом языке, напишите на другом, похожем на С.... только очень сочно ПОЖАЛУЙСТА!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2012, 01:01     Нарисовать призму
Посмотрите здесь:

Нарисовать фигуру C++
C++ Нарисовать рамку.
C++ Нарисовать прямоугольник
C++ Нарисовать треугольник
Нарисовать треугольник C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexcoder
1438 / 652 / 86
Регистрация: 03.06.2009
Сообщений: 3,290
Завершенные тесты: 1
12.06.2012, 14:05     Нарисовать призму #2
Не совсем то, но очень похоже.
Вложения
Тип файла: rar lab3.rar (28.5 Кб, 46 просмотров)
g-h
67 / 67 / 1
Регистрация: 03.06.2012
Сообщений: 176
12.06.2012, 14:18     Нарисовать призму #3
alexcoder, а у вас нет исходника к этой программе?
DanilAREFY
19 / 19 / 2
Регистрация: 12.04.2011
Сообщений: 35
12.06.2012, 15:37     Нарисовать призму #4
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <gl/glut.h>
#include <gl/GLAux.h>
 
void Draw();
void Initialize();
void Keyboard(unsigned char key, int x, int y);
 
float AngleOZ=0.0;
 
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
    glutInitWindowSize(500, 500);
    glutInitWindowPosition(250, 200);
    glutCreateWindow("3D");
    glutDisplayFunc(Draw);
    glutKeyboardFunc(Keyboard);
    Initialize();
    glutMainLoop();
    return 0;
}
 
void Draw()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    glPushMatrix();
    glRotatef(AngleOZ, 0.0, 0.0, 1.0);
    glBegin(GL_LINES); //нижний треугольник
    glVertex3f(30.0, -30.0, 0.0);
    glVertex3f(-30.0, -30.0, 30.0);
    glVertex3f(-30.0, -30.0, 30.0);
    glVertex3f(-30.0, -30.0, -30.0);
    glVertex3f(-30.0, -30.0, -30.0);
    glVertex3f(30.0, -30.0, 0.0);
    glEnd();
    glBegin(GL_LINES); //верхний треугольник
    glVertex3f(30.0, 30.0, 0.0);
    glVertex3f(-30.0, 30.0, 30.0);
    glVertex3f(-30.0, 30.0, 30.0);
    glVertex3f(-30.0, 30.0, -30.0);
    glVertex3f(-30.0, 30.0, -30.0);
    glVertex3f(30.0, 30.0, 0.0);
    glEnd();
    glBegin(GL_LINES);
    glVertex3f(30.0, -30.0, 0.0);
    glVertex3f(30.0, 30.0, 0.0);
    glVertex3f(-30.0, -30.0, 30.0);
    glVertex3f(-30.0, 30.0, 30.0);
    glVertex3f(-30.0, -30.0, -30.0);
    glVertex3f(-30.0, 30.0, -30.0);
    glEnd();
    glPopMatrix();
    glutSwapBuffers();
}
 
void Initialize()
{
    glClearColor(1.0, 1.0, 1.0, 1.0);
    glEnable(GL_LIGHTING);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-100.0, 100.0, -100.0, 100.0, -100.0, 100.0);
//  gluLookAt(0.0, 60.0, 40.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0);
    glMatrixMode(GL_MODELVIEW);
}
 
void Keyboard(unsigned char key, int x, int y)
{
    switch(key)
    {
    case 'z':
        AngleOZ-=10;
        glutPostRedisplay();
        break;
    case 'x':
        AngleOZ+=10;
        glutPostRedisplay();
        break;
    }
}
Первоначально выглядит как квадрат, для того, чтобы все-таки увидеть, что это призма раскомментируйте gluLookAt и поэкспериментируйте с его параметрами.
Yandex
Объявления
12.06.2012, 15:37     Нарисовать призму
Ответ Создать тему
Опции темы

Текущее время: 15:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru