exponenta event banner

pointLocation

Класс: DelaunayTri

(Не рекомендуемый) Симплекс, содержащий заданное местоположение

Примечание

pointLocation(DelaunayTri) не рекомендуется. Используйте pointLocation(triangulation) вместо этого.

DelaunayTri не рекомендуется. Использование delaunayTriangulation вместо этого.

Синтаксис

SI = pointLocation(DT,QX)
SI = pointLocation(DT,QX,QY)
SI = pointLocation(DT,QX,QY,QZ)
[SI, BC] = pointLocation(DT,...)

Описание

SI = pointLocation(DT,QX) возвращает индексы SI заключающего симплекса (треугольник/четырехгранник) для каждого местоположения точки запроса в QX. Симплексом включения для точки QX(k,:) является SI(k). pointLocation возвращает NaN для всех точек вне выпуклой оболочки.

SI = pointLocation(DT,QX,QY) и SI = pointLocation(DT,QX,QY,QZ) позвольте местоположениям точки запроса быть заданными в альтернативном формате вектор-столбца при работе в 2D и 3-D.

[SI, BC] = pointLocation(DT,...) возвращает барицентрические координаты BC.

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

DTТриангуляция Делоне.
QXМатрица размера mpts-by-ndim, mpts, являющийся количеством точек запроса.

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

SIВектор-столбец длины mpts, содержащий индексы симплекса включения для каждой точки запроса. mpts является количеством точек запроса.
BCBC является mpts-by-ndim матрица, каждая строка, BC(i,:) представляет барицентрические координаты QX(i,:) относительно заключающего симплексного SI(i).

Примеры

Пример 1

Создайте 2D Триангуляцию Делоне:

X = rand(10,2);
dt = DelaunayTri(X);
Найдите треугольники, которые содержат заданные точки запроса:
qrypts = [0.25 0.25; 0.5 0.5];
triids = pointLocation(dt, qrypts)

Пример 2

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

x = rand(10,1); 
y = rand(10,1); 
z = rand(10,1);
dt = DelaunayTri(x,y,z);
Найдите треугольники, которые содержат заданные точки запроса и оценивают барицентрические координаты:
qrypts = [0.25 0.25 0.25; 0.5 0.5 0.5];
[tetids, bcs] = pointLocation(dt, qrypts)

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

| |