8個塊的圓形轉盤,傳入的角度如果是負數如何計算對應的塊是哪個? 財富值74?
如圖是8個塊的轉盤,假如傳入的角度值是負數,如何計算它對應是哪個塊呢?
每個角度是 360 / 8 = 45
0 - 44 = 0
45 - 89 = 1
90 - 134 = 2
135 - 179 = 3
180 - 224 = 4
225 - 269 = 5
270 - 314 = 6
315 - 360 = 7
假如傳入 -1,那么對應的塊應該是7
傳入 -46,對應的塊應該是6
傳入 90,對應的塊應該是2
<愛尬聊_讓生活聊出新高度>請問是怎么樣的計算過程呢?
mmprodigy 2022-09-03 12:00
不過算出來 -46 對應的是 2,而不是 6,想像一相,反轉 5 圈(40)之后再反轉 6 個位置,的確是正數第 2 個呵,所以估計是你給的值有錯。
涯叔官v 2022-09-03 12:04
假設傳入的是n,首先 var index = n % 8
;轉盤上的數字,可以用 array 來表示。var arr = [0, 1, 2, 3, 4, 5, 6, 7]
然后用 arr.slice(n, n + 1)
就可以得到結果
overo0o#p#40459 2022-09-03 12:06
然后將結果加 8 就可以得到正數,但是如果原來本來就是正數,加 8 之后就超過了 8,所以再取一次余
雯子dedian 2022-09-03 12:08
你說傳入的是角度,個人感覺,更像是弧度。
M35****6984 2022-09-03 12:21
另外,-46應該對應2吧?
aijuer2015 2022-09-03 12:23
先取余數,在 JS 里可以直接對負數取余,余數也是負,比如 -46 % 8 === -6