OSDN Git Service

git-svn-id: http://svn.sourceforge.jp/svnroot/nyartoolkit/NyARToolkit/trunk@802 7cac0...
[nyartoolkit-and/nyartoolkit-and.git] / lib / src / jp / nyatla / nyartoolkit / core / param / NyARCameraDistortionFactor.java
index ba2d6da..3969f07 100644 (file)
@@ -33,16 +33,20 @@ package jp.nyatla.nyartoolkit.core.param;
 import jp.nyatla.nyartoolkit.core.types.*;\r
 \r
 /**\r
- * ARToolKitの樽型歪みパラメータを使う、歪み設定/解除クラスです。\r
- * パラメータと理論については、以下の資料、11pageを参照。\r
+ * このクラスは、樽型歪み設定/解除クラスです。\r
+ * パラメータには、ARToolKitの樽型歪みパラメータを使います。\r
+ * <p>アルゴリズム - \r
+ * このクラスでは、歪み矯正前の座標を観察座標系、歪み矯正後の座標を理想座標系と呼びます。\r
+ * パラメータと理論については、以下の資料、11pageを参照してください。\r
  * http://www.hitl.washington.edu/artoolkit/Papers/ART02-Tutorial.pdf\r
- * \r
- * このクラスでは、歪み矯正前の座標を観察座標系、歪み矯正後の座標を理想座標系とします。\r
- * \r
+ * <pre>\r
  * x=x(xi-x0),y=s(yi-y0)\r
  * d^2=x^2+y^2\r
  * p=(1-fd^2)\r
  * xd=px+x0,yd=py+y0\r
+ * </pre>\r
+ * </p>\r
+ * このクラスは{@link NyARParam}に所有されることを前提にしており、単独の仕様は考慮されていません。\r
  */\r
 public class NyARCameraDistortionFactor\r
 {\r
@@ -50,13 +54,14 @@ public class NyARCameraDistortionFactor
        private static final int PD_LOOP = 3;\r
        private double _f0;//x0\r
        private double _f1;//y0\r
-       private double _f2;//100000000.0*\r
+       private double _f2;//100000000.0*f\r
        private double _f3;//s\r
        \r
        \r
        /**\r
-        * 参照元から値をコピーします。\r
+        * この関数は、参照元から歪みパラメータ値をコピーします。\r
         * @param i_ref\r
+        * コピー元のオブジェクト。\r
         */\r
        public void copyFrom(NyARCameraDistortionFactor i_ref)\r
        {\r
@@ -68,9 +73,9 @@ public class NyARCameraDistortionFactor
        }\r
 \r
        /**\r
-        * 配列の値をファクタ値としてセットします。\r
+        * この関数は、配列の値を歪みパラメータ値として、このインスタンスにセットします。\r
         * @param i_factor\r
-        * 4要素以上の配列\r
+        * 歪みパラメータ値を格納した配列。4要素である必要があります。\r
         */\r
        public void setValue(double[] i_factor)\r
        {\r
@@ -82,8 +87,9 @@ public class NyARCameraDistortionFactor
        }\r
        \r
        /**\r
-        * ファクタ値を配列に返します。\r
-        * @param o_factor\r
+        * この関数は、パラメータ値を配列へ返します。\r
+        * @param i_factor\r
+        * 歪みパラメータ値の出力先配列。4要素である必要があります。\r
         */\r
        public void getValue(double[] o_factor)\r
        {\r
@@ -95,25 +101,26 @@ public class NyARCameraDistortionFactor
        }\r
        \r
        /**\r
-        * 歪みパラメータのスケールを変更します。\r
+        * この関数は、歪みパラメータをスケール倍します。\r
+        * パラメータ値は、スケール値の大きさだけ、拡大、又は縮小します。\r
         * @param i_scale\r
+        * パラメータの倍率。\r
         */\r
        public void changeScale(double i_scale)\r
        {\r
-               this._f0=this._f0*i_scale;// newparam->dist_factor[0] =source->dist_factor[0] *scale;\r
-               this._f1=this._f1*i_scale;// newparam->dist_factor[1] =source->dist_factor[1] *scale;\r
+               this._f0=this._f0*i_scale;//X\r
+               this._f1=this._f1*i_scale;//Y\r
                this._f2=this._f2/ (i_scale * i_scale);// newparam->dist_factor[2]=source->dist_factor[2]/ (scale*scale);\r
                //this.f3=this.f3;// newparam->dist_factor[3] =source->dist_factor[3];\r
                return;\r
        }\r
-       /*********\r
-        * override\r
-        *********/\r
        \r
        /**\r
-        * 理想座標から、観察座標系へ変換します。\r
+        * この関数は、座標点を理想座標系から観察座標系へ変換します。\r
         * @param i_in\r
+        * 変換元の座標\r
         * @param o_out\r
+        * 変換後の座標を受け取るオブジェクト\r
         */\r
        public final void ideal2Observ(NyARDoublePoint2d i_in, NyARDoublePoint2d o_out)\r
        {\r
@@ -130,11 +137,12 @@ public class NyARCameraDistortionFactor
                return;\r
        }\r
        \r
-\r
        /**\r
-        * 理想座標から、観察座標系へ変換します。\r
+        * この関数は、座標点を理想座標系から観察座標系へ変換します。\r
         * @param i_in\r
+        * 変換元の座標\r
         * @param o_out\r
+        * 変換後の座標を受け取るオブジェクト\r
         */\r
        public final void ideal2Observ(NyARDoublePoint2d i_in, NyARIntPoint2d o_out)\r
        {\r
@@ -143,10 +151,13 @@ public class NyARCameraDistortionFactor
        }\r
        \r
        /**\r
-        * 理想座標から、観察座標系へ変換します。\r
+        * この関数は、座標点を理想座標系から観察座標系へ変換します。\r
         * @param i_x\r
+        * 変換元の座標\r
         * @param i_y\r
+        * 変換元の座標\r
         * @param o_out\r
+        * 変換後の座標を受け取るオブジェクト\r
         */\r
        public final void ideal2Observ(double i_x,double i_y, NyARIntPoint2d o_out)\r
        {\r
@@ -163,12 +174,14 @@ public class NyARCameraDistortionFactor
                return;\r
        }\r
        \r
-\r
        /**\r
-        * 理想座標から、観察座標系へ変換します。\r
+        * この関数は、複数の座標点を、一括して理想座標系から観察座標系へ変換します。\r
         * @param i_in\r
+        * 変換元の座標配列\r
         * @param o_out\r
+        * 変換後の座標を受け取る配列\r
         * @param i_size\r
+        * 変換する座標の個数。\r
         */\r
        public final void ideal2ObservBatch(NyARDoublePoint2d[] i_in, NyARDoublePoint2d[] o_out, int i_size)\r
        {\r
@@ -193,10 +206,13 @@ public class NyARCameraDistortionFactor
        }\r
 \r
        /**\r
-        * 複数の座標点について、観察座標から、理想座標系へ変換します。\r
+        * この関数は、複数の座標点を、一括して理想座標系から観察座標系へ変換します。\r
         * @param i_in\r
+        * 変換元の座標配列\r
         * @param o_out\r
+        * 変換後の座標を受け取る配列\r
         * @param i_size\r
+        * 変換する座標の個数。\r
         */\r
        public final void ideal2ObservBatch(NyARDoublePoint2d[] i_in, NyARIntPoint2d[] o_out, int i_size)\r
        {\r
@@ -221,11 +237,13 @@ public class NyARCameraDistortionFactor
        }\r
        \r
        /**\r
-        * ARToolKitの観察座標から、理想座標系への変換です。\r
-        * 樽型歪みを解除します。\r
+        * この関数は、座標を観察座標系から理想座標系へ変換します。\r
         * @param ix\r
+        * 変換元の座標\r
         * @param iy\r
+        * 変換元の座標\r
         * @param o_point\r
+        * 変換後の座標を受け取るオブジェクト\r
         */\r
        public final void observ2Ideal(double ix, double iy, NyARDoublePoint2d o_point)\r
        {\r
@@ -263,10 +281,13 @@ public class NyARCameraDistortionFactor
        }\r
 \r
        /**\r
-        * {@link #observ2Ideal(double, double, NyARDoublePoint2d)}の出力型違い。o_veclinearのx,yフィールドに値を出力する\r
+        * この関数は、座標を観察座標系から理想座標系へ変換します\r
         * @param ix\r
+        * 変換元の座標\r
         * @param iy\r
-        * @param o_point\r
+        * 変換元の座標\r
+        * @param o_veclinear\r
+        * 変換後の座標を受け取るオブジェクト。{@link NyARVecLinear2d#x}と{@link NyARVecLinear2d#y}のみに値をセットします。\r
         */\r
        public void observ2Ideal(double ix, double iy, NyARVecLinear2d o_veclinear)\r
        {\r