我有一个欧几里得向量a
,位于坐标(0, 1)
处。
我想要将a
绕原点(0, 0)
旋转90度(顺时针)。
如果我对此如何运作有正确的理解,则旋转后的结果(x,y)坐标应为(1, 0)
。
如果我选择将其旋转45度(仍然顺时针),我期望的结果坐标将是(0.707, 0.707)
。
theta = deg2rad(angle);
cs = cos(theta);
sn = sin(theta);
x = x * cs - y * sn;
y = x * sn + y * cs;
使用上述代码,当 angle
值为 90.0 度时,结果坐标为: (-1, 1)
。
我真是太困惑了。
以下链接中的示例肯定代表了上面显示的相同公式吧?
我做错了什么? 还是我误解了矢量旋转的方式?