Packagejp.nyatla.nyartoolkit.as3.core.transmat.solver
Classpublic class NyARTransportVectorSolver
InheritanceNyARTransportVectorSolver Inheritance Object
Implements INyARTransportVectorSolver

並進ベクトル[T]を3次元座標[b]と基点の回転済行列[M]から計算します。 アルゴリズムは、ARToolKit 拡張現実プログラミング入門 の、P207のものです。 計算手順 [A]T]=bを、[A]TA]T]=[A]Tb]にする。 set2dVertexで[A]TA]=[M]を計算して、Aの3列目の情報だけ保存しておく。 getTransportVectorで[M]T]=[A]Tb]を連立方程式で解いて、[T]を得る。



Public Methods
 MethodDefined By
  
NyARTransportVectorSolver(i_projection_mat_ref:NyARPerspectiveProjectionMatrix, i_max_vertex:int)
NyARTransportVectorSolver
  
set2dVertex(i_ref_vertex_2d:Vector.<NyARDoublePoint2d>, i_number_of_vertex:int):void
画面上の座標群を指定します。
NyARTransportVectorSolver
  
solveTransportVector(i_vertex3d:Vector.<NyARDoublePoint3d>, o_transfer:NyARDoublePoint3d):void
画面座標群と3次元座標群から、平行移動量を計算します。 2d座標系は、直前に実行したset2dVertexのものを使用します。
NyARTransportVectorSolver
Constructor Detail
NyARTransportVectorSolver()Constructor
public function NyARTransportVectorSolver(i_projection_mat_ref:NyARPerspectiveProjectionMatrix, i_max_vertex:int)



Parameters
i_projection_mat_ref:NyARPerspectiveProjectionMatrix
 
i_max_vertex:int
Method Detail
set2dVertex()method
public function set2dVertex(i_ref_vertex_2d:Vector.<NyARDoublePoint2d>, i_number_of_vertex:int):void

画面上の座標群を指定します。

Parameters

i_ref_vertex_2d:Vector.<NyARDoublePoint2d> — 歪み矯正済の画面上の頂点座標群への参照値を指定します。
 
i_number_of_vertex:int


Throws
NyARException
solveTransportVector()method 
public function solveTransportVector(i_vertex3d:Vector.<NyARDoublePoint3d>, o_transfer:NyARDoublePoint3d):void

画面座標群と3次元座標群から、平行移動量を計算します。 2d座標系は、直前に実行したset2dVertexのものを使用します。

Parameters

i_vertex3d:Vector.<NyARDoublePoint3d> — 直前のset2dVertexコールで指定したものと同じものを指定してください。
 
o_transfer:NyARDoublePoint3d — 3次元空間の座標群を設定します。頂点の順番は、画面座標群と同じ順序で格納してください。


Throws
NyARException