Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Трехмерное пространство

Автор: Ametist 25.06.2008 2:39

Итак у меня началась летняя практика и мне выдали вот такое задание : "Написать программу визуализации управления 3х мерным (имеется ввиду, что у него три звена) манипулятором в трехмерном пространстве"
Подскажите, пожайлуста, какую литературу стоит почитать, особенно какие темы в ней. Заранее спасибо.

Автор: Александр-7300 26.06.2008 12:20

Цитата(Ametist @ 24.06.2008 23:39) *

Итак у меня началась летняя практика и мне выдали вот такое задание : "Написать программу визуализации управления 3х мерным (имеется ввиду, что у него три звена) манипулятором в трехмерном пространстве"
Подскажите, пожайлуста, какую литературу стоит почитать, особенно какие темы в ней. Заранее спасибо.


Как я понимаю тебе нужно написать программу в которой можно вертеть во всех плоскостях(а так же двигать по экрану) любую трехмерную фигугу?

Автор: Ametist 26.06.2008 15:50

Для начала хотя бы так. А потом мне надо как бы "связать" три фигуры, чтобы когда я двигал одну двигались все остальные.

Автор: Александр-7300 26.06.2008 20:01

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

Единственное что я могу тебе дать, так это формулы по которым можно перевести трех мерное изображение на (двухмерный)экран

X:=X0+Xg-Yg*cos(Pi/4);
Y:=Y0+Yg*Sin(pi/4)-Zg;

где
X, Y координаты экрана
X0,Y0 координаты начала отсчета на экране;
Xg,Yg,Zg искомые координаты твоей точки в трех мерной системе координат;

А также вот чего я добился:
http://forum.pascal.net.ru/index.php?showtopic=21389

На автора внимание не обращай, это я токо я оч давно это выкладывал и естественно пароль на вход забылю smile.gif

Автор: volvo 26.06.2008 21:04

Ametist, я бы посмотрел в сторону "скелетной анимации" (вся информация, собранная мной по этой теме к сожалению была утеряна в связи с поломкой хард-диска). А когда научишь скелет своего манипулятора передвигаться в нужных плоскостях - дальше будет проще...

Автор: Ametist 29.06.2008 15:35

Такой вопрос, я пока сделал три сцепленных линии, которые я могут вращать в полярных системах координат. Вопрос вот в чем, можно ли сделать так, чтобы вокруг этих линий (чтобы они были осями) строились 3д объекты, и что бы только от оси поворота менялось расположение объекта ( каждый новый раз она строилась относительно этой вращающейся оси)? Или лучше бросить все и строить 3д объект, и работать с матрицами преобразований?

Автор: andriano 27.07.2008 1:16

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