上图表示的是,向量b在向量a上的投影。显然有如下表达式:
其中,P为投影矩阵,由P的表达式可以看出,它具有如下性质:
由于e垂直平面,则e向量垂直与平面中的任意向量,则有:
将上式化简求得x:
又因为p=Ax,Pb=p,则得到投影矩阵为:
由P的表达式可以看出,它具有如下性质:
上面的投影矩阵是通式,当投影在一维情况时,A即为直线上的任意一个向量a,投影矩阵为:
如上图,假设我们要将向量b投影到水平面上,其投影为p,a1,a2为水平面的两个线性无关向量,它们的参数分别为:
那么A=[a1 a2]即:
由上面我们求得的通式,可得投影矩阵P:
知道投影矩阵P后,我们可以得到b在水平面上的投影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')
原文:http://blog.csdn.net/tengweitw/article/details/41174555
作者:nineheadedbird