pymeshlab - Проблема с фильтром remeshing_isotropic_explicit_remeshing
Давайте рассмотрим файл bunny10k.ply, который вы можете скачать здесь, который имеет 6614 вершин и 9999 граней.
Я использую MeshLab v2020.12 и pymeshlab 0.2.1.
У меня два вопроса.
Первый вопрос
Если я открываю MeshLab и применяю фильтр «Remeshing: Isotropic Explicit Remeshing» без изменения каких-либо параметров, я получаю меш с 10827 вершинами и 21522 гранями, как вы можете видеть на изображении bunny_isotropic_meshlab.
Если я выполняю ту же операцию с помощью pymeshlab (поэтому параметры по умолчанию не изменяются), я получаю другой результат, то есть я получаю сетку с 10803 вершинами и 21474 гранями, как вы можете видеть на изображении bunny_isotropic_pymeshlab . Я также вставил код ниже.
import pymeshlab
ms = pymeshlab.MeshSet()
mesh_non_isotropic = ms.load_new_mesh('bunny10k.ply')
mesh_isotropic = ms.remeshing_isotropic_explicit_remeshing()
ms.save_current_mesh('bunny_isotropic_pymeshlab.ply')
Если я взгляну на документацию по этому фильтру, значения по умолчанию равны значениям по умолчанию пользовательского интерфейса MeshLab.
Таким образом, мне интересно, что вызывает эту разницу.
Второй вопрос
Более того, у меня проблемы с пониманием того, как вводить значения «targetlen» и «maxsurfdist» (когда я хочу изменить значения по умолчанию). В документации эти значения определены как проценты, но если я ввожу в pymeshlab то же значение, что и в пользовательском интерфейсе (процентное поле), я получаю две совершенно разные сетки.