微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Helix Toolkit - 旋转 Model3D 将其中心分组

如何解决Helix Toolkit - 旋转 Model3D 将其中心分组

这是我的代码。我想通过其中心旋转卫星,但它通过(0,0)旋转。我找不到它的中心。我能做什么? satellite 我从串口获取滚转、偏航和俯仰数据,然后旋转卫星。

//Salih Gumusbuga copyright © 11 Jan 2021 

命名空间 WPF_3D_gettingStarted { 公共部分类 MainWindow : 窗口 { Model3DGroup 卫星; BoxVisual3D myBox;

    Model3D part;
    Form1 form1 = new Form1();

    public Model3D our_Model { get; set; }
    public Model3DGroup dondur(Model3DGroup uydu,double angle)
    {
        RotateTransform3D myRotateTransform = new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(1,0),0));
        myRotateTransform.CenterX = 0;
        myRotateTransform.CenterY = 0;
        myRotateTransform.CenterZ = 20;
        uydu.Transform = myRotateTransform;

        return uydu;
    }


    private void dispatcherTimer_Tick(object sender,EventArgs e)
    {
        satellite=dondur(satellite,form1.angle);
    }
    public MainWindow()
    {
        InitializeComponent();
        dispatcherTimer dispatcherTimer = new System.Windows.Threading.dispatcherTimer();
        dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
        dispatcherTimer.Interval = new TimeSpan(0,1);
        dispatcherTimer.Start();
        Loaded += MainWindow_Loaded;

        ModelImporter importer = new ModelImporter();
        Material material = new DiffuseMaterial(new SolidColorBrush(Colors.Beige));
        importer.DefaultMaterial = material;

        satellite = new Model3DGroup();
        m_helix_viewport.DefaultCamera = new PerspectiveCamera();
        m_helix_viewport.DefaultCamera.Position = new Point3D(400,0);
        m_helix_viewport.DefaultCamera.LookDirection = new Vector3D(-400,0);
        m_helix_viewport.DefaultCamera.UpDirection = new Vector3D(0,1);
        part = importer.Load(@"uydu/uydu.obj");
        

        satellite.Children.Add(part);

        this.our_Model = satellite;


        myBox = new BoxVisual3D();
        myBox.Height = 5;
        myBox.Width = 5;
        myBox.Length = 5;
        m_helix_viewport.Children.Add(myBox);


        overall_grid.DataContext = this;
    }

    private void MainWindow_Loaded(object sender,RoutedEventArgs e)
    {
        
        form1.Show();

    }


}

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。