関数 | |
INT FVALGAPI | fnFIE_cg_near_points_count (const PNT_T *pnts, INT num, INT radius, INT *ans_num_tbl) |
近傍にある点の数のカウント |
INT FVALGAPI fnFIE_cg_near_points_count | ( | const PNT_T * | pnts, | |
INT | num, | |||
INT | radius, | |||
INT * | ans_num_tbl | |||
) |
近傍にある点の数のカウント
入力点群の各点について指定された距離以内にある点の数を求めます。 ただし、自分自身および、自分自身との重複点は数には含めません。 また、自分自身以外の点に重複点がある場合は、重複点も含めて1とカウントします。
与えられる入力点群に制限はありません。 つまり、「順序データ」である必要もありませんし、重複点があっても構いません。
以下の図は点 P1 から距離が r 以内にある点は5個であることを示しています。 以降、すべての点で同様の処理を行います。
本関数の結果を利用して、簡易的な密度判定ルーチンが作れます。 (近傍にある点の数に対してしきい値を設定すればよい)。
入力点数( num )は1以上、近傍とみなす半径( radius )は1以上の値を入力してください。
なお ans_num_tbl は、入力点群( pnts ) の要素数( num )の領域を外部でメモリ確保してください。 関数内部では、自動的にメモリ領域を確保しません。
[in] | pnts | 入力点群 |
[in] | num | 入力点数( pnts の要素数) |
[in] | radius | 近傍とみなす半径 |
[out] | ans_num_tbl | 全近傍点計数回答表( num だけ外部で、メモリ領域を確保している ) |
F_ERR_NONE | 正常終了 | |
F_ERR_INVALID_PARAM | 不正なパラメータが渡された | |
F_ERR_NOMEMORY | メモリ不足 | |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |