我正在尝试确定圆上两个点之间的度数。我这样做很麻烦。我看过其他帖子,但似乎无法弄清楚如何实现它。
我正在尝试获取两者之间的距离(以度为单位)。
希望下面的模型可以使您更好地理解。
这是数据图表
def get_angle(x, y):
#75 being the center circle coordinate
(dx, dy) = (75-x, y-75)
angle = degrees(atan2(float(dy), float(dx)))
if angle < 0:
angle += 180
return angle
它返回的值似乎不正确,因为由于某些原因这些值非常相似。例如157和120,但显然不应返回该值。我对图像处理有些陌生,所以我可能看错了。
答案 0 :(得分:0)
中心坐标:cx, cy
点坐标:ax, ay
代表点A
,bc, by
代表点B
角度的伪代码:
dp = dot(A-C, B-C) = (ax-cx)*(bx-cx) + (ay-cy)*(by-cy)
cross = vectorproduct(A-C, B-C) = (ax-cx)*(by-cy) - (ay-cy)*(bx-cx)
angle = degrees(atan2(cross, dp))
if angle < 0:
angle += 180
如果角度方向不是您所期望的,请更改十字符号