2017-09-06 7 views
0

J'ai une matrice de projection 4x4Obtenir la distance focale et le point focal d'une matrice de projection

(SCNMatrix4) 
    s = (m11 = 1.83226573, 
    m12 = 0, 
    m13 = 0, 
    m14 = 0, 
    m21 = 0, 
    m22 = 2.44078445, 
    m23 = 0, 
    m24 = 0, 
    m31 = -0.00576340035, 
    m32 = -0.0016724075, 
    m33 = -1.00019991, 
    m34 = -1, 
    m41 = 0, 
    m42 = 0, 
    m43 = -0.20002, 
    m44 = 0) 

Je voudrais obtenir le point focal et la distance focale de cette matrice.

Répondre

1

De glissières 4 et 5 sur this GDC presentation:

enter image description here

La distance focale est que le premier élément de la matrice (m11).

Le point focal , cependant, ne peut pas être extrait de cette matrice seule - vous avez besoin de la caméra directionD et la position P. Une fois que vous les avez, faites simplement P + D * m11 pour obtenir le point focal.

+0

La position de l'appareil photo est un point 3D, et le point focal est un point 2D.Je suis confus au sujet de la position de la caméra – andre

+0

@andre pourquoi pensez-vous que le point focal est 2D? C'est un point 3D aussi. – meowgoesthedog