gpt4 book ai didi

c# - 获取点和原点之间的角度

转载 作者:太空狗 更新时间:2023-10-30 00:15:04 26 4
gpt4 key购买 nike

这个问题之前可能已经有人回答过,如果有的话,我们深表歉意。我基本上需要获得从原点到点的角度。所以假设原点是 (0, 0) 而我的目标点是 (3, 0)

3 点 = 90 度

6 点 = 180 度

9 点 = 270 度

12 点 = 0 度


不知何故,我得做一些数学魔术,发现角度是 90 度(Top 是 0)。原点可能会有所不同,因此我需要一个具有两个参数的方法,Origin 和 TargetPoint,它返回以度为单位的双角度。

Yea, I realize this looks short and nonconstructive, but I made the question as simple and understandable as possible. All the other questions were closed -.-

谢谢

最佳答案

两点 A 和 B 之间的向量是 B-A = (B.x-A.x, B.y-A.y)。可以使用 dot product 计算两个向量之间的角度或 atan2 .

var vector2 = Target - Origin;
var vector1 = new Point(0, 1) // 12 o'clock == 0°, assuming that y goes from bottom to top

double angleInRadians = Math.Atan2(vector2.Y, vector2.X) - Math.Atan2(vector1.Y, vector1.X);

另见 Finding Signed Angle Between Vectors

关于c# - 获取点和原点之间的角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17530169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com