триангуляция Делоне

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

Описание

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

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

Создание

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

Синтаксис

DT = delaunayTriangulation(P)
DT = delaunayTriangulation(P,C)
DT = delaunayTriangulation(x,y)
DT = delaunayTriangulation(x,y,C)
DT = delaunayTriangulation(x,y,z)
DT = delaunayTriangulation()

Описание

пример

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

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

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

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

пример

DT = delaunayTriangulation(x,y,z) создает 3-D Триангуляцию Делоне из координат точки в векторах - столбцах x, y и 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 . Ограничения (j, 1) ID вершины в начале края.

  • Dt . Ограничения (j, 2) ID вершины в конце края.

Dt . Ограничения являются пустой матрицей, когда триангуляция не имеет никаких ограниченных краев.

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

выпуклая оболочкаВыпуклая оболочка Триангуляции Делоне
isInterior Запросите внутренние точки Триангуляции Делоне
диаграмма ВороногоДиаграмма Вороного Триангуляции Делоне
barycentricToCartesianПреобразуйте координаты от барицентрического до Декартова
cartesianToBarycentricПреобразуйте координаты от Декартова до барицентрического
центр описанной окружностиЦентр описанной окружности треугольника или четырехгранника
edgeAttachmentsТреугольники или tetrahedra, присоединенный к заданному краю
краяКрая триангуляции
faceNormalМодульные векторы нормали триангуляции
featureEdgesОбработайте резкий край триангуляции
freeBoundaryСвободные граничные фасеты
центр вписанной окружностиЦентр вписанной окружности элементов триангуляции
isConnectedПротестируйте, если две вершины соединяются краем
nearestNeighborСамая близкая вершина
соседиТреугольник или соседи четырехгранника
pointLocationТреугольник или точка включения четырехгранника
размерРазмер списка возможностей соединения триангуляции
vertexAttachmentsТреугольники или tetrahedra, присоединенный к вершине
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

Была ли эта тема полезной?