> For the complete documentation index, see [llms.txt](https://interopxyz.gitbook.io/curve-plus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://interopxyz.gitbook.io/curve-plus/components/triangulation/lloyds-voronoi-constrained.md).

# Lloyds Voronoi Constrained

## Description

An implementation of Lloyd's algorithm which iteratively runs a Voronoi solution which for each run uses the previous run's cell area centroids as the new seed points constrained to a surface.

{% tabs %}
{% tab title="Preview" %}
![](/files/adBWyFFnreqDWtUmqzZE)
{% endtab %}

{% tab title="Location" %}
**Name** | Lloyds Voronoi Constrained

**Nickname** | Lloyds2

**Tab** | Mesh

**Panel** | Triangulation

**Division** | 2
{% endtab %}

{% tab title="Inputs" %}
**P** | **Points** (*Point*) | The points for the initial voronoi solution

**S** | **Trimmed Surface** (*Surface*) | A planar trimmed surface for containment

**I** | **Iterations** (*Integer*) | The number of solution iterations to run
{% endtab %}

{% tab title="Outputs" %}
**C** | **Cells** (*Curve*) | The polyline cells of the Voronoi diagram
{% endtab %}

{% tab title="Mode" %}
*none*
{% endtab %}
{% endtabs %}

## Usage

![](/files/TnAJvMIinwMFAdFQT7m7)
