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
  • ab (list[[float, float, float] | compas.geometry.Point]) – The XYZ coordinates of the vertices of the first polyline.

  • bc (list[[float, float, float] | compas.geometry.Point]) – The XYZ coordinates of the vertices of the second polyline.

  • dc (list[[float, float, float] | compas.geometry.Point]) – The XYZ coordinates of the vertices of the third polyline.

  • ad (list[[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

>>>