Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чисто геометрия


com2003 ©   (2003-04-03 20:39:00) 

У меня назрел вопрос по 3D геометрии. Так с ходу сформулировать его сложно. Есть система координат 3Д и задан вектор (начало и конец) в этой системе. Надо построить новую систему координат с центром в начале этого вектора и осью Oz" совпадающую с этим вектором, при этом ось Ox" паралельна плоскости zOx.(ось Oy направлена вверх, а Oz от нас).
Тоесть надо найти координаты векторов Ox" и Oy".
Хуууххх, еле сформулировал, попробую переделать:
у меня есть "камера"(известно положение и направление), как найти ещё два взаимно-перпендикулярных вектора(Ox" и Oy" соответственно).
Вся эта пурга мне нужна для определения ортонормированного базиса, чёбы переводить координаты точек из "глобальной" системы в систаму координат камеры. Потом проецировать точки на экран будет очень просто.

Если вы оставите хотя бы ссылки на доку по теме ,также буду очень благодарен.


Com2003   (2003-04-05 10:52:00) [1]


> Griffen © (04.04.03 06:50)

Спасибо, похоже этот способ сработает.


com2003   (2003-04-04 17:21:00) [2]


> MBo © (04.04.03 06:25)
> Существует бесконечное число пар перпендикулярных векторов
> OX и OY, лежащих в плоскости, перпендикулярной данному вектору
> OZ.

Конечно, но есть условие, что вектор Ox" паралелен плоскости zOx.
Для однозначного определения можно указать угол поворота вокруг Oz"(в данном случае 0).


pasha676   (2003-04-04 09:21:00) [3]

МВО прав. По одному вектору новы координаты не построишь. Строго говоря и по двум тоже (два варианта третьего вектора). Для построения новых координат надо три вектора+совет Думкина по просмотру учебника. В учебнике есть преобразование координат.


Griffen   (2003-04-04 06:50:00) [4]

1 шаг. Берешь векторное произведение вектора (0,1,0) (ты сказал, что у тебя вверх - Oy) и своего Z вектора и получаешь вектор Ox"
2 шаг. Берешь векторное произведение своего Z вектора и Ox" и получаешь вектор Oy"
3 шаг. Составляешь матрицу базиса по по векторам Ox", Oy", Z.
4 шаг. Если у камеры есть крен (повернута вокруг Z), то домножаешь результат (3) на матрицу поворота вокруг оси Z (нужен дополнительный параметр - крен камеры).
5 шаг. Домножаешь матрицу трансляции в координаты камеры на результат (4).


MBo   (2003-04-04 06:25:00) [5]

Существует бесконечное число пар перпендикулярных векторов OX и OY, лежащих в плоскости, перпендикулярной данному вектору OZ.
Иначе - число аффинных преобразований, переводящих 2 данные точки в другие заданные, бесконечно. Для однозначного определения требуется 3 точки, не лежащие на одной прямой


Думкин   (2003-04-04 05:22:00) [6]

Учебник по аналитической геометрии?
Чем лучше формулировка - тем проще получение ответа.
Сядь, напиши формулировку 10 раз, подумай - напиши окончательно, а потом пости.


Наверх

Титульная страница Поиск, карта сайта Написать письмо