pointLocation

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

Синтаксис

ID = pointLocation(TR,P)
ID = pointLocation(TR,x,y)
ID = pointLocation(TR,x,y,z)
[ID,B] = 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 точек.

x = gallery('uniformdata',[20 1],0);
y = gallery('uniformdata',[20 1],1);
z = gallery('uniformdata',[20 1],2);
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

    57
    56

B = 2×4

    0.2796    0.0184    0.5286    0.1734
    0.3687    0.0149    0.5343    0.0821

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

свернуть все

Представление триангуляции, заданное как скалярный объект 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