基本变换(读书笔记5 --- Real-Time rendering)
刚体变换
即变换不改变了被变换顶点之间的距离,以及偏手性(不会让左右手坐标系颠倒)。
下面的平移变换、旋转变换即属于刚体变换
平移
从一个位置变到另一个位置可以用平移矩阵T来表示,这个矩阵将一个实体变换一个向量t = (tx, ty, tz).

如对于点P=(px,py,pz,1),经过平移变换后,即T(t)P=P'=(px + tx, py + ty, pz + tz, 1)

平移变换的逆矩阵与原来的平移量相同,但是方向相反
T-1 (t)=T(-t)

旋转
旋转变换将一个向量(位置或方向)绕给定轴旋转给定的角度。旋转变换矩阵通常用Rx(φ),Ry(φ),Rz(φ)来表示,即一个实体绕x,y及z轴分别旋转φ弧度

例子,将一个物体绕z轴以某个点p为中心点旋转φ弧度,那么我们首先将点p作为原点,即将物体平移到原点,如平移变换中所说,使用矩阵T(-p),然后再用旋转矩阵Rz(φ),最后在将物体平移回去到原先的原点。式子如下:
X = T(p)Rz(φ)T(-p)

缩放
缩放矩阵S(s)=S(sx,sy,sz)将一个实体以沿着x,y和z方向以sx,sy,sz的倍数缩放

如果sx=sy=sz,则叫均匀(uniform,or isotropic)缩放,否则就叫不均匀(nonuniform, or anisotropic)缩放。
如果sx,sy,sz中任意一个为负数,我们称矩阵为反射矩阵(reflection matrix,or mirror matrix)
未完待续。。。
基本变换(读书笔记5 --- Real-Time rendering)的更多相关文章
- Understanding Scroll Views 深入理解 scroll view 读书笔记
Understanding Scroll Views 深入理解 scroll view 读书笔记 It may be hard to believe, but a UIScrollView is ...
- 6 Specialzed layers 特殊层 第一部分 读书笔记
6 Specialzed layers 特殊层 第一部分 读书笔记 Specialization is a feature of every complex organization. 专注是 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
- LOMA280保险原理读书笔记
LOMA是国际金融保险管理学院(Life Office Management Association)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...
随机推荐
- 图片垂直居中 和 float
//图片垂直居中, display:table-cell; vertical-align:middle; 不能和 css (float)元素共存,可以在元素外面多加一个层 css .th-left ...
- 关于分布式事务的一个误解:使用了TransactionScope就一定会开启分布式事务吗?
背景: 事务是数据库管理系统的一个基本概念,事务具有四个基本特点,即ACID:原子性(Atomicity).一致性(Consistency).隔离性(Isolation)和持久性(Durability ...
- Android应用开发-Activity(重制版)
Android四大组件:Activity,Service,Broadcast Receiver,Content Provider Activity是Context的子类,同时实现了Window.Cal ...
- Microsoft Visual Studio 2013 Update 5 direct download link for full ISO
From:http://www.nickdu.com/?p=604 Visual Studio 2013 Update 5 is now released and maybe you are also ...
- Android引用项目出现ClassNotFoundException
Android中在引用其他工程,尤其是github中的相关库时,如果引用关系设置的不对,很容易出现ClassNotFoundException,例如下面的异常信息 07-26 12:47:51.549 ...
- Install NukeX v7.0v6 in CentOS 7
- download THE_FOUNDRY_NUKEX_V7.0V6_LNX64-XFORCE - unzip and untar to /home/user0/tools/foundry/nuke ...
- List Arraylist 数组的区别
数组.List和ArrayList的区别 数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如: ]; //赋值 s[]=]=]="c"; //修 ...
- 虚拟机拷贝后网卡eth0变成了eth1的解决办法
一.修改/etc/udev/rules.d/70-persistent-net.rules文件 将之前的eth0那行删了,将eth1改为eth0 二.配置ifcfg-eth0脚本,注意HWADDR那行 ...
- expr 命令
求表达式变量的值.expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出. 用法:expr Expression Expression 参数规则: 用空格隔开每个项. 用 ...
- CM添加kafka服务
下载所需的包: 在http://archive.cloudera.com/kafka/parcels/latest/ 选择合适parcel下载: ubuntu14.04的cdh5.5.1对应包 htt ...