<< Complément sur les matrices
Rotation en trois dimensions >>
Chapitre 7
Systèmes de coordonnées polaires
Tout d’abord, nous devons noter que l’univers est sphérique.
— Nicolas Copernic (1473–1543)
Le système de coordonnées cartésien n’est pas le seul système permettant de cartographier l’espace et de définir des positions avec précision. Une alternative au système cartésien est le système de coordonnées polaires, qui est le sujet de ce chapitre. Si vous n’êtes pas très familier avec les coordonnées polaires, il peut sembler qu’il s’agit d’un sujet ésotérique ou avancé (surtout à cause de la trigonométrie), et vous pourriez être tenté de passer outre. Ne faites pas cette erreur. Il existe de nombreux problèmes très pratiques dans des domaines comme l’IA et le contrôle de caméra dont les solutions (et les difficultés inhérentes !) peuvent être facilement comprises dans le cadre des coordonnées polaires.
Ce chapitre est organisé en sections comme suit :
La section 7.1 décrit les coordonnées polaires 2D.
La section 7.2 donne des exemples où les coordonnées polaires sont préférables aux coordonnées cartésiennes.
La section 7.3 montre comment fonctionne l’espace polaire en 3D et introduit les coordonnées cylindriques et sphériques.
Enfin, la section 7.4 explique clairement que l’espace polaire peut être utilisé pour décrire aussi bien des vecteurs que des positions.
Cette section présente le concept de base des coordonnées polaires, en utilisant deux dimensions pour nous échauffer. La section 7.1.1 montre comment utiliser les coordonnées polaires pour décrire une position. La section 7.1.2 aborde l’aliasage des coordonnées polaires. La section 7.1.3 montre comment convertir entre coordonnées polaires et cartésiennes en 2D.
Rappelons qu’un espace de coordonnées cartésien 2D possède une origine, qui établit la position de l’espace de coordonnées, et deux axes passant par l’origine, qui établissent l’orientation de l’espace. Un espace de coordonnées polaires 2D possède également une origine (appelée le pôle), dont le but est fondamentalement le même — elle définit le « centre » de l’espace de coordonnées. Cependant, un espace de coordonnées polaires n’a qu’un seul axe, parfois appelé l’axe polaire, généralement représenté comme un rayon issu de l’origine. Il est d’usage dans la littérature mathématique que l’axe polaire pointe vers la droite dans les diagrammes, correspondant ainsi à l’axe dans un système cartésien, comme indiqué dans la figure 7.1.

Figure 7.1Un espace de coordonnées polaires 2D
Il est souvent pratique d’utiliser des conventions différentes de celles-ci, comme indiqué dans la section 7.3.3. Jusqu’alors, notre discussion adopte les conventions traditionnelles de la littérature mathématique.
Dans le système de coordonnées cartésien, nous décrivions un point 2D à l’aide de deux distances signées, et . Le système de coordonnées polaires utilise une distance et un angle. Par convention, la distance est généralement assignée à la variable (abréviation de « rayon ») et l’angle est généralement appelé . La paire de coordonnées polaires spécifie un point dans l’espace 2D comme suit :
Localisation du point décrit par les coordonnées polaires 2D
Étape 1.Partez de l’origine, en faisant face à la direction de l’axe polaire, et tournez d’un angle . Les valeurs positives de sont généralement interprétées comme une rotation dans le sens antihoraire, les valeurs négatives comme une rotation dans le sens horaire.
Étape 2.Avancez maintenant depuis l’origine d’une distance de unités. Vous êtes arrivé au point décrit par les coordonnées polaires .
Ce processus est illustré dans la figure 7.2.

Figure 7.2 Localisation d’un point à l’aide des coordonnées polaires 2D

Figure 7.3 Exemples de points étiquetés avec des coordonnées polaires 2D
En résumé, définit la distance du point à l’origine, et définit la direction du point par rapport à l’origine. La figure 7.3 montre plusieurs points et leurs coordonnées polaires. Vous devriez étudier cette figure jusqu’à être convaincu de son fonctionnement.
Vous aurez peut-être remarqué que les diagrammes des espaces de coordonnées polaires contiennent des lignes de grille, mais que ces lignes sont légèrement différentes de celles utilisées dans les diagrammes des systèmes de coordonnées cartésiens. Chaque ligne de grille dans un système de coordonnées cartésien est composée de points ayant la même valeur pour l’une des coordonnées. Une ligne verticale est composée de points ayant tous la même coordonnée , et une ligne horizontale est composée de points ayant tous la même coordonnée . Les lignes de grille dans un système de coordonnées polaires sont similaires :
Les « cercles de grille » montrent des lignes de constant. Cela est logique ; après tout, la définition d’un cercle est l’ensemble de tous les points équidistants de son centre. C’est pourquoi la lettre est la variable habituelle pour cette distance, car c’est une distance radiale.
Les lignes droites de la grille passant par l’origine montrent des lignes de constant, composées de points situés dans la même direction par rapport à l’origine.
Une remarque concernant les mesures d’angles. Avec les coordonnées cartésiennes, l’unité de mesure n’avait pas vraiment d’importance. On pouvait interpréter les diagrammes en pieds, mètres, miles, yards, années-lumière, longueurs de barbe, ou picas, peu importait.1 Si vous prenez des données de coordonnées cartésiennes et que vous les interprétez avec des unités physiques différentes, cela fait simplement paraître ce que vous regardez plus grand ou plus petit, mais la forme est proportionnellement la même. Cependant, interpréter la composante angulaire des coordonnées polaires avec des unités angulaires différentes peut produire des résultats considérablement déformés.
Peu importe que vous utilisiez des degrés ou des radians (ou des grads, des mils, des minutes, des signes, des sextants ou des Furmans), tant que vous êtes cohérent. Dans ce livre, nous donnons presque toujours les mesures angulaires spécifiques en degrés avec le symbole après le nombre. Nous faisons cela parce que nous sommes des êtres humains, et la plupart des êtres humains qui ne sont pas professeurs de mathématiques trouvent plus facile de travailler avec des nombres entiers plutôt qu’avec des fractions de . D’ailleurs, le choix du nombre 360 a été spécifiquement conçu pour éviter les fractions dans de nombreux cas courants. Cependant, les machines à calculer2 préfèrent travailler avec des angles exprimés en radians, et donc les extraits de code de ce livre utilisent des radians plutôt que des degrés.
Espérons que vous commencez à bien comprendre comment fonctionnent les coordonnées polaires et à quoi ressemble l’espace de coordonnées polaires. Mais il peut y avoir quelques pensées persistantes en arrière-fond. Consciemment ou inconsciemment, vous avez peut-être remarqué une différence fondamentale entre l’espace cartésien et l’espace polaire. Peut-être avez-vous imaginé un espace cartésien 2D comme un continuum parfaitement régulier, comme une feuille impeccable de gélatine, s’étendant infiniment dans toutes les directions, chaque bouchée infiniment fine identique aux autres. Certes, il y a des endroits « spéciaux », comme l’origine et les axes, mais ce sont juste des marques au fond du moule — la gélatine elle-même est la même là que partout ailleurs. Mais quand vous avez imaginé le tissu de l’espace de coordonnées polaires, quelque chose était différent. L’espace de coordonnées polaires a des « coutures », des discontinuités où les choses sont un peu « rapiécées ». Dans le moule de gélatine infiniment grand, il y a plusieurs feuilles de gélatine empilées les unes sur les autres. Quand vous posez votre cuillère en un endroit particulier pour prendre une bouchée, vous vous retrouvez souvent avec plusieurs bouchées ! Il y a un fil dans le bloc de gélatine, une singularité qui nécessite des précautions particulières.
Que votre image mentale de l’espace polaire ait été de la gélatine ou un autre dessert appétissant, vous vous posiez probablement certaines de ces questions :
La distance radiale peut-elle être négative ?
peut-il sortir de l’intervalle ?
La valeur de l’angle directement « à l’ouest » de l’origine (c’est-à-dire pour les points où et en coordonnées cartésiennes) est ambiguë. Vous avez peut-être remarqué qu’aucun de ces points n’est étiqueté dans la figure 7.3. Est-ce que est égal à ou pour ces points ?
Les coordonnées polaires de l’origine elle-même sont également ambiguës. Clairement , mais quelle valeur de devrait-on utiliser ? N’importe quelle valeur ne fonctionnerait-elle pas ?
La réponse à toutes ces questions est « oui ».3 En fait, nous devons faire face à une réalité assez dure concernant l’espace polaire.
Pour tout point donné, il existe une infinité de paires de coordonnées polaires qui peuvent être utilisées pour décrire ce point.
Ce phénomène est connu sous le nom d’aliasage. Deux paires de coordonnées sont dites alias l’une de l’autre si elles ont des valeurs numériques différentes mais font référence au même point dans l’espace. Notez que l’aliasage ne se produit pas dans l’espace cartésien — chaque point dans l’espace se voit attribuer exactement une paire de coordonnées ; la correspondance entre les points et les paires de coordonnées est biunivoque.
Avant de discuter de certaines difficultés créées par l’aliasage, précisons une tâche pour laquelle l’aliasage ne pose aucun problème : interpréter une paire de coordonnées polaires particulière et localiser le point dans l’espace auquel ces coordonnées font référence. Quelles que soient les valeurs de et , nous pouvons trouver une interprétation sensée.
Lorsque , il est interprété comme un déplacement « en arrière » — un déplacement dans la direction opposée à celle dans laquelle nous irions si était positif. Si est en dehors de l’intervalle , ce n’est pas une raison de paniquer ; nous pouvons toujours déterminer la direction résultante.4 En d’autres termes, bien qu’il puisse exister des coordonnées polaires « inhabituelles », il n’existe pas de coordonnées polaires « invalides ». Un point donné dans l’espace correspond à de nombreuses paires de coordonnées, mais une paire de coordonnées désigne sans ambiguïté exactement un point dans l’espace.
Une façon de créer un alias pour un point est d’ajouter un multiple de à . Cela ajoute une ou plusieurs « révolutions » complètes, mais ne change pas la direction résultante définie par . Ainsi et décrivent le même point, où est un entier. Nous pouvons également générer un alias en ajoutant à et en négativant ; ce qui signifie que nous faisons face à l’autre direction, mais nous nous déplaçons du montant opposé.
En général, pour tout point autre que l’origine, toutes les coordonnées polaires qui sont des alias de peuvent s’exprimer comme
où est un entier quelconque.
Ainsi, malgré l’aliasage, nous pouvons tous nous mettre d’accord sur le point décrit par les coordonnées polaires , quelles que soient les valeurs de et utilisées. Mais qu’en est-il du problème inverse ? Étant donné un point arbitraire dans l’espace, pouvons-nous tous nous mettre d’accord sur les coordonnées polaires à utiliser pour décrire ? Nous venons de dire qu’il existe une infinité de paires de coordonnées polaires pouvant être utilisées pour décrire la position . Laquelle utilisons-nous ? La réponse courte est : « N’importe laquelle qui fonctionne est valable, mais il n’y en a qu’une seule qui est la préférable. »
C’est comme réduire des fractions. Nous convenons tous que est une fraction parfaitement valide, et il n’y a aucun désaccord sur la valeur de cette fraction. Néanmoins, est une fraction « inhabituelle » ; la plupart d’entre nous préféreraient que cette valeur soit exprimée comme , ce qui est plus simple et plus facile à comprendre. Une fraction est dans le format « préférable » quand elle est exprimée en termes les plus réduits, ce qui signifie qu’il n’existe pas d’entier supérieur à 1 qui divise à la fois le numérateur et le dénominateur. Nous ne devons pas réduire à , mais par convention nous le faisons normalement. Le degré d’engagement d’une personne envers cette convention est généralement basé sur le nombre de points que son professeur de mathématiques lui a enlevés pour ne pas avoir réduit les fractions à leur forme irréductible.5
Pour les coordonnées polaires, la façon « préférable » de décrire un point donné est connue sous le nom de coordonnées canoniques pour ce point. Une paire de coordonnées polaires 2D est dans l’ensemble canonique si est non négatif et est dans l’intervalle . Notez que l’intervalle est semi-ouvert : pour les points directement « à l’ouest » de l’origine (), nous utiliserons . De plus, si (ce qui n’est vrai qu’à l’origine), nous assignons généralement . Si vous appliquez toutes ces règles, alors pour tout point donné dans l’espace 2D, il y a exactement une façon de représenter ce point en coordonnées polaires canoniques. Nous pouvons résumer cela de façon concise avec une notation mathématique. Une paire de coordonnées polaires est dans l’ensemble canonique si toutes les conditions suivantes sont vraies :
Conditions satisfaites par les coordonnées canoniques
L’algorithme suivant peut être utilisé pour convertir une paire de coordonnées polaires en sa forme canonique :
Conversion d’une paire de coordonnées polaires en forme canonique
Si , assigner .
Si , négativer et ajouter à .
Si , ajouter à jusqu’à ce que .
Si , soustraire de jusqu’à ce que .
Le listing 7.1 montre comment cela pourrait être fait en C. Comme discuté dans la section 7.1.1, notre code informatique stocke normalement les angles en radians.
// Distance radiale
float r;
// Angle en RADIANS
float theta;
// Déclaration d'une constante pour 2*pi (360 degrés)
const float TWOPI = 2.0f*PI;
// Vérifier si on est exactement à l'origine
if (r == 0.0f) {
// À l'origine - mettre theta à zéro
theta = 0.0f;
} else {
// Gérer la distance négative
if (r < 0.0f) {
r = -r;
theta += PI;
}
// Theta hors limites ? Notez que ce test if() n'est pas
// strictement nécessaire, mais on essaie d'éviter les
// opérations en virgule flottante si elles ne sont pas
// nécessaires. Pourquoi subir une perte de précision en
// virgule flottante si on n'en a pas besoin ?
if (fabs(theta) > PI) {
// Décalage de PI
theta += PI;
// Ramener dans l'intervalle 0...TWOPI
theta -= floor(theta / TWOPI) * TWOPI;
// Annuler le décalage, ramenant l'angle dans -PI...PI
theta -= PI;
}
}
Les lecteurs pointilleux remarqueront peut-être que si ce code garantit que est dans l’intervalle fermé , il n’évite pas explicitement le cas où . La valeur de n’est pas exactement représentable en virgule flottante. En fait, comme est un nombre irrationnel, il ne peut jamais être représenté exactement en virgule flottante, ni avec un nombre fini de chiffres dans quelque base que ce soit ! La valeur de la constante PI dans notre code n’est pas exactement égale à , c’est le nombre le plus proche de représentable par un float. Utiliser l’arithmétique à double précision peut nous rapprocher de la valeur exacte, mais cela reste imprécis. Vous pouvez donc considérer cette fonction comme renvoyant une valeur de l’intervalle ouvert .
Cette section décrit comment convertir entre les systèmes de coordonnées cartésien et polaire en 2D. Au fait, si vous vous demandiez quand nous allions faire usage de la trigonométrie que nous avons passée en revue dans la section 1.4.5, c’est maintenant.
La figure 7.4 montre la géométrie impliquée dans la conversion entre coordonnées polaires et cartésiennes en 2D.

Figure 7.4 Conversion entre coordonnées cartésiennes et polaires
La conversion des coordonnées polaires en coordonnées cartésiennes correspondantes découle presque immédiatement des définitions du sinus et du cosinus :
Conversion des coordonnées polaires 2D en cartésiennes
Notez que l’aliasage n’est pas un problème ; l’équation (7.1) fonctionne même pour des valeurs « inhabituelles » de et .
Le calcul des coordonnées polaires à partir des coordonnées cartésiennes est la partie délicate. En raison de l’aliasage, il n’y a pas qu’une seule bonne réponse ; il existe une infinité de paires décrivant le point . En général, nous voulons les coordonnées canoniques.
Nous pouvons facilement calculer en utilisant le théorème de Pythagore :
Puisque la fonction racine carrée renvoie toujours la racine positive, nous n’avons pas à nous inquiéter que fasse sortir nos coordonnées polaires calculées de l’ensemble canonique.
Calculer était assez simple, maintenant résolvons pour :
Malheureusement, cette approche présente deux problèmes. Le premier est que si , la division est indéfinie. Le second est que la fonction a une plage uniquement de . Le problème fondamental est que la division supprime effectivement certaines informations utiles. et peuvent être positifs ou négatifs, donnant quatre possibilités différentes, correspondant aux quatre quadrants différents pouvant contenir le point. Mais la division donne une valeur unique. Si nous négativons et , nous nous déplaçons dans un quadrant différent du plan, mais le rapport ne change pas.
En raison de ces problèmes, l’équation complète pour la conversion des coordonnées cartésiennes en polaires nécessite des « tests conditionnels » pour gérer chaque quadrant, et est un peu compliquée pour les « mathématiciens ». Heureusement, les « informaticiens » disposent de la fonction atan2, qui calcule correctement l’angle pour tous et , à l’exception du cas délicat à l’origine. En empruntant cette notation, définissons une fonction que nous pouvons utiliser dans ce livre dans notre notation mathématique :
La fonction utilisée dans ce livre
Faisons deux observations clés concernant l’équation (7.2). Premièrement, en suivant la convention de la fonction atan2 présente dans les bibliothèques standard de la plupart des langages informatiques, les arguments sont dans l’ordre « inverse » : . Vous pouvez soit vous rappeler qu’il est inversé, soit trouver commode de vous souvenir de la similitude lexicale entre et . Ou retenez que , et .
Deuxièmement, dans de nombreuses bibliothèques logicielles, la fonction atan2 est indéfinie à l’origine, quand . La fonction que nous définissons pour utilisation dans nos équations dans le texte de ce livre est définie de telle sorte que . Dans nos extraits de code, nous utilisons la fonction de bibliothèque atan2 et gérons explicitement l’origine comme un cas spécial, mais dans nos équations, nous utilisons la fonction abstraite , qui est définie à l’origine. (Notez la différence de police.)
Revenons à la tâche en cours : calcul de l’angle polaire à partir d’un point des coordonnées cartésiennes 2D. Armés de la fonction , nous pouvons facilement convertir des coordonnées cartésiennes 2D en forme polaire :
Conversion de coordonnées cartésiennes 2D en coordonnées polaires
Le code C du listing 7.2 montre comment convertir une paire de coordonnées cartésiennes en coordonnées polaires canoniques correspondantes .
// Entrée : coordonnées cartésiennes
float x,y;
// Sortie : distance radiale polaire, et angle en RADIANS
float r, theta;
// Vérifier si on est à l'origine
if (x == 0.0f && y == 0.0f) {
// À l'origine - mettre les deux coordonnées polaires à zéro
r = 0.0f;
theta = 0.0f;
} else {
// Calculer les valeurs. Quelle merveilleuse fonction atan2 !
r = sqrt(x*x + y*y);
theta = atan2(y,x);
}
Avec toutes les complications liées à l’aliasage, aux degrés et radians, et à la trigonométrie, pourquoi quelqu’un utiliserait-il des coordonnées polaires alors que les coordonnées cartésiennes fonctionnent très bien sans aucun fil dans la gélatine ? En réalité, vous utilisez probablement les coordonnées polaires plus souvent que les coordonnées cartésiennes. Elles apparaissent fréquemment dans la conversation informelle.
Par exemple, l’un des auteurs vient d’Alvarado, au Texas. Lorsque les gens demandent où se trouve Alvarado, il leur dit : « À environ 24 km au sud-est de Burleson. » Il décrit l’emplacement d’Alvarado en utilisant des coordonnées polaires, en spécifiant une origine (Burleson), une distance (24 km) et un angle (sud-est). Bien sûr, la plupart des gens qui ne sont pas du Texas (et beaucoup de gens qui le sont) ne savent pas non plus où se trouve Burleson, il est donc plus naturel de changer de système de coordonnées polaires et de dire : « À environ 80 km au sud-ouest de Dallas. » Heureusement, même les gens hors des États-Unis connaissent généralement Dallas.6 Au fait, tout le monde au Texas ne porte pas un chapeau de cowboy et des santiags. En revanche, nous utilisons bien les mots « y’all » et « fixin’, ».7
En résumé, les coordonnées polaires apparaissent souvent parce que les gens pensent naturellement aux emplacements en termes de distance et de direction. (Bien sûr, nous ne sommes souvent pas très précis lorsque nous utilisons des coordonnées polaires, mais la précision n’est pas vraiment le point fort du cerveau.) Les coordonnées cartésiennes ne sont tout simplement pas notre langue maternelle. C’est l’inverse pour les ordinateurs — en général, lorsque l’on utilise un ordinateur pour résoudre des problèmes géométriques, il est plus facile d’utiliser des coordonnées cartésiennes que polaires. Nous discutons à nouveau de cette différence entre humains et ordinateurs dans le chapitre 8 où nous comparons différentes méthodes pour décrire l’orientation en 3D.
L’une des raisons de notre affinité pour les coordonnées polaires est peut-être que chaque coordonnée polaire a une signification concrète par elle-même. Un pilote de chasse peut dire à un autre : « Bogey, six heures !8 » Au milieu d’un combat aérien, ces courageux pilotes de chasse utilisent en réalité des coordonnées polaires. « Six heures » signifie « derrière vous » et correspond essentiellement à l’angle que nous avons étudié. Notez que le pilote n’avait pas besoin de préciser une distance, vraisemblablement parce que l’autre pilote pouvait se retourner et voir par lui-même plus vite que l’autre ne pourrait le lui dire. Ainsi, une seule coordonnée polaire (dans ce cas, une direction) est déjà une information utile. Le même type d’exemples peut être donné pour l’autre coordonnée polaire, la distance (). Comparez cela avec l’utilité d’une seule coordonnée cartésienne. Imaginez un pilote de chasse dire : « Bogey, ! » Cette information est plus difficile à traiter et moins utile.
Dans les jeux vidéo, l’une des occasions les plus courantes où les coordonnées polaires apparaissent est lorsque nous voulons orienter une caméra, une arme ou autre chose vers une cible. Ce problème est facilement résolu en utilisant une conversion de coordonnées cartésiennes en polaires, puisque ce sont généralement les angles dont nous avons besoin. Même lorsque les données angulaires peuvent être évitées à ces fins (nous pourrions être en mesure d’utiliser entièrement des opérations vectorielles, par exemple, si l’orientation de l’objet est spécifiée à l’aide d’une matrice), les coordonnées polaires restent utiles. Généralement, les caméras, les tourelles et les bras des assassins ne peuvent pas se déplacer instantanément (aussi bon que soit l’assassin), mais les cibles se déplacent. Dans cette situation, nous « suivons » généralement la cible d’une certaine manière. Ce suivi (quel que soit le type de système de contrôle utilisé, qu’il s’agisse d’un simple limiteur de vitesse, d’un retard ou d’un système du second ordre) se fait généralement mieux dans l’espace polaire plutôt que, par exemple, en interpolant une position cible dans l’espace 3D.
Les coordonnées polaires sont également souvent rencontrées avec des systèmes d’acquisition de données physiques qui fournissent des mesures brutes de base en termes de distance et de direction.
Une dernière occasion méritant d’être mentionnée où les coordonnées polaires sont plus naturelles à utiliser que les coordonnées cartésiennes est lorsqu’on se déplace sur la surface d’une sphère. Quand quelqu’un ferait-il cela ? Vous le faites probablement en ce moment même. Les coordonnées latitude/longitude utilisées pour décrire précisément les emplacements géographiques ne sont pas vraiment des coordonnées cartésiennes ; ce sont des coordonnées polaires. (Pour être plus précis, il s’agit d’un type de coordonnées polaires 3D appelées coordonnées sphériques, dont nous parlerons dans la section 7.3.2.) Bien sûr, si vous regardez une zone relativement petite par rapport à la taille de la planète et que vous n’êtes pas trop loin de l’équateur, vous pouvez utiliser la latitude et la longitude comme coordonnées cartésiennes sans trop de problèmes. Nous le faisons tout le temps à Dallas.
Les coordonnées polaires peuvent être utilisées en 3D comme en 2D. Comme vous l’avez probablement déjà deviné, les coordonnées polaires 3D ont trois valeurs. Mais la troisième coordonnée est-elle une autre distance linéaire (comme ) ou un autre angle (comme ) ? En fait, nous pouvons choisir l’une ou l’autre ; il existe deux types différents de coordonnées polaires 3D. Si nous ajoutons une distance linéaire, nous avons les coordonnées cylindriques, qui font l’objet de la section suivante. Si nous ajoutons un autre angle, nous avons les coordonnées sphériques, abordées dans les sections ultérieures. Bien que les coordonnées cylindriques soient moins couramment utilisées que les coordonnées sphériques, nous les décrivons en premier car elles sont plus faciles à comprendre.
La section 7.3.1 traite d’un type de coordonnées polaires 3D, les coordonnées cylindriques, et la section 7.3.2 traite de l’autre type, les coordonnées sphériques. La section 7.3.3 présente quelques conventions alternatives de coordonnées polaires souvent plus adaptées au code de jeux vidéo. La section 7.3.4 décrit les types spéciaux d’aliasage pouvant se produire dans l’espace de coordonnées sphériques. La section 7.3.5 montre comment convertir entre les coordonnées sphériques et les coordonnées cartésiennes 3D.

Figure 7.5 Coordonnées cylindriques
Pour étendre les coordonnées cartésiennes en 3D, on part du système 2D, utilisé pour travailler dans le plan, et on ajoute un troisième axe perpendiculaire à ce plan. C’est essentiellement ainsi que les coordonnées cylindriques étendent les coordonnées polaires en 3D. Appelons ce troisième axe l’axe , comme nous le faisons avec les coordonnées cartésiennes. Pour localiser le point décrit par les coordonnées cylindriques , nous commençons par traiter et comme pour les coordonnées polaires 2D, puis nous nous déplaçons « vers le haut » ou « vers le bas » en fonction de la coordonnée . La figure 7.5 montre comment localiser un point à l’aide des coordonnées cylindriques.
La conversion entre les coordonnées cartésiennes 3D et les coordonnées cylindriques est simple. La coordonnée est la même dans l’une ou l’autre représentation, et nous convertissons entre et via les techniques 2D de la section 7.1.3.
Nous n’utilisons pas beaucoup les coordonnées cylindriques dans ce livre, mais elles sont utiles dans certaines situations lorsqu’on travaille dans un environnement de forme cylindrique ou qu’on décrit un objet de forme cylindrique. De même que les gens utilisent souvent les coordonnées polaires sans le savoir (voir la section 7.2), les gens qui ne connaissent pas le terme « coordonnées cylindriques » peuvent tout de même les utiliser. Sachez que même lorsque les gens reconnaissent qu’ils utilisent des coordonnées cylindriques, la notation et les conventions varient largement. Par exemple, certains utilisent la notation . De plus, l’orientation des axes et la définition de la rotation positive sont définies selon ce qui est le plus pratique pour une situation donnée.
Le type le plus courant de système de coordonnées polaires 3D est un système de coordonnées sphériques. Alors qu’un ensemble de coordonnées cylindriques a deux distances et un angle, un ensemble de coordonnées sphériques a deux angles et une distance.
Rappelons l’essentiel du fonctionnement des coordonnées polaires en 2D. Un point est spécifié en donnant une direction () et une distance (). Les coordonnées sphériques fonctionnent également en définissant une direction et une distance ; la seule différence est qu’en 3D il faut deux angles pour définir une direction. Il y a aussi deux axes polaires dans un espace sphérique 3D. Le premier axe est « horizontal » et correspond à l’axe polaire en coordonnées polaires 2D ou à dans nos conventions cartésiennes 3D. L’autre axe est vertical, correspondant à dans nos conventions cartésiennes 3D.
Différentes personnes utilisent des conventions et des notations différentes pour les coordonnées sphériques, mais la plupart des mathématiciens se sont mis d’accord sur le fait que les deux angles sont nommés et .9 Les mathématiciens s’accordent également en général sur la façon dont ces deux angles sont interprétés pour définir une direction. L’ensemble du processus fonctionne ainsi :
Localisation de points en 3D à l’aide des coordonnées polaires
Étape 1.Commencez debout à l’origine, face à la direction de l’axe polaire horizontal. L’axe vertical pointe de vos pieds vers votre tête. Pointez votre bras droit10 directement vers le haut, dans la direction de l’axe polaire vertical.
Étape 2.Tournez dans le sens antihoraire d’un angle (de la même façon que nous l’avons fait pour les coordonnées polaires 2D).
Étape 3.Faites pivoter votre bras vers le bas d’un angle . Votre bras pointe maintenant dans la direction spécifiée par les angles polaires et .
Étape 4.Déplacez-vous depuis l’origine dans cette direction d’une distance . Vous êtes arrivé au point décrit par les coordonnées sphériques .
La figure 7.6 montre comment cela fonctionne.

Figure 7.6 Coordonnées sphériques utilisées par les mathématiciens
D’autres personnes utilisent des notations différentes. La convention dans laquelle les symboles et sont inversés est fréquemment utilisée, notamment en physique. D’autres auteurs, peut-être désireux de remplacer toutes les lettres romaines par des lettres grecques, utilisent au lieu de comme nom de la distance radiale. Nous présentons quelques conventions un peu plus pratiques à des fins de jeux vidéo dans la section 7.3.3.
L’angle horizontal est connu sous le nom d’azimut, et est le zénith. D’autres termes que vous avez probablement entendus sont longitude et latitude. La longitude est essentiellement la même que , et la latitude est l’angle d’inclinaison, . Ainsi, le système latitude/longitude pour décrire les emplacements sur la planète Terre est en réalité un type de système de coordonnées sphériques. Nous nous intéressons souvent uniquement à la description de points sur la surface de la planète, et donc la distance radiale , qui mesurerait la distance jusqu’au centre de la Terre, n’est pas nécessaire. On peut considérer comme étant approximativement équivalent à l’altitude, bien que la valeur soit décalée par le rayon de la Terre11 pour rendre le niveau du sol ou de la mer égal à zéro, selon ce qu’on entend exactement par « altitude ».
Le système de coordonnées sphériques décrit dans la section précédente est le système traditionnel en main droite utilisé par les mathématiciens, et les formules de conversion entre les coordonnées cartésiennes et sphériques sont plutôt élégantes sous ces hypothèses. Cependant, pour la plupart des gens dans l’industrie du jeu vidéo, cette élégance n’est qu’un avantage mineur à peser contre les inconvénients irritants suivants des conventions traditionnelles :
La direction horizontale par défaut à pointe dans la direction de . C’est regrettable, car pour nous, pointe « vers la droite » ou « vers l’est », aucune de ces directions n’étant la direction « par défaut » dans l’esprit de la plupart des gens. De même que les chiffres d’une horloge commencent en haut, il nous serait plus pratique que l’axe polaire horizontal pointe vers , qui est « en avant » ou « vers le nord ».
Les conventions pour l’angle sont regrettables à plusieurs égards. Il serait plus agréable que les coordonnées polaires 2D soient étendues en 3D simplement en ajoutant une troisième coordonnée nulle, de la même façon qu’on étend le système cartésien de 2D à 3D. Mais les coordonnées sphériques ne correspondent pas aux coordonnées polaires 2D comme souhaité. En fait, assigner nous place dans la situation délicate du blocage de cardan, une singularité que nous décrivons dans la section 7.3.4. Au lieu de cela, les points dans le plan 2D sont représentés comme . Il aurait pu être plus intuitif de mesurer la latitude plutôt que le zénith. La plupart des gens considèrent la valeur par défaut comme « horizontale », et « vers le haut » comme le cas extrême.
Sans vouloir offenser les Grecs, et demandent un certain temps d’adaptation. Le symbole n’est pas si mauvais parce qu’il représente au moins quelque chose de significatif : distance radiale ou rayon. Ne serait-il pas formidable que les symboles utilisés pour désigner les angles soient de même des abréviations de mots anglais, plutôt que des symboles grecs complètement arbitraires ?
Il serait bien que les deux angles pour les coordonnées sphériques soient les mêmes que les deux premiers angles utilisés pour les angles d’Euler,12 utilisés pour décrire l’orientation en 3D. Nous n’allons pas aborder les angles d’Euler avant la section 8.3, alors disons pour l’instant en contredisant Descartes à deux reprises : « Ce serait bien parce que nous vous le disons. »13
C’est un système en main droite, et nous utilisons un système en main gauche (dans ce livre du moins).
Décrivons quelques conventions de coordonnées sphériques mieux adaptées à nos besoins. Nous n’avons aucune objection contre les conventions standard pour la distance radiale , et nous préservons donc à la fois le nom et la sémantique de cette coordonnée. Nos griefs concernent principalement les deux angles, que nous renommons et redéfinissons tous les deux.

Figure 7.7 Angles de cap et de tangage utilisés dans ce livre
L’angle horizontal est renommé , abréviation de heading (cap), similaire à un cap de boussole. Un cap de zéro indique une direction « en avant » ou « vers le nord », selon le contexte. Cela correspond aux conventions aéronautiques standard. Si nous supposons nos conventions cartésiennes 3D décrites dans la section 1.3.4, alors un cap de zéro (et donc notre axe polaire principal) correspond à . De plus, puisque nous préférons un système de coordonnées en main gauche, la rotation positive tourne dans le sens horaire vue d’en haut.
L’angle vertical est renommé , abréviation de pitch (tangage), et mesure dans quelle mesure nous regardons vers le haut ou vers le bas. La valeur de tangage par défaut de zéro indique une direction horizontale, ce que la plupart d’entre nous attendons intuitivement. Peut-être moins intuitivement, un tangage positif tourne vers le bas, ce qui signifie que le tangage mesure en réalité l’angle de déclinaison. Cela peut sembler un mauvais choix, mais il est cohérent avec la règle de la main gauche (voir la figure 1.14). Nous verrons plus loin comment la cohérence avec la règle de la main gauche porte ses fruits, valant bien cette légère contrariété intuitive.
La figure 7.7 montre comment le cap et le tangage conspire pour définir une direction.
La section 7.1.2 a examiné le phénomène gênant de l’aliasage des coordonnées polaires 2D : des paires de coordonnées numériques différentes sont des alias l’une de l’autre lorsqu’elles font référence au même point dans l’espace. Trois types fondamentaux d’aliasage ont été présentés, que nous rappelons ici car ils sont également présents dans le système de coordonnées sphériques 3D.
Le premier moyen infaillible de générer un alias est d’ajouter un multiple de à l’un ou l’autre angle. Il s’agit vraiment de la forme d’aliasage la plus triviale, causée par la nature cyclique des mesures angulaires.
Les deux autres formes d’aliasage sont un peu plus intéressantes car elles sont causées par l’interdépendance des coordonnées. En d’autres termes, la signification d’une coordonnée, , dépend des valeurs de l’autre (ou des autres) coordonnée(s), les angles. Cette dépendance crée une forme d’aliasage et une singularité :
L’aliasage dans l’espace polaire 2D peut être déclenché en négativant la distance radiale et en ajustant l’angle pour indiquer la direction opposée. Nous pouvons faire de même avec les coordonnées sphériques. En utilisant les conventions de cap et de tangage décrites dans la section 7.3.3, il suffit de retourner le cap en ajoutant un multiple impair de 180°, puis de négativer le tangage.
La singularité dans l’espace polaire 2D se produit à l’origine, car la coordonnée angulaire est sans intérêt quand . Avec les coordonnées sphériques, les deux angles sont sans intérêt à l’origine.
Ainsi, les coordonnées sphériques présentent un comportement d’aliasage similaire parce que la signification de change selon les valeurs des angles. Cependant, les coordonnées sphériques souffrent également de formes supplémentaires d’aliasage parce que l’angle de tangage pivote autour d’un axe qui varie selon l’angle de cap. Cela crée une forme supplémentaire d’aliasage et une singularité supplémentaire, analogues à celles causées par la dépendance de sur la direction.
Des valeurs différentes de cap et de tangage peuvent résulter dans la même direction, même en excluant l’aliasage trivial de chaque angle individuel. Un alias de () peut être généré par . Par exemple, au lieu de tourner à droite de 90° (face à « l’est ») et de pencher vers le bas de 45°, nous pourrions tourner à gauche de 90° (face à « l’ouest ») et pencher vers le bas de 135°. Bien que nous serions à l’envers, nous regarderions toujours dans la même direction.
Une singularité se produit lorsque l’angle de tangage est fixé à (ou tout alias de ces valeurs). Dans cette situation, connue sous le nom de blocage de cardan, la direction indiquée est purement verticale (tout droit vers le haut ou tout droit vers le bas), et l’angle de cap est sans pertinence. Nous avons beaucoup plus à dire sur le blocage de cardan lorsque nous abordons les angles d’Euler dans la section 8.3.
Tout comme nous l’avons fait en 2D, nous pouvons définir un ensemble de coordonnées sphériques canoniques tel que tout point donné dans l’espace 3D est mappé sans ambiguïté à exactement un triplet de coordonnées dans l’ensemble canonique. Nous plaçons des restrictions similaires sur et comme nous l’avons fait pour les coordonnées polaires. Deux contraintes supplémentaires liées à l’angle de tangage sont ajoutées. Premièrement, le tangage est restreint à l’intervalle . Deuxièmement, comme la valeur de cap est sans intérêt lorsque le tangage atteint les valeurs extrêmes dans le cas de blocage de cardan, nous imposons dans ce cas. Les conditions satisfaites par les points dans l’ensemble canonique sont résumées par les critères ci-dessous. (Notez que ces critères supposent nos conventions de cap et de tangage, et non les conventions mathématiques traditionnelles avec et .)
Conditions satisfaites par les coordonnées sphériques canoniques, en supposant les conventions pour les coordonnées sphériques de ce livre
L’algorithme suivant peut être utilisé pour convertir un triplet de coordonnées sphériques en sa forme canonique :
Conversion d’un triplet de coordonnées sphériques en forme canonique
Si , assigner .
Si , négativer , ajouter à , et négativer .
Si , ajouter à jusqu’à ce que .
Si , soustraire de jusqu’à ce que .
Si , ajouter à et poser .
Si , ajouter à jusqu’à ce que .
Si , soustraire de jusqu’à ce que .
Le listing 7.3 montre comment cela pourrait être fait en C. Rappelons que les ordinateurs préfèrent les radians.
// Distance radiale
float r;
// Angles en radians
float heading, pitch;
// Déclaration de quelques constantes
const float TWOPI = 2.0f*PI; // 360 degrés
const float PIOVERTWO = PI/2.0f; // 90 degrés
// Vérifier si on est exactement à l'origine
if (r == 0.0f) {
// À l'origine - mettre les angles à zéro
heading = pitch = 0.0f;
} else {
// Gérer la distance négative
if (r < 0.0f) {
r = -r;
heading += PI;
pitch = -pitch;
}
// Tangage hors limites ?
if (fabs(pitch) > PIOVERTWO) {
// Décalage de 90 degrés
pitch += PIOVERTWO;
// Ramener dans l'intervalle 0...TWOPI
pitch -= floor(pitch / TWOPI) * TWOPI;
// Hors limites ?
if (pitch > PI) {
// Retourner le cap
heading += PI;
// Annuler le décalage et poser aussi pitch = 180-pitch
pitch = 3.0f*PI/2.0f - pitch; // p = 270 degrés - p
} else {
// Annuler le décalage, ramenant pitch dans l'intervalle
// -90 degrés ... +90 degrés
pitch -= PIOVERTWO;
}
}
// Blocage de cardan ? Test avec une tolérance relativement petite
// proche des limites de la précision simple.
if (fabs(pitch) >= PIOVERTWO*0.9999) {
heading = 0.0f;
} else {
// Envelopper le cap, en évitant les calculs si possible
// pour préserver la précision
if (fabs(heading) > PI) {
// Décalage de PI
heading += PI;
// Ramener dans l'intervalle 0...TWOPI
heading -= floor(heading / TWOPI) * TWOPI;
// Annuler le décalage, ramenant l'angle dans -PI...PI
heading -= PI;
}
}
}

Figure 7.8 Coordonnées sphériques et cartésiennes pour les mathématiciens
Voyons si nous pouvons convertir des coordonnées sphériques en coordonnées cartésiennes 3D. Examinons la figure 7.8, qui montre à la fois les coordonnées sphériques et cartésiennes. Nous développons d’abord les conversions en utilisant les conventions traditionnelles en main droite pour les espaces cartésien et sphérique, puis nous montrons les conversions applicables à nos conventions en main gauche.
Remarquez dans la figure 7.8 que nous avons introduit une nouvelle variable , qui est la distance horizontale entre le point et l’axe vertical. D’après le triangle rectangle avec hypoténuse et cathètes et , nous obtenons
et il nous reste à calculer et .
Considérons que si , nous avons essentiellement des coordonnées polaires 2D. Assignons et pour représenter les coordonnées et qui résulteraient si . D’après la section 7.1.3, nous avons
Remarquez que quand , . À mesure que diminue, diminue, et par les propriétés des triangles semblables, . En regardant à nouveau , nous observons que . En rassemblant tout cela, nous avons
Conversion des coordonnées sphériques des mathématiciens en coordonnées cartésiennes 3D
Ces équations s’appliquent pour les mathématiciens en système main droite. Si nous adoptons nos conventions pour les espaces cartésien (voir la section 1.3.4) et sphérique (voir la section 7.3.3), les formules suivantes doivent être utilisées :
Conversion sphérique-cartésienne pour les conventions utilisées dans ce livre
La conversion des coordonnées cartésiennes en coordonnées sphériques est plus compliquée, en raison de l’aliasage. Nous savons qu’il existe plusieurs ensembles de coordonnées sphériques qui correspondent à toute position 3D donnée ; nous voulons les coordonnées canoniques. La dérivation qui suit utilise nos conventions préférées inspirées de l’aviation dans l’équation (7.3) car ce sont les conventions les plus couramment utilisées dans les jeux vidéo.
Comme pour les coordonnées polaires 2D, le calcul de est une application directe de la formule des distances :
Comme précédemment, la singularité à l’origine, où , est traitée comme un cas spécial.
L’angle de cap est étonnamment simple à calculer en utilisant notre fonction :
L’astuce fonctionne parce que n’utilise que le rapport de ses arguments et leurs signes. En examinant l’équation (7.3), nous remarquons que le facteur d’échelle est commun à la fois à et à . De plus, en utilisant les coordonnées canoniques, nous supposons et ; ainsi, et le facteur d’échelle commun est toujours non négatif. Le cas de blocage de cardan est pris en charge par notre définition de .
Finalement, une fois que nous connaissons , nous pouvons résoudre pour à partir de :
La fonction a une plage de , qui coïncide heureusement avec la plage de dans l’ensemble canonique.
Le listing 7.4 illustre l’ensemble de la procédure.
// Coordonnées cartésiennes d'entrée
float x,y,z;
// Distance radiale de sortie
float r;
// Angles de sortie en radians
float heading, pitch;
// Déclaration de quelques constantes
const float TWOPI = 2.0f*PI; // 360 degrés
const float PIOVERTWO = PI/2.0f; // 90 degrés
// Calculer la distance radiale
r = sqrt(x*x + y*y + z*z);
// Vérifier si on est exactement à l'origine
if (r > 0.0f) {
// Calculer le tangage
pitch = asin(-y/r);
// Vérifier le blocage de cardan, car la fonction atan2 de la
// bibliothèque est indéfinie à l'origine (2D)
if (fabs(pitch) >= PIOVERTWO*0.9999) {
heading = 0.0f;
} else {
heading = atan2(x,z);
}
} else {
// À l'origine - mettre les angles à zéro
heading = pitch = 0.0f;
}
Nous avons vu comment décrire un point à l’aide des coordonnées polaires, et comment décrire un vecteur à l’aide des coordonnées cartésiennes. Il est également possible d’utiliser la forme polaire pour décrire des vecteurs. En réalité, dire que nous pouvons « aussi » utiliser la forme polaire revient un peu à dire qu’un ordinateur est contrôlé par un clavier mais peut « aussi » être contrôlé par la souris. Les coordonnées polaires décrivent directement les deux propriétés clés d’un vecteur — sa direction et sa longueur. En forme cartésienne, ces valeurs sont stockées indirectement et obtenues seulement après quelques calculs qui se ramènent essentiellement à une conversion en forme polaire. C’est pourquoi, comme nous l’avons discuté dans la section 7.2, les coordonnées polaires sont la monnaie courante dans les conversations quotidiennes.
Mais ce ne sont pas seulement les non-spécialistes qui préfèrent la forme polaire. Il est intéressant de noter que la plupart des manuels de physique contiennent une brève introduction aux vecteurs, et cette introduction est menée dans un cadre de coordonnées polaires. Cela se fait malgré le fait que cela rend les mathématiques considérablement plus compliquées.
Quant aux détails du fonctionnement des vecteurs polaires, nous les avons déjà couverts. Considérons notre « algorithme » FIXME lien pour localiser un point décrit par des coordonnées polaires 2D. Si vous supprimez la phrase « partez de l’origine » et laissez le reste intact, les instructions décrivent comment visualiser le déplacement (vecteur) décrit par des coordonnées polaires quelconques. C’est la même idée que dans la section 2.4 : un vecteur est lié au point de mêmes coordonnées car il nous donne le déplacement de l’origine vers ce point.
Nous avons également déjà appris les mathématiques pour convertir les vecteurs entre les formes cartésienne et polaire. Les méthodes abordées dans la section 7.1.3 ont été présentées en termes de points, mais elles sont tout aussi valables pour les vecteurs.
Tracez et étiquetez les points ayant les coordonnées polaires suivantes :
Convertissez les coordonnées polaires 2D suivantes en forme canonique :
(a)
(b)
(c)
(d)
Convertissez les coordonnées polaires 2D suivantes en forme cartésienne :
(a)
(b)
(c)
(d)
(e)
Convertissez les coordonnées polaires de l’exercice 2 en forme cartésienne.
Convertissez les coordonnées cartésiennes 2D suivantes en forme polaire (canonique) :
(a)
(b)
(c)
(d)
(e)
(f)
Convertissez les coordonnées cylindriques suivantes en forme cartésienne :
(a)
(b)
(c)
(d)
Convertissez les coordonnées cartésiennes 3D suivantes en forme cylindrique (canonique) :
(a)
(b)
(c)
(d)
Convertissez les coordonnées sphériques suivantes en forme cartésienne selon la convention mathématique standard :
(a)
(b)
(c)
(d)
Interprétez les coordonnées sphériques (a)–(d) de l’exercice précédent comme des triplets , en passant à nos conventions jeu vidéo.
1.Convertissez en coordonnées canoniques .
2.Utilisez les coordonnées canoniques pour convertir en forme cartésienne (en utilisant les conventions jeu vidéo).
Convertissez les coordonnées cartésiennes 3D suivantes en forme sphérique (canonique) en utilisant notre convention modifiée :
(a)
(b)
(c)
(d)
(e)
(f)
À quoi ressemblent les « lignes de grille » dans l’espace sphérique ? En supposant les conventions sphériques utilisées dans ce livre, décrivez la forme définie par l’ensemble de tous les points satisfaisant les critères suivants. Ne restreignez pas les coordonnées à l’ensemble canonique.
(a)Un rayon fixe , mais des valeurs arbitraires pour et .
(b)Un cap fixe , mais des valeurs arbitraires pour et .
(c)Un tangage fixe , mais des valeurs arbitraires pour et .
Lors d’une soirée de bouclage, un développeur de jeux décida de prendre l’air et de faire une promenade. Le développeur quitta le studio en marchant vers le sud et marcha 5 km. Elle tourna ensuite vers l’est et marcha encore 5 km. Réalisant que tout cet air frais lui faisait tourner la tête, elle décida de retourner au studio. Elle tourna vers le nord, marcha 5 km et se retrouva de retour au studio, prête à écraser les derniers bugs de programmation restants sur sa liste. Malheureusement, un ours affamé l’attendait à la porte, et elle fut dévorée vivante.14 De quelle couleur était l’ours ?
Pour l’exécution du voyage vers les Indes,
je n’ai pas fait usage de l’intelligence, des mathématiques ni des cartes.
— Christophe Colomb (1451–1506)
Il pourrait y avoir des employés à la NASA qui pensent autrement, puisque la sonde Mars Climate Orbiter de 125 millions de dollars a dévié de sa trajectoire à cause d’un bug impliquant une confusion entre les unités métriques et impériales. Peut-être devrions-nous dire que connaître les unités de mesure spécifiques n’est pas nécessaire pour comprendre les concepts des coordonnées cartésiennes.
Comme les professeurs de mathématiques.
Même la question 3.
Avertissement : de très grandes valeurs de peuvent provoquer des étourdissements si l’étape 1 de la figure 7.2 est suivie littéralement.
En parlant de professeurs de mathématiques et de fractions réduites, l’un des auteurs se souvient de son professeur de mathématiques au collège engagé dans un vif débat sur la question de savoir si une fraction mixte comme est « plus simple » que la fraction impropre correspondante . Heureusement, la réponse à ce mystère profond n’est pas nécessaire dans le contexte de l’aliasage des coordonnées polaires.
Cela est dû aux deux malheureuses revendications de célébrité de Dallas : l’assassinat du président Kennedy et un feuilleton télévisé portant le nom de la ville, qui a eu inexplicablement un attrait international.
Ces deux faits n’ont rien à voir avec les mathématiques, mais tout à voir avec la correction d’idées fausses.
Les auteurs n’ont jamais rien entendu de tel de première main. Cependant, ils l’ont vu dans des films.
est la lettre grecque phi, qui se prononce « fi » par la plupart des gens. Certains préfèrent la faire rimer avec « fly » (en anglais).
Nous ne voulons pas faire preuve de préjugé envers nos lecteurs gauchers ; vous pouvez imaginer utiliser votre bras gauche si vous le souhaitez. Cependant, il s’agit d’un système de coordonnées en main droite, donc vous vous sentirez peut-être plus à l’aise avec votre bras droit imaginaire. Gardez votre bras gauche pour plus tard, lorsque nous discuterons de quelques conventions en main gauche.
Le rayon de la Terre est d’environ 6 371 km (3 959 miles) en moyenne.
On dit que le nom Euler est un test mathématique en un seul mot : si vous savez comment le prononcer, c’est que vous avez appris des mathématiques. Veuillez rendre les auteurs de ce livre fiers en réussissant ce test, et en le prononçant « oy-leur », et non « you-ler ».
Vous avez lu la première partie du chapitre 1, n’est-ce pas ?
Nous savons que ce scénario est totalement impossible. Je veux dire, un développeur de jeux qui se promène pendant le bouclage ?!
<< Complément sur les matrices
Retour en haut
Rotation en trois dimensions >>