【线性代数】正交投影
2016-03-25 14:26
260 查看
我们在初中就应该学过投影。那么什么是投影呢?形象点说,就是将你须要投影的东西上的每一点向你要投影的平面作垂线,垂线与平面的交点的集合就是你的投影。
注意这里我们的投影是向量的投影,几何的投影(并不一定是垂直投影的)可见度娘百科。
相同的,我们从简单的二维投影来開始讨论。
上图表示的是,向量b在向量a上的投影。显然有例如以下表达式:
当中,P为投影矩阵,由P的表达式能够看出,它具有例如以下性质:
e是垂直与平面的向量。
因为p向量在平面上。则p向量能够由该平面的2个线性无关向量(正如。在xy平面的不论什么向量都能够由x轴,y轴表示)表示:
因为e垂直平面,则e向量垂直与平面中的随意向量。则有:
将上式化简求得x:
又由于p=Ax,Pb=p,则得到投影矩阵为:
由P的表达式能够看出,它具有例如以下性质:
上面的投影矩阵是通式。当投影在一维情况时,A即为直线上的随意一个向量a,投影矩阵为:
注意:一个数值的逆是它的倒数。
如上图,如果我们要将向量b投影到水平面上。其投影为p,a1,a2为水平面的两个线性无关向量,它们的參数分别为:
那么A=[a1 a2]即:
由上面我们求得的通式,可得投影矩阵P:
知道投影矩阵P后。我们能够得到b在水平面上的投影p为:
显然,p与我们图中所看到的的结果同样。这里我们是以三维情况进行举例的,更高维情况。我们无法用图像来描写叙述,可是通式也是成立的。
三维图的matlab程序例如以下:
原文:/article/1329649.html
作者:nineheadedbird
注意这里我们的投影是向量的投影,几何的投影(并不一定是垂直投影的)可见度娘百科。
相同的,我们从简单的二维投影来開始讨论。
1、二维投影
上图表示的是,向量b在向量a上的投影。显然有例如以下表达式:
当中,P为投影矩阵,由P的表达式能够看出,它具有例如以下性质:
2、三维投影
三维投影,就是将一个向量投影到一个平面上。同上面一样,如果是将b向量投影到平面上的p向量,则有表达式:e是垂直与平面的向量。
因为p向量在平面上。则p向量能够由该平面的2个线性无关向量(正如。在xy平面的不论什么向量都能够由x轴,y轴表示)表示:
因为e垂直平面,则e向量垂直与平面中的随意向量。则有:
将上式化简求得x:
又由于p=Ax,Pb=p,则得到投影矩阵为:
由P的表达式能够看出,它具有例如以下性质:
上面的投影矩阵是通式。当投影在一维情况时,A即为直线上的随意一个向量a,投影矩阵为:
注意:一个数值的逆是它的倒数。
3、举例说明
以下以一个实例来说明:如上图,如果我们要将向量b投影到水平面上。其投影为p,a1,a2为水平面的两个线性无关向量,它们的參数分别为:
那么A=[a1 a2]即:
由上面我们求得的通式,可得投影矩阵P:
知道投影矩阵P后。我们能够得到b在水平面上的投影p为:
显然,p与我们图中所看到的的结果同样。这里我们是以三维情况进行举例的,更高维情况。我们无法用图像来描写叙述,可是通式也是成立的。
三维图的matlab程序例如以下:
clear all clc a1=[1 0 0]; a2=[0 1 0]; b=[1 1 1]; p=[1 1 0]; e=b-p; quiver3(0,0,0,a1(1),a1(2),a1(3),1,'color','r') hold on quiver3(0,0,0,a2(1),a2(2),a2(3),1,'color','r') hold on quiver3(0,0,0,b(1),b(2),b(3),1,'color','g') hold on quiver3(0,0,0,p(1),p(2),p(3),1,'color','g') hold on quiver3(p(1),p(2),p(3),e(1),e(2),e(3),1,'color','b')
原文:/article/1329649.html
作者:nineheadedbird
相关文章推荐
- 利用 ipset 封禁大量 IP
- 手把手生成决策树(dicision tree)
- IE浏览器兼容iframe跳转
- 解决webuploader 点击上传文件时,每调用上传函数后,上传文件框就会变大的问题
- mysql启动报错
- Java 之NIO(二) - Channel
- 数据库的并发操作与数据的不一致性
- Fresco 由缓存转Bitmap
- 分治和递归
- 第八章 虚拟机字节码执行引擎
- java 小结 (二)
- postgresql9常用命令
- extjs 文本框后加一个按钮或 文字
- sqlite3-递归查询
- php 通过ftp上传文件
- JQuery BlockUI插件
- Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结
- 機器學習基石 (Machine Learning Foundations) 作业1 Q15-17的C++实现
- concurrent 包
- android中级开发面试总结