Пошук центральної лінії з набору 3D-точок


21

У мене є набір 3D точок. Вони слідують вигнутому малюнку з досить постійним діаметром, як показано нижче. Яким був би алгоритм простежити приблизну центральну лінію цих точок?

3d очки


Поліном 3-го ступеня, Excel?
FelixIP

Які інструменти ви використовуєте чи у вас є? Матлаб? Excel? R? Пітон?
Скотт Ньюсон

@ScottNewson - точно не Matlab. Я відкритий для будь-якої мови програмування.
vinayan

Це питання / відповідь може допомогти вам, /programming/29208554/calculate-centerline-in-3d-structure
Метт

Відповіді:


7

Існує документ під назвою "Вигнута реконструкція з неорганізованих точок" Ін-Квана Лі, який вивчає побудову ліній / кривих з набору точок без будь-якого впорядкування, використовуючи метод рухомих найменших квадратів . Хоча він зосереджений на 2D-додатках, він згадує про можливість поширити це на більш високі розміри. Наступне зображення взято з паперу:

Зображення, взяті із згаданого паперу

У розділі " Глава 4 - 3D-розширення " описано, як метод неможливо застосувати безпосередньо до 3-х вимірів, але можна обчислити криву квадратичної регресії 3D за допомогою:

  • Групування сусідніх точок методом рухомих найменших квадратів
  • Обчислення площини регресії K : z = A x + B y + C шляхом мінімізації квадратики
  • Проектування цих сусідніх точок на площину K та розв’язування задачі про найменші квадрати, що рухаються, 2D.

Сподіваюся, це допомагає! (Досить цікавий папір!)


1
@whuber - Дякую за перевірку. Я редагував свій пост, коли випадково знайшов документ, який може описати можливий метод.
Йосип

2
Приємна знахідка! EMST - хороший вибір, на якому базуватись рішення. (+1) Процедура в цьому документі може бути вдосконалена за допомогою надійних методів розгладження, таких як Лосс або різних форм санкціонованих накладок.
whuber

3

На це питання вже відповіли. Ось те саме питання:

curve-fitting-3d-набір даних

Якщо ви шукаєте готові до використання інструменти та коди, існує безліч числових методів вирішення цієї проблеми, як жадібний підхід, який реалізується в пакетах R, завантажуваних з GAM .

Якщо ви шукаєте чисті алгоритми, щоб самостійно їх реалізувати, пропоную вам попросити його у математичному співтоваристві ( http://math.stackexchange.com )

Крім того, ця сторінка wiki пов'язана з вашим запитанням ( http://en.wikipedia.org/wiki/Curve_fitting )


-1

ви можете навести приклад?
ники

Що означають? URL-адреси у відповіді.
Містер Че

2
Мені не подобається оскаржувати відповіді, тому що я завжди ціную зусилля та доброзичливість, які вони відображають, але я роздратований виявити - переглянувши всі три посилання - що жодна з них насправді не відповідає на питання. Вони танцюють навколо простих його варіантів, таких як встановлення прямої лінії або еліпсоїда до точок.
whuber

2
Я вже провів день на першому посиланні, сподіваючись, що це може бути корисним :)
vinayan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.