2011-03-11 5 views
4

Je suis un novice en graphisme, mais je joue avec HTML5 Canvas, javascript et certaines formes et images. Si j'ai une caméra au point Cx, Cy, Cz et un point à Px, Py, Pz, quel est le moyen le plus simple de convertir le point en un point 2D afin de rendre une image à ce point avec la mise à l'échelle correcte donc ma perspective est correcte? Je suis après les équations, pas une bibliothèque.Graphiques - équation pour convertir le point 3d en projection 2d

Merci!

+0

Une caméra et un point ne suffisent pas, vous aurez également besoin une direction pour la caméra (par exemple un vecteur de direction ou un point à regarder). Même dans ce cas, il reste quelques paramètres ouverts comme FOV. – schnaader

Répondre

3

Elle est appelée la projection perspective et la formule que vous cherchez est juste la matrice multiplication trouvée ici:

http://en.wikipedia.org/wiki/3D_projection#Perspective_projection

+0

@eznme - super, merci. Je suppose qu'en utilisant javascript, j'aurai besoin d'utiliser les équations. Est-ce que le dx = cos0y. (Sin0z ... signifie en fait dx = cos0y * (sin0z ... c'est-à-dire que le point signifie multiplié par? – Journeyman

+0

@John Norris: oui, multiplication normale (pas vecteur/scalaire/point/produit croisé Directement au-dessous de celui où ils écrivent 'b_x = ...' ils omettent le point et dans le paragraphe "Diagramme" juste en dessous que le "x" signifie aussi une multiplication normale, je peux voir comment une telle incohérence doit être déroutante (c'est certainement pour moi) –

+0

@eznme - Great - got it working! Merci beaucoup – Journeyman

Questions connexes