JavaScript Sin & Cos pour créer un vecteur en fonction de la direction et de la distance


Exemple

Si vous avez un vecteur sous forme polaire (direction et distance), vous souhaiterez le convertir en un vecteur cartésien avec une composante ax et y. Pour la référence, le système de coordonnées de l'écran a des directions de 0 degré de gauche à droite, 90 (PI / 2) vers le bas de l'écran et ainsi de suite dans le sens des aiguilles d'une montre.

var dir = 1.4536; // direction in radians
var dist = 200; // distance
var vec = {};
vec.x = Math.cos(dir) * dist; // get the x component
vec.y = Math.sin(dir) * dist; // get the y component

Vous pouvez également ignorer la distance pour créer un vecteur normalisé (1 unité de long) dans la direction de dir

var dir = 1.4536; // direction in radians
var vec = {};
vec.x = Math.cos(dir); // get the x component
vec.y = Math.sin(dir); // get the y component

Si votre système de coordonnées a la même valeur, vous devez commuter cos et sin. Dans ce cas, une direction positive est dans le sens inverse des aiguilles d'une montre par rapport à l'axe des x.

// get the directional vector where y points up
var dir = 1.4536; // direction in radians
var vec = {};
vec.x = Math.sin(dir); // get the x component
vec.y = Math.cos(dir); // get the y component