From 671474f0468d28486fc9e217f9b2696a7a0655bd Mon Sep 17 00:00:00 2001 From: nyatla Date: Thu, 12 Nov 2009 03:56:57 +0000 Subject: [PATCH] =?utf8?q?[backup]NyARToolkit=20for=20Java=20NyARTransMat?= =?utf8?q?=E3=81=AEtransmatContinue=E6=A9=9F=E8=83=BD=E3=81=AE=E8=AA=BF?= =?utf8?q?=E6=95=B4=E3=80=82=20=E3=82=B8=E3=83=83=E3=82=BF=E3=81=8C?= =?utf8?q?=E5=87=BA=E3=81=AB=E3=81=8F=E3=81=8F=E3=81=AA=E3=81=A3=E3=81=9F?= =?utf8?q?=EF=BC=88=E3=81=AF=E3=81=9A=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/jp/nyatla/nyartoolkit/core/transmat/NyARTransMat.java | 15 +++++++++------ .../nyartoolkit/core/transmat/NyARTransMatResult.java | 4 ++++ .../nyartoolkit/core/transmat/NyARTransMat_ARToolKit.java | 5 ++++- .../core/transmat/rotmatrix/NyARRotVector.java | 6 +++--- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/jp/nyatla/nyartoolkit/core/transmat/NyARTransMat.java b/src/jp/nyatla/nyartoolkit/core/transmat/NyARTransMat.java index ed7aa13..a094d15 100644 --- a/src/jp/nyatla/nyartoolkit/core/transmat/NyARTransMat.java +++ b/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