Determing "turning angle" of 3 points on a matrix

1 次查看(过去 30 天)
I am simulating movement of a bot on a matrix and keep track of its x and y coordinates. For every current position, I need to calculate the "turning angle" between the bot's current position and every possible new position (x,y coordinate) on the matrix that it can "move" to. I have attached a figure depicting what a turning angle is, but basically, it is the angle formed between the direction of the current movement and the new position. Let's say the red dot is (x1,y1), the blue dot is the current position (x2,y2), and the yellow dot is the potential new position (x3,y3). How can I determine this angle? I would need to find the angle for all possible new positions, but I can probably figure it out if I know how to do it for one.

回答(1 个)

KSSV
KSSV 2018-11-9
Use dot product.
theta = acos(dot(a,b)/(norm(a)*norm(b)) ;
where a and b are you position vectors.

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by