Main Content

DelaunayTri

(권장되지 않음) 2차원 및 3차원 들로네 삼각분할(Delaunay Triangulation)

DelaunayTri는 권장되지 않습니다. delaunayTriangulation을 대신 사용하십시오.

설명

DelaunayTri는 점 집합에서 들로네 삼각분할(Delaunay Triangulation) 객체를 만듭니다. 점을 추가하거나 제거하여 해당 삼각분할을 단계적으로 수정할 수 있습니다. 2차원 삼각분할에서 모서리 제약 조건을 부과할 수 있습니다. 위상 쿼리와 기하학 쿼리를 수행하고 보로노이 다이어그램(Voronoi Diagram)과 볼록 껍질(Convex Hull)을 계산할 수 있습니다.

생성

설명

DT = DelaunayTri는 빈 들로네 삼각분할을 생성합니다.

예제

DT = DelaunayTri(X), DT = DelaunayTri(x,y)DT = DelaunayTri(x,y,z)는 점 집합에서 들로네 삼각분할을 만듭니다. 점을 mpts×ndim 행렬 X로 지정할 수 있습니다. 여기서 mpts는 점의 개수이고 ndim은 점이 있는 공간의 차원입니다. 여기서 ndim은 2 또는 3입니다. 또는 점을 2차원과 3차원 입력값에 대한 열 벡터 (x,y) 또는 (x,y,z)로 지정할 수 있습니다.

DT = DelaunayTri(___,C)는 제약 조건이 적용되는 들로네 삼각분할(Delaunay Triangulation)을 만듭니다. 이 기능은 2차원 삼각분할에만 지원됩니다.

입력 인수

모두 확장

삼각분할할 점으로, 행렬로 지정됩니다. Xmpts×ndim 행렬로 지정할 수 있습니다. 여기서 mpts는 점의 개수이고 ndim은 점이 있는 공간의 차원입니다. ndim은 2 또는 3입니다.

삼각분할할 점으로, 개별 벡터 인수로 지정됩니다. 2차원과 3차원 입력값에 대해 각각 열 벡터 (x,y) 또는 (x,y,z)로 지정할 수 있습니다.

모서리 제약 조건으로, 행렬로 지정됩니다. 모서리 제약 조건 Cnumc×2 행렬로 정의됩니다. 여기서 numc는 제약 조건이 지정된 모서리의 개수입니다. C의 각 행은 점 집합 X에 대한 끝점 인덱스와 관련하여 제약 조건이 지정된 모서리를 정의합니다.

속성

모두 확장

꼭짓점 좌표로, 행렬로 지정됩니다. X의 차원은 mpts×ndim입니다. 여기서 mpts는 점의 개수이고 ndim은 점이 있는 공간의 차원입니다. x,y 또는 x,y,z 좌표로 구성된 열 벡터를 사용하여 삼각분할을 생성하는 경우 해당 데이터는 단일 행렬 X로 통합됩니다.

삼각분할 연결로, 행렬로 지정됩니다. Triangulation은 삼각분할을 구성하는 삼각형 또는 사면체 등과 같은 단체(Simplex)들의 집합을 나타내는 행렬입니다. 이 행렬의 크기는 mtri×nv입니다. 여기서 mtri는 단체의 개수이고 nv는 단체당 꼭짓점 개수입니다. 삼각분할은 표준 단체(Simplex) 꼭짓점 형식으로 표현됩니다. 각 행은 X에 대한 인덱스로 정의된 단체(Simplex)를 지정합니다. 여기서 X는 점 좌표로 구성된 배열입니다.

제약 조건이 지정된 모서리로, 행렬로 지정됩니다. Constraints는 제약 조건이 지정된 삼각분할 모서리 데이터를 정의하는 numc×2 행렬입니다. 여기서 numc는 제약 조건이 지정된 모서리의 개수입니다. 제약 조건이 지정된 각 모서리는 X에 대한 끝점 인덱스의 측면에서 정의됩니다.

제약 조건은 삼각분할을 생성할 때 지정하거나 나중에 Constraints 속성을 직접 편집하여 부과할 수 있습니다.

이 기능은 2차원 삼각분할에만 지원됩니다.

객체 함수

아래 객체 함수 외에도 DelaunayTri 객체는 괄호 ()를 사용하여 삼각분할의 요소를 참조하도록 지원합니다. 이때의 구문은 배열의 경우와 동일합니다.

baryToCart(권장되지 않음) 무게중심 좌표에서 카테시안 좌표(Cartesian Coordinate)로 점 좌표 변환
cartToBary(권장되지 않음) 카테시안 좌표(Cartesian Coordinate)에서 무게중심 좌표로 점 좌표 변환
circumcenters(권장되지 않음) 지정된 단체(Simplex)의 외심
convexHull(권장되지 않음)들로네 삼각분할의 볼록 껍질
edgeAttachments(권장되지 않음) 지정된 모서리에 연결된 삼각형 또는 사면체
edges(권장되지 않음) 삼각분할 모서리
faceNormals(권장되지 않음) 지정된 삼각형에 대한 단위 법선(Unit Normal)
featureEdges(권장되지 않음) 곡면 삼각분할(Surface Triangulation)의 예리한 모서리(Sharp Edge)
freeBoundary(권장되지 않음) 자유 경계 패싯
incenters(권장되지 않음) 지정된 단체(Simplex)의 내심
inOutStatus(권장되지 않음) 2차원 제약 조건이 적용되는 들로네 삼각분할(Delaunay Triangulation)에서 삼각형의 상태
isEdge(권장되지 않음) 꼭짓점이 모서리로 연결되는지 테스트
nearestNeighbor(Not recommended) Vertex closest to specified point
neighbors(Not recommended) Triangle or tetrahedron neighbors
pointLocation(Not recommended) Triangle or tetrahedron enclosing point
size(Not recommended) Size of triangulation matrix
vertexAttachments(Not recommended) Triangles or tetrahedra attached to vertex
voronoiDiagram(Not recommended) Voronoi diagram of Delaunay triangulation

예제

모두 축소

단위 정사각형 내에 있는 임의의 점 20개의 들로네 삼각분할을 계산하고 삼각분할을 플로팅합니다.

rng default
x = rand(20,1);
y = rand(20,1);
dt = DelaunayTri(x,y);
triplot(dt)

Figure contains an axes object. The axes object contains an object of type line.

세부 정보

모두 확장

  • 경계 제약 조건이 서로 교차하거나 겹칠 경우 DelaunayTri는 부정확하거나 일관되지 않은 결과를 생성할 수 있습니다. 이 같은 동작을 방지하려면 서로 교차하거나 겹치지 않는 하나 이상의 닫힌 경계를 만드는 제약 조건을 사용하십시오.

버전 내역

R2009a에 개발됨