找到格图中两个节点之间角度的最佳方法?
Best way to find the angle between two nodes in an lattice graph?
如果我有一个如下所示的点阵图:
0:0 0:1 0:2 0:3
1:0 1:1 1:2 1:3
2:0 2:1 2:2 2:3
3:0 3:1 3:2 3:3
,找到两个节点之间的角度的最佳方法是什么?
示例:
angle(0:0, 0:1) = 0;
angle(0:0, 1:1) = 45;
这将在渲染过程中使用,以用线条可视化此图中的路径,一条线将放置在节点的中心,然后旋转以结束路径上的下一个节点。目前我硬编码了每个坐标的差异,并用switch语句将其匹配到相应的角度,有没有更好的方法?
假设 x:y 格式,以及从水平方向顺时针测量的角度:
angle(x1:y1, x2:y2) = arctan((x2-x1)/(y2-y1))
如果我有一个如下所示的点阵图:
0:0 0:1 0:2 0:3
1:0 1:1 1:2 1:3
2:0 2:1 2:2 2:3
3:0 3:1 3:2 3:3
,找到两个节点之间的角度的最佳方法是什么?
示例:
angle(0:0, 0:1) = 0;
angle(0:0, 1:1) = 45;
这将在渲染过程中使用,以用线条可视化此图中的路径,一条线将放置在节点的中心,然后旋转以结束路径上的下一个节点。目前我硬编码了每个坐标的差异,并用switch语句将其匹配到相应的角度,有没有更好的方法?
假设 x:y 格式,以及从水平方向顺时针测量的角度:
angle(x1:y1, x2:y2) = arctan((x2-x1)/(y2-y1))