2010-01-24 18 views
3

J'ai un problème de maths dans la projection isométrique. J'ai lu un article: Axonometric projections - a technical overview. Pour la partie de projection isométriques, il donne une formule mathématique pour le point 3D de conversion en points 2D pour la partie x la formule est:Projection isométrique: Qu'est-ce qui ne va pas avec mes maths?

x' = (x − z) cos(30); 

Mais je vérifie aussi wiki Isometric Projection donc j'utiliser les matrices de rotation qui le wiki donner, calculer moi-même

x' = x*cos(beta) - z*sin(beta) 

La bêta est définie par le wiki (angle de rotation de l'axe Y, et il devrait être 45). Alors qu'est-ce qui ne va pas avec mes maths? Ou y a-t-il quelque chose que je ne connais pas sur la projection isométrique?

Répondre

3

Etes-vous sûr que votreet votre sin prennent des degrés et non des radians?

// C/C++ code 

#define PI 3.141592654 
static const float PI_RADIANS = PI/180.f; 

inline float DegToRad(float a_Degrees) 
{ 
    return (a_Degrees * PI_RADIANS); 
} 

inline float RadToDeg(float a_Radians) 
{ 
    return (a_Radians/PI_RADIANS); 
}