クラス SGMatrix

マトリックス変換 [詳細]

#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)
 合成した変換を生成する
SGMatrixoperator*= (const SGMatrix &arg)
 変換を追加(合成)する
bool operator== (const SGMatrix &arg) const
 2つの変換パラメータを比較して等しいことを調べる
bool operator!= (const SGMatrix &arg) const
 2つの変換パラメータを比較して等しくないことを調べる
SGMatrix Inv (void) const
 逆変換パラメータを求める
SGMatrixRotate (double alpha)
 回転変換を追加する
SGMatrixTranslate (double tx, double ty)
 移動変換を追加する
SGMatrixScale (double sx, double sy)
 拡大/縮小変換を追加する
SGMatrixSlant (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 
)

現在の変換パラメータを取得する

現在の変換パラメータを取得します。

変換式:
outX = xx×inX + xy×inY + tx;
outY = yx×inX + yy×inY + ty;
引数:
xx 係数xx取得用変数
yx 係数yx取得用変数
xy 係数xy取得用変数
yy 係数yy取得用変数
tx オフセットtx取得用変数
ty オフセットty取得用変数
SGMatrix operator* ( const SGMatrix arg  ) 

合成した変換を生成する

合成した変換を生成します。

引数:
arg 変換
SGMatrix & operator*= ( const SGMatrix arg  ) 

変換を追加(合成)する

変換を追加(合成)します。

引数:
arg 変換
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 点の座標

このクラスの説明は次のファイルから生成されました:

PlusG リファレンスマニュアル Ver 2.0.0