using _3DTools; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; 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.Animation; using System.Windows.Media.Imaging; using System.Windows.Media.Media3D; using System.Windows.Navigation; using System.Windows.Shapes; namespace _20230724_MBJC_upperpc.Views { /// /// FirstPageView.xaml 的交互逻辑 /// public partial class FirstPageView : UserControl { //每个三维模型的模板 public Single single { get; set; } = new Single(); public FirstPageView() { InitializeComponent(); this.DataContext = single; //initialTransform = tra.Transform; } private async void re(List End) { await Task.Run(() => { for (int i = 0; i < End.Count; i++) { float a = single.Rotate_X; float b = single.Rotate_Y; float c = single.Rotate_Z; for (int j = 0; j < 100; j++) { Thread.Sleep(10); single.Rotate_X += (End[i].Rotate_X - a) / 100; single.Rotate_Y += (End[i].Rotate_Y - b) / 100; single.Rotate_Z += (End[i].Rotate_Z - c) / 100; } } //for (int i = 0; i < 6000; i++) //{ // Thread.Sleep(1); // //single.Rotate_X += 0.1f; // single.Rotate_Y += 0.1f; // //single.Rotate_Z += 0.1f; //} }); } private void TrackballDecorator_MouseUp(object sender, MouseButtonEventArgs e) { Console.WriteLine(); } private void Button_Click_1(object sender, RoutedEventArgs e) { re(new List { new Single() { Rotate_X = -90, Rotate_Y = -90, Rotate_Z = 0 } }); } private void Button_Click(object sender, RoutedEventArgs e) { //re(new List { new Single() { Rotate_X = -180, Rotate_Y = -90, Rotate_Z = 0 }, //new Single() { Rotate_X = -90, Rotate_Y = -90, Rotate_Z = 0 }, //new Single() { Rotate_X = -90, Rotate_Y = -180, Rotate_Z = 0 }, //new Single() { Rotate_X = -90, Rotate_Y = -90, Rotate_Z = 0 }, //new Single() { Rotate_X = -90, Rotate_Y = -90, Rotate_Z = 90 }, //new Single() { Rotate_X = -90, Rotate_Y = -90, Rotate_Z = 0 }}); re(new List { new Single() { Rotate_X = -90f + 2.02f, Rotate_Y = -90f + 0.41f, Rotate_Z = 0.05f } }); } private void Button_Click_2(object sender, RoutedEventArgs e) { re(new List { new Single() { Rotate_X = -90f - 95.42f, Rotate_Y = -90f + 0.04f, Rotate_Z = 0.97f } }); } private void Button_Click_3(object sender, RoutedEventArgs e) { re(new List { new Single() { Rotate_X = -90f + 12.71f, Rotate_Y = -90f + 0.01f, Rotate_Z = 0.27f } }); } private void Button_Click_4(object sender, RoutedEventArgs e) { re(new List { new Single() { Rotate_X = -90f + 11.41f, Rotate_Y = -90f + 0.62f, Rotate_Z = 0f } }); } private void Button_Click_5(object sender, RoutedEventArgs e) { re(new List { new Single() { Rotate_X = -90f + 44.73f, Rotate_Y = -90f + 0.05f, Rotate_Z = 0.51f } }); } private void Button_Click_6(object sender, RoutedEventArgs e) { re(new List { new Single() { Rotate_X = -90f + -175.85f, Rotate_Y = -90f + 89.52f, Rotate_Z = -175.78f } }); } private void Button_Click_7(object sender, RoutedEventArgs e) { re(new List { new Single() { Rotate_X = -90f + 175.78f, Rotate_Y = -90f + 89.5f, Rotate_Z = -175.88f } }); } private void Button_Click_8(object sender, RoutedEventArgs e) { re(new List { new Single() { Rotate_X = -90f + -169.69f, Rotate_Y = -90f + 89.24f, Rotate_Z = -170.25f } }); } } }