matlab世界坐标系转化,坐标变换_世界坐标系与用户坐标系之间的转换
1.基础知识
1.1矩阵乘法
行*列
C=[A1*b11+a2*b21+a3*b31,a1*b12+a2*b22+a3*b32,a1*b13+a2*b23+a3*b33]
例:
1*4+2*7+3*1=21, 1*5+2*8+3*1=24,1*6+2*9+3*5=39
结果为[21, 24, 39]
1.2求逆矩阵
按定义计算逆矩阵。
例:
用MatLab求解
>> A=[4 5 6;7 8 9;1 1 5];
>> B=inv(A)
B =
-2.5833 1.5833 0.2500
2.1667 -1.1667 -0.5000
0.0833 -0.0833 0.2500
>> A*B
ans =
1.0000 -0.0000 0
-0.0000 1.0000 0
-0.0000 -0.0000 1.0000
>> B*A
ans =
1.0000 -0.0000 -0.0000
0 1.0000 -0.0000
0 0 1.0000
2.世界坐标系与用户坐标的相互转换
设世界坐标系为WCoord,用户坐标系为UCoord,设世界坐标系到用户坐标系的变换矩阵为T1,则UCoord内的点Ptu在WCoord中的坐标Ptw=Pt*T1。WCoord内的点Ptw在UCoord中的坐标为Ptu=Pt*T1^-1。
设坐标系各轴向量为VX=(x1, x2, x3), VY=(y1, y2, y3), VZ=(z1, z2, z3),坐标原点为P(p1, p2, p3),用向量表达坐标系
注意:VX,VY,VZ都为单位向量
例:用户坐标系为
VX=(0.7071067811, 0.7071067811,0)
VY=(-0.7071067811, 0.7071067811,0)
VZ=(0 ,0 ,1);
P=(1000, 1000, 1000)
用户坐标系下点P1=(500, 500, 500)
求在世界坐标系下P1的坐标点Pw
解:即相当于先在世界坐标系中画出P1点,然后经平移旋转的变换到用户坐标系。
使用Matlab求解
//用户坐标系的矩阵表示C
>> A=[0.7071067811 0.7071067811 0 0;-0.7071067811 0.7071067811 0 0;0 0 1 0;0 0 0 1];
>> B=[1 0 0 0;0 1 0 0;0 0 1 0; 1000 1000 1000 1];
>> C=A*B
C =
1.0e+003 *
0.0007 0.0007 0 0
-0.0007 0.0007 0 0
0 0 0.0010 0
1.0000 1.0000 1.0000 0.0010
//注意:点为齐次坐标点,
>> pt=[0 0 0 1];
>> pt1=pt*C
pt1 =
1000 1000 1000 1
>> pt=[500 500 500 1];
>> pt1=pt*C
pt1 =
1.0e+003 *
1.0000 1.7071 1.5000 0.0010
>>
即Pw=(1000,1707.1,1500);
例:世界坐标系中的点转换到用户坐标系
用户坐标系同上。
世界坐标系下,pt=(-100, 200, -300)
求用户坐标系下pt的坐标Pu
解:
使用Matlab求解
>> A=[0.7071067811 0.7071067811 0 0;-0.7071067811 0.7071067811 0 0;0 0 1 0;0 0 0 1];
>> B=[1 0 0 0;0 1 0 0;0 0 1 0; 1000 1000 1000 1];
>> C=A*B;
>> D=inv(C)
D =
1.0e+003 *
0.0007 -0.0007 0.0000 0
0.0007 0.0007 0.0000 0
0 0 0.0010 0
-1.4142 0 -1.0000 0.0010
>> pt=[-100 200 -300 1];
>> pt1=pt*D
pt1 =
1.0e+003 *
-1.3435 0.2121 -1.3000 0.0010
>>
得
Pu (-1343.5029, 212.1320, -1300.00)
matlab世界坐标系转化,坐标变换_世界坐标系与用户坐标系之间的转换相关推荐
- 数据库mysql角度转化弧度_弧度和角度之间的转化
1.今天要自己定义一个View来实现我们要的需求,就是旋转的东西,今天碰到问题了,就是角度和弧度之间的转换:高中的东西都快忘记了,那个还记得呀,但是要学习呀,没有办法呀!! 下面理解几个概念吧: fa ...
- map怎么转化dto_java实现Object和Map之间的转换3种方式
利用commons.BeanUtils实现Obj和Map之间转换,这种是最简单,也是最经常用的 public static Object mapToObject(Map map, Class> ...
- matlab二进制十进制十六进制和任意进制之间的转换
>> a=bin2dec('1011001') %将二进制转换为10进制 a = 89 >> b=dec2bin(22) %将10进制转换为2进制 b = 10110 & ...
- 如何把2d目标检测的bbox转化到现实世界坐标系的?
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 编辑:3D视觉工坊 https://www.zhihu.com/question/394814665/ ...
- 【自动驾驶】16.计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
本篇博客为转载,我对其中的细节添加了一些说明. 原文链接:https://blog.csdn.net/chentravelling/article/details/53558096 0.前言 最近整理 ...
- 三维视觉基础之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系
三维视觉基础之世界坐标系.相机坐标系.图像坐标系和像素坐标系之间的转换关系 一.各坐标系介绍 二.世界坐标系和相机坐标系之间的转换 三.相机坐标系和图像坐标系之间的转换 四.图像坐标系和像素坐标系之间 ...
- matlab文件目录表示,Matlab - 文件目录路径操作_读取不同路径下的相同文件名表格...
Matlab - 文件目录路径操作_读取不同路径下的相同文件名表格 tr1 str1 for max imp mda eva 目录 xls clear;clc; clo ...
- 计算机视觉:相机成像原理:世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换(转载)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chentravelling/article/details/53558096 0.前言 最近整理了& ...
- matlab频率域滤波器,频率域滤波的MATLAB设计与实现_课程设计
频率域滤波的MATLAB设计与实现_课程设计 综合课程设计设计题目 频率域滤波的 MATLAB 设计与实现专业名称班级学号学生姓名指导教师设计时间目 录摘 要 .- 3 -1. 数字图像处理 - 1 ...
- 【Matlab】数学建模_变异系数法
[Matlab]数学建模_变异系数法 1.基本思想 2.数据集介绍 3.文件结构 4.详细代码及注释 5.运行结果 6.结果说明 1.基本思想 变异系数法通常用于解决数据分布不同的问题.它是一个用于测 ...
最新文章
- 微信小程序开发之不能使用eval函数的问题
- linux常用操作命令详解
- 剑指offer 06.逆向打印链表
- 无法使用index seek的写法
- 【C#】C#创建Windows Service服务
- javascript --- 优先级执行顺序
- 自动处理可载入模块命令 modprobe
- linux查看空间使用情况并且清除,科技常识:Linux 查看空间使用情况的实例详解...
- Mozilla 修复已遭利用的两个火狐浏览器 0day
- 代码笔记——Toast显示文本,图片,图文
- 2018DeeCamp笔试题目第一套B卷
- opencv-牛刀小试
- html5控制gif速度,用gifsicle优化GIF动图
- tic-tac-toe游戏(简单判断)
- VIO学习笔记(二)—— IMU 传感器
- SPSS——方差分析(Analysis of Variance, ANOVA)——多因素方差分析(无重复试验双因素)
- 软件测试条件组合覆盖三角形,软件测试三角形问题(覆盖测试)
- 伪装学渣未删减部分_深圳妈妈分享!如何在2年内把“学渣”儿子送进世界百强名校!...
- JavaWeb:Tomat的安装
- vue使用js遍历数组和对象
热门文章
- 机器学习基础 2:矩阵乘法以及求导
- 计算机英语专业摘要,推荐:计算机毕业论文英文摘要的写作方法
- matplotlb之柱形图与盒形图
- python爬取微信公众号图片并生成word文档
- 近日总结3.17-3.19(windows server)
- ios 开发者论坛和资料站点
- 信息系统项目管理师和PMP对比
- 长亭科技安服实习面试
- ipv6单播地址包括哪两种类型_IPV6详细讲解
- 对异常 java.lang.IllegalStateException: getAttribute: Session already invalidated的理解