Итак у меня началась летняя практика и мне выдали вот такое задание : "Написать программу визуализации управления 3х мерным (имеется ввиду, что у него три звена) манипулятором в трехмерном пространстве"
Подскажите, пожайлуста, какую литературу стоит почитать, особенно какие темы в ней. Заранее спасибо.
Для начала хотя бы так. А потом мне надо как бы "связать" три фигуры, чтобы когда я двигал одну двигались все остальные.
Я когда то сам пытался этим заниматься, все закончилось на том что я сделал только поворот одной фигуры и только в горизонтальной плоскости.
Единственное что я могу тебе дать, так это формулы по которым можно перевести трех мерное изображение на (двухмерный)экран
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
На автора внимание не обращай, это я токо я оч давно это выкладывал и естественно пароль на вход забылю
Ametist, я бы посмотрел в сторону "скелетной анимации" (вся информация, собранная мной по этой теме к сожалению была утеряна в связи с поломкой хард-диска). А когда научишь скелет своего манипулятора передвигаться в нужных плоскостях - дальше будет проще...
Такой вопрос, я пока сделал три сцепленных линии, которые я могут вращать в полярных системах координат. Вопрос вот в чем, можно ли сделать так, чтобы вокруг этих линий (чтобы они были осями) строились 3д объекты, и что бы только от оси поворота менялось расположение объекта ( каждый новый раз она строилась относительно этой вращающейся оси)? Или лучше бросить все и строить 3д объект, и работать с матрицами преобразований?
Удобнее всего использовать матрицы - по одной на каждую "кость" скелета. Матрица - перемещение данной кости относительно "родительской". При этом общая матрица преобразования для данной кости получается умножением общей матрицы "родительской" кости на собственную матрицу данной.