Historique des modifications - Message

Message #7297

Sujet: qu'est ce qu'une normale ?


TypeDateAuteurContenu
Dernière modification04-11-2009 15:09:23TUpac
C'est effectivement une droite perpendiculaire à un plan. J'ai bien galéré mais j'ai fait ça sur un triangle d'un terrain afin d'orienter mon node face au terrain.
triangle3df tri;
vector3df A,B,C;
A = vector3df(cible->gpos().X + 5,    0,cible->gpos().Z); // positione les vecteurs en triangle
B = vector3df(cible->gpos().X - 3.57f,    0,cible->gpos().Z +3.57);
C = vector3df(cible->gpos().X - 3.57f,    0,cible->gpos().Z -3.57);
tri.pointA = A + vector3df(0,sol->terrain->getHeight(A.X,A.Z),0); // pose les vecteurs sur le sol
tri.pointB = B + vector3df(0,sol->terrain->getHeight(B.X,B.Z),0);
tri.pointC = C + vector3df(0,sol->terrain->getHeight(C.X,C.Z),0);

vector3df nor = tri.getNormal().normalize(); // normalize, il faut bien ...
cible->node->setRotation(nor.getHorizontalAngle()+ vector3df(-90,0,0)); // rotation de la cible

C'est un système perso qui ressemble bien à du bricolage mais ça fonctionne. J'espère que ça t'aidera.
Création du message04-11-2009 15:08:07TUpac
C'est effectivement une droite perpendiculaire à un plan. J'ai bien galéré mais j'ai fait ça sur un triangle d'un terrain afin d'orienter mon node face au terrain.
triangle3df tri;
vector3df A,B,C;
A = vector3df(cible->gpos().X + 5,    0,cible->gpos().Z); // positione les vecteurs en triangle
B = vector3df(cible->gpos().X - 3.57f,    0,cible->gpos().Z +3.57);
C = vector3df(cible->gpos().X - 3.57f,    0,cible->gpos().Z -3.57);
tri.pointA = A + vector3df(0,sol->terrain->getHeight(A.X,A.Z),0); // pose les vecteurs sur le sol
tri.pointB = B + vector3df(0,sol->terrain->getHeight(B.X,B.Z),0);
tri.pointC = C + vector3df(0,sol->terrain->getHeight(C.X,C.Z),0);

vector3df nor = tri.getNormal().normalize(); // normalize, il faut bien ...
cible->node->setRotation(nor.getHorizontalAngle()+ vector3df(-90,0,0)); // rotation de la cible

C'est un système perso qui ressemble bien à du bricolage mais ça fonctionne. J'espère que ça t'aidera.

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
111 invités en ligne
membre en ligne: -
RSS Feed