如何有效地将角度(以弧度为单位)转换为从 0 到 7 的索引?
How can I efficiently convert an angle (in radian) to an index from 0 to 7?
我有一个弧度角,我想按以下方式将其转换为从 0 到 7 的索引值:
注意0 rad
应该落在扇区的中间等
使用简单的数学运算最有效的方法是什么?
我认为这可行:
import math
def angle_to_sector(angle_in_rads):
sector_size_in_rads = 2*math.pi / 8
offset_angle = (angle_in_rads + sector_size_in_rads/2) % (2*math.pi)
sector = offset_angle // sector_size_in_rads
return sector
每个"slice"占pi/4
。按照@Beta 所说的,你可以这样做:
def rad2slice(rad):
return int((4 * rad / np.pi + .5) % 8)
# Quick test:
In [22]: [rad2slice(i*np.pi/4) for i in range(8)]
Out[22]: [0, 1, 2, 3, 4, 5, 6, 7]
我有一个弧度角,我想按以下方式将其转换为从 0 到 7 的索引值:
注意0 rad
应该落在扇区的中间等
使用简单的数学运算最有效的方法是什么?
我认为这可行:
import math
def angle_to_sector(angle_in_rads):
sector_size_in_rads = 2*math.pi / 8
offset_angle = (angle_in_rads + sector_size_in_rads/2) % (2*math.pi)
sector = offset_angle // sector_size_in_rads
return sector
每个"slice"占pi/4
。按照@Beta 所说的,你可以这样做:
def rad2slice(rad):
return int((4 * rad / np.pi + .5) % 8)
# Quick test:
In [22]: [rad2slice(i*np.pi/4) for i in range(8)]
Out[22]: [0, 1, 2, 3, 4, 5, 6, 7]