[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
3d математика
GameWorkerДата: Вторник, 24 Февраля 2009, 22:24 | Сообщение # 1
Врубающийся
Группа: Пользователи
Сообщений: 43
Награды: 0
Замечания: 0%
Статус:

Команда: Нема:-(
Парни, всех с прошедшим праздником)))

Помогите, объясните как осуществляется поворот в 3д пространстве? вот у меня есть изначальные координаты тела в пространстве, мне нужно повернуть всю сцену на опр. количество градусов и соответственно пересчитать координаты. Как это делается?

 
GameWorkerДата: Вторник, 24 Февраля 2009, 22:42 | Сообщение # 2
Врубающийся
Группа: Пользователи
Сообщений: 43
Награды: 0
Замечания: 0%
Статус:

Команда: Нема:-(
вот проедставь себе точку отсчета и материальную точку в пространстве. сейчас мы разговариваем не о графике, а просто о математике. И вот, в один прекрасный момент мне вздумалось точку отсчета повернуть на N градусов.

Quote
Каким образом задано вращение?

не понял если честно
 
GameWorkerДата: Среда, 25 Февраля 2009, 21:34 | Сообщение # 3
Врубающийся
Группа: Пользователи
Сообщений: 43
Награды: 0
Замечания: 0%
Статус:

Команда: Нема:-(
и еще вопросик... Подскажите пожалуйста, как в делфях лучше представлять вектор и как организовывается движение по вектору?
 
GameWorkerДата: Среда, 25 Февраля 2009, 22:40 | Сообщение # 4
Врубающийся
Группа: Пользователи
Сообщений: 43
Награды: 0
Замечания: 0%
Статус:

Команда: Нема:-(
Jack, че та твоя формула нифига не фурычит(((

вот посмотри сам. если че, исправь мя.........

Прикрепления: 2060761.rar (276.5 Kb)
 
GameWorkerДата: Среда, 25 Февраля 2009, 23:05 | Сообщение # 5
Врубающийся
Группа: Пользователи
Сообщений: 43
Награды: 0
Замечания: 0%
Статус:

Команда: Нема:-(
Code
procedure rotate;
begin
rotatex[1,1]:=cos(ang);
rotatex[1,2]:=-sin(ang);
rotatex[2,1]:=sin(ang);
rotatex[2,2]:=cos(ang);
rotatex[3,3]:=1;
pos.x:=pos.x*rotatex[1,1]+pos.x*rotatex[1,2]+pos.x*rotatex[1,3];
pos.y:=pos.y*rotatex[2,1]+pos.y*rotatex[2,2]+pos.z*rotatex[2,3];
end;

так тоже не работет((

 
GameWorkerДата: Четверг, 26 Февраля 2009, 20:47 | Сообщение # 6
Врубающийся
Группа: Пользователи
Сообщений: 43
Награды: 0
Замечания: 0%
Статус:

Команда: Нема:-(
Code
x:=x*cos(ang)-y*sin(ang);
y:=x*sin(ang)+y*cos(ang);

вот. у мя все равно не получается. объект движется по спирали и замирает в центре.
что это может быть???

 
AmadeyДата: Пятница, 27 Февраля 2009, 00:58 | Сообщение # 7
Продвинутый
Группа: Участники
Сообщений: 127
Награды: 0
Замечания: 20%
Статус:
Quote
Хз, дай рабочий исходник. Тот не компилируется. Кстать, что это за движок такой? В котором нельзя нормально повернуть объект??

Ха! Ну ты и гонишь. Привык писать на готовом API. CreateSphere - и опа! Вот те уже и сфера создана! А это софтверный рендеринг по видимому, и там нарисована не сфера, а закрашенный овал, который с помощью формул можно представить как 3д. Вот тебе в помощь. http://pmg.org.ru/basic3d/index.html

ЕСЛИ чето получится (даже простейшее вращение) - покажешь потом, ок ?

 
GameWorkerДата: Суббота, 28 Февраля 2009, 15:08 | Сообщение # 8
Врубающийся
Группа: Пользователи
Сообщений: 43
Награды: 0
Замечания: 0%
Статус:

Команда: Нема:-(
да двиг все это поддерживает, но мне надо самому))) просто мне нужен пересчет координат при вращении, а не простой поворот
 
GameWorkerДата: Воскресенье, 01 Марта 2009, 20:01 | Сообщение # 9
Врубающийся
Группа: Пользователи
Сообщений: 43
Награды: 0
Замечания: 0%
Статус:

Команда: Нема:-(
посмотрел, попробовал, нихрена не получилось, бросил. roll
может мне кто нить рабочий исходник дать???
 
  • Страница 1 из 1
  • 1
Поиск: