矩阵变换:沿任意方向缩放、镜像、正交投影及切变及其推导
三维镜像变换矩阵_的推导_理论说明
三维镜像变换矩阵的推导理论说明引言部分的内容可以如下所示:1. 引言1.1 概述本文旨在推导和说明三维镜像变换矩阵的相关理论。
镜像变换是计算机图形学中一个重要的概念,它可以将二维或三维对象进行对称反转,从而实现图像的翻转、扭曲等效果。
镜像变换矩阵是描述这一转换过程的数学工具,通过对其性质和特点进行深入探讨,我们可以更好地理解和应用镜像变换。
1.2 文章结构本文共包含五个部分:引言、三维镜像变换矩阵推导、理论说明、结论和致谢。
在引言部分,我们将介绍文章的背景和目的,并简要概述后续章节的内容。
接着,在三维镜像变换矩阵推导部分,我们将详细讲解三维坐标系以及镜像变换原理,并通过推导过程得出三维镜像变换矩阵表达式。
然后,在理论说明部分,我们将探讨该变换矩阵及其性质特点,并分析其应用场景和实例。
最后,在结论部分,我们将对全文进行总结回顾,并展望未来的研究方向。
1.3 目的本文的目的是推导和说明三维镜像变换矩阵的相关理论,以期提供一个清晰而详尽的指南。
通过深入研究镜像变换及其数学表示方式,读者将能够应用这一知识解决图形处理、计算机视觉等领域中的问题,并为进一步探索相关研究方向提供参考。
在实践中,三维镜像变换矩阵作为基础变换之一,具有广泛应用前景。
因此,对于计算机图形学和计算机视觉领域的从业者和学习者来说,了解和掌握这一知识是至关重要的。
2. 三维镜像变换矩阵推导:2.1 三维坐标系在进行三维镜像变换矩阵推导之前,我们首先需要了解三维坐标系的基本概念和表示方法。
三维坐标系由X、Y和Z轴组成,分别代表着空间中的长、宽和高。
通常情况下,我们用X、Y和Z轴上的正交单位向量来表示这个坐标系,记作(i, j, k)。
2.2 镜像变换的定义和原理在计算机图形学中,镜像变换指的是将一个对象或图形通过某个镜面进行对称的操作。
这种操作会改变对象或图形相对于镜面的位置关系,并生成反射后的影像。
镜面可以以各种方式定义,在本文中我们使用平面方程Ax + By + Cz + D = 0来表示一个泛化的平面。
高三数学冲刺:矩阵与变换
例如 A=
0 -1,由于0 -1x=-y,所以 A 表示的是以原点为旋转中心,逆时针 1 1 0 0y x
方向旋转 90的旋转变换.
(二)常见方法
(1)已知曲线 C 的方程 F(x,y)=0,求变换后的曲线 C1 的方程 F1(x,y)=0 的过程分三步: ①利用矩阵与列向量的乘法将目标曲线 C1 上的任意一点(x, y)的坐标用已知曲线上的对 x' x 应点(x′,y′)的坐标表示,即 M = ; y' y x f(x,y) x' - ②用 x,y 表示 x′,y′,即 =M 1 = ; y' y g(x,y) ③由 F(x′,y′)=0,得 F(f(x,y),g(x,y))=0,化简整理得 C1 的方程 F1(x,y)=0. (2)求矩阵的逆矩阵的过程分两步: a b|A|=a b=ad-bc; ①A= c d c d b d -b ② c d -c a
-1 1 3-1 12 A= -1 2 1 8
= -1 (5)由题知 A
8 1 - 20 1 3 20
2 12 20
5 = 1 4 - 20 5
11
. 1 - 20
1 - 5
1 1 3 3 =- ,A =4 , -1 -1 2 2 1 1 - 3 13 - 所以 A 1 =- ,A 1 = , 2 42 -1 -1
(三)考点分析 考点一:二阶矩阵与平面列向量的乘法、二阶矩阵的乘法. 例 1(南京 2009 届期末调研) 在直角坐标系中,已知△ABC 的顶点坐标为 A(0,0),B(-1,2),C(0,3).求△ABC 在矩 0 -1 阵 作用下变换所得到的图形的面积. 1 0
人教A版高中数学选修4-2-1.1.1.5 切变变换-课件PPT
温故而知
将平面内图形投影到某条直线(或某个点)上的矩 阵,我们称之为投影变换矩阵, 相应的变换称做投 影变换。
熟记几种常见的投影变换矩阵及几何意义
1 0 0 0
该矩阵使得平面上点的横坐标不变,
纵坐标变为0,该变换将平面内的点沿垂直
于x轴方向投影到直线x轴上。
0 0 0 1
该矩阵使得平面上点的纵坐标不
P'(x', y',)则
M
x
y
x'
y'
所以
x'
y'
x2 x
yy,,从而xy
1 3 1 3
(x'2 y' (x' y')
)
练习1
在平面直角坐标系xOy中,已知点A(0,0),B(-2,0),C(-2,1)。
k 设k为非零实数,矩阵M= 0
0 1
,N=
0 1
1 0
点A、B、C在矩阵MN对应的变换下得到点分别为A,1、B1、C1,
设将矩形OABC变为平行四边形OA1B2C2的线性变换对应的矩阵为
a c
b , d 则
ca
b d
0
1
1
3
ca
b d
2 1
1
3
2 ,
a 1,
所以 b 3,
c 0,
因此所求矩阵为
0
1
1
3
d 1.
回顾反思:
1.切变变换与切变变换矩阵的概念;
2.1 0
k 1
是沿x轴方向的切变变换,x轴上的点是不动点。
3.1 k
0 1
是沿y轴方向的切变变换,y轴上的点是不动点。
人教A版高中数学选修4-2-1.1.1.5 切变变换-课件(共19张PPT)
设将矩形OABC变为平行四边形OA1B2C2的线性变换对应的矩阵为
a c
b , d 则
ca
b d
0
1
1
3
ca
b d
2 1
1
3
2 ,
a 1,
所以 b 3,
c 0,
因此所求矩阵为
0
1
1
3
d 1.
回顾反思:
1.切变变换与切变变换矩阵的概念;
2.1 0
k 1
是沿x轴方向的切变变换,x轴上的点是不动点。
求将矩形OABC变为平行四边形OA1B2C2的线性变换 对应的矩阵。
解:因为矩形OA1B1C1是矩形OABC绕原点O旋转180°得到的,
所以 A1(2,0), B1(2,1), C1(0,1)
又矩形OA1B1C1沿x轴正方向作切变变换得到平行四边形OA1B2C2, 且C2的坐标为 ( 3,1) ,所以点B2的坐标为( 3 2,1)
切变变换
温故而知
将平面内图形投影到某条直线(或某个点)上的矩 阵,我们称之为投影变换矩阵, 相应的变换称做投 影变换。
熟记几种常见的投影变换矩阵及几何意义
1 0 0 0
该矩阵使得平面上点的横坐标不变,
纵坐标变为0,该变换将平面内的点沿垂直
于x轴方向投影到直线x轴上。
0 0 0 1
该矩阵使得平面上点的纵坐标不
d 2
(Ⅱ)因为矩阵M所对应的线性变换将直线变成直线
(或点),所以可取直线 y 3x上的两(0,0),(1,3),
由
1
1
1
1
0 0
。
0 0
1 , 1
1
1
1 3
投影矩阵的推导
投影矩阵的推导(OpenGL D3D)OpenGL矩阵推导——模型视图变化在三维编程中,模型视图变换是从三维世界到二维屏幕中一个很重要的变换,但是这个变换往往很多人都不太理解,要么是事而非。
而这方面的文章不是太少就是讲的太浅没有真正的理解模型视图变换,本人在这个过程中曾经走过很多歪路,不过好在最终在自己的不懈努力下终于降伏了这只猛虎。
本人就以自己的理解,通过矩阵推导过程一步一步来了解模型视图变化,最后通过两个OpenGl的程序来进一步理解模型视图矩阵。
先从一个基本的模型视图—透视投影变换讲起。
透射投影是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume 以下简称CVV)中,待裁剪完毕后进行透视除法的行为。
透视投影变换是令很多刚刚进入3D图形领域的开发人员感到迷惑乃至神秘的一个图形技术。
其中的理解困难在于步骤繁琐,对一些基础知识过分依赖,一旦对它们中的任何地方感到陌生,立刻导致理解停止不前。
主流的3D APIs 都把透射投影的具体细节进行了封装,从而只需一个函数便可生成一个透射投影矩阵比如gluPerspective(),使得我们不需要了解其算法便可实现三维到二维的转化,然而实事是,一些三维图形或游戏开发人员遇到一些视图矩阵的问题往往会不知所措,比如视景体裁剪。
以下部分内容是从别处那转过来的,主要感谢Twinsen和一个叫丁欧南的高中生。
透视投影变换是在齐次坐标下进行的,而齐次坐标本身就是一个令人迷惑的概念,这里我们先把它理解清楚。
齐次坐标对于一个向量v以及基oabc,可以找到一组坐标(v1,v2,v3),使得v = v1 a + v2 b + v3 c (1)而对于一个点p,则可以找到一组坐标(p1,p2,p3),使得p–o = p1 a + p2 b + p3 c (2)从上面对向量和点的表达,我们可以看出为了在坐标系中表示一个点(如p),我们把点的位置看作是对这个基的原点o所进行的一个位移,即一个向量——p –o(有的书中把这样的向量叫做位置向量——起始于坐标原点的特殊向量),我们在表达这个向量的同时用等价的方式表达出了点p:p = o + p1 a + p2 b + p3 c (3)(1)(3)是坐标系下表达一个向量和点的不同表达方式。
常见几何变换的认识
定义:变换矩阵是表示几何变换 的数学工具
矩阵乘法:变换矩阵通过矩阵乘 法进行组合,实现复杂的几何变 换
添加标题
添加标题
添加标题
添加标题
构建方法:通过组合平移、旋转、 缩放等基本变换来构建复杂的几 何变换矩阵
几何变换在机器人视觉中 的作用
常见的几何变换及其应用 场景
机器人视觉中几何变换的 实现方法
地理信息系统介 绍
几何变换在地理 信息系统中的应 用
常见几何变换类 型及其作用
几何变换在地图 制作和地理信息 分析中的应用
机器人学:机器人移动和操作需要精确的几何变换,以确保其运动和定位的准确性。
地理信息系统:在地理信息系统中,几何变换用于地图投影和坐标转换,以实现地理数据 的可视化和分析。
平移变换的定义:在平面内,将图形沿某一方向平行移动一定的距离。
平移变换的性质:图形的大小和形状保持不变,只改变位置。
平移变换的分类:根据移动方向,可分为横向平移和纵向平移。
定义:几何变换 的连续性是指变 换过程中,物体 在空间中的位置 和方向的变化是 连续不断的。
实现方式:通过 连续变换矩阵或 仿射变换矩阵来 实现几何变换的 连续性。
意义:保证物体 在变换过程中的 平滑性和自然性, 避免出现突变或 跳变的情况。
应用场景:在计 算机图形学、机 器人学、自动驾 驶等领域中广泛 应用。
单击此处添加标题
连续变换的定义:在几何变换中,如果一个点经过一系列变换后,其最终位 置与初始位置之间的距离可以任意小,则称这些变换是连续的。
单击此处添加标题
连续变换的性质:连续变换具有保持性、可逆性和可结合性等性质。
矩阵镜像变换公式
矩阵镜像变换公式矩阵镜像变换公式是一种常用的数学工具,它可以将一个矩阵按照某个轴进行翻转。
这种变换在图像处理、计算机图形学等领域有着广泛的应用。
本文将介绍矩阵镜像变换公式的原理和应用,并通过具体案例进行说明。
一、矩阵镜像变换公式的原理矩阵镜像变换是一种线性变换,它可以将一个矩阵按照某个轴进行翻转。
在二维平面中,常见的镜像变换有水平镜像和垂直镜像两种。
水平镜像是将矩阵按照水平中轴线进行翻转,垂直镜像则是将矩阵按照垂直中轴线进行翻转。
以水平镜像为例,假设有一个二维矩阵A,其大小为m×n。
矩阵A 的水平镜像变换可以表示为矩阵B=MA,其中M为水平镜像变换矩阵,其大小也为m×n。
水平镜像变换矩阵M的元素满足M[i][j]=A[m-i-1][j],其中0≤i<m,0≤j<n。
二、矩阵镜像变换的应用矩阵镜像变换在图像处理中有着广泛的应用。
通过对图像进行镜像变换,可以实现图像的翻转、旋转、缩放等效果。
1. 图像翻转图像的水平镜像变换可以实现图像的左右翻转,垂直镜像变换可以实现图像的上下翻转。
通过对图像进行水平和垂直镜像变换,可以实现任意方向的图像翻转效果。
2. 图像旋转图像的旋转可以通过对图像进行镜像变换和旋转变换相结合实现。
首先,对图像进行水平或垂直镜像变换,然后再对镜像后的图像进行旋转变换,即可实现图像的任意角度旋转。
3. 图像缩放图像的缩放可以通过对图像进行水平和垂直镜像变换结合裁剪操作实现。
首先,对图像进行水平或垂直镜像变换,然后再按照一定的比例对镜像后的图像进行裁剪,即可实现图像的缩放效果。
三、实例说明为了更好地理解矩阵镜像变换的应用,我们以一张包含文字的图像为例进行说明。
假设有一张图像A,其中包含一段文字。
我们希望将这段文字进行水平翻转,即将文字从左到右排列变为从右到左排列。
将图像A转化为一个二维矩阵,记为矩阵M。
然后,根据水平镜像变换公式,构造水平镜像变换矩阵N。
数学中的几何变换形的平移旋转缩放与镜像
数学中的几何变换形的平移旋转缩放与镜像几何变换是数学中研究空间中图形移动、旋转、缩放和镜像的重要概念。
它们不仅在几何学中广泛应用,还在计算机图形学、物理学、工程学等领域中发挥着重要作用。
本文将探讨数学中的几种常见几何变换:平移、旋转、缩放和镜像,并阐述它们的定义、性质和应用。
一、平移变换平移变换是指通过沿着特定的方向和距离将图形移动至新的位置。
在平面几何中,对于平移变换,原图形和变换后的图形具有相同的形状和大小,只是位置不同。
平移变换可以表示为:T(x,y) = (x+a, y+b)其中,(x,y)为原图形上某点的坐标,(x+a, y+b)为平移后图形上对应点的坐标,a和b分别表示平移的水平和垂直方向的距离。
平移变换具有以下性质:1. 保持形状不变:平移变换后,图形的各边和角度保持不变。
2. 保持大小不变:平移变换后,图形的面积和周长保持不变。
3. 保持平行关系:平移变换后,图形上任意两点之间的距离、平行线之间的距离和夹角大小保持不变。
4. 可叠加性:对于多个平移变换依次进行,结果等价于进行一个平移变换。
平移变换的应用:1. 地图标注:在地理信息系统中,通过平移变换可以实现地图上标注物体的位置调整。
2. 图像处理:在计算机图像处理中,通过平移变换可以实现图像的平移和移动。
3. 动画制作:在动画制作中,通过平移变换可以使图像或物体在屏幕上产生移动效果。
二、旋转变换旋转变换是指将图形绕某一固定点旋转一定角度得到新的图形。
在平面几何中,旋转变换可以围绕坐标原点进行,也可以围绕其他点或轴进行。
旋转变换可以表示为:R(x,y) = (xcosθ - ysinθ, xsinθ + ycosθ)其中,(x,y)为原图形上某点的坐标,(xcosθ - ysinθ, xsinθ+ ycosθ)为旋转后图形上对应点的坐标,θ表示旋转的角度。
旋转变换具有以下性质:1. 保持形状不变:旋转变换后,图形的各边和角度保持不变。
矩阵变换公式范文
矩阵变换公式范文矩阵变换,又称为线性变换或矩阵映射,是线性代数中的一个重要概念。
它描述了将一个向量空间中的向量映射到另一个向量空间中的向量的过程。
在实际应用中,矩阵变换被广泛应用于计算机图形学、机器学习、信号处理等领域。
矩阵变换可以用一个矩阵来表示,这个矩阵被称为变换矩阵。
变换矩阵是一个二维数组,其中的元素代表了将原始向量的各个分量变换到新向量中的对应分量的系数。
下面我们将介绍几种常见的矩阵变换及其对应的公式。
1.平移变换平移变换是将向量沿着其中一指定的方向平移一定的距离。
平移变换的矩阵表达形式为:10tT=,01t200其中,(t1,t2)表示平移的距离。
2.缩放变换缩放变换是将向量沿着各个坐标轴进行缩放。
缩放变换的矩阵表达形式为:s10S=,0s2000其中,(s1,s2)表示缩放的比例。
3.旋转变换旋转变换是将向量按照一定的角度绕其中一点或其中一轴进行旋转。
旋转变换的矩阵表达形式为:cosθ -sinR = ,sinθ cosθ其中,θ表示旋转的角度。
4.剪切变换剪切变换是通过对向量的坐标进行剪切操作,使得原始向量在其中一方向上发生变化。
剪切变换的矩阵表达形式为:1aS=,b1000其中,(a,b)是剪切的参数。
上述给出的是几种常见的矩阵变换,它们可以单独使用,也可以联合使用来进行复杂的变换操作。
在实际应用中,我们可以通过矩阵相乘的方式来组合多个变换。
例如,我们可以通过将平移变换、旋转变换和缩放变换结合起来,实现对一个向量进行平移、旋转和缩放操作。
如果我们用T表示平移变换,R表示旋转变换,S表示缩放变换,则多个变换组合起来的变换操作可以表示为:V'=TRSV其中,V表示原始向量,V'表示变换后的向量。
由于矩阵变换是线性变换,因此我们可以将多个变换操作的变换矩阵相乘得到最终的变换矩阵。
例如,将平移变换、旋转变换和缩放变换的矩阵相乘,得到最终的变换矩阵。
总结:矩阵变换是线性代数中的重要概念,用来描述将一个向量空间中的向量映射到另一个向量空间中的向量的过程。
人教版高中数学选修4-2矩阵与变换全套教案
1 2 3 = 0 1 1 1 2 1 ( 2) = 0 1 3 1 0 x 1 x 2. = ,求 1 2 y 1 y
1.(1) 三、二阶矩阵与线性变换 1.旋转变换 o ’ ’ ’ ’ 问题 1:P(x,y)绕原点逆时针旋转 180 得到 P (x ,y ),称 P 为 P 在此旋转变换作用下的象。其结
cos sin sin cos 1 k 0 1 1 0 0 1 1 0 0 0
③切变变换:
④反射变换:
⑤投影变换:
人教版高中数学选修 4-2 《矩阵与变换》全套教案
目 录
第一讲 二阶矩阵、二阶矩阵与平面向量的乘法、二阶矩阵 与线性变换 ............................................................................ 1 第二讲 线性变换的性质·复合变换与二阶矩阵的乘法 . 4
a b x ax by a b x ,与向量 的乘积为 A ,即 A = y cx dy c d y c d
ax by cx dy
练习 2:
2
5.平面上一点 A 先作关于 x 轴的反射变换,得到点 A1,在把 A1 绕原点逆时针旋转 180 ,得到点 A2,若 存在一种反射变换同样可以使 A 变为 A2,则该反射变换对应的二阶矩阵是 6.P(1,2)经过平行于 y 轴的切变变换后变为点 P1(1,-5),则该切变变换对应的坐标公式为 7. 设 A
2 2 2 2
12.
7 19 、 18 4
摄像机矩阵和投影矩阵推导ppt课件
Model坐标系
模型坐标系,也叫Local坐标系。例如我们在 3DMax,MAYA等建模工具中建立我们的人物模型时, 模型中的顶点坐标值就是Model坐标系的值。设想我 们有多个人物模型,那么每一个模型都有属于自己的 Model坐标系。
World坐标系
World坐标系也是很直观的,我们把若干个模型放在 一起组成一张场景,场景的坐标系就是World坐标系, 这就像我们现实世界一样。一个模型放置到World坐 标系之后,它的顶点坐标值就需要从Model坐标系转 换为World坐标系中的值。如下页图示:
,向量B是
。
它们的夹角为 ,向量C的是多少呢?由图示以及向
量减法法则,可得向量C为:
向量A,B,C构成一个三角形,而三角形的余弦定
理
,注意余弦定理等式中的
A,B,C是指三角形的边长,均是标量。
点乘的证明
余弦恒等式用到的边长即是向量A,B,C的模,据此,分 别求三个向量的模并代入余弦定理得:
等式的|A|和|B|表示向量的模。 化简等式即可得到直观的结果,见下页
左手和右手坐标系
坐标系和坐标系转换
3D模型从建模到渲染最后阶段——输出到屏幕需要经 历多个坐标系,从一个坐标系到另一个坐标系则需要 一个转换过程。这个过程是由一个转换矩阵来实施的。
本节简要记录一些关键坐标系(坐标空间),和相应 的转换说明,然后以DirectX为例,记录和推导几个重 要的转换矩阵。
我们知道叉乘得到一个垂直于原来两个向量的新向量, 3D图形学中常用这种方式求垂直于平面/三角面/多边 形等的向量。例如法线(凹凸)贴图时,需要求出垂 直于顶点的法线。
Wiki
叉乘和点乘都是由Josiah Willard Gibbs在1881年提出 的。
投影变换对称变换旋转变换正交变换
投影变换对称变换旋转变换正交变换投影变换、对称变换、旋转变换和正交变换是线性代数中的重要概念,它们在数学、物理、计算机图形学等领域都有广泛的应用。
本文将分别介绍这四种变换的概念、特点和应用,并对它们进行比较和联系。
一、投影变换投影变换是指将一个向量空间中的向量映射到另一个向量空间的操作。
具体而言,对于一个n维向量空间V和一个m维向量空间W,投影变换可以将V中的向量映射到W中的向量。
投影变换通常用一个矩阵表示,称为投影矩阵。
投影变换具有保持向量在某个方向上的长度和角度不变的特点,常用于计算机图形学中的三维投影和几何变换。
二、对称变换对称变换是指将一个向量空间中的向量映射到其自身的操作。
具体而言,对于一个n维向量空间V,对称变换可以将V中的向量映射到V中的向量。
对称变换通常用一个矩阵表示,称为对称矩阵。
对称变换具有保持向量长度和角度不变的特点,常用于计算机图形学中的镜像和仿射变换。
三、旋转变换旋转变换是指将一个向量绕某个中心点进行旋转的操作。
具体而言,对于一个n维向量空间V,旋转变换可以将V中的向量绕某个中心点旋转一定角度。
旋转变换通常用一个矩阵表示,称为旋转矩阵。
旋转变换具有保持向量长度不变但改变角度的特点,常用于计算机图形学中的三维旋转和空间定位。
四、正交变换正交变换是指将一个向量空间中的向量映射到另一个向量空间,并且保持向量之间的内积不变的操作。
具体而言,对于一个n维向量空间V和一个m维向量空间W,正交变换可以将V中的向量映射到W中的向量,并且满足向量之间的内积等于原始向量之间的内积。
正交变换通常用一个矩阵表示,称为正交矩阵。
正交变换具有保持向量长度和角度不变的特点,常用于计算机图形学中的坐标变换和旋转。
投影变换、对称变换、旋转变换和正交变换之间存在一定的联系和区别。
首先,它们都是线性变换,即满足线性组合和封闭性的特点。
其次,它们都可以用矩阵进行表示,通过矩阵相乘的方式进行计算。
然而,它们的作用对象和特点各不相同。
矩阵变换的解释
1.1 三維旋轉矩陣實用算法3D数学---- 矩阵和线性变换一般来说,方阵能描述任意线性变换。
线性变换保留了直线和平行线,但原点没有移动。
线性变换保留直线的同时,其他的几何性质如长度、角度、面积和体积可能被变换改变了。
从非技术意义上说,线性变换可能“拉伸”坐标系,但不会“弯曲”或“卷折”坐标系。
矩阵是怎样变换向量的向量在几何上能被解释成一系列与轴平行的位移,一般来说,任意向量v都能写成“扩展”形式:另一种略有差别的形式为:注意右边的单位向量就是x,y,z轴,这里只是将概念数学化,向量的每个坐标都表明了平行于相应坐标轴的有向位移。
让我们将上面的向量和重写一遍,这次分别将p、q、r定义为指向+x,+y和+z方向的单位向量,如下所示:v = x p + y q + z r现在,向量v就被表示成向量p,q,r的线性变换了,向量p,q,r称作基向量。
这里基向量是笛卡尔坐标轴,但事实上,一个坐标系能用任意3个基向量定义,当然这三个基向量要线性无关(也就是不在同一平面上)。
以p、q、r为行构建一个3 x 3矩阵M,可得到如下矩阵:用一个向量乘以该矩阵,得到:如果把矩阵的行解释为坐标系的基向量,那么乘以该矩阵就相当于执行了一次坐标转换,如果aM=b,我们就可以说,M将a转换到b。
从这点看,术语“转换”和“乘法”是等价的。
坦率地说,矩阵并不神秘,它只是用一种紧凑的方式来表达坐标转换所需的数**算。
进一步,用线性代数操作矩阵,是一种进行简单转换或导出更复杂转换的简便方法。
矩阵的形式:基向量[1, 0, 0], [0, 1, 0], [0, 0, 1]乘以任意矩阵M:用基向量[1, 0, 0]乘以M时,结果是M的第1行。
其他两行也有同样的结果,这是一个关键的发现:矩阵的每一行都能解释为转换后的基向量。
这个强有力的概念有两条重要性质:1、有了一种简单的方法来形象化解释矩阵所代表的变换。
2、有了反向建立矩阵的可能---- 给出一个期望的变换(如旋转、缩放等),能够构造一个矩阵代表此变换。
矩阵知识点归纳
矩阵知识点归纳(一)二阶矩阵与变换1.线性变换与二阶矩阵在平面直角坐标系xOy 中,由⎩⎨⎧x ′=ax +by ,y ′=cx +dy ,(其中a ,b ,c ,d 是常数)构成的变换称为线性变换.由四个数a ,b ,c ,d 排成的正方形数表⎣⎡⎦⎤a bc d 称为二阶矩阵,其中a ,b ,c ,d 称为矩阵的元素,矩阵通常用大写字母A ,B ,C ,…或(a ij )表示(其中i ,j 分别为元素a ij 所在的行和列).2.矩阵的乘法[a 11a 12]与列矩阵⎣⎡⎦⎤b 11b21的乘法规则为[a 11a 12]⎣⎡⎦⎤b 11b 21=[a 11b 11+a 12b 21],二阶矩阵⎣⎡⎦⎤a bc d 与列矩阵⎣⎡⎦⎤x yM =⎣⎡⎦⎤1 00 1;θ对应的矩阵是M =⎣⎡⎦⎤cos θ -sin θsin θ cos θ;要看关于哪条直线对称.例如若关于x 轴对称,则变换对应矩阵为M 1=⎣⎡⎦⎤1 00 -1;若关于y 轴对称,则变换对应矩阵为M 2=⎣⎡⎦⎤-1 0 0 1;若关于坐标原点对称,则变换对应矩阵M 3=⎣⎡⎦⎤-1 0 0 -1;M =⎣⎡⎦⎤k 1 00 k 2,表示将每个点的横坐标变为原来的k 1倍,纵坐标变为原来的k 2倍,k 1,k 2均为非零常数;x 轴的投影变换的矩阵为M =⎣⎡⎦⎤1 00 0; 要看沿什么方向平移,若沿x 轴平移|ky |个单位,则对应矩阵M =⎣⎡⎦⎤1 k 0 1,若沿y 轴平移|kx |个单位,则对应矩阵M =⎣⎡⎦⎤1 0k 1.(其中k 为非零常数). 4.线性变换的基本性质设向量α=⎣⎡⎦⎤x y ,规定实数λ与向量α的乘积λα=⎣⎡⎦⎤λx λy ;设向量α=⎣⎡⎦⎤x 1y 1,β=⎣⎡⎦⎤x 2y 2,规定向量α与β的和α+β=⎣⎡⎦⎤x 1+x 2y 1+y 2.(1)设M 是一个二阶矩阵,α、β是平面上的任意两个向量,λ是一个任意实数,则①M (λα)=λMα,②M (α+β)=Mα+Mβ. (2)二阶矩阵对应的变换(线性变换)把平面上的直线变成直线(或一点). (二)矩阵的逆矩阵、特征值与特征向量1.矩阵的逆矩阵(1)一般地,设ρ是一个线性变换,如果存在线性变换σ,使得σρ=ρσ=I ,则称变换ρ可逆.并且称σ是ρ的逆变换.(2)设A 是一个二阶矩阵,如果存在二阶矩阵B ,使得BA =AB =E ,则称矩阵A 可逆,或称矩阵A 是可逆矩阵,并且称B 是A 的逆矩阵.(3)(性质1)设A 是一个二阶矩阵,如果A 是可逆的,则A 的逆矩阵是唯一的.A 的逆矩阵记为A -1.(4)(性质2)设A ,B 是二阶矩阵,如果A ,B 都可逆,则AB 也可逆,且(AB )-1=B -1A -1. (5)已知A ,B ,C 为二阶矩阵,且AB =AC ,若矩阵A 存在逆矩阵,则B =C .(6)对于二阶可逆矩阵A =⎣⎡⎦⎤a b c d (ad -bc ≠0),它的逆矩阵为A -1=⎣⎢⎡⎦⎥⎤d ad -bc-bad -bc -c ad -bca ad -bc.2.二阶行列式与方程组的解对于关于x ,y 的二元一次方程组⎩⎨⎧ax +by =m ,cx +dy =n ,我们把⎪⎪⎪⎪a b c d 称为二阶行列式,它的运算结果是一个数值(或多项式),记为det(A )=⎪⎪⎪⎪a b c d =ad -bc . 若将方程组中行列式⎪⎪⎪⎪a b c d 记为D ,⎪⎪⎪⎪m b n d 记为D x ,⎪⎪⎪⎪a mc n 记为D y ,则当D ≠0时,方程组的解为⎩⎪⎨⎪⎧x =D xD ,y =D yD .设A 是一个二阶矩阵,如果对于实数λ,存在一个非零向量α,使得Aα=λα,那么λ称为A 的一个特征值,α称为A 的一个属于特征值λ的一个特征向量.(2)特征多项式设λ是二阶矩阵A =⎣⎡⎦⎤a bcd 的一个特征值,它的一个特征向量为α=⎣⎡⎦⎤x y ,则A ⎣⎡⎦⎤x y =λ⎣⎡⎦⎤x y ,即⎩⎨⎧ax +by =λx ,cx +dy =λy ,也即⎩⎨⎧(λ-a )x -by =0,-cx +(λ-d )y =0.(*)定义:设A =⎣⎡⎦⎤a bcd 是一个二阶矩阵,λ∈R ,我们把行列式f (λ)=⎪⎪⎪⎪λ-a -b -c λ-d =λ2-(a +d )λ+ad -bc 称为A 的特征多项式. (3)矩阵的特征值与特征向量的求法如果λ是二阶矩阵A 的特征值,则λ一定是二阶矩阵A 的特征多项式的一个根,即f (λ)=0,此时,将λ代入二元一次方程组(*),就可得到一组非零解⎣⎡⎦⎤x 0y 0,于是非零向量⎣⎡⎦⎤x 0y 0即为A 的属于λ的一个特征向量1001M⎡⎤=⎢⎥⎣⎦,点的变换为(,)(,)x y x y →001k M ⎡⎤=⎢⎥⎣⎦:1k >,将原来图形横坐标扩大为原来k 倍,纵坐标不变01k <<,将原来图形横坐标缩小为原来k 倍,纵坐标不变点的变换为(,)(,)x y kx y →100M k ⎡⎤=⎢⎥⎣⎦: 1k >,将原来图形纵坐标扩大为原来k 倍,横坐标不变 01k <<,将原来图形纵坐标缩小为原来k 倍,横坐标不变点的变换为(,)(,)x y x ky →1001M ⎡⎤=⎢⎥-⎣⎦:点的变换为(,)(,)x y x y →- 变换前后关于x 轴对称1001M -⎡⎤=⎢⎥⎣⎦:点的变换为(,)(,)x y x y →- 变换前后关于y 轴对称1001M -⎡⎤=⎢⎥-⎣⎦:点的变换为(,)(,)x y x y →-- 变换前后关于原点对称 0110M ⎡⎤=⎢⎥⎣⎦:点的变换为(,)(,)x y y x → 变换前后关于直线y x =对称cos sin sin cos M θθθθ-⎡⎤=⎢⎥⎣⎦:逆时针090:0110M -⎡⎤=⎢⎥⎣⎦;顺时针090:0110M ⎡⎤=⎢⎥-⎣⎦ 旋转变化矩阵还可以设为:a b M b a -⎡⎤=⎢⎥⎣⎦1000M ⎡⎤=⎢⎥⎣⎦:将坐标平面上的点垂直投影到x 轴上 点的变换为(,)(,0)x y x →0001M ⎡⎤=⎢⎥⎣⎦:将坐标平面上的点垂直投影到y 轴上 点的变换为(,)(0,)x y y →1010M ⎡⎤=⎢⎥⎣⎦:将坐标平面上的点垂直于x 轴方向投影到y x =上点的变换为(,)(,)x y x x →0101M ⎡⎤=⎢⎥⎣⎦:将坐标平面上的点平行于x 轴方向投影到y x =上点的变换为(,)(,)x y y y →11221122M ⎡⎤⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦:将坐标平面上的点垂直于y x =方向投影到y x =上 点的变换为(,)(,)22x y x y x y ++→101k M ⎡⎤=⎢⎥⎣⎦:把平面上的点沿x 轴方向平移||ky 个单位点的变换为(,)(,)x y x ky y →+101M k ⎡⎤=⎢⎥⎣⎦:把平面上的点沿y 轴方向平移||kx 个单位 点的变换为(,)(,)x y x kx y →+选修4-2矩阵知识要点 五种特殊变换⎢⎣⎡a a sin cos ⎥⎦⎤-a a c o s s i n ⎪⎩⎪⎨⎧+=-=a y a x y a y a x x c o s s i n s i n c o s''关于X 轴对称⎢⎣⎡01 ⎥⎦⎤-10 ⎪⎩⎪⎨⎧-==y y xx '' 关于Y 轴对称⎢⎣⎡-01 ⎥⎦⎤10 ⎪⎩⎪⎨⎧=-=y y xx '' 关于Y=X 对称⎢⎣⎡10 ⎥⎦⎤01 ⎪⎩⎪⎨⎧==yy xx '' 纵轴伸缩⎢⎣⎡01⎥⎦⎤k 0 ⎪⎩⎪⎨⎧==ky y xx '' 横轴伸缩⎢⎣⎡0k ⎥⎦⎤10 ⎪⎩⎪⎨⎧==yy kxx '' 横纵均伸缩⎢⎣⎡01k ⎥⎦⎤20k ⎪⎩⎪⎨⎧==yk y xk x 2'1' 关于X 轴正投影⎢⎣⎡00 ⎥⎦⎤01 ⎪⎩⎪⎨⎧==0''y xx关于Y 轴正投影⎢⎣⎡00 ⎥⎦⎤10 ⎪⎩⎪⎨⎧==yy x ''关于AX+BY=0投影⎢⎢⎢⎢⎣⎡+-+22222BA AB B A B ⎥⎥⎥⎥⎦⎤++-22222B A A B A AB⎪⎪⎩⎪⎪⎨⎧+++-=+-+=y B A A x B A AB y y B A ABx B A B x 22222'22222' 沿X 轴平行方向移ky 个单位⎢⎣⎡01⎥⎦⎤1k⎪⎩⎪⎨⎧=+=yy kyx x ''沿Y 轴平行方向移kx 个单位⎢⎣⎡k 1⎥⎦⎤10⎪⎩⎪⎨⎧+==ykx y xx ''有关矩阵的乘法1. 矩阵A=⎢⎣⎡c a⎥⎦⎤d b 与→a =⎥⎦⎤⎢⎣⎡y x 相乘 =→a A ⎢⎣⎡ca⎥⎦⎤d b ⎥⎦⎤⎢⎣⎡y x =⎥⎦⎤⎢⎣⎡++dy cx by ax=→)(a A λ⎢⎣⎡ca⎥⎦⎤d b ⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡y x λ=⎢⎣⎡ca ⎥⎦⎤d b ⎥⎦⎤⎢⎣⎡y x λλ=⎥⎦⎤⎢⎣⎡++y d x c y b x a λλλλ=⎥⎦⎤⎢⎣⎡++dy cx by ax λλλλ=→a A λ →→→→+=+b A a A b a A )( →→→→+=+b A a A b a A 2121)(λλλλ复合变换→→=a AB a B A )()( 若向量a 先经过矩阵A 再经过矩阵B 变换后⇔→a BA )()(BC A C AB = BA AB ≠(矩阵相乘没有交换律) l k l k A A A += 若AC=AB 但 B C ≠(没有消去律)kl l k A A =)( 若A AE A E ==22 2E 为单位矩阵)(x f 经过矩阵变换后得曲线)('x f(五种特殊变换,除了投影变换外其他都有逆矩阵) 已知 矩阵A=⎢⎣⎡c a⎥⎦⎤d b 求逆矩阵1-A , 若==A A det c a d b =0≠-bc ad 则A 有逆矩阵1-A=⎢⎢⎢⎢⎣⎡-Ac Ad ⎥⎥⎥⎥⎦⎤-A a A b 21E AA =-⎢⎣⎡01 ⎥⎦⎤10 为单位矩阵 2E ⎢⎣⎡00⎥⎦⎤00 为零矩阵 →0已知⎩⎨=+fdy cx A=⎢⎣c⎥⎦⎤d 为二元一次方程组的系数矩阵 这二元一次方程组可写成⎢⎣⎡c a⎥⎦⎤d b ⎥⎦⎤⎢⎣⎡y x =⎥⎦⎤⎢⎣⎡f e1-A ⎥⎦⎤⎢⎣⎡f e =⎥⎦⎤⎢⎣⎡y x已知⎨⎧=+0by ax (其中d c b a ,,,是不全为0的常数) 则此二元一次方程组有非0解的充要条件是c ad b =0已知A=⎢⎣c⎥⎦d a =⎥⎦⎤⎢⎣fe 求特征值λ、特征向量→ξ和→a A n令=)(λf ca --λdb--λ=0 解出21λλλλ==或当1λλ= 当 2λλ=⎩⎨⎧=-+-=--0)(011y d cx by x a λλ)( ⎩⎨⎧=-+-=--0)(022y d cx by x a λλ)( ⎥⎦⎤⎢⎣⎡=∴→111y x ξ ⎥⎦⎤⎢⎣⎡=∴→222y x ξ ⎥⎦⎤⎢⎣⎡=∴→111y x ξ是A 属于1λλ=的一个 ⎥⎦⎤⎢⎣⎡=∴→222y x ξ是A 属于2λλ=的一个特征向量 特征向量设→→→+=2211ξξk k a 得⎩⎨⎧==21k k∴→a A n=→→+222111ξλξλn nk k。
摄像机矩阵和投影矩阵推导
坐标系旳转换和矩阵
后续旳内容主要统计World坐标系转换之后旳Camera 坐标系,Projection坐标系旳转换。
接下来统计旳转换矩阵推导,是用DirectX来举例。实 际上,这些推导过程在OpenGL上也是一样旳,假如 有差别,也是某些数值上旳细微差别,例如DirectX旳 远近裁剪面定为[0~1],而OpenGL旳定为[-1~1]。
z
向量B
向量A x
减法
• 平移向量A到
向量A’,因为是
y
A-B,所以连接B
旳尾部到A’旳尾部,
向量A’
z 向量C
向量A
使是A-B
• 平移向量B也能得到一样旳成果
向量旳基本运算:点乘
Dot Product,又叫点乘或点积,定义为:
如上式所示,点乘旳成果是一种标量。背面我们将要 证明该标量和 有关,其中 是这两个向量旳夹角, 也即是说,从两个向量点乘旳成果能得出它们之间旳 夹角。这就是点乘旳价值所在。
阐明
写统计最艰难莫过于公式编辑了,每一种数学式子, 都是从Word里面用公式编辑器编辑好,再复制过来, 更悲剧旳事情是PPT貌似不支持公式,它把复制过来 旳公式直接变成图片了。
可见我是多用心。
点和(方向)向量
数值上,都是用{x,y,z}表达。 前者表达位置,后者表达方向。
因表征意义不同,图形库一般以Point类和Vector类体 现两者,但它们在数值层面是一致旳。
Model坐标系
模型坐标系,也叫Local坐标系。例如我们在 3DMax,MAYA等建模工具中建立我们旳人物模型时, 模型中旳顶点坐标值就是Model坐标系旳值。设想我 们有多种人物模型,那么每一种模型都有属于自己旳 Model坐标系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[ k x 0] ,
q′ k= = k y [1 = 0] xq 0 k y ,
得到缩放矩阵:
kx S ( kx , k y , kz ) = 0 0 0 ky 0 0 0 kz
2
kx [ x y z] 0 0
同样的原理运用在 3D 中
p = [1 0 0] ,
2 1 + ( k − 1) nx = p′ ( k − 1) nx n y , ( k − 1) nx nz Τ
q = [ 0 1 0] ,
( k − 1) nx n y 2 q′ = 1 + ( k − 1) n y , ( k − 1) n y nz ( k − 1) nx nz = r′ ( k − 1) n y nz . 2 1 + ( k − 1) nz
P 是 projection(投影)的缩写,2D 中, Px 表示向 x 轴投影, Py 同理:
1 0 = Px S = ([0 1] , 0 ) 0 0 , 0 0 Py S = = ([1 0] , 0 ) 0 1 , 3D 中, Pxy 表示向 xy 平面投影,其余同理:
4
3 正交投影
投影意味和降维操作, 将所有的点拉平到要投影的直线或平面上,从原来的 点到投影点的直线相互平行,这就是正交投影。透视投影是另一种投影。
3.1 向坐标轴或平面上投影
通过将垂直方向上缩放因子设为 0 来实现,如将 3D 点投影到 xy 平面,则抛 弃 z 分量,通过将 z 方向上的缩放因子设为 0 实现。
8
1 0 0 H xz ( s, t ) = s 1 t , 0 0 1 1 s t H yz ( s, t ) = 0 1 0 . 0 0 1
9
v = v + v ⊥ , v 是 v 在 n 上的投影
v= n (v ⋅n ) ,
v ⊥ 垂直于 n ,不会受缩放影响
, n ′ v = v = v - v = v - v ⋅ n ⊥ ⊥
( )
v′ 受缩放因子影响
n , = v′ k= v k v ⋅ n
( )
7
如下图, 这是 x 坐标根据 y 坐标的切变, 机器人的 y 坐标没有变化, 只有 x 坐 标变化了, 变化后的坐标 x′ 可以理解为将 y 坐标乘以切变因子 s 与原坐标 x 的和:
x′= x + sy 。如果是 3D 则增加 z 坐标的切变因子 t : x′= x + sy , y′ = y + tz
矩阵变换:沿任意方向缩放、镜像、正交投影及切变及其推 导 目录
1 简介 ............................................... 2 2 缩放 ............................................... 2 2.1 沿坐标轴缩放 .................................. 2 2.2 沿任意方向缩放 ................................ 3 3 正交投影 ........................................... 5 3.1 向坐标轴或平面上投影........................... 5 3.2 向任意指向或平面投影........................... 6 4 镜像 ............................................... 6 5 切变 ............................................... 7
1
1 简介
镜像、 正交投影和切变的推导都可根据缩放变形而来。在要缩放方向上去缩 , k > 1 ,物体“膨胀” ; k = 0 ,正交投影; 放因子 k ,如果 k < 1 ,物体“收缩”
k < 0 ,镜像;切边稍有不同。
2 缩放
2.1 沿坐标轴缩放
2D 中有两个缩放因子 k x 和 k y , p 和 q 是原来的基向量,缩放因子单独影响 基向量,得到 p′ 和 q′ :; v =v - v⋅n n + k v ⋅ n n =v + ( k − 1) v ⋅ n n.
( )
( )
( )
通过表达式来推导基向量
p = [1 0] ,
3
1 nx nx =1 + ( k − 1) n p′ =p + ( k − 1) p ⋅ n 0 ⋅ n 0 y ny
3.2 向任意指向或平面投影
定义,通过使 n 方向上的缩放因为 0 就能 投影有垂直于直线或平面的向量 n 的轴或平面投影矩阵, 表示向垂直于向量 n 导出任意方向的投影矩阵。 P n 方向上的缩放因子为 0 的缩放矩阵。 , 0 表示在 n S n
()
( )
2D:
2 1 + ( 0 − 1) nx ( 0 − 1) nx ny = = P n S n, 0 2 ( 0 − 1) nx n y 1 + ( 0 − 1) n y 2 1 − nx − nx n y . = 2 − nx n y 1 − n y
() ( )
3D:
2 1 + ( 0 − 1) nx ( 0 − 1) nx ny ( 0 − 1) nx nz 2 P n = S n, 0 = ( 0 − 1) nx n y 1 + ( 0 − 1) n y ( 0 − 1) ny nz ( 0 − 1) nx nz ( 0 − 1) n y nz 1 + ( 0 − 1) nz2
2 1 + ( −1 − 1) nx ( −1 − 1) nx ny = − = , 1 R n S n 2 ( −1 − 1) nx n y 1 + ( −1 − 1) n y 2 1 − 2nx −2nx n y = . 2 −2nx n y 1 − 2n y
() (
)
2 1 − 2 nx = −2nx n y −2nx nz
−2nx n y 2 1 − 2n y −2nx nz
−2nx nz −2n y nz . 1 − 2nz2
5 切变
切变是坐标系的变换,非均匀的拉伸。切变时候,角度变化,但是面积或体 积不变。也可以理解为坐标轴间的角度变化,造成的扭曲。
() (
)
2 1 + ( −1 − 1) nx ( −1 − 1) nx ny ( −1 − 1) nx nz , −1 = ( −1 − 1) n n 1 + ( −1 − 1) n 2 ( −1 − 1) n n = S n R n x y y y z ( −1 − 1) nx nz ( −1 − 1) n y nz 1 + ( −1 − 1) nz2
() ( )
2 1 − nx = − nx n y − nx nz
− nx n y 2 1 − ny − nx nz
− nx nz − n y nz . 1 − nz2
4 镜像
也叫做反射,与正交投影相似,正交投影将缩放值 k 设为 0,而镜像则设为 -1。
6
R 是 reflect(反射)的缩写。2D:
1 0 0 = Pxy S = ([0 0 1] , 0 ) 0 1 0 , 0 0 0
5
1 0 0 = = Pxz S ([ 0 1 0] , 0 ) 0 0 0 , 0 0 1 0 0 0 0 1 0 , Pyz S = = ([1 0 0] , 0 ) 0 0 1
q = [ 0 1] ,
( k − 1) nx n y q′ = , 2 1 + k − 1 n ( ) y 通过基向量构建矩阵,得到以单位向量 n 为缩放方向,以 k 为缩放因子的缩 放矩阵
p′ = S n ,k = q′
( )
2 1 + ( k − 1) nx ( k − 1) nx ny . 2 ( k − 1) nx n y 1 + ( k − 1) n y
0 ky 0
0 0 = kx x k y y kz z kz
2.2 沿任意方向缩放
设 n 为平行于缩放方向的单位向量, k 为缩放因子,缩放沿着穿过原点的并 平行于 n 的直线(2D 中)或平面(3D)进行。 先讨论 2D 中的推导过程。我们需要推导一个表达式,给定向量 v ,可以通 过 v 、 n 和 k 来计算 v′ 。将 v 和 v′ 分解为平行和垂直于 n 的分向量
( )
2 nx 1 ( k − 1) nx 1 = + ( k − 1) nx = + 0 ny 0 ( k − 1) nx n y 2 1 + ( k − 1) nx = , ( k − 1) nx n y
2D 中切变矩阵为:
x 坐标根据 y 坐标的切变
1 0 Hx (s) = , s 1
y 坐标根据 x 坐标的切变
1 s Hy (s) = , 0 1
x, y 坐标被 z 坐标的切变
1 0 0 H xy ( s, t ) = 0 1 0 , s t 0
Τ
Τ
r = [ 0 0 1] ,
, k 表示缩放矩阵 是 scale(缩放)的缩写 S n