我需要旋轉和平移對象。我有一個問題,我只能做其中的一個。我使用此代碼:旋轉和平移對象
RotateTransform3D myRotate = new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 0, 1), Convert.ToDouble(180)), new Point3D(0, 0, 0));
TranslateTransform3D myTranslate = new TranslateTransform3D(0, 0, 100);
ModelVisual3D device3D2 = new ModelVisual3D();
device3D2.Content = Display3d(MODEL_PATH2);
device3D2.Transform = myRotate;
device3D2.Transform = myTranslate;
viewPort3d.Children.Add(device3D2);
問題是它只做最後一次轉換。我的意思是,如果我應用「myRotate」第二個,它旋轉對象,但它不適用「myTranslate」操作。我需要做兩個轉換。
我也使用HelixToolkit。
我對這個框架一無所知,但很明顯問題是你正在設置'Transform'屬性,然後改變它。因此,在使用(通過視口)時,只使用最後一個。必須有一種方法來組合* transform對象,或者創建一個集合。 – musefan
是的,你是對的,謝謝!但...任何想法如何改善? :) – Imrik
有一個快速的樣子,但看不出任何明顯的。就我個人而言,我可能會玩Intellisense並尋找看起來可能幫助的類/方法,然後嘗試它們 – musefan