メインコンテンツ

isEdgeManifold

表面メッシュがエッジ多様体かどうかのチェック

R2022b 以降

    説明

    TF = isEdgeManifold(mesh,allowBoundaryEdges) は、表面メッシュがエッジ多様体かどうかをチェックします。メッシュの各エッジの境界が 1 面または 2 面のいずれかである場合、そのメッシュはエッジ多様体です。

    すべて折りたたむ

    表面メッシュのメッシュ頂点を定義します。

    vertices = [1 -1  1; 1 1 1; -1 1 1; -1 -1 1; ...
                1 -1 -1; 1 1 -1; -1 1 -1; -1 -1 -1];

    頂点を使用してメッシュ面を定義します。

    faces = [6 2 1; 1 5 6; 8 4 3; 3 7 8; 6 7 3; 3 2 6; ...
             5 1 4; 4 8 5; 4 1 2; 2 3 4; 7 6 5; 5 8 7];

    表面メッシュを作成して表示します。

    mesh = surfaceMesh(vertices,faces);
    surfaceMeshShow(mesh)

    メッシュがエッジ多様体かどうかをチェックします。

    allowBoundaryEdges = false;
    TF = isEdgeManifold(mesh,allowBoundaryEdges);
    disp(TF)
       1
    

    入力引数

    すべて折りたたむ

    表面メッシュ。surfaceMesh オブジェクトとして指定します。

    境界エッジを許可。logical true または false として指定します。この値を true に指定すると、関数はメッシュがエッジ多様体かどうかのチェックで境界エッジを無視します。

    データ型: logical

    出力引数

    すべて折りたたむ

    表面メッシュがエッジ多様体であるかどうか。logical 0 (false) または 1 (true) として返されます。メッシュがエッジ多様体である場合、この関数は true を返します。それ以外の場合は、false を返します。

    この関数は、メッシュに境界エッジがあり、かつ allowBoundaryEdgesfalse に指定されている場合にも false を返します。

    バージョン履歴

    R2022b で導入