我正在尝试使用sympy.physics.vector模块from here进行一些矢量场操作。作为这个过程的一部分,我想跟踪一些坐标系统,其中一部分将是左撇子。
让我说我开始:
参考框架A(右手; x:右,y:进入页面,z:向上)
和
参考框架B(左手; x:右,y:进入页面,z:向下)
from sympy.physics.vector import ReferenceFrame
A = ReferenceFrame('A')
B = ReferenceFrame('B')
现在我需要定义这些系统之间的关系,我知道这可以实现的唯一方法是使用 orient 来定义两个参考帧之间的一组旋转。现在,我不需要告诉你,没有多少轮换会将右手系统转换为左手系统......我只需要知道参考帧B
B.z = -A.z
我无法做到
B[2] = -A[2]
因为<<'ReferenceFrame'对象不支持项目分配>>
使用 CoordinateSym 似乎不会对我有所帮助......
有人有任何建议吗?
答案 0 :(得分:2)
sympy.physics.vector包是围绕右手系统构建的。我不认为你可以期待左撇子系统工作,因为所有操作都遵循右手规则,例如:交叉产品。实现左撇子系统的一般功能需要对底层代码进行重大更新。