20230724_MBJC_upperpc/Views/FirstPageView.xaml.cs

124 lines
4.4 KiB
C#
Raw Normal View History

2023-11-20 05:11:09 +00:00
using _3DTools;
using System;
2023-10-24 02:41:55 +00:00
using System.Collections.Generic;
using System.Linq;
using System.Text;
2023-11-13 07:46:12 +00:00
using System.Threading;
2023-10-24 02:41:55 +00:00
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;
2023-11-20 05:11:09 +00:00
using System.Windows.Media.Animation;
2023-10-24 02:41:55 +00:00
using System.Windows.Media.Imaging;
2023-11-16 08:18:55 +00:00
using System.Windows.Media.Media3D;
2023-10-24 02:41:55 +00:00
using System.Windows.Navigation;
using System.Windows.Shapes;
2023-11-15 05:34:33 +00:00
namespace _20230724_MBJC_upperpc.Views
2023-10-24 02:41:55 +00:00
{
2023-11-16 08:18:55 +00:00
2023-11-15 05:34:33 +00:00
2023-10-24 02:41:55 +00:00
/// <summary>
2023-11-15 05:34:33 +00:00
/// FirstPageView.xaml 的交互逻辑
2023-10-24 02:41:55 +00:00
/// </summary>
2023-11-15 05:34:33 +00:00
public partial class FirstPageView : UserControl
2023-10-24 02:41:55 +00:00
{
2023-11-15 05:34:33 +00:00
2023-11-20 05:12:09 +00:00
//每个三维模型的模板
2023-11-13 07:46:12 +00:00
public Single single { get; set; } = new Single();
2023-11-15 05:34:33 +00:00
public FirstPageView()
2023-10-24 02:41:55 +00:00
{
InitializeComponent();
2023-11-13 07:46:12 +00:00
this.DataContext = single;
2023-11-20 05:11:09 +00:00
//initialTransform = tra.Transform;
2023-11-13 07:46:12 +00:00
}
2023-11-15 05:34:33 +00:00
2023-11-13 07:46:12 +00:00
private async void re(List<Single> End)
{
await Task.Run(() =>
2023-11-15 05:34:33 +00:00
{
for (int i = 0; i < End.Count; i++)
2023-11-13 07:46:12 +00:00
{
2023-11-15 05:34:33 +00:00
float a = single.Rotate_X;
float b = single.Rotate_Y;
float c = single.Rotate_Z;
for (int j = 0; j < 100; j++)
2023-11-13 07:46:12 +00:00
{
2023-11-15 05:34:33 +00:00
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;
2023-11-13 07:46:12 +00:00
}
2023-11-15 05:34:33 +00:00
}
//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;
//}
});
2023-10-24 02:41:55 +00:00
}
2023-11-16 08:18:55 +00:00
private void TrackballDecorator_MouseUp(object sender, MouseButtonEventArgs e)
{
Console.WriteLine();
}
2023-11-20 05:11:09 +00:00
2023-12-15 08:14:17 +00:00
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 } });
}
2023-10-24 02:41:55 +00:00
}
}