gpt4 book ai didi

c# - 在 WPF 应用程序中旋转 HelixViewport3D 中的对象

转载 作者:太空狗 更新时间:2023-10-30 00:51:17 26 4
gpt4 key购买 nike

我正在尝试使用 helixtoolkit 在 WPF 应用程序中显示一个 3d 对象,并根据沿 x、y、z 轴的 3 个变量(用户输入)旋转它。但是我在 helix 工具包中找不到旋转 3d 对象的函数。

C#代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Media.Media3D;
using HelixToolkit.Wpf;

namespace HelixTrial
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();

ModelImporter importer = new ModelImporter();
Model3D model = importer.Load("D:\\Crate1.obj");
Models.Content = model;

// need to apply rotation to the model using three x,y,z variables
}

}
}

XAML 代码

<Window x:Class="HelixTrial.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:HelixToolkit="clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Wpf"
Title="MainWindow" Height="500" Width="500">
<Grid Width="400" Height="400">
<HelixToolkit:HelixViewport3D x:Name="Viewport" ZoomExtentsWhenLoaded="True">
<HelixToolkit:SunLight/>
<ModelVisual3D x:Name="Models"/>
</HelixToolkit:HelixViewport3D>
</Grid>
</Window>

最佳答案

您无法在工具包中找到它,因为它是标准的 WPF function .所以在你的例子中它看起来有点像这样:

<ModelVisual3D x:Name="Models">
<ModelVisual3D.Transform>
<Transform3DGroup>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="1,0,0" Angle="{Binding varX}"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,1,0" Angle="{Binding varY}"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D Axis="0,0,1" Angle="{Binding varZ}"/>
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Transform3DGroup>
</ModelVisual3D.Transform>
</ModelVisual3D>

关于c# - 在 WPF 应用程序中旋转 HelixViewport3D 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28940267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com