Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
1

Координаты точек

26.02.2012, 21:36. Показов 1294. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот код из учебника:

Delphi
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
 glColor3f (0.0, 0.0, 1.0);
 glBegin (GL_POLYGON);
   glNormal3f (0, 1, 0);
   glVertex3f (6.875, 0, 0);
   glVertex3f (10, 0, 0);
   glVertex3f (10, 7.0606, 0);
   glVertex3f (8.2966, 8.764, 0);
   glVertex3f (6.8678, 8.764, 0);
   glVertex3f (6.8678, 4.5118, 0);
 glEnd;
 
 glBegin (GL_POLYGON);
   glVertex3f (3.1322, 4.5118, 0);
   glVertex3f (3.1424, 0, 0);
   glVertex3f (6.875, 0, 0);
   glVertex3f (6.8678, 4.5118, 0);
 glEnd;
 
 glBegin (GL_POLYGON);
   glVertex3f (3.1322, 4.5118, 0);
   glVertex3f (3.1322, 8.764, 0);
   glVertex3f (1.7034, 8.764, 0);
   glVertex3f (0, 7.0606, 0);
   glVertex3f (0, 0, 0);
   glVertex3f (3.1424, 0, 0);
 glEnd;
 
 glColor3f (1.0, 0.0, 0.0);
 glBegin (GL_POLYGON);
   glNormal3f (1.0, 0.0, 0.0);
   glVertex3f (10, 7.0606, 0);
   glVertex3f (10, 0, 0);
   glVertex3f (10, 0, -5);
   glVertex3f (10, 7.0606, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
   glNormal3f (1.0, 1.0, 0.0);
   glVertex3f (8.2966, 8.764, 0);
   glVertex3f (10, 7.0606, 0);
   glVertex3f (10, 7.0606, -5);
   glVertex3f (8.2966, 8.764, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
   glNormal3f (0.0, 1.0, 0.0);
   glVertex3f (6.8678, 8.764, 0);
   glVertex3f (8.2966, 8.764, 0);
   glVertex3f (8.2966, 8.764, -5);
   glVertex3f (6.8678, 8.764, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
   glNormal3f (-1.0, 0.0, 0.0);
   glVertex3f (6.8678, 4.5118, 0);
   glVertex3f (6.8678, 8.764, 0);
   glVertex3f (6.8678, 8.764, -5);
   glVertex3f (6.8678, 4.5118, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
   glNormal3f (0.0, 1.0, 0.0);
   glVertex3f (6.8678, 4.5118, -5);
   glVertex3f (3.1322, 4.5118, -5);
   glVertex3f (3.1322, 4.5118, 0);
   glVertex3f (6.8678, 4.5118, 0);
 glEnd;
 
 glBegin (GL_POLYGON);
   glNormal3f (1.0, 0.0, 0.0);
   glVertex3f (3.1322, 8.764, 0);
   glVertex3f (3.1322, 4.5118, 0);
   glVertex3f (3.1322, 4.5118, -5);
   glVertex3f (3.1322, 8.764, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
   glNormal3f (0.0, 1.0, 0.0);
   glVertex3f (1.7034, 8.764, 0);
   glVertex3f (3.1322, 8.764, 0);
   glVertex3f (3.1322, 8.764, -5);
   glVertex3f (1.7034, 8.764, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
   glNormal3f (-1.0, 1.0, 0);
   glVertex3f (0, 7.0606, 0);
   glVertex3f (1.7034, 8.764, 0);
   glVertex3f (1.7034, 8.764, -5);
   glVertex3f (0, 7.0606, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
   glNormal3f (-1.0, 0.0, 0.0);
   glVertex3f (0, 7.0606, -5);
   glVertex3f (0, 0, -5);
   glVertex3f (0, 0, 0);
   glVertex3f (0, 7.0606, 0);
 glEnd;
 
 glBegin (GL_POLYGON);
    glNormal3f (0.0, -1.0, 0.0);
    glVertex3f (10, 0, 0);
    glVertex3f (6.875, 0, 0);
    glVertex3f (3.1424, 0, 0);
    glVertex3f (0, 0, 0);
    glVertex3f (0, 0, -5);
    glVertex3f (3.1424, 0, -5);
    glVertex3f (6.875, 0, -5);
    glVertex3f (10, 0, -5);
 glEnd;
 
 glColor3f (0.0, 0.0, 1.0);
 glBegin (GL_POLYGON);
    glNormal3f (0.0, 0.0, -1.0);
    glVertex3f (6.8678, 4.5118, -5);
    glVertex3f (6.8678, 8.764, -5);
    glVertex3f (8.2966, 8.764, -5);
    glVertex3f (10, 7.0606, -5);
    glVertex3f (10, 0, -5);
    glVertex3f (6.875, 0, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
    glVertex3f (6.8678, 4.5118, -5);
    glVertex3f (6.875, 0, -5);
    glVertex3f (3.1424, 0, -5);
    glVertex3f (3.1322, 4.5118, -5);
 glEnd;
 
 glBegin (GL_POLYGON);
    glVertex3f (0, 7.0606, -5);
    glVertex3f (1.7034, 8.764, -5);
    glVertex3f (3.1322, 8.764, -5);
    glVertex3f (3.1322, 4.5118, -5);
    glVertex3f (3.1424, 0, -5);
    glVertex3f (0, 0, -5);
 glEnd;


У меня вопрос: Как они построили эти фигуры? от куда взяты значения этих точек? Это надо так хорошо представлять все эти точки, что бы нарисовать фигуру или что?

Добавлено через 3 часа 3 минуты
И ещё вопрос: как нарисовать куб по 4ем точкам в пространстве?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2012, 21:36
Ответы с готовыми решениями:

Как изменить координаты массива точек?
Есть несколько точек с разными координатами , и мне надо их разместить в одной плоскости (Y) с...

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

Можно ли из матрицы, отображаемой на экране считать координаты точек?
Задача, в общем-то, обратная. Зная координаты точек особого труда, думаю, не составит вывести...

Как узнать координаты точек при движении прямоугольника?
У меня есть прямоугольник, движение которого я могу задавать в разных направлениях через кнопки...

5
272 / 265 / 20
Регистрация: 27.02.2009
Сообщений: 694
Записей в блоге: 7
27.02.2012, 12:31 2
Цитата Сообщение от ncuX1 Посмотреть сообщение
Вот код из учебника:

У меня вопрос: Как они построили эти фигуры? от куда взяты значения этих точек? Это надо так хорошо представлять все эти точки, что бы нарисовать фигуру или что?

Добавлено через 3 часа 3 минуты
И ещё вопрос: как нарисовать куб по 4ем точкам в пространстве?
Значения точек можно взять с бумажки, с 3D редактора, из гугла, с X-файла, да хоть из головы если хорошее пространственное мышление. Причем нужно хорошо представлять не только точки, но и все полигоны (но обычно над этим парится художник и 3D редактор, а не программист).

Куб по 4 точкам нарисовать невозможно, только по восьми (не будем рассматривать вариации на тему, что куб можно описать двумя точками, противолежащими на одной грани). Куб состоит из 6 квадратов (так как у него 6 сторон), а каждый квадрат из двух полигонов. Рисуем его на бумаге, определяем координаты узлов, порядок обхода точек для всех полигонов и нормали к ним. Потом воплощаем все в коде.
0
brony
77 / 57 / 4
Регистрация: 02.01.2012
Сообщений: 521
27.02.2012, 18:44  [ТС] 3
Все проще оказалось, куб рисуется 1ой строчкой gluSolitCube(1.0) а потом перемещается на нужное место тоже 1ой строкой.
0
0 / 0 / 0
Регистрация: 13.03.2012
Сообщений: 8
16.03.2012, 12:04 4
Подскажите по такой ситуации: рисую в пространстве несколько точек, с помощью мыши могу их вращать. если координата точки по X,Y и Z больше 1 , то её становится невидно. её, как, будто что то закрывает или выходит она за область. думаю, это с глубиной связано. работаю я с opengl на qt(c++). пробовал использовать функции glFrustum, glScale для изменения масштаба, но мне это не совсем подходит. я новичок в этом деле
0
Заблокирован
20.03.2012, 18:58 5
Цитата Сообщение от ncuX1 Посмотреть сообщение
Вот код из учебника:
Плохой код. Сейчас через glBegin/glEnd никто не рисует.
0
Заблокирован
20.03.2012, 20:30 6
ncuX1,
Куб в пространстве можно построить хоть по 2 точкам, Но тогда он будет расположен параллельно плоскостям. Если строить по трём, то уже можно вычислить углы его положение в пространстве.
Взяв 2 точки, легко сгенировать куб (12 треугольников). и повернуть его на нужный угол.

Как получить точки...
В любом 3D делаете нужную фигуру, и с помомощью универсально конвертора можно получить готовый OPG файл. Это текстовый простейший формат. В нём есть все точки и карта их соединений.
Я. когда делал свою первую игру на директ икс, использовал этот метод.

Он отлично описан в книгах Краснова по 3D графике
0
20.03.2012, 20:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2012, 20:30
Помогаю со студенческими работами здесь

Задать в коде такие координаты точек, чтобы вывести печатную букву Д. Делается по технологии triangle strip
package ua.lpnu.opengl; import java.nio.ByteBuffer; import java.nio.ByteOrder; import...

Vb.net directx, slimdx преобразовать экранные координаты мыши в 3d координаты
vb.net directx, slimdx преобразовать экранные координаты мыши в 3d координаты необходимо...

Определить координаты точки в окне, зная ее координаты в пространстве
Вопрос если простая возможность определить координаты точки в рабочей области, зная ее координаты в...

Перевести 3d координаты объекта в 2d координаты экрана на VB.vet
Подскажите пожалуйста может у кого есть код на vb.net, мне нужно перевести 3d координаты объекта в...

У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти координаты точек B и
У квадрата ABCD на плоскости известны координаты двух противоположных вершин - точек A и C. Найти...

Дано координаты точек x1x2x3. и уравнение прямой y=ax+b вывести масив С в котором координаты точек этой прямой
Пытался сделать так потому что забыл как решение примера занести в масив на выводе огромные числа...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru