主要内容

理解视图投影

两种类型的投影

MATLAB®图形支持正字法和透金宝app视投影类型来显示3-D图形。你选择的一个取决于你要显示的图形类型:

  • 拼字正确的项目的将体积视为一个矩形平行六面体(即,一个对边平行的盒子)。与相机的相对距离不会影响物体的大小。当需要保持对象的实际大小和对象之间的角度时,这种投影类型非常有用。

  • 的角度来看将观景体投影为金字塔的截锥(金字塔的顶端被平行于底部切断)。距离导致透视缩短;离相机越远的物体看起来越小。当您想要显示真实对象的真实视图时,此投影类型非常有用。

默认情况下,MATLAB使用正投影显示对象。属性设置投影类型camproj命令。

这些图片显示了一辆自卸卡车的图纸(由补丁)和数学函数的曲面图,两者都使用正投影。

如果你测量一下自卸卡车围箱的前后面宽度,你会发现它们的大小是一样的。这张照片看起来不自然,因为它缺乏你在观察有深度的真实物体时所看到的明显透视。另一方面,曲面图准确地表示了矩形空间内函数的值。

现在看看添加了透视的相同图形对象。自卸卡车看起来更自然,因为卡车离观众远的部分看起来更小。这种投影模仿了人类视觉的工作方式。另一方面,表面图看起来扭曲了。

投影类型和相机位置

默认情况下,MATLAB调整CameraPositionCameraTarget,CameraViewAngle属性将摄像机指向场景的中心,并在坐标轴中包含所有图形对象。如果相机的位置使相机后面有图形对象,则显示的场景可能受到这两个轴的影响投影属性和图形渲染器财产。下面总结一下投影类型之间的相互作用以及渲染方法。

拼字正确的

的角度来看

OpenGL®

CameraViewAngle确定场景的范围CameraTarget

CameraViewAngle确定场景的范围CameraPosition到无穷。

画家

所有对象都将显示CameraPosition

方法后面的图形对象不推荐使用CameraPosition

这个图表说明了您在使用时所看到的(灰色区域)正投影和OpenGL。镜头前的任何东西都是可见的。

透视投影,你只能看到摄像头视角锥体中可见的东西。

画家渲染方法不太适合在三维空间中移动摄像机,因为MATLAB不沿着观察轴进行剪辑。在画家的方法中,正交投影的结果是,无论相机的位置如何,场景中包含的所有物体都是可见的。

打印3d场景

在硬拷贝输出中也会出现上一节中描述的相同效果。您应该显式地指定opengl打印以获得显示在屏幕上的结果(使用-opengl选项中的打印命令)。