我下面有绘制立方体的代码。我添加了两个鼠标事件。我想要在单击鼠标右键并在360中移动鼠标绕立方体旋转时 度。
<Viewport3D MouseMove="Viewport3D_MouseMove" MouseRightButtonDown="Viewport3D_MouseRightButtonDown">
<Viewport3D.Camera>
<PerspectiveCamera Position = "5 4 3" LookDirection = "-5 -4 -3">
</PerspectiveCamera>
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<AmbientLight />
</ModelVisual3D.Content>
</ModelVisual3D>
<ModelVisual3D x:Name="MyModel">
<ModelVisual3D.Content>
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D Positions="0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1"
TriangleIndices="1 2 0 1 3 2 3 7 2 7 6 2 2 6 4 2 4 0 7 4 6 7 5 4 5 7 3 3 1 5 4 5 0 5 1 0"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial x:Name = "matDiffuseMain">
<DiffuseMaterial.Brush>
<SolidColorBrush Color = "Yellow"/>
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>
</GeometryModel3D>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
我已经在代码GeometryModel3D.Transform中使用了,但是我不确定这是正确的方法还是在事件中的C#类中需要使用什么代码
<GeometryModel3D.Transform>
<Transform3DGroup>
<RotateTransform3D x:Name="Rotation">
<RotateTransform3D.Rotation>
<AxisAngleRotation3D x:Name="myVerticalRotation" Angle="0" Axis="0.5 0.5 0.5" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Transform3DGroup>
</GeometryModel3D.Transform>
基本上,我需要相对于鼠标移动围绕对象旋转。