44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
|
Matrix3D RotateAt
|
||
|
|
||
|
<Window x:Class="WpfApplication1.Matrix3DTransforms"
|
||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||
|
Title="Matrix3D Transformations" Height="400" Width="600">
|
||
|
<StackPanel>
|
||
|
<TextBlock Margin="8,8,5,5" Text="Original Matrix:" />
|
||
|
<TextBlock Name="tbOriginal" Margin="25,0,4,4" />
|
||
|
<TextBlock Margin="8,0,5,5" Text="Scale:" />
|
||
|
<TextBlock Name="tbResult" Margin="25,0,4,4" />
|
||
|
|
||
|
</StackPanel>
|
||
|
</Window>
|
||
|
|
||
|
//File:Window.xaml.cs
|
||
|
using System;
|
||
|
using System.Windows;
|
||
|
using System.Windows.Media;
|
||
|
using System.Windows.Media.Media3D;
|
||
|
|
||
|
namespace WpfApplication1
|
||
|
{
|
||
|
public partial class Matrix3DTransforms : Window
|
||
|
{
|
||
|
public Matrix3DTransforms()
|
||
|
{
|
||
|
InitializeComponent();
|
||
|
Matrix3D M = new Matrix3D(1, 4, 2, 4,
|
||
|
4, 1, 0, 1,
|
||
|
0, 0, 1, 0,
|
||
|
1, 3, 3, 1);
|
||
|
|
||
|
|
||
|
tbOriginal.Text = "(" + M.ToString() + ")";
|
||
|
|
||
|
//Translation:
|
||
|
M.RotateAt(new Quaternion(new Vector3D(1, 2, 3), 45),new Point3D(15, 25, 40));
|
||
|
tbResult.Text = "(" + M.ToString() + ")";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|