Matrix Transforms: Rotation : Matrix « Windows Presentation Foundation « VB.Net Tutorial






<Window x:Class="WpfApplication1.MatrixTransforms"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Matrix Transforms" Height="450" Width="270">
  <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="Rotation:" />
    <TextBlock Name="tbRotate" Margin="20,0,5,5" TextWrapping="Wrap" />


  </StackPanel>
</Window>
//File:Window.xaml.vb

Imports System
Imports System.Windows
Imports System.Windows.Media


Namespace WpfApplication1
  Public Partial Class MatrixTransforms
    Inherits Window
    Public Sub New()
      ' Original matrix: 
      Dim m As New Matrix(1, 2, 3, 4, 0, 1)
      tbOriginal.Text = "(" & m.ToString() & ")"

      'Rotation: 
      m = New Matrix(1, 2, 3, 4, 0, 1)
      m.Rotate(45)
      tbRotate.Text = "(" & MatrixRound(m).ToString() & ")"
    End Sub
    Private Function MatrixRound(m As Matrix) As Matrix
      m.M11 = Math.Round(m.M11, 3)
      m.M12 = Math.Round(m.M12, 3)
      m.M21 = Math.Round(m.M21, 3)
      m.M22 = Math.Round(m.M22, 3)
      m.OffsetX = Math.Round(m.OffsetX, 3)
      m.OffsetY = Math.Round(m.OffsetY, 3)
      Return m
    End Function
  End Class
End Namespace








16.118.Matrix
16.118.1.Matrix OperationsMatrix Operations
16.118.2.Matrix Transforms: Scale - PrependMatrix Transforms: Scale - Prepend
16.118.3.Matrix Transforms: ScaleMatrix Transforms: Scale
16.118.4.Matrix Transforms: Rotation atMatrix Transforms: Rotation at
16.118.5.Matrix Transforms: Skew -PrependMatrix Transforms: Skew -Prepend
16.118.6.Matrix Transforms: SkewMatrix Transforms: Skew
16.118.7.Matrix Transforms: Rotation at (x = 1, y = 2) - PrependMatrix Transforms: Rotation at (x = 1, y = 2) - Prepend
16.118.8.Matrix Transforms: Rotation - PrependMatrix Transforms: Rotation - Prepend
16.118.9.Matrix Transforms: RotationMatrix Transforms: Rotation
16.118.10.Matrix Transforms: TranslationMatrix Transforms: Translation