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;

覚え書き
  行列積は交換法則が成り立たないため、 と は一般的に結果が異なります。

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;

覚え書き
  行列積は交換法則が成り立たないため、 と は一般的に結果が異なります。

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;

覚え書き
  行列積は交換法則が成り立たないため、 と は一般的に結果が異なります。

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;

覚え書き
  行列積は交換法則が成り立たないため、 と は一般的に結果が異なります。

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