我有一个主要Viewport3D
的mCamera
,由 控制TrackballDecorator
。我想要的是创建另一个Viewport3D
只有一个立方体来表示主视口上的当前相机方向。
这段代码:
Matrix3D TransformationMatrix = mCamera.Transform.Value;
// ?
OrientationCamera.Transform = new MatrixTransform3D(TransformationMatrix);
效果很好,除了我不想OrientationCamera
将缩放应用为主缩放(我希望它只是旋转)。
我可以看到,在使用主相机进行缩放操作时,只有矩阵的值M11
、M22
、M33
会发生变化,但是当我旋转它时它们也会发生变化,并且我尝试应用到这些值的任何更改都会导致我的预览立方体转换为意想不到的方式。
有谁知道如何ScaleTransform
从转换矩阵中丢弃?或者也许还有另一种方法可以做到这一点?