2010-07-05 2 views
0

У меня есть сцена, в которой хранятся вершины в трехмерном пространстве. То, что я хотел бы сделать, это сделать эти вершины ортографически с изометрической точки зрения.Координаты 3D-координат в 2D-экране с ортографической матрицей

Во всех моих поисках очевидного ответа заключается в использовании Ортографических камер, как те, в OpenGL и т.д.

Проблема заключается в том, что я хотел бы написать это с нуля, чтобы помочь с моим пониманием, так на самом деле я Я ищу теорию внутри камеры.

Как я могу взять произвольную точку в трехмерном пространстве и получить координаты экрана из нее с помощью орфографической матрицы?

В настоящее время у меня есть орфографическая матрица:

[2/r-l, 0, 0, r+l/r-l] 

[0, 2/t-b, 0, 0, t+b/t-b] 

[0, 0, 2/f-n, 0, f+n/f-n] 

[0, 0, 0, 1] 

Где г Правильно, л оставляется, т является Top, Ь Bottom, е далек, и п Рядом.

прилагаю мое вращение вокруг оси у этого, а затем умножить координаты вершин против этой матрицы, которую я считаю, превращает свою Всемирную космическую вершину в координатах мой взгляд пространство ...

Но это еще 3D вектор так Мне любопытно, как я экстраполирую координаты 2D-экрана.

Любая помощь будет замечательной.

Спасибо, Jon

ответ

2

Here's большая статья объясняет, как OpenGL делает это.

+0

Спасибо, это было полезно. – Jon