2009-03-27 30 views
8

He estado mirando un poco y parece que no puedo encontrar exactamente lo que estoy buscando. He encontrado "fórmulas canónicas", pero ¿cuál es la mejor manera de usarlas? ¿Tengo que escalar cada una de ellas? vértice hacia abajo? ¿O hay una manera mejor?¿Fórmula para una matriz de proyección ortogonal?

una fórmula que realmente me ayude a cabo, pero también estoy en busca de una explicación sobre los planos cercanos y lejanos z posición relativa del espectador

+0

Es posible obtener una mejor respuesta si preguntas más específicamente - esto es bastante general. Dé un ejemplo de lo que es la entrada a la fórmula y cuál es el resultado esperado. Esto es en el ámbito del álgebra lineal, por lo que podría darle más forraje de Google. –

Respuesta

9

Aquí es una fuente razonable que deriva de una orthogonal project matrix:

considerar algunos puntos: En primer lugar, en el ojo espacio, la cámara se coloca en el origen y mirando directamente hacia abajo la Z- eje. Y en segundo lugar, por lo general, desea que su campo de visión se extienda a la izquierda igual que a a la derecha, e igualmente muy por encima del eje z como se muestra a continuación. Si ese es el caso, el eje z pasa directamente a través del centro del volumen de su vista, por lo que tiene r = -l y t = -b. En otras palabras, puede olvidarse de r, l, t, y b por completo, y simplemente definir su vista volumen en términos de una anchura w, y una altura h, junto con sus otros planos de recorte f y n . Si hacer esas sustituciones en la matriz ortográfica proyección anterior, obtiene este lugar simplificada versión :

Todo lo anterior le da una matriz que tiene este aspecto (añadir rotación y traslación según el caso si Me gustaría que la matriz de transformación resultante trate una posición y orientación arbitrarias de la cámara).

A LaTeX rendering of the orthographic projection matrix http://www.codeguru.com/images/article/10123/3dproj20.gif

Cuestiones relacionadas