你们楼上的算法都不对,无法具体问题具体应对。看我的:
1. 如果有一些数据落在Y轴左侧和右侧,那么分别找出左侧和右侧离中心0度(即笛卡尔坐标系中0,1矢量的方向)最远的角度。记录为theta1和theta2
1.5 如果abs(theta1)+abs(theta2)>180度,不做处理。否则:
2. 比较这两个角度谁离0度更近,记录为delta_min
3. 如果最近的角度在Y轴左侧,所有角度均加上这个abs(delta_min);如果在右侧,所有角度减去delta_min,然后把结果转成0-360的范围。
4. 所有数据做平均。
5. 平均结果根据第三步所做的加减还原结果。
6. 自恋一下,我好聪明