摄像头
图:Camera 属性
摄像头类型、位置、距离和朝向一起决定了3D的视角。用 RotationX, RotationY, RotationZ 和ViewDistance 可设置摄像头在3D模型空间中的位置。通过设置Target属性,可以将摄像头对准优先选定的方向。
用Projection属性可选择投影类型。
• Perspective,显示一个具有真实感的投影。
• Orthographic, 此为在科学和工程应用中使用的投影类型。比起OrthographicLegacy更推荐用此选择。
• OrthographicLegacy,(相当于在LightningChart v.8.3或更早的版本中设置OrthoGraphicCamera = True)。相比Orthographic而言,这在缩放后渲染更慢 。它维护三维对象的大小,这在如果3D对象是在3D全局坐标(不是轴值)中定义的情况下,可维持3D对象的大小。而且,墙的厚度在缩放时会保持不变。缩放会改变维度尺寸,但不会影响ViewDistance.
RotationX, RotationY and RotationY can be limited by setting boundaries 通过 RotationXMinimum, RotationXMaximum、RotationYMinimum、RotationYMaximum、RotationZMinimum 和 RotationZMaximum 属性来设置边界可限制RotationX、RotationY 和 RotationY。
图:透视摄像头在3D空间的样子
图:3D空间的透视和正交摄像头视
缩放后的试图在Orthographic 和OrthographicLegacy 中的不同如下:
Orthographic
图:Orthographic 投影类型。左侧无缩放。右侧为放大后。飞机(MeshModel3D)对象的大小与其他对象一起在屏幕上扩大
OrthographicLegacy
图:OrthographicLegacy;左侧无缩放。右侧为放大。On the left, unzoomed. On the right, zoomed in. Airplane (MeshModel3D后续章节会详细分享)对象尺寸保持不变,但3D 尺寸改变了
预先设定摄像头
演示示例: Cameras and lights
用View3D.Camera的 SetPredefinedCamera 方法可设置一个预先设定好的摄像头。
[C#] 纯文本查看 复制代码 //设置预定义的摄像头方向
chart.View3D.Camera.SetPredefinedCamera(PredefinedCamera.BackOrthographic);
摄像头方向模式
在LightningChart v8.4及后续更新版本中,增加了一个新的摄像头方向模式与改进的摄像头方向定义。现在被设置为默认方向模式的新模式叫做ZXY_Extrinsic (此名称规定了维度轴的计算顺序)。它修复了许多基于旋转的问题,特别是在图表的两极附近(例如图表上方的摄像头)。之前的方向模式 XYZ_Mixed仍然可用,但很可能在未来的某个时候不宜再用。通过View3D.Camera.OrientationMode可以获取方向信息。
这种变更夜会对旋转进行修改。采用新的摄像头方向模式,其中一个轴方向(世界单位矢量)被用作鼠标水平旋转轴。这即是摄像头旋绕的轴。当RotationX、RotationY 或RotationZ属性改变时,轴的测定可自动完成。最靠近摄像头的向上方向的轴选做旋转轴,这样可使旋转在任何情况下都尽可能自然。
通过新的方向和旋转模型可以查看3D场景,这在以前是不可能的。
关于摄像头(3D系列)章节就分享到这里了,如果在实际应用中遇到技术问题或需要帮助,可以扫描下方微信二维码回复“学习” 可免费领取一套全功能板LightningChart数据可视化控件
后续我会不断更新LightingChart更详细的使用方法,写文不易,还望多多回复关注支持!谢谢! 最新版V10 LightningChart下载地址:猛击下载
|