Rotation Family in Transformation 几何变换中的各种旋转

这篇博客介绍了3D几何变换中的旋转操作,包括沿着对齐轴的旋转、任意轴旋转、从一个向量到另一个向量的旋转以及从一组点集到另一组点集的旋转。文章详细阐述了每种旋转的方法,并提供了相应的Python代码实现,还引用了相关论文和资源来解决实际问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 Rotate with aligned axis

  • 在3D坐标系下的旋转,可以是以一种分别沿着x-axis, y-axis, z-axis旋转 α \alpha α, β \beta β, γ \gamma γ角度得到各自旋转,然后进行矩阵组合:

    在这里插入图片描述

    在这里插入图片描述

    • python code
    def rotate_with_aligned_axis(alpha, beta, gamma):
        alpha_rad = np.deg2rad(alpha)
        beta_rad = np.deg2rad(beta)
        gamma_rad = np.deg2rad(gamma)
    
        R_x = np.eye(4, dtype=np.float32)
        R_y = np.eye(4, dtype=np.float32)
        R_z = np.eye(4, dtype=np.float32)
    
        R_x[1, 1] = np.cos(alpha_rad); R_x[1, 2] = - np.sin(alpha_rad)
        R_x[2, 1] = np.sin(alpha_rad); R_x[2, 2] = np.cos(alpha_rad)
    
        R_y[0, 0] = np.cos(beta_rad); R_y[0, 2] = np.sin(beta_rad)
        R_y[2, 0] = - np.sin(beta_rad); R_y[2, 2] = np.cos(beta_rad)
    
        R_z[0, 0] = np.cos(gamma_rad); R_z[0, 2] = - np.sin(gamma_rad)
        R_z[1, 0] = np.sin(gamma_rad); R_z[1, 1] = np.cos(gamma_rad)
    
        return np.matmul(R_x, np.matmul(R_y, R_z))
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值