【发布时间】:2016-07-31 16:12:21
【问题描述】:
我正在研究一些二维数学,我发现我在up(0, 1) 和right(1, 0) 之间得到的角度是-90,除非我疯了或在这里遗漏了什么,否则这似乎是错误的。我希望+90。我希望这里有人可以帮助我进行健全性检查。
这是我正在使用的实现:
GetAngle(a, b) = atan2(Cross(a, b), Dot(a, b))
地点:
Cross(a, b) = (a.x * b.y) - (a.y * b.x)
Dot(a, b) = (a.x * b.x) + (a.y * b.y)
【问题讨论】:
-
为什么不简单:
angle = acos(dot(a,b)/(abs(a)*(abs(b)))? -
如果您面向北(“上”)并想向东(“右”),您必须转 -90(逆时针直角),对吗? ??????
-
@AhmedFasih 是的,我明白我现在假设不正确。感觉很像说
If you want to walk forward, just take -5 steps by the toe-to-heel rule。伙计,我必须在这个上重新连接我的大脑......啊!
标签: math language-agnostic 2d linear-algebra