Games101学习笔记 - 变换矩阵基础

二维空间下的变换

缩放矩阵

缩放变换:

假如一个点(X,Y)。x经过n倍缩放,y经过m倍缩放,得到的新点(X1,Y1);

那么新点和远点有如下关系,X1 = n*X,   Y1 =m*Y

写成矩阵就是如下形式

<1>均匀缩放

<2>不均匀缩放

关于Y轴对阵矩阵

关于切变矩阵

关于旋转矩阵

注意:上图是默认二维旋转的是以远点为圆转重心,并且逆时针旋转

旋转矩阵推导原理:

规律

	对于任意的变换,变换后的点和变换前的点存在用变换前的点通过线性方程便是出来,

	都可以写成矩阵的形式,这种变换叫做线性变换

齐次坐标

引入原因:

上面说了ax + by 的方式都可以写成矩阵的形式,但是平移的操作的公式如下,不能写成矩阵的形式。

只能写成如下:

为了同意变换,让他们都写成一个矩阵和一个向量相乘的形式。我们引入了齐次坐标。

在其次坐标中:

已二维举例:

点会写成 (x,y,1)

向量会写成(x,y,0)

如下图引入后,平移矩阵可以写成如下形式:

至于引入后对于所有的仿射变化都可以根据引入的齐次坐标写成一个矩阵和一个向量相乘的形式

在齐次坐标的表示下各种变换矩阵就可以写成如下方式:

注意:

矩阵乘逆矩阵一定等于单位矩阵

矩阵是从右向左计算的

三维空间中:

三维空间中齐次坐标表示:

三维空间的仿射变换矩阵通常写成如下格式:

三维缩放矩阵:

三维平移矩阵:

三维旋转矩阵:

注意:三维旋转都可以拆分为,绕X轴旋转,绕Y轴旋转和绕Z轴旋转,所以我们写出了这三种旋转变换矩阵

相关推荐
Padid2 天前
Unity SRP学习笔记(二)
笔记·学习·unity·游戏引擎·图形渲染·着色器
refineiks8 天前
three.js绘制宽度大于1的线,并动态新增顶点
3d·图形渲染·webgl
Winston Wood10 天前
一个简单的例子,说明Matrix类的妙用
android·前端·图像处理·图形渲染
森龙安11 天前
VulkanTutorial(8·Shader modules)
图形渲染
云渲染图科普匠13 天前
3d室内设计效果图渲染平台哪个好?瑞云快图怎么样?
3d·图形渲染·3dsmax
先知demons14 天前
antvG6如何实现节点动画、连线动画、切换节点图标
前端·javascript·vue.js·图形渲染·canva可画
3DCAT实时渲染云15 天前
边缘计算技术的优势与挑战
实时互动·边缘计算·图形渲染
大耳猫17 天前
Android OpenGL天空盒
android·kotlin·android studio·图形渲染
大耳猫20 天前
Android OpenGL触控反馈
android·kotlin·android studio·图形渲染
木市门20 天前
【GAMES101笔记速查——Lecture 16 Ray Tracing4】
图像处理·笔记·图形渲染