# wx.AffineMatrix2D¶

A 3x2 matrix representing an affine 2D transformation.

New in version 2.9.2.

## Class Hierarchy¶ Inheritance diagram for class AffineMatrix2D:

## Methods Summary¶

 __init__ Default constructor. Concat Concatenate this matrix with another one. Get Get the component values of the matrix. Invert Invert this matrix. IsEqual Check that this matrix is identical with t. IsIdentity Check if this is the identity matrix. Mirror Add mirroring to this matrix. Rotate Add clockwise rotation to this matrix. Scale Add scaling to this matrix. Set Set all elements of this matrix. TransformDistance Applies the linear part of this matrix, i.e. without translation. TransformPoint Applies this matrix to the point. Translate Add the translation to this matrix. __ne__ Check that this matrix differs from t. __eq__ Check that this matrix is identical with t.

## Class API¶

class wx.AffineMatrix2D(AffineMatrix2DBase)

Possible constructors:

AffineMatrix2D()


A 3x2 matrix representing an affine 2D transformation.

### Methods¶

__init__(self)

Default constructor.

The matrix elements are initialize to the identity matrix.

Concat(self, t)

Concatenate this matrix with another one.

The parameter matrix is the multiplicand.

Parameters

t (wx.AffineMatrix2DBase) – The multiplicand.

#           | t.m_11  t.m_12  0 |   | m_11  m_12   0 |
# matrix' = | t.m_21  t.m_22  0 | x | m_21  m_22   0 |
#           | t.m_tx  t.m_ty  1 |   | m_tx  m_ty   1 |


Get(self)

Get the component values of the matrix.

Return type

tuple

Returns

( mat2D, tr )

Invert(self)

Invert this matrix.

If the matrix is not invertible, i.e. if its determinant is 0, returns False and doesn’t modify it.

#           | m_11  m_12  0 |
# Invert    | m_21  m_22  0 |
#           | m_tx  m_ty  1 |

Return type

bool

IsEqual(self, t)

Check that this matrix is identical with t.

Parameters

t (wx.AffineMatrix2DBase) – The matrix compared with this.

IsIdentity(self)

Check if this is the identity matrix.

Return type

bool

Mirror(self, direction=HORIZONTAL)

Parameters

direction (int) – The direction(s) used for mirroring. One of wx.HORIZONTAL, wx.VERTICAL or their combination wx.BOTH.

Rotate(self, cRadians)

Add clockwise rotation to this matrix.

Parameters

#           | cos    sin   0 |   | self.11  self.12   0 |
# matrix' = | -sin   cos   0 | x | self.21  self.22   0 |
#           |  0      0    1 |   | self.tx  self.ty   1 |


Scale(self, xScale, yScale)

Parameters
• xScale (wx.Double) – Scaling in x direction.

• yScale (wx.Double) – Scaling in y direction.

#           | xScale   0      0 |   | self.11  self.12   0 |
# matrix' = |   0    yScale   0 | x | self.21  self.22   0 |
#           |   0      0      1 |   | self.tx  self.ty   1 |


Set(self, mat2D, tr)

Set all elements of this matrix.

Parameters
• mat2D (wx.Matrix2D) – The rotational components of the matrix (upper 2 x 2).

• tr (Point2DDouble) – The translational components of the matrix.

TransformDistance(self, *args, **kw) Overloaded Implementations:

TransformDistance (self, p)

Applies the linear part of this matrix, i.e. without translation.

Parameters

p (Point2DDouble) – The source receiving the transformations.

Return type

Point2DDouble

#                                   | self.11  self.12   0 |
# dist' = | src.self.x  src._my  0 | x | self.21  self.22   0 |
#                                   | self.tx  self.ty   1 |

Returns

The source with the transformations applied.

TransformDistance (self, dx, dy)

Parameters
• dx (wx.Double) –

• dy (wx.Double) –

Return type

tuple

Returns

( dx, dy )

TransformPoint(self, *args, **kw) Overloaded Implementations:

TransformPoint (self, p)

Applies this matrix to the point.

Parameters

p (Point2DDouble) – The point receiving the transformations.

Return type

Point2DDouble

#                                    | self.11  self.12   0 |
# point' = | src.self.x  src._my  1 | x | self.21  self.22   0 |
#                                    | self.tx  self.ty   1 |

Returns

The point with the transformations applied.

TransformPoint (self, x, y)

Parameters
• x (wx.Double) –

• y (wx.Double) –

Return type

tuple

Returns

( x, y )

Translate(self, dx, dy)

Add the translation to this matrix.

Parameters
• dx (wx.Double) – The translation in x direction.

• dy (wx.Double) – The translation in y direction.

#           |  1   0   0 |   | self.11  self.12   0 |
# matrix' = |  0   1   0 | x | self.21  self.22   0 |
#           | dx  dy   1 |   | self.tx  self.ty   1 |


__ne__(self)

Check that this matrix differs from t.

Parameters

t (wx.AffineMatrix2DBase) – The matrix compared with this.

__eq__(self)

Check that this matrix is identical with t.

Parameters

t (wx.AffineMatrix2DBase) – The matrix compared with this.