forked from MoonsideGames/MoonWorks
add Vector2.Transform Matrix3x2 overload
parent
5424d05d63
commit
0fb7e98cb5
|
@ -877,6 +877,20 @@ namespace MoonWorks.Math
|
|||
result.Y = value.Y + y * rotation.W + (rotation.Z * x - rotation.X * z);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new <see cref="Vector2"/> that contains a transformation of 2d-vector by the specified <see cref="Matrix4x4"/>.
|
||||
/// </summary>
|
||||
/// <param name="position">Source <see cref="Vector2"/>.</param>
|
||||
/// <param name="matrix">The transformation <see cref="Matrix4x4"/>.</param>
|
||||
/// <returns>Transformed <see cref="Vector2"/>.</returns>
|
||||
public static Vector2 Transform(Vector2 position, Matrix3x2 matrix)
|
||||
{
|
||||
return new Vector2(
|
||||
(position.X * matrix.M11) + (position.Y * matrix.M21) + matrix.M31,
|
||||
(position.X * matrix.M12) + (position.Y * matrix.M22) + matrix.M32
|
||||
);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Apply transformation on all vectors within array of <see cref="Vector2"/> by the specified <see cref="Matrix4x4"/> and places the results in an another array.
|
||||
/// </summary>
|
||||
|
|
Loading…
Reference in New Issue