坐标系变换矩阵推导

本文详细推导了三维坐标系中的旋转变换公式,并具体阐述了如何从相机坐标系转换到世界坐标系,以及从世界坐标系转换到相机坐标系的过程,涉及中间坐标系{M}的引入和纯旋转和平移变换矩阵的计算。
摘要由CSDN通过智能技术生成

一、旋转变换公式推导和结论

  将源坐标系A绕原点O顺时针旋转θ角,得到目标坐标系B。已知P点在A中的坐标,求P点在B中的坐标,即:计算O点到P点的向量在B的X轴、Y轴的投影的长度。
在这里插入图片描述
在这里插入图片描述

二、相机坐标系 to 世界坐标系变换矩阵推导

  问题:计算相机坐标系{C}到世界坐标系{W}的变换矩阵。
  已知条件:Oc在{W}中的坐标,Xw轴、Yw轴、Zw轴的单位方向向量在{C}中的表示。已知P点在{C}中的坐标,求P点在{W}中的坐标,即求{C}到{W}的变换矩阵:引入中间坐标系{M},它的原点与{C}相同,它的X轴、Y轴、Z轴之方向与{W}相同;先求{C}到{M}的变换矩阵(纯旋转变换),再求{M}到{W}的变换矩阵(纯平移变换&#x

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 MATLAB 中,可以使用两种方法生成坐标系转换矩阵:手动计算和使用现成的 MATLAB 函数。 1. 手动计算 假设要将坐标系 A 中的点 (x,y,z) 转换到坐标系 B 中,坐标系 A 和 B 相对位置如下图所示: 首先需要确定坐标系 A 和 B 的基向量。假设坐标系 A 的基向量为 a1、a2 和 a3,坐标系 B 的基向量为 b1、b2 和 b3,则坐标系转换矩阵 M 为: M = [a1' a2' a3'] * [b1 b2 b3] 其中,a1'、a2' 和 a3' 分别为 a1、a2 和 a3 的转置。 例如,如果坐标系 A 的基向量为 [1 0 0]、[0 1 0] 和 [0 0 1],坐标系 B 的基向量为 [1 1 0]、[1 -1 0] 和 [0 0 1],则坐标系转换矩阵 M 为: ``` a1 = [1 0 0]'; a2 = [0 1 0]'; a3 = [0 0 1]'; b1 = [1 1 0]; b2 = [1 -1 0]; b3 = [0 0 1]; M = [a1 a2 a3] * [b1' b2' b3'] M = 1 1 0 1 -1 0 0 0 1 ``` 2. 使用 MATLAB 函数 MATLAB 中有专门的函数可以生成坐标系转换矩阵,例如 `dcmatrix` 和 `rotm`。这里以 `dcmatrix` 为例,假设要将坐标系 A 中的点 (x,y,z) 转换到坐标系 B 中,坐标系 A 和 B 相对位置如下图所示: 假设坐标系 A 的基向量为 [1 0 0]、[0 1 0] 和 [0 0 1],坐标系 B 的基向量为 [1 1 0]、[1 -1 0] 和 [0 0 1],则可以使用以下代码生成坐标系转换矩阵 M: ``` a1 = [1 0 0]; a2 = [0 1 0]; a3 = [0 0 1]; b1 = [1 1 0]; b2 = [1 -1 0]; b3 = [0 0 1]; R = dcmatrix(a1',a2',a3',b1',b2',b3'); M = R(1:3,1:3) M = 1 1 0 1 -1 0 0 0 1 ``` 其中,`dcmatrix` 函数的输入参数分别为坐标系 A 和 B 的基向量,输出参数为旋转矩阵和平移向量,其中旋转矩阵部分即为坐标系转换矩阵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xxxx9300

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值