我正在使用 javascript/canvas 创建一个简单的 2D 游戏。
我需要计算出某个物体相对于我的位置的角度。
所以:假设我在 (10,10) 并且物体在 (10,5) - 这将导致 90 度(因为正 Y 向下,负 Y 向上)
(10,10) 与 (10,15) 的夹角为 270 度。
我该怎么办呢?
假设您位于 (a, b),而对象位于 (c, d)。那么物体与你的相对位置就是(x, y) = (c - a, d - b)。
然后你可以使用Math.atan2()功能 https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Math/atan2获取以弧度为单位的角度。
var theta = Math.atan2(-y, x);
请注意,结果在 [-π, π] 范围内。如果需要非负数,则必须添加
if (theta < 0)
theta += 2 * Math.PI;
并将弧度转换为度数,乘以180 / Math.PI
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)