You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SymPy中定义生成RPY旋转矩阵的符号函数?

用SymPy定义可复用的RPY旋转矩阵符号函数

直接定义一个Python函数,将三个角度符号作为参数传入,函数内部构建对应轴的旋转矩阵并计算乘积即可实现代码复用:

首先导入必要的SymPy组件:

from sympy import Matrix, cos, sin, symbols

然后定义复用函数:

def SymRot(s1, s2, s3):
    # s1: Rz轴旋转角度, s2: Ry轴旋转角度, s3: Rx轴旋转角度
    Rz = Matrix([[cos(s1), -sin(s1), 0],
                 [sin(s1), cos(s1), 0],
                 [0, 0, 1]])
    Ry = Matrix([[cos(s2), 0, sin(s2)],
                 [0, 1, 0],
                 [-sin(s2), 0, cos(s2)]])
    Rx = Matrix([[1, 0, 0],
                 [0, cos(s3), -sin(s3)],
                 [0, sin(s3), cos(s3)]])
    return Rz * Ry * Rx

调用示例:

# 定义第一组符号
a, b, g = symbols('a b g')
R = SymRot(a, b, g)  # 等价于你最初生成的R矩阵

# 定义第二组符号
a1, b1, g1 = symbols('a1 b1 g1')
R1 = SymRot(a1, b1, g1)  # 等价于你生成的R1矩阵

这样每次需要生成不同符号的RPY旋转矩阵时,只需传入对应的符号参数即可,无需重复编写矩阵定义代码。

内容的提问来源于stack exchange,提问作者Grigoris L.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 14:25:05