Matrix4X4

StockSharp.Xaml.Charting.Rendering.HighQualityRasterizer.Agg.VectorMath

Represents a 4x4 Matrix with double-precision components.

実装: IEquatable<Matrix4X4>

コンストラクター

Matrix4X4(Vector4, Vector4, Vector4, Vector4)

Constructs a new instance.

row0
Top row of the matrix
row1
Second row of the matrix
row2
Third row of the matrix
row3
Bottom row of the matrix
Matrix4X4(double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double)

Constructs a new instance.

m00
First item of the first row.
m01
Second item of the first row.
m02
Third item of the first row.
m03
Fourth item of the first row.
m10
First item of the second row.
m11
Second item of the second row.
m12
Third item of the second row.
m13
Fourth item of the second row.
m20
First item of the third row.
m21
Second item of the third row.
m22
Third item of the third row.
m23
First item of the third row.
m30
Fourth item of the fourth row.
m31
Second item of the fourth row.
m32
Third item of the fourth row.
m33
Fourth item of the fourth row.

プロパティ

Column0 : Vector4

The first column of this matrix

Column1 : Vector4

The second column of this matrix

Column2 : Vector4

The third column of this matrix

Column3 : Vector4

The fourth column of this matrix

Determinant : double

The determinant of this matrix

M11 : double

Gets or sets the value at row 1, column 1 of this instance.

M12 : double

Gets or sets the value at row 1, column 2 of this instance.

M13 : double

Gets or sets the value at row 1, column 3 of this instance.

M14 : double

Gets or sets the value at row 1, column 4 of this instance.

M21 : double

Gets or sets the value at row 2, column 1 of this instance.

M22 : double

Gets or sets the value at row 2, column 2 of this instance.

M23 : double

Gets or sets the value at row 2, column 3 of this instance.

M24 : double

Gets or sets the value at row 2, column 4 of this instance.

M31 : double

Gets or sets the value at row 3, column 1 of this instance.

M32 : double

Gets or sets the value at row 3, column 2 of this instance.

M33 : double

Gets or sets the value at row 3, column 3 of this instance.

M34 : double

Gets or sets the value at row 3, column 4 of this instance.

M41 : double

Gets or sets the value at row 4, column 1 of this instance.

M42 : double

Gets or sets the value at row 4, column 2 of this instance.

M43 : double

Gets or sets the value at row 4, column 3 of this instance.

M44 : double

Gets or sets the value at row 4, column 4 of this instance.

Position : Vector3

Get just the position out of the matrix.

メソッド

CreateFromAxisAngle(Vector3, double, Matrix4X4)

Build a rotation matrix from the specified axis/angle rotation.

axis
The axis to rotate about.
angle
Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).
result
A matrix instance.
CreateFromAxisAngle(Vector3, double) : Matrix4X4

Build a rotation matrix from the specified axis/angle rotation.

axis
The axis to rotate about.
angle
Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).

戻り値: A matrix instance.

CreateOrthographic(double, double, double, double, Matrix4X4)

Creates an orthographic projection matrix.

width
The width of the projection volume.
height
The height of the projection volume.
zNear
The near edge of the projection volume.
zFar
The far edge of the projection volume.
result
The resulting Matrix4d instance.
CreateOrthographic(double, double, double, double) : Matrix4X4

Creates an orthographic projection matrix.

width
The width of the projection volume.
height
The height of the projection volume.
zNear
The near edge of the projection volume.
zFar
The far edge of the projection volume.
CreateOrthographicOffCenter(double, double, double, double, double, double) : Matrix4X4

Creates an orthographic projection matrix.

left
The left edge of the projection volume.
right
The right edge of the projection volume.
bottom
The bottom edge of the projection volume.
top
The top edge of the projection volume.
zNear
The near edge of the projection volume.
zFar
The far edge of the projection volume.

戻り値: The resulting Matrix4d instance.

CreateOrthographicOffCenter(double, double, double, double, double, double, Matrix4X4)

Creates an orthographic projection matrix.

left
The left edge of the projection volume.
right
The right edge of the projection volume.
bottom
The bottom edge of the projection volume.
top
The top edge of the projection volume.
zNear
The near edge of the projection volume.
zFar
The far edge of the projection volume.
result
The resulting Matrix4d instance.
CreatePerspectiveFieldOfView(double, double, double, double, Matrix4X4)

Creates a perspective projection matrix.

fovYRadians
Angle of the field of view in the y direction (in radians)
aspectWidthOverHeight
Aspect ratio of the view (width / height)
zNear
Distance to the near clip plane
zFar
Distance to the far clip plane
result
A projection matrix that transforms camera space to raster space
CreatePerspectiveFieldOfView(double, double, double, double) : Matrix4X4

Creates a perspective projection matrix.

fovYRadians
Angle of the field of view in the y direction (in radians)
aspectWidthOverHeight
Aspect ratio of the view (width / height)
zNear
Distance to the near clip plane
zFar
Distance to the far clip plane

戻り値: A projection matrix that transforms camera space to raster space

CreatePerspectiveOffCenter(double, double, double, double, double, double, Matrix4X4)

Creates an perspective projection matrix.

left
Left edge of the view frustum
right
Right edge of the view frustum
bottom
Bottom edge of the view frustum
top
Top edge of the view frustum
zNear
Distance to the near clip plane
zFar
Distance to the far clip plane
result
A projection matrix that transforms camera space to raster space
CreatePerspectiveOffCenter(double, double, double, double, double, double) : Matrix4X4

Creates an perspective projection matrix.

left
Left edge of the view frustum
right
Right edge of the view frustum
bottom
Bottom edge of the view frustum
top
Top edge of the view frustum
zNear
Distance to the near clip plane
zFar
Distance to the far clip plane

戻り値: A projection matrix that transforms camera space to raster space

CreateRotation(Vector3, double) : Matrix4X4

Build a rotation matrix to rotate about the given axis

axis
the axis to rotate about
angle
angle in radians to rotate counter-clockwise (looking in the direction of the given axis)

戻り値: A rotation matrix

CreateRotation(Quaternion) : Matrix4X4

Build a rotation matrix from a quaternion

q
the quaternion

戻り値: A rotation matrix

CreateRotationX(double, Matrix4X4)

Builds a rotation matrix for a rotation around the x-axis.

angle
The counter-clockwise angle in radians.
result
The resulting Matrix4 instance.
CreateRotationX(double) : Matrix4X4

Builds a rotation matrix for a rotation around the x-axis.

angle
The counter-clockwise angle in radians.

戻り値: The resulting Matrix4 instance.

CreateRotationY(double) : Matrix4X4

Builds a rotation matrix for a rotation around the y-axis.

angle
The counter-clockwise angle in radians.

戻り値: The resulting Matrix4 instance.

CreateRotationY(double, Matrix4X4)

Builds a rotation matrix for a rotation around the y-axis.

angle
The counter-clockwise angle in radians.
result
The resulting Matrix4 instance.
CreateRotationZ(double) : Matrix4X4

Builds a rotation matrix for a rotation around the z-axis.

angle
The counter-clockwise angle in radians.

戻り値: The resulting Matrix4 instance.

CreateRotationZ(double, Matrix4X4)

Builds a rotation matrix for a rotation around the z-axis.

angle
The counter-clockwise angle in radians.
result
The resulting Matrix4 instance.
CreateScale(double, double, double) : Matrix4X4

Build a scaling matrix

x
Scale factor for x-axis
y
Scale factor for y-axis
z
Scale factor for z-axis

戻り値: A scaling matrix

CreateScale(Vector3) : Matrix4X4

Build a scaling matrix

scale
Scale factors for x,y and z axes

戻り値: A scaling matrix

CreateScale(double) : Matrix4X4

Build a scaling matrix

scale
Single scale factor for x,y and z axes

戻り値: A scaling matrix

CreateTranslation(double, double, double, Matrix4X4)

Creates a translation matrix.

x
X translation.
y
Y translation.
z
Z translation.
result
The resulting Matrix4d instance.
CreateTranslation(double, double, double) : Matrix4X4

Creates a translation matrix.

x
X translation.
y
Y translation.
z
Z translation.

戻り値: The resulting Matrix4d instance.

CreateTranslation(Vector3) : Matrix4X4

Creates a translation matrix.

vector
The translation vector.

戻り値: The resulting Matrix4d instance.

CreateTranslation(Vector3, Matrix4X4)

Creates a translation matrix.

vector
The translation vector.
result
The resulting Matrix4d instance.
Equals(object) : bool

Indicates whether this instance and a specified object are equal.

obj
The object to compare to.

戻り値: True if the instances are equal; false otherwise.

Equals(Matrix4X4) : bool

Indicates whether the current matrix is equal to another matrix.

other
An matrix to compare with this matrix.

戻り値: true if the current matrix is equal to the matrix parameter; otherwise, false.

Frustum(double, double, double, double, double, double) : Matrix4X4

Build a projection matrix

left
Left edge of the view frustum
right
Right edge of the view frustum
bottom
Bottom edge of the view frustum
top
Top edge of the view frustum
near
Distance to the near clip plane
far
Distance to the far clip plane

戻り値: A projection matrix that transforms camera space to raster space

GetHashCode() : int

Returns the hashcode for this instance.

戻り値: A System.Int32 containing the unique hashcode for this instance.

Invert()

Converts this instance into its inverse.

Invert(Matrix4X4) : Matrix4X4

Calculate the inverse of the given matrix

mat
The matrix to invert

戻り値: The inverse of the given matrix if it has one, or the input if it is singular

LookAt(double, double, double, double, double, double, double, double, double) : Matrix4X4

Build a world space to camera space matrix

eyeX
Eye (camera) position in world space
eyeY
Eye (camera) position in world space
eyeZ
Eye (camera) position in world space
targetX
Target position in world space
targetY
Target position in world space
targetZ
Target position in world space
upX
Up vector in world space (should not be parallel to the camera direction, that is target - eye)
upY
Up vector in world space (should not be parallel to the camera direction, that is target - eye)
upZ
Up vector in world space (should not be parallel to the camera direction, that is target - eye)

戻り値: A Matrix4 that transforms world space to camera space

LookAt(Vector3, Vector3, Vector3) : Matrix4X4

Build a world space to camera space matrix

eye
Eye (camera) position in world space
target
Target position in world space
up
Up vector in world space (should not be parallel to the camera direction, that is target - eye)

戻り値: A Matrix that transforms world space to camera space

Mult(Matrix4X4, Matrix4X4) : Matrix4X4

Multiplies two instances.

left
The left operand of the multiplication.
right
The right operand of the multiplication.

戻り値: A new instance that is the result of the multiplication

Mult(Matrix4X4, Matrix4X4, Matrix4X4)

Multiplies two instances.

left
The left operand of the multiplication.
right
The right operand of the multiplication.
result
A new instance that is the result of the multiplication
op_Equality(Matrix4X4, Matrix4X4) : bool

Compares two instances for equality.

left
The first instance.
right
The second instance.

戻り値: True, if left equals right; false otherwise.

op_Inequality(Matrix4X4, Matrix4X4) : bool

Compares two instances for inequality.

left
The first instance.
right
The second instance.

戻り値: True, if left does not equal right; false otherwise.

op_Multiply(Matrix4X4, Matrix4X4) : Matrix4X4

Matrix multiplication

left
left-hand operand
right
right-hand operand

戻り値: A new Matrix44 which holds the result of the multiplication

Perspective(double, double, double, double) : Matrix4X4

Build a projection matrix

fovy
Angle of the field of view in the y direction (in radians)
aspect
Aspect ratio of the view (width / height)
near
Distance to the near clip plane
far
Distance to the far clip plane

戻り値: A projection matrix that transforms camera space to raster space

ToString() : string

Returns a System.String that represents the current Matrix44.

Transpose()

Converts this instance into its transpose.

Transpose(Matrix4X4) : Matrix4X4

Calculate the transpose of the given matrix

mat
The matrix to transpose

戻り値: The transpose of the given matrix

Transpose(Matrix4X4, Matrix4X4)

Calculate the transpose of the given matrix

mat
The matrix to transpose
result
The result of the calculation

フィールド

Identity : Matrix4X4

The identity matrix

Row0 : Vector4

Top row of the matrix

Row1 : Vector4

2nd row of the matrix

Row2 : Vector4

3rd row of the matrix

Row3 : Vector4

Bottom row of the matrix