Radius3d

  • Автор темы Atom
  • Дата начала
A

Atom

#1
Расклад таков:
-Есть система координат (X(слева направо) Y(сзада вперед) Z(снизу вверх))
-Есть камера, у неё 3 направления вращения (по XYZ, в градусах)
-Есть точка, у неё 3 координаты (XYZ)
-Монитор, у него 2 координаты (XY)
Задача:
-Каков будет XY на мониторе той точки?


 
09.11.2009
665
1
#2
1. Ответить могу, но вопрос немного ...(Учите геометрию, а конкретнее стереометрию и формулы аналитической геометрии).
Необходимые коорднаты на мониторе(икс и игрик) можно получить путём создания уравнения плоскости камеры, из него вытянуть координаты вектора нормали, найти точку пересечения найденой плоскости с прямой которая паралельна вектору нормали и проходит через заданую точку.
Также необходимую точку можно получить путём поворота системы координат так что бы оси Ox Oz были паралельны плоскости камеры.
 
A

Atom

#3
проблема в том, что (если современные (и несовременные) 3д движки используют плоскостную 3д отображаемость, и например обзор в 180 градусов превращается в чёрную дыру, хотя (как я предполагаю) на самом деле должно получиться нечто, что мы видим на железном шарике (отражение) ввиде текстуры (как будто бы это статичная шкура шарика, и мы могли бы её снять и повесить на стену)

Есть ведь "рыбий глаз" в 3д движках, но он не совсем правильный. По моим догадкам, чтобы видеть изображение так, как будто мы своими глазами через окно смотрим, а не через монитор, надо приближаться к монитору на расстояние, и чем бльше угол обзора тем ближе к центру монитора мы должны быть (при обзоре в 180 градусов расстояние 0, всёравно в итоге мы ничего не увидим)
 
A

Atom

#7
слишком абстрактно, если бы так x=...*....+...- и вобщем формула нужна