20230724_MBJC_upperpc/Views/FirstPageView.xaml.cs
2023-12-15 16:14:17 +08:00

124 lines
4.4 KiB
C#

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
{
/// <summary>
/// FirstPageView.xaml 的交互逻辑
/// </summary>
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<Single> 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<Single> { new Single() { Rotate_X = -90, Rotate_Y = -90, Rotate_Z = 0 } });
}
private void Button_Click(object sender, RoutedEventArgs e)
{
//re(new List<Single> { 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<Single> { 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<Single> { 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<Single> { 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<Single> { 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<Single> { 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<Single> { 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<Single> { 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<Single> { new Single() { Rotate_X = -90f + -169.69f, Rotate_Y = -90f + 89.24f, Rotate_Z = -170.25f } });
}
}
}