Найти - Пользователи
Полная версия: Oriented Bounding Box
Начало » Python для новичков » Oriented Bounding Box
1 2
sevatster
Всем привет.
Есть структура точек 3D объекта в пространстве
[(x1,y1,z1),(x2,y2,z2),...,(xn,yn,zn)]
Нужно построить Oriented Bounding Box, то есть на выходе 6 точек - его вершины.
Что такое Oriented Bounding Box можно увидеть на рисунке и его отличие от простого минимакса:

Это по идее довольно просто, но я не могу найти алгоритм или решение. Нашел в NumPy функцию numpy.linalg.svd, но не уверен что это то, да и ругается что массив слишком большой.
Точек в районе 30 тысяч.
Shaman
Найти минимальные и максимальные значения по трём измерениям.
sevatster
Ну как я говорил ранее, это будет простой минимакс, который показан черным на рисунке. А мне нужно минимальный Oriented - показан белым.

UPD то есть даже на рисунке видно, что вершины баундинг бокса даже не принадлежат тому множеству точек из которго состоит сам объект!
Shaman
А я подразумевал систему координат модели, но не сказал об этом.
Кроме того, не путайтесь в терминах и других с толку не сбивайте. https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BA%D1%81
sevatster
Что имеется в виду под “системой координат модели”? Пример бы.
Shaman
Вообще-то, с такими вопросами рановато решать подобные задачи. Пример у Вас прямо на картинках, в виде сине-зелёно-красных стрелок.
sevatster
Как я узнаю направление этих стрелок, если у меня объект как на рисунке справа?
Shaman
На рисунке справа тоже есть стрелки. Если стрелок нет, огласите критерии, по которым будет решаться где у объекта верх, где дно.
sevatster
Верх и дно объекта не нужно, зачем оно? А если объект шарообразный, что тогда? Есть просто набор точек, их нужно окружить минимальным параллелепипедом. Он, кстати будет единственным. То, что предлагаете вы, как-то уж через чур похоже на черный параллелепипед, который да, находится элементарно. Но повторюсь, мне нужен белый.

UPD А, я понял, рисунок он только для иллюстрации того, что мне нужно. А есть по факту у меня только структура из точек как описано.
Shaman
Ориентированый <> минимальный! Это совсем другая задача.
sevatster
Он, кстати будет единственным.
Нет, он не будет единственным.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB