![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чисто геометрия
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 раз, подумай - напиши окончательно, а потом пости.