Ajuste de un elipsoide a puntos de datos 3D

Tengo un gran conjunto de puntos de datos 3D a los que quiero ajustar un elipsoide.

Mi matemática es bastante pobre, así que tengo problemas para implementar el método de mínimos cuadrados sin ninguna biblioteca matemática.

¿Alguien sabe o tiene un código que pueda encajar en un elipsoide a los datos que puedo conectar directamente a mi proyecto? En C sería lo mejor, pero no debería ser un problema para mí convertir de C ++, Java, C #, python, etc.

EDIT: Solo poder encontrar el centro también sería de gran ayuda. Tenga en cuenta que los puntos no están espaciados uniformemente, por lo que tomar la media no dará como resultado el centro.

Respuestas a la pregunta(9)

Su respuesta a la pregunta