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 ^^?
Modifié en dernier par sozary le dim. 14 sept. 2014 10:59, modifié 1 fois.
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
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.
Modifié en dernier par jchd le dim. 14 sept. 2014 22:16, modifié 1 fois.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.