基本变换(读书笔记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)的英文简称.国际金融保险管理学院是一个保险和金融服务机构的国际组织,它的创建目的是为了促进信息交流 ...
随机推荐
- el表达式无法获取springmvc的model封装好的数据之解决方法
近日碰到奇怪的问题,应该挺好解决的,可是就是卡住我两天 下面我来描述一下问题 用的是springmvc,自然需要controller,假设我现在所有的配置都是对的. controller代码 @Req ...
- createjs 入门之EaselJs 绘制图片Bitmap
var canvas=document.getElementById('demoCanvas'); canvas.width=window.innerWidth; canvas.height=wind ...
- Android 手机蓝牙接收文件夹
网上很多都没用用,只能自己研究了 /mnt/emmc/downloads/bluetooth
- select 触发事件
需求:现在需要获取用户选择的选项,同时获取里面自定义的字段. 因为option没法设置事件 <select class="form-control js-example-basic-s ...
- ILGenerator.Emit动态 MSIL编程(三)之动态代理
using System; using System.Linq; using System.Reflection; using System.Reflection.Emit; public seale ...
- LeetCode "Largest Divisible Subset" !
Very nice DP problem. The key fact of a mutual-divisible subset: if a new number n, is divisible wit ...
- 主工程中合并库工程的Manifest文件
修改project属性文件中的 manifestmerger.enabled=true,就可以实现Android Manifest的合并. 主要用于lib工程和主工程之间. eg: target=an ...
- Netty的TCP粘包/拆包(源码二)
假设客户端分别发送了两个数据包D1和D2给服务器,由于服务器端一次读取到的字节数是不确定的,所以可能发生四种情况: 1.服务端分两次读取到了两个独立的数据包,分别是D1和D2,没有粘包和拆包. 2.服 ...
- Codeforces Round #381 (Div. 2)A. Alyona and copybooks(dfs)
A. Alyona and copybooks Problem Description: Little girl Alyona is in a shop to buy some copybooks f ...
- Oracle补习班第五天
Great minds have purpose,others have wishes. 杰出的人有着目标,其他人只有愿望 控制文件是小型二进制文件,只能在mount阶段新建 1,重做控制文件 alt ...