【发布时间】:2010-07-08 13:16:05
【问题描述】:
我需要得到一个角度的补充。
确切地说,我需要做的是实现某种镜像角度的代码,比如说,我有 45 度 -> 135,另一个例子:80 -> 100、0 度 -> 180,等等。
【问题讨论】:
标签: math function trigonometry angle
我需要得到一个角度的补充。
确切地说,我需要做的是实现某种镜像角度的代码,比如说,我有 45 度 -> 135,另一个例子:80 -> 100、0 度 -> 180,等等。
【问题讨论】:
标签: math function trigonometry angle
我想你在关注180 - yourAngle。
你的例子:
【讨论】:
(360-angle) mod 180 = (180-angle) mod 180 = (-angle) mod 180。在这里,我使用数学意义上的 mod,其中(-1 mod 180) = 179,而不是 +1。因此,即使将角度乘以 -1 并加/减 180 直到介于 [0, 180) 之间,也会得到正确答案。
减法可能会起作用(如果宇宙是欧几里得)。
【讨论】:
根据您的问题,最简单的答案是
angle2 = 180 - angle1
【讨论】:
reflected_angle = 180 - ray_angle
【讨论】:
如果您将“角度”视为平面中的 2D 矢量,您只需更改垂直于“镜像”平面的分量的符号。
因此,例如,在 yz 平面中“镜像”的 45 度角 (1, 1) 变为 (-1, 1)。
【讨论】:
mirrored_Angle = 180 - angle
if mirrored_Angle < 0:
mirrored_Angle = 360 + mirrored_Angle
【讨论】:
我正在玩我的绳索物理项目,并用它来镜像角度。
mirroredAngle = -(yourAngle % 360)
这将适用于超过 360 度的值,因为模运算会标准化您的角度,从 0 中减去该结果将水平镜像。
【讨论】: