Перейти к публикации

Вписать цилиндр в облако точек


Рекомендованные сообщения

Доброго дня всем!

 

Ума не приложу, в какой теме задать свой вопрос..

Есть вот такая задачка - у меня есть облако точек после сканирования, много точек. Как ожидается - эти точки должны лежать на поверхности цилиндра, точнее - на сегменте этого цилиндра. Задача - построить цилиндр, который наилучшим образом описывает эти точки. 

Я поначалу думал, что задачка не такая сложная, взялся писать уравнения по методу наименьших квадратов, но получается очень громоздко. Перерыл весь интернет, даже нашел небольшое приложение, которое позволяет решить эту задачку, но там только частный случай решается, для цилиндра с осью Z.. 

 

Кто то может сказать что-то по теме? 

 

 

Ссылка на сообщение
Поделиться на других сайтах


Так а что тут скажешь? Даешь облако - получаешь цилиндр. Вроде так. Нет?

Ссылка на сообщение
Поделиться на других сайтах

Доброго дня всем!

 

Ума не приложу, в какой теме задать свой вопрос..

Есть вот такая задачка - у меня есть облако точек после сканирования, много точек. Как ожидается - эти точки должны лежать на поверхности цилиндра, точнее - на сегменте этого цилиндра. Задача - построить цилиндр, который наилучшим образом описывает эти точки. 

Я поначалу думал, что задачка не такая сложная, взялся писать уравнения по методу наименьших квадратов, но получается очень громоздко. Перерыл весь интернет, даже нашел небольшое приложение, которое позволяет решить эту задачку, но там только частный случай решается, для цилиндра с осью Z.. 

 

Кто то может сказать что-то по теме? 

Rhino+Grasshopper.

 

 

Я, правда не знаю как это сделать технически (какие кнопки нажимать), но знаю, что это поможет.

Ссылка на сообщение
Поделиться на других сайтах
Даешь облако - получаешь цилиндр
 

Стопудово!!!

NULL_TAG, грузи свое облако, через 20 минут получишь свой цилиндр.

 

Ссылка на сообщение
Поделиться на других сайтах

Да мне хотелось бы математику этого дела понять..

Я думал тебе нужен цилиндр...

Ссылка на сообщение
Поделиться на других сайтах
Да мне хотелось бы математику этого дела понять..
для цилиндра математика не нужна. Построил, примерил, изменил 
Ссылка на сообщение
Поделиться на других сайтах
Да мне хотелось бы математику этого дела понять

Предположу: Триангуляция облака, далее нормали к полигонам пересекуться в проекции на оси цилиндра, далее от оси до точки это радиус и вуаля. Ну где-то как-то так.

Ссылка на сообщение
Поделиться на других сайтах

Нет. Нужна "стиральная машинка", загрузив в которую все точки хочу получить точку, единичный вектор, радиус. 

Это как в школьном примере метода наименьших квадратов - две частных производных дают систему из двух уравнений, решая которую получаем коэффициенты прямой y=kx+b, которая наилучшим образом описывает много-много точек, которые в общем случае не лежат на прямой. 

 

У меня есть Imageware, и там есть функция Best Fit Cylinder, но она - зараза - выстраивает полный цилиндр, 2PI, минимизируя расстояние от всего облака до всего цилиндра, а у меня только сегмент..

Ссылка на сообщение
Поделиться на других сайтах

Если зайду в тупик - выложу облако. 

Киньте в личку, попробую.

Ссылка на сообщение
Поделиться на других сайтах

-15831.98 1859.114 895.3897
-15837.58 1817.169 875.6914
-15885.03 1298.205 664.7499
-15882.24 1342.882 682.1337
-15860.08 1614.904 791.1835
-15862.26 1592.638 781.5576
-15866.89 1542.047 777.3371
-15804.94 2085.254 584.6098
-15809.85 2049.497 570.6745
-15816.67 1999.23 541.7494
-15864.36 1594.195 316.0724
-15868.79 1545.36 293.2244
-15865.94 1578.805 234.83
-15784.71 2242.187 299.1063
-15787.78 2222.076 284.2136
-15791.49 2194.733 269.0161
-15811.07 2051.544 202.6156
-15813.86 2030.697 194.0649
-15853.68 1706.203 94.81318
-15857.72 1667.588 89.81395
**end cloud**

 

Вот эти точки должны лежать на цилиндре. Конечно, это не весь скан, весь скан 250 МБ, но если кто-то покажет, как вписать цилиндр КАКОГО-ТО радиуса, чтоб ошибка была минимально возможной на этих точках - буду премного благодарен.

 

Повозился с Imageware. Если подсовываю точки, которые однозначно лежат на цилиндре, даже на сегменте - делает цилиндр изумительно..

 

100 0 0
0 100 0
-100 0 0
100 0 10
0 100 10
-100 0 10
100 0 20
0 100 20
-100 0 20

 

Подсовываю реальные - бред какой-то выдает.

Ссылка на сообщение
Поделиться на других сайтах

Задача не такая простая, как может показаться. :boxed:

Полное колечко такое получил, если без десятых долей мм.

Можно попытаться сегмент вырезать из имеющихся данных. Но маловато, конечно 20-ти точек.

post-35096-0-86394100-1389522057.png

Ссылка на сообщение
Поделиться на других сайтах

0.563385 0.39361 0.796173 0.731631 0.528265 1.047842 1.161338 0.878583 0.935976 0.92325 0.616876 0.529294 0.398791 0.055427 0.028482 0.022349 0.429022 0.634405 0.888899 1.47163

Порядок по точкам не соблюден. Просто цифры отклонений.

Ссылка на сообщение
Поделиться на других сайтах

Если есть предположения о параметрах цилиндра, то хорошо справится PowerInspect - он как раз позволяет вписать имеющуюся модель в облако и выдать таблицу отклонений. Математика, понятное дело, закрытая.

Ссылка на сообщение
Поделиться на других сайтах

NULL_TAG


Раз диаметр не напугал, значит близко к истине? А то я подумал, что это недостаток данных сказывается на масштабе.

IGES Cylinder approximation.rar

 

UPD Мало кому интересно, но по имеющимся исходным данным можно "притянуть" цилиндр получше.
Уменьшил среднее отклонение на целых 0,158 мм.
Соответственно, поменялся диаметр, центр и угол наклона оси на огромных 0,6°. :biggrin:

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...