discrete_coons_patch

compas.geometry.discrete_coons_patch(ab, bc, dc, ad)[source]

Creates a coons patch from a set of four or three boundary polylines (ab, bc, dc, ad).

Parameters:
ablist[[float, float, float] | compas.geometry.Point]

The XYZ coordinates of the vertices of the first polyline.

bclist[[float, float, float] | compas.geometry.Point]

The XYZ coordinates of the vertices of the second polyline.

dclist[[float, float, float] | compas.geometry.Point]

The XYZ coordinates of the vertices of the third polyline.

adlist[[float, float, float] | compas.geometry.Point]

The XYZ coordinates of the vertices of the fourth polyline.

Returns:
list[[float, float, float]]

The points of the coons patch.

list[list[int]]

List of faces, with every face a list of indices into the point list.

Notes

The vertices of the polylines are assumed to be in the following order:

b -----> c
^        ^
|        |
|        |
a -----> d

To create a triangular patch, one of the input polylines should be None. (Warning! This will result in duplicate vertices.)

For more information see [1] and [2].

References

[1]

Wikipedia. Coons patch. Available at: https://en.wikipedia.org/wiki/Coons_patch.

[2]

Robert Ferreol. Patch de Coons. Available at: https://www.mathcurve.com/surfaces/patchcoons/patchcoons.shtml

Examples

>>>