Помощь - Поиск - Пользователи - Календарь
Полная версия: Трехмерное пространство
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Ametist
Итак у меня началась летняя практика и мне выдали вот такое задание : "Написать программу визуализации управления 3х мерным (имеется ввиду, что у него три звена) манипулятором в трехмерном пространстве"
Подскажите, пожайлуста, какую литературу стоит почитать, особенно какие темы в ней. Заранее спасибо.
Александр-7300
Цитата(Ametist @ 24.06.2008 23:39) *

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


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

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

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

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

А также вот чего я добился:
Кубик(и не только) на паскале

На автора внимание не обращай, это я токо я оч давно это выкладывал и естественно пароль на вход забылю smile.gif
volvo
Ametist, я бы посмотрел в сторону "скелетной анимации" (вся информация, собранная мной по этой теме к сожалению была утеряна в связи с поломкой хард-диска). А когда научишь скелет своего манипулятора передвигаться в нужных плоскостях - дальше будет проще...
Ametist
Такой вопрос, я пока сделал три сцепленных линии, которые я могут вращать в полярных системах координат. Вопрос вот в чем, можно ли сделать так, чтобы вокруг этих линий (чтобы они были осями) строились 3д объекты, и что бы только от оси поворота менялось расположение объекта ( каждый новый раз она строилась относительно этой вращающейся оси)? Или лучше бросить все и строить 3д объект, и работать с матрицами преобразований?
andriano
Удобнее всего использовать матрицы - по одной на каждую "кость" скелета. Матрица - перемещение данной кости относительно "родительской". При этом общая матрица преобразования для данной кости получается умножением общей матрицы "родительской" кости на собственную матрицу данной.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.