<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="450" Width="300">
<StackPanel>
<TextBlock Margin="10,10,5,5" Text="Original Matrix:" />
<TextBlock Name="tbOriginal" Margin="20,0,5,5" />
<TextBlock Margin="10,0,5,5" Text="Scale:" />
<TextBlock Name="tbResult" Margin="20,0,5,5" />
</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, 2, 3, 4,
2, 1, 0, 0,
0, 0, 1, 0,
1, 2, 3, 1);
tbOriginal.Text = "(" + M.ToString() + ")";
//Translation:
M.RotateAt(new Quaternion(new Vector3D(1, 2, 3), 45),new Point3D(10, 20, 30));
tbResult.Text = "(" + M.ToString() + ")";
}
}
}
|