From: nyatla Date: Thu, 12 Nov 2009 03:56:57 +0000 (+0000) Subject: [backup]NyARToolkit for Java X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;ds=sidebyside;h=d1883fcad97ffaf667d14a70252f3f87f5b28101;p=nyartoolkit-and%2Fnyartoolkit-and.git [backup]NyARToolkit for Java NyARTransMatのtransmatContinue機能の調整。 ジッタが出にくくなった(はず) git-svn-id: http://svn.sourceforge.jp/svnroot/nyartoolkit/NyARToolkit@339 7cac0a50-4618-4814-88d0-24b83990f816 --- diff --git a/trunk/src/jp/nyatla/nyartoolkit/core/transmat/NyARTransMat.java b/trunk/src/jp/nyatla/nyartoolkit/core/transmat/NyARTransMat.java index ed7aa13..a094d15 100644 --- a/trunk/src/jp/nyatla/nyartoolkit/core/transmat/NyARTransMat.java +++ b/trunk/src/jp/nyatla/nyartoolkit/core/transmat/NyARTransMat.java @@ -47,7 +47,9 @@ import jp.nyatla.nyartoolkit.core.types.matrix.*; public class NyARTransMat implements INyARTransMat { private final static double FIT_DIFF_THRESHOLD = 1.0; - private final static double FIT_DIFF_THRESHOLD_CONT = 1.0; + private final static double FIT_DIFF_THRESHOLD_CONT = 0.1; + private final static double FIT_DIFF_THRESHOLD_OPT = 0.01; + private final NyARDoublePoint2d _center=new NyARDoublePoint2d(0,0); private final NyARTransOffset _offset=new NyARTransOffset(); @@ -154,7 +156,7 @@ public class NyARTransMat implements INyARTransMat this._transsolver.solveTransportVector(vertex_3d,trans); //計算結果の最適化(平行移動量と回転行列の最適化) - this.optimize(this._rotmatrix, trans, this._transsolver,this._offset.vertex, vertex_2d); + o_result_conv.error=this.optimize(this._rotmatrix, trans, this._transsolver,this._offset.vertex, vertex_2d); // マトリクスの保存 this.updateMatrixValue(this._rotmatrix, this._offset.point, trans,o_result_conv); @@ -200,8 +202,8 @@ public class NyARTransMat implements INyARTransMat //現在のエラーレートを計算しておく double min_err=errRate(this._rotmatrix,trans, this._offset.vertex, vertex_2d,4,vertex_3d); NyARDoubleMatrix33 rot=this.__rot; - //エラーレートが閾値超えてたらアゲイン - if(min_err