Matrix4X4
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.
プロパティ
Determinant : double
The determinant of this 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
Transpose()
Converts this instance into its transpose.