Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
back2root:programmation:3d-theories-et-mathematiques-part-1 [2021/08/05 10:20] – [Autour de l'axe Y, avec un angle de ay degré] frater | back2root:programmation:3d-theories-et-mathematiques-part-1 [2022/12/27 01:44] (Version actuelle) – frater | ||
---|---|---|---|
Ligne 21: | Ligne 21: | ||
pourtant, il est impératif d' | pourtant, il est impératif d' | ||
- | < | + | <WRAP round box 60%>< |
Donc 1 radian vaut +/- 57.2958 degré d' | Donc 1 radian vaut +/- 57.2958 degré d' | ||
- | < | + | <WRAP round box 60%>< |
Les formules de conversion sont donc les suivantes: | Les formules de conversion sont donc les suivantes: | ||
Ligne 31: | Ligne 31: | ||
== degré -> radian == | == degré -> radian == | ||
- | < | + | <WRAP round box 60%> |
<m 14>x radian = angle * (eta/ | <m 14>x radian = angle * (eta/ | ||
</ | </ | ||
Ligne 38: | Ligne 38: | ||
== radian -> degré == | == radian -> degré == | ||
- | < | + | <WRAP round box 60%> |
<m 14>x degre = rad * (180/ | <m 14>x degre = rad * (180/ | ||
</ | </ | ||
Ligne 50: | Ligne 50: | ||
Sans doute le plus simple a comprendre car le plus proche de notre mode « mathématique ». | Sans doute le plus simple a comprendre car le plus proche de notre mode « mathématique ». | ||
+ | |||
+ | {{back2root: | ||
Une coordonnée est exprimée « simplement » avec avec trois coordonnées : x, y, z | Une coordonnée est exprimée « simplement » avec avec trois coordonnées : x, y, z | ||
Ligne 56: | Ligne 58: | ||
C’est le système qui est utilisé pour la géolocalisation ou la définition d’objets céleste ; on parle de coordonnées angulaire (appelées latitude et longitude dans la géolocalisation) et d’un rayon (l’altitude pour ce qui est de la géolocalisation, | C’est le système qui est utilisé pour la géolocalisation ou la définition d’objets céleste ; on parle de coordonnées angulaire (appelées latitude et longitude dans la géolocalisation) et d’un rayon (l’altitude pour ce qui est de la géolocalisation, | ||
+ | |||
+ | {{back2root: | ||
Une coordonnée est exprimée avec un rayon r et deux angles : r, <m 13> | Une coordonnée est exprimée avec un rayon r et deux angles : r, <m 13> | ||
Ligne 62: | Ligne 66: | ||
Ce système est le moins rependu, et souvent utilisé pour pour l’étude de mouvements hélicoïdaux ou en rotation autour d’un axe. | Ce système est le moins rependu, et souvent utilisé pour pour l’étude de mouvements hélicoïdaux ou en rotation autour d’un axe. | ||
+ | |||
+ | {{back2root: | ||
Une coordonnée est exprimée via deux angles : <m 13> | Une coordonnée est exprimée via deux angles : <m 13> | ||
Ligne 69: | Ligne 75: | ||
=== Sphérique → Cartésien === | === Sphérique → Cartésien === | ||
- | < | + | <WRAP round box 60%> |
<m 13>x = r * sin (theta) * cos (phi)</ | <m 13>x = r * sin (theta) * cos (phi)</ | ||
Ligne 80: | Ligne 86: | ||
=== Cylindrique → Cartésien === | === Cylindrique → Cartésien === | ||
- | < | + | <WRAP round box 60%> |
<m 13>x = rho cos(phi)</ | <m 13>x = rho cos(phi)</ | ||
Ligne 96: | Ligne 102: | ||
Pour additionner 2 matrices, il s’agit de faire la somme de leurs membres: | Pour additionner 2 matrices, il s’agit de faire la somme de leurs membres: | ||
| | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
</ | </ | ||
Ligne 102: | Ligne 108: | ||
Pour la multiplication, | Pour la multiplication, | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{2}{2}{a1 b1 a2 b2}}{|} * | delim{|}{matrix{2}{2}{a1 b1 a2 b2}}{|} * | ||
Ligne 109: | Ligne 115: | ||
</ | </ | ||
- | < | + | <WRAP round info 60%> |
**Note sur la multiplication par 1** | **Note sur la multiplication par 1** | ||
Dans un calcul simple, il est évident que, lorsque l'on multiplie n' | Dans un calcul simple, il est évident que, lorsque l'on multiplie n' | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = x * 1</m> | <m 14>x prime = x * 1</m> | ||
</ | </ | ||
Ligne 123: | Ligne 129: | ||
En calcul matriciel , la valeur ' | En calcul matriciel , la valeur ' | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
</ | </ | ||
Ligne 129: | Ligne 135: | ||
Pour des questions pratiques, je ne me pencherais que sur le système cartésien, plus lisible et surtout plus commun, mais sachez qu’il est tout a fait possible de convertir une carte de la galaxie (qui est trouvable en coordonnées sphérique) dans un système cartésien: | Pour des questions pratiques, je ne me pencherais que sur le système cartésien, plus lisible et surtout plus commun, mais sachez qu’il est tout a fait possible de convertir une carte de la galaxie (qui est trouvable en coordonnées sphérique) dans un système cartésien: | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
</ | </ | ||
Ligne 135: | Ligne 141: | ||
et, ainsi la multiplication d'une matrice par ' | et, ainsi la multiplication d'une matrice par ' | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{3}{1}{x y z}}{|} = | delim{|}{matrix{3}{1}{x y z}}{|} = | ||
Ligne 145: | Ligne 151: | ||
Comme tous les langages de programmations n' | Comme tous les langages de programmations n' | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x*1) + (y*0) + (z*0)</ | <m 14>x prime = (x*1) + (y*0) + (z*0)</ | ||
Ligne 156: | Ligne 162: | ||
Ce qui dans ce cas précis peut s' | Ce qui dans ce cas précis peut s' | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = x * 1</m> | <m 14>x prime = x * 1</m> | ||
Ligne 168: | Ligne 174: | ||
Toutefois, pour pouvoir correctement appliquer certaines transformations (notamment la translation), | Toutefois, pour pouvoir correctement appliquer certaines transformations (notamment la translation), | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{4}{4}{ | delim{|}{matrix{4}{4}{ | ||
Ligne 182: | Ligne 188: | ||
Ce qui peut se traduire simplement : | Ce qui peut se traduire simplement : | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x*1) + (y*0) + (z*0) + (w*0)</ | <m 14>x prime = (x*1) + (y*0) + (z*0) + (w*0)</ | ||
Ligne 194: | Ligne 200: | ||
Ou encore en mode " | Ou encore en mode " | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = x * 1</m> | <m 14>x prime = x * 1</m> | ||
Ligne 206: | Ligne 212: | ||
En résumé, un produit matriciel d'une matrice point " | En résumé, un produit matriciel d'une matrice point " | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{4}{1}{ nx ny nz nw}}{|} = | delim{|}{matrix{4}{1}{ nx ny nz nw}}{|} = | ||
Ligne 221: | Ligne 227: | ||
Et se résous avec les équations suivantes: | Et se résous avec les équations suivantes: | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x*xa) + (y*xb) + (z*zb) + (w*xd)</ | <m 14>x prime = (x*xa) + (y*xb) + (z*zb) + (w*xd)</ | ||
Ligne 247: | Ligne 253: | ||
Sans doute la matrice la plus simple, la matrice de transformation d' | Sans doute la matrice la plus simple, la matrice de transformation d' | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{4}{4}{ | delim{|}{matrix{4}{4}{ | ||
Ligne 261: | Ligne 267: | ||
Voici les formules a appliquer si l'on désire transformer un point particulier: | Voici les formules a appliquer si l'on désire transformer un point particulier: | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x*ex) + (y* 0) + (z* 0) + (w* 0)</ | <m 14>x prime = (x*ex) + (y* 0) + (z* 0) + (w* 0)</ | ||
Ligne 274: | Ligne 280: | ||
Si il existe une transformation souvent sous estimée, c'est bien celle-ci, le déplacement d'un point dans l' | Si il existe une transformation souvent sous estimée, c'est bien celle-ci, le déplacement d'un point dans l' | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{4}{4}{ | delim{|}{matrix{4}{4}{ | ||
Ligne 286: | Ligne 292: | ||
Voici les formules a appliquer si l'on désire transformer un point particulier: | Voici les formules a appliquer si l'on désire transformer un point particulier: | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x* 1) + (y* 0) + (z* 0) + (w*tx)</ | <m 14>x prime = (x* 1) + (y* 0) + (z* 0) + (w*tx)</ | ||
Ligne 298: | Ligne 304: | ||
Rappelez vous que w = 1, et donc nos formules peuvent se traduire par: | Rappelez vous que w = 1, et donc nos formules peuvent se traduire par: | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = x+tx</ | <m 14>x prime = x+tx</ | ||
Ligne 316: | Ligne 322: | ||
Effet miroir par rapport au plan x/y (chaque coordonnée ' | Effet miroir par rapport au plan x/y (chaque coordonnée ' | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{4}{4}{ | delim{|}{matrix{4}{4}{ | ||
Ligne 328: | Ligne 334: | ||
Voici les formules a appliquer si l'on désire transformer un point particulier: | Voici les formules a appliquer si l'on désire transformer un point particulier: | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x* 1) + (y* 0) + (z* 0) + (w* 0)</ | <m 14>x prime = (x* 1) + (y* 0) + (z* 0) + (w* 0)</ | ||
Ligne 340: | Ligne 346: | ||
Effet miroir par rapport au plan x/z (chaque coordonnée ' | Effet miroir par rapport au plan x/z (chaque coordonnée ' | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{4}{4}{ | delim{|}{matrix{4}{4}{ | ||
Ligne 352: | Ligne 358: | ||
Voici les formules a appliquer si l'on désire transformer un point particulier: | Voici les formules a appliquer si l'on désire transformer un point particulier: | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x* 1) + (y* 0) + (z* 0) + (w* 0)</ | <m 14>x prime = (x* 1) + (y* 0) + (z* 0) + (w* 0)</ | ||
Ligne 364: | Ligne 370: | ||
Effet miroir par rapport au plan y/z (chaque coordonnée ' | Effet miroir par rapport au plan y/z (chaque coordonnée ' | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{4}{4}{ | delim{|}{matrix{4}{4}{ | ||
Ligne 376: | Ligne 382: | ||
Voici les formules a appliquer si l'on désire transformer un point particulier: | Voici les formules a appliquer si l'on désire transformer un point particulier: | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x*-1) + (y* 0) + (z* 0) + (w* 0)</ | <m 14>x prime = (x*-1) + (y* 0) + (z* 0) + (w* 0)</ | ||
Ligne 392: | Ligne 398: | ||
======= Autour de l'axe Y, avec un angle de ay degré ======= | ======= Autour de l'axe Y, avec un angle de ay degré ======= | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{ | delim{|}{ | ||
Ligne 405: | Ligne 411: | ||
Voici les formules a appliquer si l'on désire transformer un point particulier: | Voici les formules a appliquer si l'on désire transformer un point particulier: | ||
- | < | + | <WRAP round box 60%> |
<m 14>x prime = (x* cos(ay)) + (y* 0) + (z* -sin(ay)) + (w* 0)</ | <m 14>x prime = (x* cos(ay)) + (y* 0) + (z* -sin(ay)) + (w* 0)</ | ||
Ligne 420: | Ligne 426: | ||
======= Autour de l'axe X, avec un angle de ax degré ======= | ======= Autour de l'axe X, avec un angle de ax degré ======= | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{ | delim{|}{ | ||
Ligne 431: | Ligne 437: | ||
Voici les formules a appliquer si l'on désire transformer un point particulier: | Voici les formules a appliquer si l'on désire transformer un point particulier: | ||
- | < | + | <WRAP round box 60%> |
- | <m 14>x prime = (x* cos(ax)) + (y* 0) + (z*-sin(ay)) + (w* 0)</ | + | <m 14>x prime = (x* 1) + (y * 0) + (z * 0) + (w* 0)</ |
- | <m 14>y prime = (x* 0) + (y* 1) + (z* 0) + (w* 0)</ | + | <m 14>y prime = (x* 0) + (y* cos(ax)) + (z* sin(ax)) + (w * 0)</ |
- | <m 14>z prime = (x* sin(ax)) + (y* 0) + (z* cos(ay)) + (w* 0)</ | + | <m 14>z prime = (x* 0) + ( y * -sin(ax)) + (z* cos(ax)) + (w* 0)</ |
<m 14>w prime = (x* 0) + (y* 0) + (z* 0) + (w* 1)</ | <m 14>w prime = (x* 0) + (y* 0) + (z* 0) + (w* 1)</ | ||
Ligne 446: | Ligne 452: | ||
======= Autour de l'axe Z, avec un angle de az ° ======= | ======= Autour de l'axe Z, avec un angle de az ° ======= | ||
- | < | + | <WRAP round box 60%> |
<m 14> | <m 14> | ||
delim{|}{matrix{4}{4}{ | delim{|}{matrix{4}{4}{ | ||
Ligne 459: | Ligne 465: | ||
Voici les formules a appliquer si l'on désire transformer un point particulier: | Voici les formules a appliquer si l'on désire transformer un point particulier: | ||
- | < | + | <WRAP round box 60%> |
- | <m 14>x prime = (x* cos(az)) + (y* sin(az)) + (z* 0) + (w* 0)</ | + | <m 14>x prime = (x* |
- | <m 14>y prime = (x*-sin(az)) + (y* cos(az)) + (z* 0) + (w* 0)</ | + | <m 14>y prime = (x* -sin(az)) + (y* cos(az)) + (z* 0) + (w* 0)</ |
<m 14>z prime = (x* 0) + (y* 0) + (z* 1) + (w* 0)</ | <m 14>z prime = (x* 0) + (y* 0) + (z* 1) + (w* 0)</ |