8個塊的圓形轉盤,傳入的角度如果是負數如何計算對應的塊是哪個??
如圖是8個塊的轉盤,假如傳入的角度值是負數,如何計算它對應是哪個塊呢?
每個角度是 360 / 8 = 45
0 - 44 = 0
45 - 89 = 1
90 - 134 = 2
135 - 179 = 3
180 - 22<愛尬聊_尬聊生活>4 = 4
225 - 269 = 5
270 - 314 = 6
315 - 360 = 7
假如傳入 -1,那么對應的塊應該是7
傳入 -46,對應的塊應該是6
傳入 90,對應的塊應該是2
請問是怎么樣的計算過程呢?
肆虐Raging 2022-06-20 15:47
然后將結果加 8 就可以得到正數,但是如果原來本來就是正數,加 8 之后就超過了 8,所以再取一次余
linawang08#p#ly 2022-06-20 15:49
不過算出來 -46 對應的是 2,而不是 6,想像一相,反轉 5 圈(40)之后再反轉 6 個位置,的確是正數第 2 個呵,所以估計是你給的值有錯。
落落煙雨 2022-06-20 15:50
假設傳入的是n,首先 var index = n % 8
;轉盤上的數字,可以用 array 來表示。var arr = [0, 1, 2, 3, 4, 5, 6, 7]
然后用 arr.slice(n, n + 1)
就可以得到結果
思念最好 2022-06-20 15:58
另外,-46應該對應2吧?
LILIGA 2022-06-20 15:59
先取余數,在 JS 里可以直接對負數取余,余數也是負,比如 -46 % 8 === -6
老以為自己還年輕 2022-06-20 16:04
你說傳入的是角度,個人感覺,更像是弧度。