bestfit_sphere_numpy

compas.geometry.bestfit_sphere_numpy(points)[source]

Returns the sphere’s center and radius that fits best through a set of points.

Parameters:
points: array_like[point]

XYZ coordinates of the points.

Returns:
[float, float, float]

Sphere center (XYZ coordinates).

float

Sphere radius.

Notes

For more information see [1].

References

[1]

Least Squares Sphere Fit. Available at: https://jekel.me/2015/Least-Squares-Sphere-Fit/.

Examples

>>> from compas.geometry import bestfit_sphere_numpy
>>> points = [(291.580, -199.041, 120.194), (293.003, -52.379, 33.599),                  (514.217, 26.345, 29.143), (683.253, 26.510, -6.194),                  (683.247, -327.154, 179.113), (231.606, -430.659, 115.458),                  (87.278, -419.178, -18.863), (24.731, -340.222, -127.158)]
>>> center, radius = bestfit_sphere_numpy(points)