找到一个点周围的旋转

时间:2012-07-16 01:06:14

标签: javascript trigonometry

我设法让一个函数工作,它将计算并返回一个点与另一个点之间的角度。我把它称为lookAt函数,因为它基本上导致一个变换看另一个变换。这是:

this.lookAt = function(target) {
    var d = target.subtract(this.position)
    this.rotation = Math.atan2(d.y, d.x) + Math.PI/2;
    return this.rotation;
}

在此函数的上下文中,this指的是具有变量rotation(以弧度表示的旋转)和position的周围对象,Vector2类具有几个基本的数学函数并存储xy值。 d是通过调用变量Vector2上的辅助函数创建的target,它会从另一个Vector2中减去一个π / 2

这按预期工作 - 如果我在一个对象上调用此函数,则旋转正确“查看”目标。但是,我想知道为什么我必须添加π / 2(1弧度,正确?)。我从this question得到了原始等式,但答案没有将{{1}}添加到等式中,而我必须这样做。

有人可以解释这背后的数学吗?此外,我还没有那么多的三角学(除了我的代数课程向我介绍的那样),所以请解释一下,好像你正在和一个非常小的孩子交谈。 : - )

0 个答案:

没有答案