概要:三维坐标系的变换,实质上则是原点以及正交基向量的变化,在空间中表现为平移和旋转。

如图所示的坐标系变换,可以用一个变换矩阵来表示。

虽然原理也比较简单,但是大一学的线性代数已经有点忘记了。==

接下来,就当复习一下,我来推导出这个变换矩阵是如何得到的,用到是一些比较基本的线性代数的知识。

首先,我们要理解为什么需要这个矩阵,我们在什么情况下需要这个矩阵。很明显,在已知新坐标系的基向量的情况下,如果我们需要将原坐标系的坐标转化为新坐标系下的坐标,就可以使用这个矩阵。

已知:点P在原坐标系的坐标为(x,y,z),x轴方向的单位向量为,y轴方向的单位向量为,z轴方向的单位向量为

新坐标系的原点在原坐标系的坐标为(x0,y0,z0),

x轴方向的单位向量为

y轴方向的单位向量为

z轴方向的单位向量为

求:点P在新坐标系下的坐标(x’,y’,z’)。

理解:所谓点的坐标其实就是向量的线性组合,而坐标系之间基向量的转变也是向量的线性组合,这时候很明显要想到矩阵了!

为了得到这个矩阵,我们需要构造一个线性方程组。如下:

根据这个方程组我们可以比较容易地得到:

接下来是最后一步,我要求出这个方阵的逆矩阵,这里只需要先左乘一个矩阵使得方阵变为这个形式的矩阵

然后,再对A、B分别求逆矩阵即可,而A矩阵是正交矩阵,正交矩阵的逆矩阵等于转置矩阵,这里只需要简单地转置即可,而B矩阵为[1],逆矩阵为[1]。

最后得到,

右边的方阵就是我们所需要的变换矩阵!

总结:坐标系的转化,其实就是将衡量标准通过另一组正交基向量来展示,而正交基向量的转化就是对原正交基向量的线性组合。

By-蒋晨书 2017-4-8

图形学1-三维坐标系间的变换矩阵推导相关推荐

  1. 三维坐标系间点坐标变换

    三维坐标系间点坐标变换 假设条件: 假设当前坐标系 x 轴.y 轴.z 轴的单位向量为 a⃗\vec{a}a.b⃗\vec{b}b.c⃗\vec{c}c,新坐标系原点O在当前坐标系的坐标为 (x0,y ...

  2. 计算机图形学(三维观察投影线、视图变换、投影变换)

    一.三维观察流水线 概念:将建立的三维场景显示在二维视口的过程称为三维观察流水线. 在三维观察流水线中,也就是在将三维场景显示在二维视口的过程中,需要在不同坐标系下进行不同的操作,这些坐标系包括: 建 ...

  3. 【转】坐标系变换矩阵推导

    转自: 坐标系的变换矩阵推导 1.平移变换   假设存在点(x,y,z),将x移动a,y移动b,z移动c,到新的点(x′,y′,z′),则:   中间4x4的矩阵叫变换矩阵.可见,如果要平移坐标,要将 ...

  4. 三维坐标系之间的转换关系详解与推导

    文章目录 前言 三维坐标系之间的转换关系:R(旋转矩阵) .T(平移矩阵) 数学模型描述 布尔莎模型:前提是旋转角为微小旋转角 罗德里格矩阵模型 尺度相同: 存在的一些问题: 主要参考来源: 前言 三 ...

  5. 三维坐标系旋转矩阵推导

    注意坐标系旋转不同于坐标点旋转 坐标系旋转角度θ则等同于将目标点围绕坐标原点反方向旋转同样的角度θ 1.三维坐标系推导过程 假设三维坐标系是一个右手坐标系.如下图 可以通过右手定则确定是右手坐标系. ...

  6. 二维(三维)坐标系中旋转矩阵详细推导

    求三维坐标系的旋转矩阵通常需要求分别沿3个坐标轴的二维坐标系下的旋转矩阵,二维坐标系下的旋转矩阵的推导过程通常以某一点逆时针旋转 θ \theta θ角度进行推理.以下将通过此例来详细讲解二维坐标系下 ...

  7. 3D图形学(一):三维几何学基础(1):三维坐标系

    原文链接:http://my.oschina.net/ioslighter/blog/358099 左手坐标系和右手坐标系 例: OpenGL用的是右手坐标系,原点在左下角,向右为x轴正方向,向上为y ...

  8. 理解计算机3D图形学中的坐标系变换

    要谈坐标系变换,那么坐标系有哪些呢?依次有:物体坐标系,世界坐标系,相机坐标系,投影坐标系以及屏幕坐标系.我要讨论的就是这些坐标系间的转换.      这些坐标系不是凭空而来,他们都是为了完成计算机3 ...

  9. 判断三维坐标系旋转正方向的简单方法

    引言 做iOS开发,不免要接触到一些特效,其中不乏3D特效,这时候就要对iOS所使用的坐标系了解才行.若不限于iOS开发,还有MacOS开发,若不知道它们所使用坐标系的不同,初学者会很容易陷于混乱, ...

最新文章

  1. udp_socket聊天器demo
  2. android 开发文档模板
  3. 框架复习笔记-Java-案例:牛客网讨论社区
  4. LeetCode 1899. 合并若干三元组以形成目标三元组
  5. python安装requests库超时_【Python 库】requests 详解超时和重试
  6. 【Vue 3.0 新特性(三)】Vite 工具
  7. win32获取当前运行程序的内存地址_一个lock锁,就可以分出程序员对问题处置方式水平的高中低...
  8. 水性喷涂胶行业调研报告 - 市场现状分析与发展前景预测
  9. 彩信文件服务器,彩信服务器怎么设置
  10. 大师系列之彼得•林奇基层调查选股法
  11. 装饰者模式、代理模式与AOP
  12. 聊一聊微服务之间的通讯方式
  13. codeforces 702F 可持久化平衡树
  14. cad偏移后自动变色lisp_高手帮忙修改,批量偏移 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  15. ip设置与防火墙外网映射
  16. mysql的锁机制(读锁,写锁,表锁,行锁,悲观锁,乐观锁,间隙锁)
  17. 开源复杂网络分析软件中社团发现算法总结
  18. python小说文本挖掘_Python小说文本挖掘正则表达式分析案例
  19. java-net-php-python-66jsp职工请假管理系统计算机毕业设计程序
  20. 长安大学计算机应用研究所,长安大学导师介绍:赵祥模

热门文章

  1. 为什么CMMI认证如此重要
  2. 浅析无人值班变电站的电力运维云平台的维护
  3. 《让子弹飞》向我们展现真实的革命
  4. 包菜粉丝slimxi美味减肥食谱
  5. 8.17.8. Defining New Range Types
  6. 微投抖的1080_真假1080P投影仪?送你火眼金睛!
  7. 10必试背景网页设计趋势
  8. 免堆期由谁申请_Alan Logistics摘录:知识贴| 关于免箱期和免堆期
  9. Electron 下载失败 install fail npm yarn cnpm
  10. 一些大开脑洞的邮件营销“黑马”案例