У меня есть облака точек разных примитивных объектов (конус, плоскость, тор, цилиндр, сфера, эллипсоид). Все они различаются по ориентации, положению и масштабу. Кроме того, все они инициализируются уникальным набором параметров (например, высотой, радиусом и т. Д.), Поэтому их форма может быть несколько иной (одни конусы высокие, другие маленькие и толстые).
Теперь к моему вопросу:
Пытаюсь найти "основные компоненты" объекта. Использование PCA не дает хороших результатов, поскольку повернутые примитивы могут иметь свои основные вариации в любом направлении (которое не обязательно должно быть по длине объектов).
Единственный шанс, который я вижу, - это каким-то образом использовать симметрию моих примитивов. Нет ли метода, основанного на инерции? Может быть, как-нибудь найти главную ось симметрии и две другие, перпендикулярные ей?
Можете ли вы дать мне совет или указать на документы или реализации (может быть, даже на Python)?
Большое спасибо, Мерлин.
PS: Это то, что я получу, если буду применять только PCA. Специально для шишек это не работает. Только конусы, которые почти идентичны по форме, имеют одинаковую ориентацию, но мне нужно, чтобы они все указывали в одном направлении (например, вверх).