MATLAB中的视角处理

view命令用来控制三维图形的观察点和视角,它的使用格式如下:

调用格式                                            说明

view(az,el)                                    给三维空间图形设置观察点的方位角az与仰角el

view([az,el])                                  同上

view([x,y,z])                                   将点(x,y,z)设置为视点

view(2)                                          设置默认的二维形式视点,其中az = 0,el = 90,即从z轴上方观看

view(3)                                          设置默认的三维形式视点,其中az = -37.5, ell = 30

view(T)                                          根据转换矩阵T设置视点,其中T为4*4阶的矩阵,如同用命令viewmtx生成的透视转换矩阵一样(注意:在2014版本中,这条命令好像没了)

[az,el]=view                                  返回当前的方位角az与仰角el

T = view                                         返回当前的4*4阶的转换矩阵T


方位角az与仰角el为这样两个旋转角度:作一通过视点与z轴的平面,则该平面与x-y平面有一交线,该交线与y轴的反方向的、换逆时针方向(从z轴的方向观察)计算的、单位为度的夹角,就是观察点的方位角az;若角度为负值,则按顺时针方向计算。在通过视点与z轴的平面上,用一直线连接视点与坐标原点,该直线与x-y平面的夹角就是观察点的仰角el;若仰角为负值,则观察点转换到曲面下面:

例:在同一窗口中绘制下面函数的各种视图


>> [X,Y] = meshgrid(-5:0.25:5);
>> Z = sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2);
>> subplot(2,2,1)
>> surf(X,Y,Z),title('三维视图')
>> subplot(2,2,2)
>> surf(X,Y,Z),view(90,0)
>> title('侧视图')
>> subplot(2,2,3)
>> surf(X,Y,Z),view(0,0)
>> title('正视图')
>> subplot(2,2,4)
>> surf(X,Y,Z),view(0,90)
>> title('俯视图')
>> 


在描述view命令的使用格式时提到了viewmtx命令,该命令用来计算一个4*4阶的正交的或透视的转换矩阵,该矩阵将一个四维向量转换到一个二维的视平面上。

viewmtx命令的使用格式如下:

调用格式                                                          说明

T = viewmtx(az,el)                                     返回一与视点的方位角az与仰角el(单位都为度)对应的正交矩阵,但不改变当前视点

T = viewmtx(az,el,phi)                              返回一透视的转换矩阵。其中参量phi是单位为度的透视角度,为标准化立方体(单位为度)的对像视角角度与透视扭曲程序

T = viewmtx(az,el,phi,xc)                         返回一在标准化的图形立方体中的点xc为目标点的透视矩阵(就像相机正对着点xc一样),目标点xc为视角的中心点。用户可以

                                                                     用一三维向量xc = [xc, yc ,zc]指定该中心点,每一分量都在区间[0,1]上,默认值为xc = [0 0 0]

其中phi的取值及说明见下表:

phi的取值                                                     说明

0°                                                               正交投影

10°                                                            类似于远距离投影

25°                                                            类似于普通投影

60°                                                            类似于广角投影

利用这个命令,用户可以通过使用其返回的矩阵。


  • 8
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab是一种常用的科学计算软件,可以用于多个领域的数据处理和分析。在天空视角散射辐射方面,Matlab可以进行相关计算和可视化操作。 在天空视角散射辐射研究,我们需要考虑空气的颗粒物、分子以及太阳辐射等因素对于光线传播的影响。Matlab有一些内置的函数和工具箱,如Atmospheric and Oceanic Sciences Toolbox(AOS Toolbox),它们可以用来模拟大气散射和辐射传输过程。 使用Matlab进行天空视角散射辐射计算的一种常用方法是使用大气模型。大气模型可以根据一系列参数,如天气条件、大气层厚度、颗粒物浓度等,模拟光线在不同角度和波长下的散射和吸收情况。我们可以使用Matlab编写代码,根据所选定的大气模型和参数,计算不同方向上的太阳和大气散射辐射强度。 此外,Matlab还可以用于可视化散射辐射结果。通过绘制图形或制作动画,我们可以更直观地了解散射辐射在不同天空视角下的分布和变化规律。Matlab提供了丰富的绘图函数和工具,我们可以使用它们对计算结果进行可视化,并进行数据分析和解释。 总之,Matlab是一种强大的工具,可用于天空视角散射辐射的计算和可视化。通过编写代码和使用内置函数和工具箱,我们可以模拟和分析不同环境下的散射辐射过程,并得到直观的可视化结果。这些功能使得Matlab成为研究天空视角散射辐射的重要工具之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值