1

-

2

Mais encore ?

3

-

4

Et ça te fatigue tant que ça de copier/coller l'explication ici ou mettre un lien à la limite ? grin

A première vue c'est le problème classique de Gimbal lock... expliqué dans la plupart des tutoriaux sur la 3D.
So much code to write, so little time.

5

Un peu de calme, les gars !
C'est moi qui lui ai demandé d'ouvrir un topic, dans la mesure où les commentaires effectuent la concaténation HTML des espaces, ce qui fait foirer les schémas en ASCII-Art ...
Je remets ici mon commentaire (news du jeudi 25 novembre ...) :
C'est en effet un problème de rotation absolue/relative.
Au début, les bases (Xc;Yc;Zc) de la caméra et (Xo;Yo;Zo) de l'objet sont confondus.
roite, Yc vers le haut, et Zc normal à l'écran et venant vers soi : Yc Yo | | | | / ----Xc / ----Xo / / Zc ZoVoici ce que ça donne en perspective, mais ce que l'on voit avec la caméra, c'est toujours Xc vers la d(J'espère que la concaténation des espaces ne va pas foirer mes dessins ... sinon, ouvre un topic, je recopierai le tout dans [pre][/pre])

, l'axe Yo se confond avec Zc : Yc | | / ----Xc /|----Xo / / | Zc Yo | ZoLorsque tu tournes l'objet de +90° selon Xo=Xc avec X++ (ou la caméra de -90°, c'est pareil)Ensuite, d'après ce que je vois sur ton animation :
- lorsque tu fais Y++, l'objet tourne de +N° selon Yo
- lorsque tu fais Z++, la caméra tourne de -N° selon Zc

Selon que tu fasses une commande avec Y ou avec Z, ce n'est donc pas la même base qui est utilisée !!!
Pour X, ton animation ne permet pas de voir si c'est Xo ou Xc qui est utilisé (mais je suppose que c'est Xo).

Il faut donc que tu choisisses une fois pour toute quelle base tu veux utiliser : d'après ce que tu dis, ça serait la base de l'objet, puisque tu voulais tourner autour de Zo avec Z++, et non Zc. Pourtant, comme tes commandes Forward et Backward utilisent obligatoirement, par définition, la base de la caméra (et plus exactement l'axe Zc, d'où peut-être la rotation autour de Zc au lieu de Zo), je pense qu'il est plus logique de choisir cette base, et dans ce cas, n'oublie pas de changer le signe des rotations (puisque Z++ fait tourner de -N°, de même pour X++).
J'espère que c'est un peu plus clair avec les schémas qui vont bien ...

@++
avatar
Je ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.