主要内容

ViewMtx

查看转换矩阵

句法

ViewMtx
t = ViewMtx(AZ,EL)
t = ViewMtx(AZ,EL,Phi)
t = ViewMtx(AZ,EL,Phi,XC)

描述

ViewMtx计算一个4 x-4的正交或透视转换矩阵,该矩阵将四维均匀向量投射到二维视图表面(例如,您的计算机屏幕)。

t = ViewMtx(AZ,EL)返回拼字法对应于方位角的转换矩阵AZ和海拔ElAZ是视图点的方位角(即水平旋转)。El是观点的高度。

t = ViewMtx(AZ,EL,Phi)返回a看法转换矩阵。是视角视角以度为单位。是标准化图立方体(以度为单位)的子倾视角度,并控制透视扭曲的量。

描述

0度

拼字图

10度

类似于远摄镜头

25度

与正常镜头相似

60度

类似于广角镜头

t = ViewMtx(AZ,EL,Phi,XC)使用透视转换矩阵返回XC作为标准化图立方体内的目标点(即,相机正在查看点XC)。XC是视图中心的目标点。您将重点指定为三元素向量,XC = [XC,YC,ZC],在间隔[0,1]中。默认值是XC = [0,0,0]

通过将1添加到相应的三维矢量中,形成了四维均匀矢量。例如,[X,Y,Z,1]是对应于三维点的四维矢量[X,Y,Z]

例子

全部收缩

使用默认视图方向确定对应于三维点(0.5,0.0,-3.0)的投影二维矢量。请注意,该点是列向量。

a = viewMtx(-37.5,30);x4d = [.5 0 -3 1]';x2d = a*x4d;x2d = x2d(1:2)
x2d =2×10.3967 -2.4459

创建向量来追踪单位立方体的边缘。

x = [0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0];y = [0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1];z = [0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0];

将这些向量中的点转换为屏幕,然后绘制对象。

a = viewMtx(-37.5,30);[m,n] = size(x);x4d = [x(:),y(:),z(:),一个(m*n,1)]';x2d = a*x4d;x2 =零(m,n);y2 =零(m,n);x2(:) = x2d(1,:);y2(:) = x2d(2,:);情节(x2,y2)

图包含一个轴对象。轴对象包含一个类型行的对象。

使用25度视角的透视转换。

a = ViewMtx(-37.5,30,25);x4d = [.5 0 -3 1]';x2d = a*x4d;x2d = x2d(1:2)/x2d(4)
x2d =2×10.1777 -1.8858

将立方体向量转换为屏幕并绘制对象。

a = ViewMtx(-37.5,30,25);[m,n] = size(x);x4d = [x(:),y(:),z(:),一个(m*n,1)]';x2d = a*x4d;x2 =零(m,n);y2 =零(m,n);x2(:) = x2d(1,:)/x2d(4,:);y2(:) = x2d(2,:)/x2d(4,:);情节(x2,y2)

图包含一个轴对象。轴对象包含一个类型行的对象。

版本历史记录

在R2006a之前引入

也可以看看

|