-1

我在图像中有一组点,我想按顺时针方向对它们进行排序/获取属性。订购它们的条件将是它们的角度。

我需要选择起点,角度为 0,然后按顺时针顺序(增加角度)选择其他点。但是,我使用 atan2(2 因为角度范围更好)来获得角度,但零角度始终在水平轴上。如何将零角的轴设置在起点的位置?

非常感谢!赫克托

4

1 回答 1

2

如果计算起始角度:

double theta_0 = atan2(y[0], x[0]);

然后您可以从后续角度中减去它并使用fmod以得到相对角度模 2π,从而获得相对于起始角度的顺时针正角度:

double theta_i = fmod(atan2(y[i], x[i]) - theta_0, M_PI * 2.0);
于 2013-09-18T16:15:34.010 回答