凸包

Namespace: FVIL.Data
Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)

Syntax

C#
public virtual List<CFviPoint> Convex2d { get; }
Visual Basic
Public Overridable ReadOnly Property Convex2d As List(Of CFviPoint)
	Get

Return Value

Type: List<(Of <(<'CFviPoint>)>)>

リージョンに外接する凸包を取得します。

データコピーのコストを削減した改良版の関数 GetConvex2d()()()() もあります。

Remarks

凸包とは、その領域を含む最小の凸多角形のことです。 直感的に言い表すと、木の板に釘を(同じ面に)いくつか打ち付けた後、 その釘がすべて入るように外側から輪ゴムで留めたときにできる輪ゴムの形が凸包となります。 データ解析的には凸多角形という非常に扱い易い形で点集合全体を近似している、と考えられます。

注意:

  • 領域全点が一直線上にある場合はエラーになります。
  • Xdiff, Ydiff が 65535 以下の条件を満たさない場合はオーバーフローの可能性があります。
  • ラン数が非常に多い場合は凸包が計算できずエラーになります。((ランの数+1)*2*SizeOf(PNT_T)≧UInt32.MaxValue となる場合)

処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。

エラーコード:

ErrorCode メンバ内容
51FVIL.ErrorCode.LICENSE_ERROR ライセンスキーが見つからない為、実行できません。 または、 FVIL._SetUp.InitVisionLibrary が実行されていません。
12FVIL.ErrorCode.INVALID_OBJECTリージョンオブジェクトハンドルが無効です。
11FVIL.ErrorCode.INVALID_PARAMETERリージョンが無効です。
1FVIL.ErrorCode.FAILED_TO_ALLOCATEメモリ確保に失敗しました。
29FVIL.ErrorCode.NOT_CALCULABLE計算不可能です。

Exceptions

ExceptionCondition
FVIL..::..CFviExceptionこの例外の原因については、上記のエラーコード表をご参照ください。

See Also