Page 1 sur 1
[R] 45° rotation
Posté : sam. 13 sept. 2014 21:25
par sozary
Bonjour!!!
J'ai encore un petit soucis...
Par récursivité, je tente de faire pivoter des coordonnées de 48°, je m'explique:
Step1 Step 2 Step 3
\/ _ _
| | \/
| | |
|
Donc en fait, en step 1, j'ai 1 segment de n taille, qui se divise en 2 segments de (sqrt(2)/2)*n taille.
Ces 2 segments fils sont inclinés de 45° par rapport à celui de leur père.
petite image à l'appui:
Comment exercer cette rotation de 45° svp ^^?
Re: [..] 45° rotation
Posté : dim. 14 sept. 2014 09:50
par jchd
J'ai beaucoup de mal à faire partir ma réponse en MP, alors je doublonne ici :
ARGH, tous mes espaces insécables repassent en espace "bormal" et le board les sucre, c'est à s'arracher les touches du clavier, voire autres choses.
Si tu dessines des droites et non pas des figures comme les carrés du post précédent, tu peux grandement simplifier le calcul.
Partons d'un repère "normal", c'est plus simple pour une explication :
| +y
|
|
|
|
______________|_________________ +x
O
avec l'origine en O (0, 0). Je sais que le graphisme Windows emploie une origine et un sens de y différent, mais ce n'est pas utile de rendre les choses plus difficiles à expliquer.
Tu traces donc le premier segment qui va de (0, 0) à (0, n)
|
|
______________|_________________ +x
O
On va dire que c'est le vecteur (0, n). Les vecteurs suivants sont plus courts ; on doit donc le multiplier par Sqrt(2)/2 (soit le diviser par Sqrt(2)). Il suffit de le faire pivoter de 45° dans le sens trigonométrique ou inverse pour obtenir les coordonées des deux vecteurs suivants.
Rotation d'un vecteur (x, y) de -45° dans le sens trigonométrique (sens horaire) :
(X, Y) = (x * Sqrt(2)/2 + y * Sqrt(2)/2, y * Sqrt(2)/2 - x * Sqrt(2)/2)
appliqué à (x, y) = (0, n), on obtient :
(X, Y) = (n * Sqrt(2)/2, n * Sqrt(2)/2)
Rotation d'un vecteur (x, y) de 45° dans le sens trigonométrique (sens rétrograde) :
(X, Y) = (x * Sqrt(2)/2 - y * Sqrt(2)/2, x * Sqrt(2)/2 + y * Sqrt(2)/2)
appliqué à (x, y) = (0, n), on obtient :
(X, Y) = (-n * Sqrt(2)/2, n * Sqrt(2)/2)
Pour obtenir les coordonnées des deux points au bout des deux branches du Y ainsi formé, on additionne les vecteurs (0, n) et l'un ou l'autre des deux vecteurs "fils".
Supprimer le message Ignorer cette scorie.
Re: [R] 45° rotation
Posté : dim. 14 sept. 2014 10:59
par sozary
Je te remercies encore

!