dimanche 23 février 2020

BlockScad : Créer un point en coordonnées polaires uniquement avec TRANSLATE

Pour introduire de nouvelles fonctions mathématiques, nous allons faire ce même point polaire mais sans utiliser la fonction ROTATE, c’est à dire uniquement avec la fonction TRANSLATE. Il va falloir donc fabriquer les fonctions qui permettent de passer des coordonnées polaires vers les coordonnées cartésiennes. Ainsi nous allons découvrir ce que fait la fonction ROTATE en son for intérieur.

En fait, on ne va pas aller les chercher très loin ces fonctions pour passer des coordonnées polaires aux coordonnées cartésiennes. Cela fait tellement longtemps que les mathématiciens travaillent dessus que ces fonctions sont présentes dans presque toutes les calculatrices et tous les langages informatiques. On peut même considérer que c’est la suite des 5 opérations (+, -, x, ÷, ∧) …







Lorsque le Point qui est représenté en polaire par l’angle A et le rayon 1, et en coordonnées cartésiennes par (x) et (y), alors il existe 2 fonctions appelées cosinus (COS) et sinus (SIN) :

q x = COS (A)

q y = SIN (A)


Et si le rayon n’est pas 1, il suffit de multiplier par le rayon.

q x = Rayon*COS (A)

q y = Rayon*SIN (A)


Et pas la peine de réfléchir comment calculer sinus et cosinus, ce sont des fonctions disponibles dans le menu gauche MATH.


La fonction sin, permet de choisir entre SIN (le sinus), COS (le cosinus) et puis d’autres que nous verrons plus tard.




Ensuite, il est assez facile de d’utiliser la fonction SIN en choisissant l’angle, ou aussi en insérant une autre formule.

Le block Point Polaire mathématique

Et pour terminer, le module qui réalise un point CIRCLE en donnant uniquement l’azimut et le rayon.
En haut, l’ordre qui appelle le module.  Pour créer le point, il suffit de 2 lignes, un TRANSLATE pour positionner le CIRCLE qui vient ensuite.


Rappelez vous que le cosinus et le sinus ont été définis avec un rayon égal à 1. Lorsque le rayon est différent de 1, il suffit de multiplier par ce rayon. La formule est la suivante :

q x : rayon * cos (azimut)

q y : rayon * sin (azimut)

Et voilà nous avons notre autre module pour un point polaire, équivalent au premier et uniquement avec une formule mathématique et pas de ROTATE.


Aucun commentaire: