_____________________________________
Цитата:
Кубик, скорее всего, состоит из 6 граней.
|
Действительно... что то я зарапортовался
_____________________________________
Цитата:
1. Можно рисовать отдельно виды спереди, сзади...
|
Виды спереди, слева и сверху меняю кнопками с помощью
. При этом проекция ортогональная чтобы грани параллельных сторон пипеда совпадали.
_____________________________________
Цитата:
2. Определись с 3-хмерной проекцией (обычно перспективная, но можно для чертёжников - изометрию)
|
Использую перспективную
Код:
gluPerspective(40.0,DPanel.Width/DPanel.Height,100,20000);
_____________________________________
Цитата:
3. Вид трёхмерной модели будет зависеть от расстояния до камеры (или зумминга, т.е. увеличения)
|
Без комментариев
_____________________________________
Цитата:
4. Советую рисовать оси и сетку (я рисовал горизонтальную сетку, обозначающую пол)
|
Есть такое
____________________________________
Цитата:
5. Экранные координаты получают от мыши
|
Вот здесь разъясню поподробнее: Экранные координаты получать я умею. Дело вот в чём - начало координат находится в нижней, левой, дальней точке габаритной сетки и равно 0, 0, 0
в мм.. Новый пипед строю нажатием кнопки + передача данных (ширина, высота и глубина
в мм). Он появляется в начале координат. На форме лежит StatusBar и на него выводится "x = 0 :: y = 0 :: z = 0". Что требуется? Я сдвигаю мышь вправо на
n-нное расстояние, пипед сдвигается
на m-ное расстояние вправо
в мм, а на StatusBar выводится "x =
m :: y = 0 :: z = 0". Вот это и есть соответствие экранных координат с реальными...
____________________________________