Проверьте, равны ли две трехмерные сетки за эффективное время - PullRequest
0 голосов
/ 27 сентября 2018

Я пишу приложение, которое будет работать в виртуальной реальности.Пользователь сможет создавать свою собственную сцену, загружая 3d-файлы. Из соображений производительности я должен проверить, есть ли у меня уже объект, который пользователь загружает в мою базу данных, или мне нужно его сохранить. Название объектовне может быть использован

Я думал об использовании комбинации: количество вершин и объем / площадь сетки

Но, хотя количество вершин задано, я пытаюсьвычислить объем или площадь для любой заданной сетки

Есть предложения?

Приветствуются любые другие варианты обнаружения двух одинаковых сеток

Редактировать: Поскольку кто-то предложил это в комментариях, сетки будут очень большими по числу вершин, поэтому цикл для всех вершин будетдействительно дорогоЯ ищу лучший компромисс

1 Ответ

0 голосов
/ 28 сентября 2018

Для каждого меша вы можете вычислить хеш (CRC64, MD5, ...) для отсортированных вершин и сохранить его вместе с другими данными меша.

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

...