Documentation Center

  • Trial Software
  • Product Updates

pointLocation

Class: DelaunayTri

(Will be removed) Simplex containing specified location

Syntax

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

Description

SI = pointLocation(DT,QX) returns the indices SI of the enclosing simplex (triangle/tetrahedron) for each query point location in QX. The enclosing simplex for point QX(k,:) is SI(k). pointLocation returns NaN for all points outside the convex hull.

SI = pointLocation(DT,QX,QY) and SI = pointLocation(DT,QX,QY,QZ) allow the query point locations to be specified in alternative column vector format when working in 2-D and 3-D.

[SI, BC] = pointLocation(DT,...) returns the barycentric coordinates BC.

Input Arguments

DTDelaunay triangulation.
QXMatrix of size mpts-by-ndim, mpts being the number of query points.

Output Arguments

SIColumn vector of length mpts containing the indices of the enclosing simplex for each query point. mpts is the number of query points.
BCBC is a mpts-by-ndim matrix, each row BC(i,:) represents the barycentric coordinates of QX(i,:) with respect to the enclosing simplex SI(i).

Examples

Example 1

Create a 2-D Delaunay triangulation:

X = rand(10,2);
dt = DelaunayTri(X);

Find the triangles that contain specified query points:

qrypts = [0.25 0.25; 0.5 0.5];
triids = pointLocation(dt, qrypts)

Example 2

Create a 3-D Delaunay triangulation:

x = rand(10,1); 
y = rand(10,1); 
z = rand(10,1);
dt = DelaunayTri(x,y,z);

Find the triangles that contain specified query points and evaluate the barycentric coordinates:

qrypts = [0.25 0.25 0.25; 0.5 0.5 0.5];
[tetids, bcs] = pointLocation(dt, qrypts)

See Also

| |

Was this topic helpful?