Здравствуйте, ylem, Вы писали:
DD>>Может кто подскажет в какую сторону копать?
Y>Попереворачивать ваше облако точек. Минимум 6 вариантов.
Y>Для каждого из вариантов как-то "сымулировать заполнение жидкостью". Не частицами. Что-нибудь типа поднятых вверх до предположительной плоскости горлышка (или до пересечения) "призм" должно помочь.
Y>Так вы найдете, в какую сторону примерно верх. Использовать эту ось как начальное решение для итерационного алгоритма: понаклонять ось во все стороны, пока конструкция не встанет на три точки.
Y>Решить, что внутри этих трех точек считать центром.
Y>Еще придется решить, что считать плоскостью горлышка (у декоративных ваз он может быть очень неровный).
Y>Не уверен, что это работает
но меня обычно выручают алгоритмы не читерские (вроде суммы нормалей), а те которые моделируют "суть" явления/объекта: в данном случае содержать жидкость + не падать на ровной поверхности.
Y>В предельном случае ваза может быть очень сложной. Представьте себе корявую "картошку" у которой сделали два параллельных среза с разных сторон (верх и дно) и с одной из сторон сделали углубление.
Y>Даже в этом случае нет гарантии, что где-то не найдется более вместительно естественного углубления, такого, что на противоположной стороне будут три точки, на которые ваза обопрется.
Да, вазы разные бывают, и даже в виде пивного бокала. Вариант с наливанием жидкости сложен, во первых для него времени нужно много, да и нужно будет проводить предварительную обработку точек для физического движка.