假设Vector2
是(x, y)
我希望按照弧度给出的任何给定angle
按中心(或任何点只是翻译,所以我可以这样做)旋转它。 />
我的目标语言是javascript。
答案 0 :(得分:1)
可以通过线性变换...矩阵乘法来执行旋转。
给定一个点p = (x, y)
和一个旋转角度θ
,结果点p' = (x', y')
由下式给出:
p' = R(θ)⋅p
其中R(θ)是矩阵
| cos(θ) -sin(θ)|
R(θ) = | |
| sin(θ) cos(θ)|
由此产生的分解由
给出x' = x⋅cos(θ) - y⋅sin(θ)
y' = x⋅sin(θ) + y⋅cos(θ)
在JavaScript中对此进行编码只是为读者留下的练习。