Mega Code Archive

 
Categories / C# / WPF
 

Matrix3D ScalePrepend

<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);             Matrix3D M1 = M;             tbOriginal.Text = "(" + M.ToString() + ")";             M = M1; // Reset M to the original matrix.              M.ScalePrepend(new Vector3D(0.5, 1.5, 2.5));             tbResult.Text = "(" + M.ToString() + ")";         }     } }