delaunayTriangulation

Триангуляция Делоне в 2D и 3-D

Описание

Используйте delaunayTriangulation объект создать 2D или 3-D Триангуляцию Делоне из набора точек. Для 2D данных можно также задать ограничения ребра.

Можно выполнить множество топологических и геометрических запросов на delaunayTriangulation, включая любой triangulation запрос. Например, найдите фасет, который содержит отдельный момент, найдите вершины выпуклой оболочки или вычислите Диаграмму Вороного.

Создание

Создать delaunayTriangulation объект, используйте delaunayTriangulation функция с входными параметрами, которые задают точки триангуляции и ограниченные ребра.

Описание

пример

DT = delaunayTriangulation(P) создает Триангуляцию Делоне из точек в P. Матричный P имеет 2 или 3 столбца, в зависимости от того, являются ли ваши точки на 2D или 3-D пробеле.

DT = delaunayTriangulation(P,C) задает ограничения ребра в матричном C для 2D точек в P. Каждая строка C задает запуск и идентификаторы вершины конца ограниченного ребра. Идентификаторы вершины являются номерами строк соответствующих вершин в свойстве DT.Points.

DT = delaunayTriangulation(x,y) создает 2D Триангуляцию Делоне из координат точки в вектор-столбцах x и y.

DT = delaunayTriangulation(x,y,C) задает ограничения ребра в матричном C.

пример

DT = delaunayTriangulation(x,y,z) создает 3-D Триангуляцию Делоне из координат точки в вектор-столбцах xY, и z.

DT = delaunayTriangulation() создает пустую Триангуляцию Делоне.

Входные параметры

развернуть все

Точки, заданные как матрица, столбцами которой является x - координаты, y - координаты, и (возможно) z- координаты точек триангуляции. Номера строк P идентификаторы вершины в триангуляции.

x- точек триангуляции, заданных как вектор-столбец.

y- точек триангуляции, заданных как вектор-столбец.

z- точек триангуляции, заданных как вектор-столбец.

Идентификаторы вершины ограниченных ребер, заданных как матрица с 2 столбцами. Каждая строка C соответствует ограниченному ребру и содержит два идентификатора:

  • C(j,1) ID вершины в начале ребра.

  • C(j,2) ID вершины в конце ребра.

Можно задать ограничения ребра для 2D триангуляций только.

Свойства

развернуть все

Точки в триангуляции, представленной как матрица со следующими характеристиками:

  • Каждая строка в DT.Points содержит координаты вершины.

  • Каждый номер строки DT.Points ID вершины.

Список возможностей соединения триангуляции, представленный как матрица со следующими характеристиками:

  • Каждый элемент в DT.ConnectivityList ID вершины.

  • Каждая строка представляет треугольник или четырехгранник в триангуляции.

  • Каждый номер строки DT.ConnectivityList ID четырехгранника или треугольник.

Ограниченные ребра, представленные как матрица с 2 столбцами идентификаторов вершины. Каждая строка DT.Constraints соответствует ограниченному ребру и содержит два идентификатора:

  • DT.Constraints(j,1) ID вершины в начале ребра.

  • DT.Constraints(j,2) ID вершины в конце ребра.

DT.Constraints пустая матрица, когда триангуляция не имеет никаких ограниченных ребер.

Функции объекта

convexHullВыпуклая оболочка Триангуляции Делоне
isInterior Запросите внутренние точки Триангуляции Делоне
voronoiDiagramДиаграмма Вороного Триангуляции Делоне
barycentricToCartesianПреобразуйте координаты от барицентрического до Декартова
cartesianToBarycentricПреобразуйте координаты от Декартова до барицентрического
circumcenterЦентр описанной окружности треугольника или четырехгранника
edgeAttachmentsТреугольники или тетраэдры, присоединенные к заданному ребру
edgesРебра триангуляции
faceNormalМодульные векторы нормали триангуляции
featureEdgesОбработайте резкий край триангуляции
freeBoundaryСвободные граничные фасеты
incenterЦентр вписанной окружности элементов триангуляции
isConnectedПротестируйте, если две вершины соединяются ребром
nearestNeighborСамая близкая вершина
neighborsТреугольник или соседи четырехгранника
pointLocationТреугольник или точка включения четырехгранника
sizeРазмер списка возможностей соединения триангуляции
vertexAttachmentsТреугольники или тетраэдры, присоединенные к вершине
vertexNormalНормаль вершин триангуляции

Примеры

свернуть все

Создайте 2D delaunayTriangulation объект для 30 случайных точек.

P = gallery('uniformdata',[30 2],0);
DT = delaunayTriangulation(P)
DT = 
  delaunayTriangulation with properties:

              Points: [30x2 double]
    ConnectivityList: [50x3 double]
         Constraints: []

Вычислите центральные точки каждого треугольника и постройте триангуляцию с центральными точками.

IC = incenter(DT);
triplot(DT)
hold on
plot(IC(:,1),IC(:,2),'*r')

Создайте 3-D delaunayTriangulation объект для 30 случайных точек.

x = gallery('uniformdata',[30 1],0);
y = gallery('uniformdata',[30 1],1);
z = gallery('uniformdata',[30 1],2);
DT = delaunayTriangulation(x,y,z)
DT = 
  delaunayTriangulation with properties:

              Points: [30x3 double]
    ConnectivityList: [111x4 double]
         Constraints: []

Постройте триангуляцию.

tetramesh(DT,'FaceAlpha',0.3);

Вычислите и постройте выпуклую оболочку триангуляции.

[K,v] = convexHull(DT);
trisurf(K,DT.Points(:,1),DT.Points(:,2),DT.Points(:,3))

Больше о

развернуть все

Введенный в R2013a