J'ai une carte des arbres individuels d'une forêt stockée en tant que x, y points dans une matrice. Je l'appelle fixedPositions. C'est cartésien et (0,0) est l'origine.Matlab traduction matricielle et rotation plusieurs fois
Pour une vitesse et un cap, par exemple 0,5 m/s et 60 degrés (équivalent à 2 heures sur une montre), comment faire pivoter les points x, y, de sorte que la nouvelle origine soit centrée sur (.5cos (60), 5sin (60)) et 60 degrés est maintenant en haut de l'écran?
Ensuite, si je devais vous donner un autre cap et une autre vitesse, c'est-à-dire 0 degré et 2m/s, il devrait le calculer à partir du dernier point, et non l'origine originale de FixedPositions. J'ai perdu ma journée à essayer de comprendre cela. Je souhaite avoir pris l'algèbre matricielle mais je suis à perte.
J'ai essayé de faire cos (30) et même ceux qui ne calculent pas correctement, qui après une heure je me rendais compte en radians.
currentPosition serait une matrice? currentPosition = [x; y] pour le créer? –
Aussi, parce que j'utilise des en-têtes, pas des angles traditionnels, 0 est droit devant, 90 degrés est à droite, et les angles sont mesurés dans le sens des aiguilles d'une montre. Pour ce faire, j'échange x et y. Donc, la nouvelle position coordonnée serait [distance * sind (cap), distance * cosd (cap)]? –
@pinnacler: oui et (je pense) oui. Pour le titre, je devrais honnêtement essayer deux ou deux exemples pour être sûr que changer le cap changera l'orientation dans la bonne direction. – Jonas