0

假设我有一个圆圈。用户可以触摸边缘周围的圆圈,我可以获得他们触摸圆圈的角度(从中心)。现在,假设圆圈被 8 个部分分割。

因此,在每个部分我都会有以下内容:

section 0 = 0 degrees
section 1 = 45 degrees
section 2 = 90 degrees
section 3 = 135 degrees
...
section 7 = 315 degrees

那么从已经接触到的角度,怎样才能得到最近的截面角度呢?例如,如果用户以 95 度触摸,我应该能够计算 90 度(第 2 节)作为最近的截面角度。

我实际上是在 android/Java 上这样做的。因此,任何实用功能都会有所帮助。

谢谢

4

2 回答 2

1

正如雅各布已经在评论中指出的那样,可以从 找到该部分,并且可以从 找到round(angle/45)地板角度45*(round(angle/45))

于 2013-03-19T12:31:23.150 回答
0

我不知道Java语法,但以下应该做

(round((angle/360)*numSections))*360/numSections

角度/numSections 计算必须是浮点数,并且该轮必须四舍五入为整数;1.4 为 1,1.6 为 2 的那种回合。此外,您可能需要额外的 if 将 360 转换为 0。

于 2013-03-19T12:26:45.507 回答