用于WPF的Telerik UI免费下载30天试用版

相机的行为

相机行为允许您使用输入设备(鼠标或触摸)控制视角。要启用该行为,您可以添加一个Chart3DCameraBehavior对象中的行为收集RadCartesianChart3D控制。

示例1:定义相机行为

< telerik: RadCartesianChart3D > < telerik: RadCartesianChart3D。行为>   
此外,您可以通过行为的属性手动控制相机。

旋转摄像机

当你在图表上下移鼠标并移动鼠标时,摄像头就会旋转。你可以使用行为FirstAngleSecondAngle属性手动旋转相机。

图1:旋转摄像机

WPF RadChartView3D旋转相机

例2:设置相机角度

FirstAngle是向右轴与摄像机位置与地块中心之间的直线在水平面上的投影之间的夹角。向右的轴被认为是当一个轴向上而另一个轴向观察者方向时向右的轴。水平面被认为是由右轴和朝向观察者的轴定义的平面。

图2:FirstAngle示例

WPF RadChartView3D FirstAngle的例子

SecondAngle之间的角度是UpDirection轴和摄像机位置与绘图区域中心之间的连线。

图3:SecondAngle示例

WPF RadChartView3D SecondAngle的例子

相机行为允许您定义自定义键组合,在拖动时激活旋转。你可以通过DragToRotateKeyCombinations收集。

示例3:定义拖动-旋转键组合

ChartKeyCombination = new ChartKeyCombination();keyCombination.Keys.Add (Key.LeftCtrl);keyCombination.MouseButtons.Add (MouseButton.Right);cameraBehavior.DragToRotateKeyCombinations.Add (keyCombination);
示例3演示如何将左键和鼠标右键设置为允许旋转相机的键组合。移动鼠标时按左键ctrl和鼠标右键将改变旋转角度。

改变拍摄距离

要改变距离,可以使用鼠标滚轮。你可以使用距离属性来手动控制它。

图4:改变相机距离

WPF RadChartView3D改变相机距离

例4:改变距离

距离对于不同的相机有不同的含义。当一个PerspectiveCamera在使用中,距离是摄像机所在球体的半径。当一个OrthographicCamera在使用中,距离是相机的宽度。

改变视野角度

要更改视场,可以使用转变键和鼠标滚轮.你可以使用FieldOfView属性以手动更改视图字段。

视场角度只能用PerspectiveCamera

图5:改变相机距离

WPF RadChartView3D改变相机距离

例5:手动设置视场


相机行为允许您定义自定义修改键,以激活鼠标滚轮上的视图域更新。你可以通过FieldOfViewModifierKeys收集。当至少按下其中一个键时,视场将被更新。

示例6:定义视图修饰符键的字段

cameraBehavior.FieldOfViewModifierKeys.Add (Key.F);
例子6说明如何将F键定义为视图修饰符键的字段。按F键并滚动鼠标滚轮将改变视场角度。

限制摄像头

你可以使用MaxDistanceMinDistanceMinSecondAngleMaxSecondAngle属性来限制摄像机可以观察到的区域。

例7:限制摄像头

了方向

相机的向上方向由UpDirection属性,它是三维向量.默认的向上方向是Z轴。

当相机行为被启用时,灯光方向由相机位置决定。所以,当你旋转相机时,灯光也会相应地旋转相机。控件可以切换此行为CameraBehavior3D。IsRotationEnabled附加属性。其默认值为真正的.为了避免旋转灯,你可以将它设置为.当你想用静态灯光照亮场景时,这是很有用的。

例8:在XAML中禁用灯的自动旋转

< telerik: RadCartesianChart3D。灯> 

例9:在代码中禁用灯的自动旋转

Chart3DCameraBehavior。SetIsRotationEnabled(光、假);

另请参阅

在本文中
Baidu
map