Matrix4X4

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

高精度部品で4x4マトリックスを出力します。

実装: IEquatable<Matrix4X4>

コンストラクター

Matrix4X4
public Matrix4X4(Vector4 row0, Vector4 row1, Vector4 row2, Vector4 row3)
matrix4X4 = Matrix4X4(row0, row1, row2, row3)

新規インスタンスを構成します。

row0
行列の先頭行
row1
行列の秒数
row2
行列の3番目の行
row3
行列の一番下行
Matrix4X4
public Matrix4X4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33)
matrix4X4 = Matrix4X4(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33)

新規インスタンスを構成します。

m00
最初の行の最初の項目。
m01
最初の行の2番目の項目。
m02
最初の行の3番目の項目。
m03
先頭行の4番目の項目。
m10
第二行目の最初の項目。
m11
2行目目目目次
m12
第二行目次3番目の項目。
m13
第2列の4番目の項目。
m20
第三行目の最初の項目。
m21
3行目目目次
m22
3行目目目目次
m23
第三行目の最初の項目。
m30
4列目4列目
m31
4列目次
m32
4列目次3番目の項目。
m33
4列目4列目

プロパティ

Column0
public Vector4 Column0 { get; }
value = matrix4X4.Column0

この行列の最初の列

Column1
public Vector4 Column1 { get; }
value = matrix4X4.Column1

この行列の第2列

Column2
public Vector4 Column2 { get; }
value = matrix4X4.Column2

この行列の3番目の列

Column3
public Vector4 Column3 { get; }
value = matrix4X4.Column3

この行列の四列

Determinant
public double Determinant { get; }
value = matrix4X4.Determinant

この行列の決定者

M11
public double M11 { get; set; }
value = matrix4X4.M11
matrix4X4.M11 = value

このインスタンスの行1、列1で値を取得またはセットします。

M12
public double M12 { get; set; }
value = matrix4X4.M12
matrix4X4.M12 = value

このインスタンスの行1、列2で値を取得またはセットします。

M13
public double M13 { get; set; }
value = matrix4X4.M13
matrix4X4.M13 = value

このインスタンスの行1、列3で値を取得またはセットします。

M14
public double M14 { get; set; }
value = matrix4X4.M14
matrix4X4.M14 = value

このインスタンスの行1、列4で値を取得またはセットします。

M21
public double M21 { get; set; }
value = matrix4X4.M21
matrix4X4.M21 = value

このインスタンスの行2、列1で値を取得またはセットします。

M22
public double M22 { get; set; }
value = matrix4X4.M22
matrix4X4.M22 = value

このインスタンスの行2、列2で値を取得またはセットします。

M23
public double M23 { get; set; }
value = matrix4X4.M23
matrix4X4.M23 = value

このインスタンスの行2、列3で値を取得またはセットします。

M24
public double M24 { get; set; }
value = matrix4X4.M24
matrix4X4.M24 = value

このインスタンスの行2、列4で値を取得またはセットします。

M31
public double M31 { get; set; }
value = matrix4X4.M31
matrix4X4.M31 = value

このインスタンスの行3、列1で値を取得またはセットします。

M32
public double M32 { get; set; }
value = matrix4X4.M32
matrix4X4.M32 = value

このインスタンスの行3、列2で値を取得またはセットします。

M33
public double M33 { get; set; }
value = matrix4X4.M33
matrix4X4.M33 = value

このインスタンスの行3、列3で値を取得またはセットします。

M34
public double M34 { get; set; }
value = matrix4X4.M34
matrix4X4.M34 = value

このインスタンスの行3、列4で値を取得またはセットします。

M41
public double M41 { get; set; }
value = matrix4X4.M41
matrix4X4.M41 = value

このインスタンスの行4、列1で値を取得またはセットします。

M42
public double M42 { get; set; }
value = matrix4X4.M42
matrix4X4.M42 = value

このインスタンスの行4、列2で値を取得またはセットします。

M43
public double M43 { get; set; }
value = matrix4X4.M43
matrix4X4.M43 = value

このインスタンスの行4、列3で値を取得またはセットします。

M44
public double M44 { get; set; }
value = matrix4X4.M44
matrix4X4.M44 = value

このインスタンスの行4、列4で値を取得またはセットします。

Position
public Vector3 Position { get; }
value = matrix4X4.Position

行列からポジションを外すだけ。

メソッド

CreateFromAxisAngle
public static void CreateFromAxisAngle(Vector3 axis, double angle, Matrix4X4 result)
Matrix4X4.CreateFromAxisAngle(axis, angle, result)

指定した軸/角度回転から回転行列をビルドします。

axis
回転する軸線。
angle
角度の放射状に反時計回りを回転させる(与えられた軸の方向を見ます)。
result
行列インスタンス。
CreateFromAxisAngle
public static Matrix4X4 CreateFromAxisAngle(Vector3 axis, double angle)
result = Matrix4X4.CreateFromAxisAngle(axis, angle)

指定した軸/角度回転から回転行列をビルドします。

axis
回転する軸線。
angle
角度の放射状に反時計回りを回転させる(与えられた軸の方向を見ます)。

戻り値: 行列インスタンス。

CreateOrthographic
public static void CreateOrthographic(double width, double height, double zNear, double zFar, Matrix4X4 result)
Matrix4X4.CreateOrthographic(width, height, zNear, zFar, result)

整形プロジェクション行列を作成します。

width
投影量の幅。
height
投影量の高さ。
zNear
投影量の近接端。
zFar
投影量が遠く端。
result
結果の Matrix4d インスタンス。
CreateOrthographic
public static Matrix4X4 CreateOrthographic(double width, double height, double zNear, double zFar)
result = Matrix4X4.CreateOrthographic(width, height, zNear, zFar)

整形プロジェクション行列を作成します。

width
投影量の幅。
height
投影量の高さ。
zNear
投影量の近接端。
zFar
投影量が遠く端。
CreateOrthographicOffCenter
public static Matrix4X4 CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNear, double zFar)
result = Matrix4X4.CreateOrthographicOffCenter(left, right, bottom, top, zNear, zFar)

整形プロジェクション行列を作成します。

left
投影量の左端。
right
投影量の正しいエッジ。
bottom
投影量の底端。
top
投影量のトップエッジ。
zNear
投影量の近接端。
zFar
投影量が遠く端。

戻り値: 結果の Matrix4d インスタンス。

CreateOrthographicOffCenter
public static void CreateOrthographicOffCenter(double left, double right, double bottom, double top, double zNear, double zFar, Matrix4X4 result)
Matrix4X4.CreateOrthographicOffCenter(left, right, bottom, top, zNear, zFar, result)

整形プロジェクション行列を作成します。

left
投影量の左端。
right
投影量の正しいエッジ。
bottom
投影量の底端。
top
投影量のトップエッジ。
zNear
投影量の近接端。
zFar
投影量が遠く端。
result
結果の Matrix4d インスタンス。
CreatePerspectiveFieldOfView
public static void CreatePerspectiveFieldOfView(double fovYRadians, double aspectWidthOverHeight, double zNear, double zFar, Matrix4X4 result)
Matrix4X4.CreatePerspectiveFieldOfView(fovYRadians, aspectWidthOverHeight, zNear, zFar, result)

視点のプロジェクション・マトリックスを作成します。

fovYRadians
y方向の視野の角度(ラジアン)
aspectWidthOverHeight
眺めのアスペクト比(幅/高さ)
zNear
近辺のクリップ平面への距離
zFar
遠いクリップ平面への距離
result
カメラ空間をラスター空間に変換する投影行列
CreatePerspectiveFieldOfView
public static Matrix4X4 CreatePerspectiveFieldOfView(double fovYRadians, double aspectWidthOverHeight, double zNear, double zFar)
result = Matrix4X4.CreatePerspectiveFieldOfView(fovYRadians, aspectWidthOverHeight, zNear, zFar)

視点のプロジェクション・マトリックスを作成します。

fovYRadians
y方向の視野の角度(ラジアン)
aspectWidthOverHeight
眺めのアスペクト比(幅/高さ)
zNear
近辺のクリップ平面への距離
zFar
遠いクリップ平面への距離

戻り値: カメラ空間をラスター空間に変換する投影行列

CreatePerspectiveOffCenter
public static void CreatePerspectiveOffCenter(double left, double right, double bottom, double top, double zNear, double zFar, Matrix4X4 result)
Matrix4X4.CreatePerspectiveOffCenter(left, right, bottom, top, zNear, zFar, result)

視点のプロジェクション・マトリックスを作成します。

left
眺めの不信の左端
right
眺めの素晴らしさの右端
bottom
眺めの底端はフラスムを欠きます
top
眺めの素晴らしの上の端
zNear
近辺のクリップ平面への距離
zFar
遠いクリップ平面への距離
result
カメラ空間をラスター空間に変換する投影行列
CreatePerspectiveOffCenter
public static Matrix4X4 CreatePerspectiveOffCenter(double left, double right, double bottom, double top, double zNear, double zFar)
result = Matrix4X4.CreatePerspectiveOffCenter(left, right, bottom, top, zNear, zFar)

視点のプロジェクション・マトリックスを作成します。

left
眺めの不信の左端
right
眺めの素晴らしさの右端
bottom
眺めの底端はフラスムを欠きます
top
眺めの素晴らしの上の端
zNear
近辺のクリップ平面への距離
zFar
遠いクリップ平面への距離

戻り値: カメラ空間をラスター空間に変換する投影行列

CreateRotation
public static Matrix4X4 CreateRotation(Vector3 axis, double angle)
result = Matrix4X4.CreateRotation(axis, angle)

回転行列をビルドして、与えられた軸について回転させます

axis
軸線が回転する
angle
角度の放射状に反時計回りを回す(与えられた軸の方向を見ます)

戻り値: 回転行列

CreateRotation
public static Matrix4X4 CreateRotation(Quaternion q)
result = Matrix4X4.CreateRotation(q)

四方から回転行列をビルドする

q
検疫

戻り値: 回転行列

CreateRotationX
public static void CreateRotationX(double angle, Matrix4X4 result)
Matrix4X4.CreateRotationX(angle, result)

x軸の回転を回転させるための回転行列をビルドします。

angle
放射状の角度の反時計回り。
result
結果の Matrix4 インスタンス。
CreateRotationX
public static Matrix4X4 CreateRotationX(double angle)
result = Matrix4X4.CreateRotationX(angle)

x軸の回転を回転させるための回転行列をビルドします。

angle
放射状の角度の反時計回り。

戻り値: 結果の Matrix4 インスタンス。

CreateRotationY
public static Matrix4X4 CreateRotationY(double angle)
result = Matrix4X4.CreateRotationY(angle)

y軸の周りの回転のための回転行列をビルドします。

angle
放射状の角度の反時計回り。

戻り値: 結果の Matrix4 インスタンス。

CreateRotationY
public static void CreateRotationY(double angle, Matrix4X4 result)
Matrix4X4.CreateRotationY(angle, result)

y軸の周りの回転のための回転行列をビルドします。

angle
放射状の角度の反時計回り。
result
結果の Matrix4 インスタンス。
CreateRotationZ
public static Matrix4X4 CreateRotationZ(double angle)
result = Matrix4X4.CreateRotationZ(angle)

z軸の回転を回転させるための回転行列をビルドします。

angle
放射状の角度の反時計回り。

戻り値: 結果の Matrix4 インスタンス。

CreateRotationZ
public static void CreateRotationZ(double angle, Matrix4X4 result)
Matrix4X4.CreateRotationZ(angle, result)

z軸の回転を回転させるための回転行列をビルドします。

angle
放射状の角度の反時計回り。
result
結果の Matrix4 インスタンス。
CreateScale
public static Matrix4X4 CreateScale(double x, double y, double z)
result = Matrix4X4.CreateScale(x, y, z)

スケールの行列を作成する

x
x軸のスケール係数
y
y軸のスケール係数
z
z軸のスケール係数

戻り値: スケールの行列

CreateScale
public static Matrix4X4 CreateScale(Vector3 scale)
result = Matrix4X4.CreateScale(scale)

スケールの行列を作成する

scale
x、y、z軸のスケール要因

戻り値: スケールの行列

CreateScale
public static Matrix4X4 CreateScale(double scale)
result = Matrix4X4.CreateScale(scale)

スケールの行列を作成する

scale
x、y および z 軸の単スケール要因

戻り値: スケールの行列

CreateTranslation
public static void CreateTranslation(double x, double y, double z, Matrix4X4 result)
Matrix4X4.CreateTranslation(x, y, z, result)

翻訳行列を作成します。

x
X翻訳。
y
翻訳のY
z
Z 翻訳。
result
結果の Matrix4d インスタンス。
CreateTranslation
public static Matrix4X4 CreateTranslation(double x, double y, double z)
result = Matrix4X4.CreateTranslation(x, y, z)

翻訳行列を作成します。

x
X翻訳。
y
翻訳のY
z
Z 翻訳。

戻り値: 結果の Matrix4d インスタンス。

CreateTranslation
public static Matrix4X4 CreateTranslation(Vector3 vector)
result = Matrix4X4.CreateTranslation(vector)

翻訳行列を作成します。

vector
翻訳ベクター。

戻り値: 結果の Matrix4d インスタンス。

CreateTranslation
public static void CreateTranslation(Vector3 vector, Matrix4X4 result)
Matrix4X4.CreateTranslation(vector, result)

翻訳行列を作成します。

vector
翻訳ベクター。
result
結果の Matrix4d インスタンス。
Equals
public override bool Equals(object obj)
result = matrix4X4.Equals(obj)

このインスタンスと指定されたオブジェクトが等しいかどうかを指示します。

obj
比較するオブジェクト。

戻り値: インスタンスが等しい場合、true です。そうしないと false です。

Equals
public bool Equals(Matrix4X4 other)
result = matrix4X4.Equals(other)

現在の行列が別の行列に等しいかどうかを示します。

other
この行列と比較する行列。

戻り値: 行列が行列パラメータに等しい場合、true です。そうしないと false です。

Frustum
public static Matrix4X4 Frustum(double left, double right, double bottom, double top, double near, double far)
result = Matrix4X4.Frustum(left, right, bottom, top, near, far)

投影行列をビルドする

left
眺めの不信の左端
right
眺めの素晴らしさの右端
bottom
眺めの底端はフラスムを欠きます
top
眺めの素晴らしの上の端
near
近辺のクリップ平面への距離
far
遠いクリップ平面への距離

戻り値: カメラ空間をラスター空間に変換する投影行列

GetHashCode
public override int GetHashCode()
result = matrix4X4.GetHashCode()

このインスタンスのハッシュコードを返します。

戻り値: このインスタンスのハッシュコードをSystem.Int32に含める。

Invert
public void Invert()
matrix4X4.Invert()

このインスタンスを逆に変換します。

Invert
public static Matrix4X4 Invert(Matrix4X4 mat)
result = Matrix4X4.Invert(mat)

与えられた行列の逆を計算する

mat
変換する行列

戻り値: 与えられた行列の逆は、それが1つを持っているか、またはそれが単数である場合の入力

LookAt
public static Matrix4X4 LookAt(double eyeX, double eyeY, double eyeZ, double targetX, double targetY, double targetZ, double upX, double upY, double upZ)
result = Matrix4X4.LookAt(eyeX, eyeY, eyeZ, targetX, targetY, targetZ, upX, upY, upZ)

カメラ空間のマトリックスに世界空間を築きます

eyeX
世界で目(カメラ)の位置
eyeY
世界で目(カメラ)の位置
eyeZ
世界で目(カメラ)の位置
targetX
世界空間でのターゲット位置
targetY
世界空間でのターゲット位置
targetZ
世界空間でのターゲット位置
upX
ワールドスペースのベクトルをアップ(カメラの方向に平行ではない、ターゲット - 目)
upY
ワールドスペースのベクトルをアップ(カメラの方向に平行ではない、ターゲット - 目)
upZ
ワールドスペースのベクトルをアップ(カメラの方向に平行ではない、ターゲット - 目)

戻り値: 世界をカメラ空間に変えるMtrix4

LookAt
public static Matrix4X4 LookAt(Vector3 eye, Vector3 target, Vector3 up)
result = Matrix4X4.LookAt(eye, target, up)

カメラ空間のマトリックスに世界空間を築きます

eye
世界で目(カメラ)の位置
target
世界空間でのターゲット位置
up
ワールドスペースのベクトルをアップ(カメラの方向に平行ではない、ターゲット - 目)

戻り値: 世界空間をカメラ空間に変えるマトリックス

Mult
public static Matrix4X4 Mult(Matrix4X4 left, Matrix4X4 right)
result = Matrix4X4.Mult(left, right)

複数のインスタンスを 2 個に分割します。

left
乗算の左のオペランド。
right
乗算の正しい操作。

戻り値: 乗算の結果である新しいインスタンス

Mult
public static void Mult(Matrix4X4 left, Matrix4X4 right, Matrix4X4 result)
Matrix4X4.Mult(left, right, result)

複数のインスタンスを 2 個に分割します。

left
乗算の左のオペランド。
right
乗算の正しい操作。
result
乗算の結果である新しいインスタンス
op_Equality
public static bool op_Equality(Matrix4X4 left, Matrix4X4 right)
result = Matrix4X4.op_Equality(left, right)

平等のための2つのインスタンスを比較します。

left
最初のインスタンス。
right
2番目のインスタンス。

戻り値: 真、左が右に等しい場合、そうでなければfalse。

op_Inequality
public static bool op_Inequality(Matrix4X4 left, Matrix4X4 right)
result = Matrix4X4.op_Inequality(left, right)

不平等のための2つのインスタンスを比較します。

left
最初のインスタンス。
right
2番目のインスタンス。

戻り値: 本当は、左が右に等しいことではない場合; それ以外の場合は false。

op_Multiply
public static Matrix4X4 op_Multiply(Matrix4X4 left, Matrix4X4 right)
result = Matrix4X4.op_Multiply(left, right)

マトリックスの乗算

left
左手オペランド
right
右手オペランド

戻り値: 乗算結果が保持される新しい Matrix44

Perspective
public static Matrix4X4 Perspective(double fovy, double aspect, double near, double far)
result = Matrix4X4.Perspective(fovy, aspect, near, far)

投影行列をビルドする

fovy
y方向の視野の角度(ラジアン)
aspect
眺めのアスペクト比(幅/高さ)
near
近辺のクリップ平面への距離
far
遠いクリップ平面への距離

戻り値: カメラ空間をラスター空間に変換する投影行列

ToString
public override string ToString()
result = matrix4X4.ToString()

現在の Matrix44 を表す System.Stringを返します。

Transpose
public void Transpose()
matrix4X4.Transpose()

このインスタンスをトランスポーズに変換します。

Transpose
public static Matrix4X4 Transpose(Matrix4X4 mat)
result = Matrix4X4.Transpose(mat)

与えられた行列の転置を計算する

mat
トランスポーズする行列

戻り値: 与えられた行列の転置

Transpose
public static void Transpose(Matrix4X4 mat, Matrix4X4 result)
Matrix4X4.Transpose(mat, result)

与えられた行列の転置を計算する

mat
トランスポーズする行列
result
計算の結果

フィールド

Identity
public static Matrix4X4 Identity
value = Matrix4X4.Identity

アイデンティティ行列

Row0
public Vector4 Row0
value = matrix4X4.Row0

行列の先頭行

Row1
public Vector4 Row1
value = matrix4X4.Row1

行列の2列

Row2
public Vector4 Row2
value = matrix4X4.Row2

行列の3行目

Row3
public Vector4 Row3
value = matrix4X4.Row3

行列の一番下行