pointLocation

Треугольник или точка включения четырехгранника

Описание

пример

ID = pointLocation(TR,P) возвращает идентификаторы треугольников или тетраэдров, заключающих точки запроса в P. Каждая строка в матричном P содержит координаты точки запроса.

ID = pointLocation(TR,x,y) задает x- координаты и y- координаты 2D точек запроса как отдельные вектор-столбцы.

ID = pointLocation(TR,x,y,z) задает x - координаты, y - координаты, и z - координаты 3-D точек запроса как отдельные вектор-столбцы.

пример

[ID,B] = pointLocation(___) также возвращает барицентрические координаты каждой точки запроса относительно ее треугольника включения или четырехгранника для любого из предыдущих синтаксисов.

Примеры

свернуть все

Найдите треугольники триангуляции, которые заключают набор точек запроса.

Задайте точки и возможность соединения триангуляции.

TP = [2.5 8.0; 6.5 8.0; 2.5 5.0; 6.5 5.0; 1.0 6.5; 8.0 6.5];
C = [5 3 1; 3 2 1; 3 4 2; 4 6 2];
TR = triangulation(C,TP);

Задайте две точки запроса.

P = [2.25 7; 6 6.5];

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

triplot(TR)
hold on
plot(P(:,1),P(:,2),'k*')
ylim([4 9])
xlim([0 9])

Определите идентификаторы треугольников, которые заключают каждую точку запроса.

ID = pointLocation(TR,P)
ID = 2×1

     1
     3

Подсветите треугольники, которые заключают точки запроса в красный.

triplot(TR.ConnectivityList(ID,:),TP(:,1),TP(:,2),'r')

Найдите тетраэдры 3-D триангуляции, которые заключают набор точек запроса.

Создайте Триангуляцию Делоне из набора 3-D точек.

rng('default')
x = rand([20 1]);
y = rand([20 1]);
z = rand([20 1]);
TR = delaunayTriangulation(x,y,z);

Найдите идентификаторы тетраэдров, которые заключают точки запроса и вычисляют барицентрические координаты точек запроса.

P = [0.7 0.6 0.3; 0.5 0.5 0.5];
[ID,B] = pointLocation(TR,P)
ID = 2×1

    27
    21

B = 2×4

    0.5721    0.1340    0.2046    0.0893
    0.6422    0.1900    0.1495    0.0183

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

свернуть все

Представление триангуляции в виде скалярного triangulation или delaunayTriangulation объект.

Типы данных: triangulation | delaunayTriangulation

Точки запроса в виде матрицы (2-D) с 2 столбцами или матрицы (3-D) с 3 столбцами. P содержит x - координаты, y - координаты, и (возможно) z - координаты точек запроса.

Типы данных: double

x- точек запроса в виде вектор-столбца.

Типы данных: double

y- точек запроса в виде вектор-столбца.

Типы данных: double

z- точек запроса в виде вектор-столбца.

Типы данных: double

Выходные аргументы

свернуть все

Треугольник или идентификаторы тетраэдров треугольников или тетраэдров, заключающих точки запроса, возвращенные как вектор-столбец. ID треугольника или четырехгранника является номером строки соответствующего треугольника или четырехгранника в ConnectivityList свойство.

Если точка запроса находится на контуре двух или больше треугольников или тетраэдров, то самый большой ID возвращен.

ID содержит NaN значения для точек, которые не расположены в треугольнике или четырехграннике триангуляции.

Типы данных: double

Барицентрические координаты каждой точки запроса относительно ее треугольника включения или четырехгранника, возвращенного как матрица (2-D) с 3 столбцами или матрица (3-D) с 4 столбцами.

Типы данных: double

Смотрите также

|

Введенный в R2013a