Skip to content

Store additional (non-Steiner) points in triangles #6

@mikwielgus

Description

@mikwielgus

Hi, thank you for your library, it is very useful.

It would be nice if it was possible to add additional (auxiliary) points to the triangulation, somewhat like Steiner points, but without altering the set of triangulation edges and vertices anyhow, but instead having each of these points additionally stored in the same entry as vertices of the triangle that contains it (or in a separate array but under the same indices).

The application I need this for is this: I have a multilayer navigation mesh where each layer is a dual (centroid net) of a triangulation generated with i_triangle. I also have a set of "stitches": points through which it should be possible to go through one layer to another. To incorporate the stitches in the net of each of the layers, I need to figure out which centroids I should join them to with edges. For that, the most obvious choice is to connect each stitch to the centroid of the triangle it lies on (if it lies on an edge, probably to both triangles that share the edge).

Under this approach, adding such stitches to the nets only after the triangulation has been constructed would mean iterating over all the triangles and checking if any of the additional points to add is inside each triangle's boundary. This could be costly, as the number of stitches may be fairly large, so I'm interested if i_triangle could do that more quickly by instead handling these points during its triangulation sweep.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions