當前位置: 首頁>>代碼示例>>C#>>正文


C# NyARIntPoint2d.sqDist方法代碼示例

本文整理匯總了C#中jp.nyatla.nyartoolkit.cs.core.NyARIntPoint2d.sqDist方法的典型用法代碼示例。如果您正苦於以下問題:C# NyARIntPoint2d.sqDist方法的具體用法?C# NyARIntPoint2d.sqDist怎麽用?C# NyARIntPoint2d.sqDist使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在jp.nyatla.nyartoolkit.cs.core.NyARIntPoint2d的用法示例。


在下文中一共展示了NyARIntPoint2d.sqDist方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: traceLine

	    /**
	     * 點1と點2の間に線分を定義して、その線分上のベクトルを得ます。點は、畫像の內側でなければなりません。 320*240の場合、(x>=0 &&
	     * x<320 x+w>0 && x+w<320),(y>0 && y<240 y+h>=0 && y+h<=319)となります。
	     * 
	     * @param i_pos1
	     *            點1の座標です。
	     * @param i_pos2
	     *            點2の座標です。
	     * @param i_area
	     *            ベクトルを検出するカーネルサイズです。1の場合(n*2-1)^2のカーネルになります。 點2の座標です。
	     * @param o_coord
	     *            結果を受け取るオブジェクトです。
	     * @return
	     * @throws NyARException
	     */
        public bool traceLine(NyARIntPoint2d i_pos1, NyARIntPoint2d i_pos2, int i_edge, VecLinearCoordinates o_coord)
	    {
		    NyARIntCoordinates coord = this._coord_buf;
		    NyARIntSize base_s=this._ref_base_raster.getSize();
		    // (i_area*2)の矩形が範囲內に収まるように線を引く
		    // 移動量

		    // 點間距離を計算
		    int dist = (int) Math.Sqrt(i_pos1.sqDist(i_pos2));
		    // 最低AREA*2以上の大きさが無いなら、ラインのトレースは不可能。
		    if (dist < 4) {
			    return false;
		    }
		    // dist最大數の決定
		    if (dist > 12) {
			    dist = 12;
		    }
		    // サンプリングサイズを決定(移動速度とサイズから)
		    int s = i_edge * 2 + 1;
		    int dx = (i_pos2.x - i_pos1.x);
		    int dy = (i_pos2.y - i_pos1.y);
		    int r = base_s.w - s;
		    int b = base_s.h - s;

		    // 最大14點を定義して、そのうち両端を除いた點を使用する。
		    for (int i = 1; i < dist - 1; i++) {
			    int x = i * dx / dist + i_pos1.x - i_edge;
			    int y = i * dy / dist + i_pos1.y - i_edge;
			    // limit
			    coord.items[i - 1].x = x < 0 ? 0 : (x >= r ? r : x);
			    coord.items[i - 1].y = y < 0 ? 0 : (y >= b ? b : y);
		    }

		    coord.length = dist - 2;
		    // 點數は20點程度を得る。
		    return traceConture(coord, 1, s, o_coord);
	    }
開發者ID:saakaifoundry,項目名稱:NyARToolkitUnity,代碼行數:52,代碼來源:NyARVectorReader_Base.cs


注:本文中的jp.nyatla.nyartoolkit.cs.core.NyARIntPoint2d.sqDist方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。