|
Location : Home > Languages > Perl > Package Title : Math::GMatrix |
![]() |
Math::GMatrix - Math::Matrix の2次元グラフィックベクトル操作を行う拡張
use Math::GMatrix;
以下のメソッドが利用可能である。
new
コンストラクタの引数は同じ長さの配列への参照のリストである。配列はコピーされる。エラーの場合は undef を返す。
$a = new Math::Matrix ([rand,rand,rand],
[rand,rand,rand],
[rand,rand,rand]);
引数を I だけにすれば単位行列を取得することができる。new をメソッドとして呼び出せば全要素を0にした行列を返す。
xform
次のように呼び出すことでベクトルを変換させることができる。
@V1=(1.5,3.7); @V2 = $M->xform(@V1); @L1=( [1.5,3.7], [4.6,6.8], [5.1,-0.7] ); @L2 = $M->xform(@L1);
translate
次のように呼び出すことでグラフィックを(x と y だけ)移動させることができる。
$M2 = $M->translate(2.5,10.2);
rotate
次のように呼び出すことでグラフィックを回転させることができる。
$M2 = $M->rotate(-90);
scale
次のように呼び出すことで(factor_x 及び factor_y を指定して)グラフィックを拡大・縮小できる。
$M2 = $M->rotate(2,2);
@ListOfVectors = [
[0,1],
[3,5],
[2,7],
[8,-1],
];
$paperwidth = 21; # DIN A4 は 21x29.7 cm
$M = new Math::Matrix('I'); # 単位行列
$M = $M->translate(-1,-1)->rotate(90)->translate($paperwidth-1,1);
@Result = $M->xform(@ListOfVectors);
A. Cester, <albert.cester@web.de>
![]() |
Updated : 2006/08/15 |