У меня есть набор точек, 3D-координаты которых равны x
, y
и z
, и мне нужно определить эллипсоид, наиболее подходящий для их распределения. Сложность заключается в том, что мои точки не распределены по эллипсоидальным поверхностям, а примерно заполняют пространство, определяемое сигарой. Я обычно работаю с python/C и знаю, что этот вопрос уже задавали, но я не смог найти удовлетворительного ответа. Вы знаете, как я могу решить эту проблему?
Подгонка 3D-эллипсоида к набору точек 3D-данных
comment
Вы ищете алгоритм для поиска эллипсоида по точкам или хотите знать, как реализовать этот алгоритм на Python?
- person mkrieger1   schedule 24.03.2015
comment
Также: что вы пробовали до сих пор и почему это не сработало?
- person mkrieger1   schedule 24.03.2015
comment
Да, я ищу алгоритм, и мне интересно, кто-нибудь уже реализовал его на python или c. Я мог бы выполнить подгонку методом наименьших квадратов, но проблема в том, что мои точки не распределены по поверхности эллипсоида, поскольку они заполняют все пространство. Я предполагаю, что моя проблема состоит в том, чтобы найти предельный эллипсоид для набора точек.
- person Brian   schedule 24.03.2015
comment
Возможно, вы найдете что-то полезное, если будете искать решения минимальной проблемы ограничивающей сферы.
- person mkrieger1   schedule 24.03.2015
Ответы (1)
Есть возможность: i) взять выпуклую оболочку формы. ii) брать только экстремальные точки (т. е. лежащие на границе, а не внутри). iii) использовать стандартный алгоритм подбора эллипсоида, например. https://github.com/pierre-weiss/FitEllipsoid.
Основная трудность из того, что я понял, заключается в том, что алгоритмы подбора эллипсоида предполагают, что точки находятся на границе. Шаги i) и ii) позволят довольно легко отбросить внутренние точки.
person
P. Weiss
schedule
15.02.2017