假設我有一個簡單的WPF 3D場景設置了一個矩形旋轉繞X軸,像這樣-45度:WPF 3D - 繞其自身的軸線模型
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera Position="0,0,4"/>
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<DirectionalLight Color="White" Direction="-1,-1,-3" />
</ModelVisual3D.Content>
</ModelVisual3D>
<ModelVisual3D>
<ModelVisual3D.Content>
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D Positions="-1,-1,0 1,-1,0 -1,1,0 1,1,0"
TriangleIndices="0,1,2 1,3,2"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="Red"/>
</GeometryModel3D.Material>
</GeometryModel3D>
</ModelVisual3D.Content>
<ModelVisual3D.Transform>
<Transform3DGroup>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="1,0,0" Angle="-45"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Transform3DGroup>
</ModelVisual3D.Transform>
</ModelVisual3D>
</Viewport3D>
這給了我以下:
alt text http://www.freeimagehosting.net/uploads/4aa48434a9.png
現在我想軸繞模型Z的圖像45度。如果我只是把第二RotateTransform3D在像這樣:
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,0,1" Angle="45"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
它周圍的場景的 Z軸旋轉。對於這個特殊的X旋轉我已經制定出我需要的是:
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,1,1" Angle="45"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
但是在這裏我的數學失敗了。任何人都可以告訴我如何解決任意X(和Y如果你想)旋轉?
什麼任意X和Y?這些角度,點,其他? – 2010-01-11 22:00:22
對不起,X和Y旋轉的任意角度。 – Grokys 2010-01-12 08:07:31