3D矢量的旋转?

2022-01-16 00:00:00 python rotation vector

问题描述

我有两个向量作为 Python 列表和一个角度.例如:

I have two vectors as Python lists and an angle. E.g.:

v = [3,5,0]
axis = [4,4,1]
theta = 1.2 #radian

当围绕轴旋转 v 向量时,获得结果向量的最佳/最简单方法是什么?

What is the best/easiest way to get the resulting vector when rotating the v vector around the axis?

对于轴矢量指向的观察者来说,旋转应该是逆时针的.这称为右手法则

The rotation should appear to be counter clockwise for an observer to whom the axis vector is pointing. This is called the right hand rule


解决方案

看看http://vpython.org/contents/docs/visual/VisualIntro.html.

它提供了一个 vector 类,该类具有 A.rotate(theta,B) 方法.如果您不想在 A 上调用该方法,它还提供了一个辅助函数 rotate(A,theta,B).

It provides a vector class which has a method A.rotate(theta,B). It also provides a helper function rotate(A,theta,B) if you don't want to call the method on A.

http://vpython.org/contents/docs/visual/vector.html

相关文章