pointLocation — Locate query points in a DelaunayTri triangulation.
pointLocation(dt, q) returns the containing triangle index for each query point in a 2-D DelaunayTri object. With two outputs, RunMat also returns barycentric coordinates.
Syntax
[ti, bc] = pointLocation(dt, q)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
dt | Any | Yes | — | DelaunayTri object. |
varargin | Any | Variadic | — | Query point matrix or coordinate vectors. |
Returns
| Name | Type | Description |
|---|---|---|
ti | NumericArray | Containing triangle indices, or NaN outside the triangulation. |
bc | NumericArray | Barycentric coordinates for each query point. |
Returned values from pointLocation depend on how many outputs the caller requests.
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:DelaunayTri:InvalidArgument | Constructor, object, constraint, or query inputs are malformed. | DelaunayTri: invalid argument |
RunMat:DelaunayTri:Unsupported | The legacy class is used with constrained or 3-D triangulation forms that RunMat does not implement yet. | DelaunayTri: unsupported form |
How pointLocation works
- Accepts query matrices or paired coordinate vectors.
- MATLAB-compatible object points, connectivity, and query coordinates use double storage; typed-integer coordinates or connectivity are available in
runmatcompatibility mode. - Returns an N-by-1 tensor of one-based triangle indices.
- Outside points return NaN.
- With two requested outputs, returns
[ti, bc]wherebcis N-by-3.
Example
Locate a point
dt = DelaunayTri([0 0; 1 0; 0 1]);
ti = pointLocation(dt, [0.25 0.25]);Using pointLocation with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how pointLocation changes the result.
Run a small pointLocation example, explain the result, then change one input and compare the output.
Related Geometry functions
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how pointLocation is executed, line by line, in Rust.
- View the source for pointLocation in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.