マトリックス変換 [詳細]
#include <sgmatrix.h>
Public メソッド | |
| SGMatrix (double xx=1, double yx=0, double xy=0, double yy=1, double tx=0, double ty=0) | |
| コンストラクタ | |
| void | Init (double xx=1, double yx=0, double xy=0, double yy=1, double tx=0, double ty=0) |
| 変換パラメータの初期化 | |
| void | Get (double &xx, double &yx, double &xy, double &yy, double &tx, double &ty) |
| 現在の変換パラメータを取得する | |
| SGMatrix | operator* (const SGMatrix &arg) |
| 合成した変換を生成する | |
| SGMatrix & | operator*= (const SGMatrix &arg) |
| 変換を追加(合成)する | |
| bool | operator== (const SGMatrix &arg) const |
| 2つの変換パラメータを比較して等しいことを調べる | |
| bool | operator!= (const SGMatrix &arg) const |
| 2つの変換パラメータを比較して等しくないことを調べる | |
| SGMatrix | Inv (void) const |
| 逆変換パラメータを求める | |
| SGMatrix & | Rotate (double alpha) |
| 回転変換を追加する | |
| SGMatrix & | Translate (double tx, double ty) |
| 移動変換を追加する | |
| SGMatrix & | Scale (double sx, double sy) |
| 拡大/縮小変換を追加する | |
| SGMatrix & | Slant (double alphax, double alphay) |
| 斜体変換を追加する | |
| bool | IsIdentialMatrix () const |
| 変換の無い状態かどうか調べる | |
| bool | IsTranslateOnly () const |
| 変換が移動だけの状態かどうか調べる | |
| void | Transform (double &x, double &y) const |
| 指定の点に対して変換を実行する | |
| void | Transform (int &x, int &y) const |
| 指定の点に対して変換を実行する | |
| void | dTransform (double &dx, double &dy) const |
| 指定の点に対して移動以外の変換を実行する | |
| void | dTransform (int &dx, int &dy) const |
| 指定の点に対して移動以外の変換を実行する | |
| void | Transform (SGPoint &P) const |
| 指定の点に対して変換を実行する | |
マトリックス変換
| SGMatrix | ( | double | xx = 1, |
|
| double | yx = 0, |
|||
| double | xy = 0, |
|||
| double | yy = 1, |
|||
| double | tx = 0, |
|||
| double | ty = 0 | |||
| ) |
コンストラクタ
outX = xx×inX + xy×inY + tx;
outY = yx×inX + yy×inY + ty;
| xx | ||
| yx | ||
| xy | ||
| yy | ||
| tx | ||
| ty |
| void Init | ( | double | xx = 1, |
|
| double | yx = 0, |
|||
| double | xy = 0, |
|||
| double | yy = 1, |
|||
| double | tx = 0, |
|||
| double | ty = 0 | |||
| ) |
変換パラメータの初期化
変換パラメータの初期化を行います。
outX = xx×inX + xy×inY + tx;
outY = yx×inX + yy×inY + ty;
| xx | ||
| yx | ||
| xy | ||
| yy | ||
| tx | ||
| ty |
| void Get | ( | double & | xx, | |
| double & | yx, | |||
| double & | xy, | |||
| double & | yy, | |||
| double & | tx, | |||
| double & | ty | |||
| ) |
現在の変換パラメータを取得する
現在の変換パラメータを取得します。
| xx | 係数xx取得用変数 | |
| yx | 係数yx取得用変数 | |
| xy | 係数xy取得用変数 | |
| yy | 係数yy取得用変数 | |
| tx | オフセットtx取得用変数 | |
| ty | オフセットty取得用変数 |
| bool operator== | ( | const SGMatrix & | arg | ) | const |
2つの変換パラメータを比較して等しいことを調べる
2つの変換パラメータを比較して等しいかどうか調べます。
| arg | 変換パラメータ |
| TRUE | 等しい | |
| FALSE | 等しくない |
| bool operator!= | ( | const SGMatrix & | arg | ) | const |
2つの変換パラメータを比較して等しくないことを調べる
2つの変換パラメータを比較して等しくないかどうか調べます。
| arg | 変換パラメータ |
| TRUE | 等しくない | |
| FALSE | 等しい |
| SGMatrix Inv | ( | void | ) | const |
逆変換パラメータを求める
逆変換パラメータを求めます。
| arg | 変換パラメータ |
| SGMatrix & Rotate | ( | double | alpha | ) |
回転変換を追加する
回転変換を追加します。
| alpha | 回転角度(ラジアン) |
| SGMatrix & Translate | ( | double | tx, | |
| double | ty | |||
| ) |
移動変換を追加する
移動変換を追加します。
| tx | X方向移動量 | |
| ty | Y方向移動量 |
| SGMatrix & Scale | ( | double | sx, | |
| double | sy | |||
| ) |
拡大/縮小変換を追加する
拡大/縮小変換を追加します
| sx | X方向拡大/縮小率 | |
| sy | Y方向拡大/縮小率 |
| SGMatrix & Slant | ( | double | alphax, | |
| double | alphay | |||
| ) |
斜体変換を追加する
斜体変換を追加します
| alpha | X方向傾斜(ラジアン) | |
| alpha | Y方向傾斜(ラジアン) |
| bool IsIdentialMatrix | ( | ) | const |
変換の無い状態かどうか調べる
変換の無い状態かどうか調べます
| TRUE | 変換がない状態 | |
| FALSE | 変換がある状態 |
| bool IsTranslateOnly | ( | ) | const |
変換が移動だけの状態かどうか調べる
変換が移動だけの状態かどうか調べます。
移動だけの状態とは、拡大、縮小、回転などの無い状態です。
| TRUE | 変換が移動だけの状態 | |
| FALSE | 移動以外の変換がある状態 |
| void Transform | ( | double & | x, | |
| double & | y | |||
| ) | const |
指定の点に対して変換を実行する
指定の点に対して変換を実行します。
| x | 点のX座標 | |
| y | 点のY座標 |
| void Transform | ( | int & | x, | |
| int & | y | |||
| ) | const |
指定の点に対して変換を実行する
指定の点に対して変換を実行します。
| x | 点のX座標 | |
| y | 点のY座標 |
| void dTransform | ( | double & | dx, | |
| double & | dy | |||
| ) | const |
指定の点に対して移動以外の変換を実行する
指定の点に対して移動以外の変換を実行します。 相対座標を求める際などに使用します。
| dx | X方向の移動量(幅) | |
| dy | Y方向の移動量(高さ) |
| void dTransform | ( | int & | dx, | |
| int & | dy | |||
| ) | const |
指定の点に対して移動以外の変換を実行する
指定の点に対して移動以外の変換を実行します。 相対座標を求める際などに使用します。
| dx | X方向の移動量(幅) | |
| dy | Y方向の移動量(高さ) |
| void Transform | ( | SGPoint & | P | ) | const |
指定の点に対して変換を実行する
指定の点に対して変換を実行します。
| p | 点の座標 |