<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.Rotate(new Quaternion(new Vector3D(1, 2, 3), 45)); tbResult.Text = "(" + M.ToString() + ")"; } } }