我在图像中有一组点,我想按顺时针方向订购它们/获取属性。订购它们的条件将是它们的角度。
我需要选择角度为0的起点,然后按顺时针顺序选择其他点(增加角度)。但是,我使用atan2(2因为角度范围更好)来获得角度,但零角度总是在水平轴上。如何将零角度的轴设置在起点的位置?
非常感谢! 赫
答案 0 :(得分: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);