所以我正在制作一个小游戏,我正在检查角色是否可以"看到"另一个角色A可以看到角色B,如果A在B的某个距离内,并且A的角度方向是+/- 45度角度B面对.
目前,我正在做一些计算,我正在检查是否
(facingAngle - 45) =< angleOfTarget =< (facingAngle + 45)
Run Code Online (Sandbox Code Playgroud)
除了当我们穿过360度线时,这种方法很好.
让我们说吧facingAngle = 359, angleOfTarget = 5.在这种情况下,目标只偏离中心6度,所以我希望我的函数返回true.不幸的是,5不在314和404之间.
我有时间采用以下格式: hh:mm:ss
我必须找到,如果在给定的时间内,秒针位于由时针和分针形成的更大或更小的区域?
我知道时针以每分钟0.5度的速度移动,分针以每分钟6度的速度移动而秒针以每分钟360度的速度移动.
但是我无法找出秒针在哪个区域.那我该怎么做呢?
Second hand within angle between hour and minute hands:
10:15:00
04:40:30
Second hand in reflex angle:
12:01:30
Run Code Online (Sandbox Code Playgroud) 我有一个列表列表,其中包含角度集的下限和上限
就像是
[[1,22],[2,24]...[359,15],[360,21]]
总共360个元素
现在我想检查从 1 到 360 的每个角度,列表中包含该角度的元素
我正在考虑使用下限和上限来使用rangeor创建列表的所有元素np.arange(lower,upper)并检查是否包含角度,但当np.arangelower 高于 upper 时会生成空列表
for i in range(1,361):
sel=[]
for coe in coef:
if i in range(coe[0],coe[1]):
sel.append(coe)
Run Code Online (Sandbox Code Playgroud)
我也尝试过itertoolsandcycle但我不知道如何在这种情况下应用它