我可能考虑过了,但是,假设你有以下变量;
你怎么知道学位的方向?即,0->359顺时针方向,359->0逆时针方向。
,下面是几个例子:
Starting at: 357 degrees
Ending at: 337 degrees
Incremented by: 20
Direction: Counterclockwise
Starting at: 10 degrees
Ending at: 350 degrees
Incremented by: 20
Direction: Counterclockwise
Starting at: 357 degrees
Ending at: 17 degrees
Incremented by: 20
Direction: Clockwise你怎样才能尽可能安全地确定方向?一个快速的脏解决方案是使用模块,但是,如果递增的数字被关闭1-2度,会发生什么呢?
--理想的解决方案--将是一种检测与增量数最接近的方向的方法。如果这没有意义,下面是一个例子:
Starting at: 17 degrees
Ending at: ~347-357 degrees
Incremented by: ~20-30
Direction: Counterclockwise这将不会顺时针方向,因为这种差异大约是330-340。
如果没有意义的话,请告诉我,我会尽我所能重述的。
发布于 2017-05-09 10:12:18
计算CW和CCW的两个变体
E1 = (Start + Increment) %% 360
E2 = (Start + 360 - Increment) %% 360并检查什么变体给出了较小的绝对差与结束角。
S:0; E:20;
if I=20
CW: 0+20=20
CCW: 0 + 360-20=340
E is closer to CW result
if I=340
CW: 0+340=340
CCW: 0 + 360 - 340 = 20
E is closer to CCW resulthttps://stackoverflow.com/questions/43866484
复制相似问题