Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

25/10/2007

Rotation vs Orientation

Le problème en algèbre, c'est qu'un vecteur peut tout aussi bien représenter un point qu'une direction. Du coup, ça pose quelques problèmes en terme de nomenclature.
 
Mais y a pire: les rotations c'est pareil. Un quaternion peut parfaitement représenter une rotation ou une orientation. Ce qui est génant, compte tenu du fait que leur espace de définition est beaucoup plus contraignant (pas de commutativité, tout ça tout ça)...
 
Stan Melax revient sur la rotation, cette grande incomprise dans les notations des programmeurs:
 
 

...

 

It is true that the orientation is described as a 'rotation relative to the identity orientation'. In other words, orientation is implemented as a 3x3, upper-left 3x3 of a 4x4, or (most often) as a quaternion.

 
Trying to use this piece of data in any meaningful way can only be done by applying a rotation - i.e. rotating something. But what this is really suggesting is that rotation has more to do with the 'type' of the member variable, not the 'name' of that member.

 

By the same false reasoning that uses 'rotation' instead of 'orientation', the class member 'position' should be changed to 'translation' to be consistent (yuck). In this context, most developers would prefer to describe a game object's pose as position and orientation.

 

Beware; the dagger of terminology misuse is sharp on both sides. Observe how the inconsistent usage of the term 'rotation' now affect further game development as we try to add additional physics members (angular properties) to our game object class.

 

Fortunately, angular velocity has a non-ambiguous non-verbose term: 'spin'. So use that. The trouble now with adding a member called 'rotation' to describe angular momentum (btw it's not the same thing as spin) is that others are likely to misinterpret it and assume it means orientation.

 

Isn't name pollution wonderful? Consequently, we're stuck using a verbose member name such as "angular_momentum" or some sort of shorthand like "ang_mntm". Groan.

 

... 

 
 

13:00 Publié dans Code | Lien permanent | Commentaires (9)

Commentaires

En gros c'est comme quand tu fais ton premier jeu et que à la fin tu te rends compte que les gens utilisent le mot "level" pour décrire 5 choses complètement différentes :)

Écrit par : Whirly | 26/10/2007

Exactement, surtout qu'a ce moment là, on t'as mis en charge du système de chargement dynamique ;-)

Bref, c'est en fait encore pire en France. Les bases de code sont écrites en "franglais", voir en Français tout court. Et j'ai même vu des nomenclatures de ressources abberentes !

Un exemple véridique: un mesh qui s'appelle "Umbrella" aura un set d'anim "Parapluie"... O_o

J'vous jure...

Écrit par : Daz | 26/10/2007

C'est déjà mieux qu'un mesh Umbrella qui aura des anim Zombies dans le level Racoon City :)

Écrit par : Whirly | 29/10/2007

Lol :-)

Écrit par : Daz | 29/10/2007

Les Coreens font dans un autre genre : ils elevent la faute d'ortographe au rang d'art majeur !

Ou comment se retrouver avec des Shat (shot), dlible (dribble), stete (state), et autre joyeusetes dont je devrais tenir un recueil, pour la science :)

Écrit par : MMoi | 29/10/2007

ps: je precise, leur lacunes sont dues au fait qu'ils utilisent des transcriptions phonetiques des mots anglais dans le langage de tous les jours, et donc quand il s'agit de remettre le puzzle dans le sens d'origine, ca ne rentre plus forcement dans les trous :)

Écrit par : MMoi | 29/10/2007

LOL et triple LOL !!! ^_^

Ah ouais, partage les sur ton blog, ce sont de vraies perles ;-)

Écrit par : Daz | 29/10/2007

il faut que je fasse une liste ^_^

Écrit par : MMoi | 30/10/2007

Brrr, qu'est ce que ça doit être ailleurs alors ! ^_^

Écrit par : Daz | 30/10/2007

Les commentaires sont fermés.