Chapter 4 Transforms
所谓变换(transform)是指作用于点、向量、颜色等实体,以某种方式转变他们的操作。使用变换,可以移动、变形和动画物体、灯光和摄像机。变换还可以保证所有的计算处于同一个坐标系下,将物体投影到一个平面,这些都仅仅是冰山一角,总之,变换在图形学中非常重要。
线性变换满足:
f(x)+f(y)=f(x+y)和kf(x)=f(kx) 其中x,y是矢量,k是标量。
例如变换f(x)=5x是线性变换,因为对于矢量x,y, f(x)+f(y)=5x+5y=5(x+y)=f(x+y)
标量乘法被称作scaling transform。rotation transform是另一个线性变换。scaling和rotation transform实际上都是对于三维矢量的线性变换,可以用一个3X3矩阵表示。然而,这个矩阵的大小通常是不够的。下面的这个变换不是线性的: f(x)=x+(7,3,2)其中x是三维矢量。因为f(x)+f(y)=x+(7,3,2)+y+(7,3,2)=f(x+y)+(7,3,2)。多加了一次(7,3,2),因此不是线性变换。这种将一个固定矢量加到一个矢量上的变换是translation变换,即用相同的值移动位置,这也是一个很有用的变换。我们想将各种变换合并起来,例如将一个物体scale到它的一半大小,然后将它移动到一个不同的位置。如果只是用这种简单的函数形式是很难合并的。
将线性变换和translation合并可以使用仿射变换(affine transform),一般存储为一个4X4矩阵。所谓仿射变换是指执行一个线性变换然后再执行一个translation。为了表示四维向量,我们使用齐次记法(homogeneous notation),用相同的方式表示点和方向。一个方向向量表示为v=(Vx,Vy,Vz,0)T;一个点表示为v=(Vx,Vy,Vz,1)T。
所有的translation,rotation,scaling,reflection和shearing矩阵都是仿射矩阵。仿射矩阵的一个主要性质是他保留线之间的平行性,但是不保证长度和角度不会被改变。一个仿射变换也可以是任意单个仿射变换的序列的串联。
本章将会从最基础的仿射矩阵开始,然后讨论更特殊的矩阵以及四元数,然后讨论vertex blending和morphing这两个简单但是表达模型动画的强大的方式。最后会讨论投影矩阵。
以下是本章讨论的大部分的变换的列表:
T(t) translation matrix, Move a point. Affine.
Rx(p) rotation matrix, 绕x轴旋转p弧度. 正交(Orthogonal) & affine. y,z轴的类似
R rotation matrix, 任意的rotation matrix. Orthogonal & affine.
S(s) scaling matrix, 沿着x,y,z轴缩放s, Affine.
Hij(s) shear matrix, 用参数s切变分量i,相对于分量j, i,j属于{x,y,z}. Affine
E(h,p,r) Euler transform, 使用欧拉角(head or yaw, pitch, roll)定义的旋转矩阵. Orthogonal & affine.
Po(s) 正交投影, 平行投影到同一个面或体。Affine
Pp(s) 透视投影, 带透视的投影到一个面或体。
slerp(q,r,t) slerp transform, 创建一个插值的四元数相对于四元数q和t,使用参数t。
分享到:
相关推荐
Real-Time Rendering.3rd.pdf 图片版,凑合用吧
Realtime Rendering, 3D, CG, Graphics Realtime Rendering 3ed 第三版 pdf 英文版
Real-Time Rendering, Fourth Edition 实时渲染最新版 第四版PDF,下载地址见文档....
realtime rendering 第三版 英文版 pdf格式
real-time rendering4th 高清免解压优质资源百度网盘下载绝对高清版本
只要3分,全彩图全文字,关键是只有39M,不是可怕的910M.
Real-Time Rendering 4th Edition 全彩892M百度网盘下载地址
Real-Time Rendering 4th Edition(实时渲染第4版) 高清全彩版,图形学/游戏方向实时渲染经典书籍推荐,仅供学习使用。百度网盘下载链接永久有效。
游戏开发引擎的基本知识,很有用。包括渲染、碰撞,非扫描版哦。
Real Time Rendering 4th Edition 高清版 ,带目录。
Audio Visualization Using ThMAD Realtime Graphics Rendering for Ubuntu Linux 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除
因为本身·很大,大概900m,然而csdn上传只能220m以下,所以分了五卷
Realtime 3d Polygon Rendering using BSP Trees.pdf
因为本身·很大,大概900m,然而csdn上传只能220m以下,所以分了五卷
Audio Visualization Using ThMAD Realtime Graphics Rendering for Ubuntu Linux 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如...
2008 年新出的好书,英文版。 希望大家喜欢。 需要用djvu打开,可以打印。
浙江大学cad实验室自主研发图形引擎架构设计实现的有关资料
scout_realtime, 在你的浏览器中,实时服务器度量 侦察实时将实时服务器和流程指标发送到你的浏览器 ! 开始:在要监视的服务器上:安装 gem: gem install scout_realtime启动守护进程:scout_realtime start在你的...
Realtime Painting是unity开发的一个插件,可用于在模型上进行绘画。