FineKernelToolKit  2.9.0
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 ページ
構成 | 関数 | 変数
Matrix.h
+ Matrix.hのインクルード依存関係図
+ このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

構成

class  fk_OrthoMatrix
 4元正方直交行列を管理するクラス [詳細]
 
class  fk_Matrix
 一般4元正方行列を管理するクラス [詳細]
 

関数

fk_HVector operator* (const fk_OrthoMatrix &, const fk_HVector &)
 ベクトル変換二項演算子 [詳細]
 
fk_OrthoMatrix operator* (const fk_OrthoMatrix &, const fk_OrthoMatrix &)
 行列積二項演算子1 [詳細]
 
fk_Matrix operator* (const fk_Matrix &, const fk_OrthoMatrix &)
 行列積二項演算子2 [詳細]
 
fk_Matrix operator* (const fk_OrthoMatrix &, const fk_Matrix &)
 行列積二項演算子3 [詳細]
 
fk_Matrix operator+ (const fk_Matrix &, const fk_OrthoMatrix &)
 行列和二項演算子1 [詳細]
 
fk_Matrix operator+ (const fk_OrthoMatrix &, const fk_Matrix &)
 行列和二項演算子2 [詳細]
 
fk_Matrix operator- (const fk_Matrix &, const fk_OrthoMatrix &)
 行列差二項演算子1 [詳細]
 
fk_Matrix operator- (const fk_OrthoMatrix &, const fk_Matrix &)
 行列差二項演算子2 [詳細]
 
fk_HVector operator* (const fk_Matrix &, const fk_HVector &)
 ベクトル変換二項演算子 [詳細]
 
fk_Matrix operator* (const fk_Matrix &, const fk_Matrix &)
 行列積二項演算子 [詳細]
 
fk_Matrix operator* (double, const fk_Matrix &)
 行列実数倍二項演算子1 [詳細]
 
fk_Matrix operator* (const fk_Matrix &, double)
 行列実数倍二項演算子2 [詳細]
 
fk_Matrix operator+ (const fk_Matrix &, const fk_Matrix &)
 行列和二項演算子 [詳細]
 
fk_Matrix operator- (const fk_Matrix &, const fk_Matrix &)
 行列差二項演算子 [詳細]
 

変数

const double FK_MATRIX_EPS = 1.0e-12
 行列演算用誤差1 [詳細]
 
const double FK_MATRIX_EPS2 = 1.0e-16
 行列演算用誤差2 [詳細]
 

関数

fk_HVector operator* ( const fk_OrthoMatrix ,
const fk_HVector  
)

ベクトル変換二項演算子

4次元ベクトル V1 の、直交行列 M による変換ベクトル V2 を求めるには、 以下のように記述します。 V1, V2 は共に fk_HVector 型の変数で、M は fk_OrthoMatrix 型の変数です。

V2 = M * V1;

FK では行列体系として MV 系を採用しており、 行列のベクトル変換の際には行列が左側、ベクトルが右側である必要があります。

fk_OrthoMatrix operator* ( const fk_OrthoMatrix ,
const fk_OrthoMatrix  
)

行列積二項演算子1

直交行列 M1, M2 の行列積 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_OrthoMatrix 型の変数です。

M3 = M1 * M2;
覚え書き
行列積は交換法則が成り立たないため、 $ \mathbf{M}_1\mathbf{M}_2 $$ \mathbf{M}_2\mathbf{M}_1 $ は一般的に結果が異なります。
fk_Matrix operator* ( const fk_Matrix ,
const fk_OrthoMatrix  
)

行列積二項演算子2

一般行列 M_ord と直交行列 M_ortho の行列積 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ord * M_ortho;
覚え書き
行列積は交換法則が成り立たないため、 $ \mathbf{M}_1\mathbf{M}_2 $$ \mathbf{M}_2\mathbf{M}_1 $ は一般的に結果が異なります。
fk_Matrix operator* ( const fk_OrthoMatrix ,
const fk_Matrix  
)

行列積二項演算子3

直交行列 M_ortho と一般行列 M_ord の行列積 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ortho * M_ord;
覚え書き
行列積は交換法則が成り立たないため、 $ \mathbf{M}_1\mathbf{M}_2 $$ \mathbf{M}_2\mathbf{M}_1 $ は一般的に結果が異なります。
fk_Matrix operator+ ( const fk_Matrix ,
const fk_OrthoMatrix  
)

行列和二項演算子1

一般行列 M_ord と直交行列 M_ortho の行列和 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ord + M_ortho;
覚え書き
行列和は交換法則が成り立ちます。
fk_Matrix operator+ ( const fk_OrthoMatrix ,
const fk_Matrix  
)

行列和二項演算子2

直交行列 M_ortho と一般行列 M_ord の行列和 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ortho + M_ord;
覚え書き
行列和は交換法則が成り立ちます。
fk_Matrix operator- ( const fk_Matrix ,
const fk_OrthoMatrix  
)

行列差二項演算子1

一般行列 M_ord と直交行列 M_ortho の行列差 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ord - M_ortho;
覚え書き
行列差は交換法則が成り立ちません。
fk_Matrix operator- ( const fk_OrthoMatrix ,
const fk_Matrix  
)

行列差二項演算子2

直交行列 M_ortho と一般行列 M_ord の行列差 M を求めるには、 以下のように記述します。 M_ord, M は fk_Matrix 型、M_ortho は fk_OrthoMatrix 型の変数です。

M = M_ortho - M_ord;
覚え書き
行列差は交換法則が成り立ちません。
fk_HVector operator* ( const fk_Matrix ,
const fk_HVector  
)

ベクトル変換二項演算子

4次元ベクトル V1 の、行列 M による変換ベクトル V2 を求めるには、 以下のように記述します。 V1, V2 は共に fk_HVector 型の変数で、M は fk_Matrix 型の変数です。

V2 = M * V1;

FK では行列体系として MV 系を採用しており、 行列のベクトル変換の際には行列が左側、ベクトルが右側である必要があります。

fk_Matrix operator* ( const fk_Matrix ,
const fk_Matrix  
)

行列積二項演算子

行列 M1, M2 の行列積 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_Matrix 型の変数です。

M3 = M1 * M2;
覚え書き
行列積は交換法則が成り立たないため、 $ \mathbf{M}_1\mathbf{M}_2 $$ \mathbf{M}_2\mathbf{M}_1 $ は一般的に結果が異なります。
fk_Matrix operator* ( double  ,
const fk_Matrix  
)

行列実数倍二項演算子1

行列 M1 のスカラー倍行列をエルには、以下のように記述します。 M1, M2 はいずれも fk_Matrix 型の変数で、d は double 型の変数です。

M2 = d * M1;

なお、行列と実数の順番は逆でも構いません。

fk_Matrix operator* ( const fk_Matrix ,
double   
)

行列実数倍二項演算子2

行列 M1 のスカラー倍行列をエルには、以下のように記述します。 M1, M2 はいずれも fk_Matrix 型の変数で、d は double 型の変数です。

M2 = M1 * d;

なお、行列と実数の順番は逆でも構いません。

fk_Matrix operator+ ( const fk_Matrix ,
const fk_Matrix  
)

行列和二項演算子

行列 M1, M2 の行列和 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_Matrix 型です。

M3 = M1 + M2;
覚え書き
行列和は交換法則が成り立ちます。
fk_Matrix operator- ( const fk_Matrix ,
const fk_Matrix  
)

行列差二項演算子

行列 M1, M2 の行列差 M3 を求めるには、 以下のように記述します。 M1, M2, M3 はいずれも fk_Matrix 型です。

M3 = M1 - M2;
覚え書き
行列差は交換法則が成り立ちません。

変数

const double FK_MATRIX_EPS = 1.0e-12

行列演算用誤差1

const double FK_MATRIX_EPS2 = 1.0e-16

行列演算用誤差2