主要内容

通过现场移动相机

总结技术

穿越是一种通过三维空间效应由移动相机,给人的印象,你是飞行的相机好像一架飞机。你可以穿越区域的一个场景,否则可能会被场景中的对象或者你可以飞的场景通过保持镜头集中在一个特定的点。

完成这些影响你移动相机沿着特定路径x -轴为例,在一系列的步骤。产生一个穿越,移动相机位置和摄像机目标在同一时间。

下面的例子使用了fly-though效果查看内部的等值面绘制在一个卷风速度的定义为一个向量场。这个数据代表气流在北美。

此示例使用可视化技术。它使用

  • 等值面和锥情节来说明流过体积

  • 灯光照亮的等值面和视锥细胞体积

  • 流定义路径相机行到体积

  • 协调运动的摄像机位置,相机目标,光

图数据量

第一步是画出等值面使用锥情节和情节的空气流。

看到等值面,isonormals,reducepatch,coneplot使用这些命令的信息。

设置数据纵横比(daspect)(1,1,1)画前锥阴谋使MATLAB®软件计算锥正确的大小最终的观点。

负载wind_speed = sqrt (u。^ 2 + v。^ 2 + w。^ 2);图p =补丁(等值面(x, y, z wind_speed 35));wind_speed isonormals (x, y, z, p) p。FaceColor = (0.75, 0.25, 0.25);p。EdgeColor = (0.6, 0.4, 0.4);(f, vt) = reducepatch(等值面(x, y, z, wind_speed 45), 0.05);daspect ((1 1 1));hcone = coneplot (x, y, z, u, v, w, vt (: 1), vt (:, 2), vt (:, 3), 2);hcone。FaceColor =“蓝”;hcone。EdgeColor =“没有”;

设置视图

您需要定义查看参数,以确保现场显示正确:

  • 选择一个透视投影提供深度的知觉的相机通过内部等值面(camproj)。

  • 设置相机视角固定值可以防止MATLAB自动调整角度以涵盖整个场景以及放大所需的金额(camva)。

    camproj的角度来看camva (25)

指定光源

定位相机的光源位置和修改的反射特征的等值面和视锥细胞增强了现实主义的场景:

  • 创建一个光源在相机位置提供了一个“头灯”,沿着通过等值面与相机内部(camlight)。

  • 设置反射属性的等值面给黑暗的室内的外观(AmbientStrength组与高反光材料(0.1)SpecularStrengthDiffuseStrength设置为1)。

  • 设置SpecularStrength1的锥高度反光的。

    hlight = camlight (头灯的);p。AmbientStrength = 1;p。SpecularStrength = 1;p。DiffuseStrength = 1;hcone。SpecularStrength = 1;集(gcf,“颜色”,“k”甘氨胆酸)组(,“颜色”,(0,0,0.25])

选择照明方式

使用高洛德流畅的照明的照明:

照明高洛德

相机路径定义为一个流

流线条表示向量场的方向流动。下面的例子使用了x -,y -,z -一个流水线地图的坐标数据路径通过体积。相机然后沿着这条路。这些任务包括

  • 创建一个流行起始点x = 80,y = 30,z = 11

  • 得到了x -,y -,z -流水线的坐标数据。

  • 删除流水线(您也可以使用stream3计算流水线数据没有实际绘制流水线)。

    hsline =简化(x, y, z, u, v, w, 80年,30岁,11);xd = hsline.XData;码= hsline.YData;zd = hsline.ZData;删除(hsline)

实现穿越

创建一个穿越,移动相机位置和相机目标沿着同样的道路。在这个例子中,相机沿着目标放置五元素x设在比相机。一个较小的值添加到相机目标x位置防止相机的位置和目标点如果条件相同xd (n) = xd (n + 5)应该发生:

  • 更新相机位置和相机的目标,这样他们都沿着流水线的坐标。

  • 移动光线和相机。

  • 调用drawnow显示每个行动的结果。

    i = 1:长度(xd) 5坎波斯([xd(我)码(我),zd (i)]) camtarget ([xd (i + 5) +分钟(xd) / 500码(我),zd (i)]) camlight (hlight,头灯的)drawnow结束

看到coneplot对于一个固定的相同的数据可视化。