繁体   English   中英

如何将任意点旋转任意角度?

[英]How to rotate any point by any angle?

假设Vector2(x, y)我想以弧度给定的任何给定angle通过中心(或任何点,它只是一个平移,所以我可以这样做)旋转它。
我的目标语言是 javascript。

可以通过线性变换...矩阵乘法来执行旋转。

给定一个点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 中编写此代码作为练习留给读者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM