Я недавно установил библиотеку cgal, и на данный момент я новичок в этой библиотеке, которая мне кажется не простой в использовании. К сожалению, у меня не хватает времени, и я ищу быстрые и существующие решения.
В моем проекте мне нужно восстановить триангулированную сетку поверхности, заданную нулями функции установки уровня (функции расстояния). Набор уровней оценивается в центре трехмерной декартовой сетки. Я уже использовал библиотеку skimage в python, где используется стандартный алгоритм движущегося куба для сетки поверхности с помощью триангуляционных сеток. Визуально эта библиотека, кажется, работает нормально, но когда я вычислял кривизну, используя некоторые формулы дискретной дифференциальной геометрии (например, гауссова капота), кривизны недостаточно точны. По этой причине я хотел бы попробовать библиотеку cgal.
Я спрашиваю, не могли бы вы сориентировать меня на существующие и простые примеры, где поверхность воссоздается из трехмерной матрицы уровней с использованием библиотеки cgal.
У меня также есть некоторые вопросы, связанные с компиляцией некоторых примеров cgal. Я попытался скомпилировать пример в:
Команда компиляции, которую я использую:
g++ -frounding-math -I/usr/include -I/usr/local/include -lCGAL -lmpfr -lboost_thread -lgmp poisson_reconstruction_example.cpp
Но я получаю эти ошибки:
poisson_reconstruction_example.cpp: In function ‘int main()’:
poisson_reconstruction_example.cpp:65:47: error: no matching function for call to ‘CGAL::Poisson_reconstruction_function<CGAL::Epick>::compute_implicit_function()’
if ( ! function.compute_implicit_function() )
^
poisson_reconstruction_example.cpp:65:47: note: candidates are:
In file included from poisson_reconstruction_example.cpp:17:0:
/usr/local/include/CGAL/Poisson_reconstruction_function.h:372:8: note: template<class SparseLinearAlgebraTraits_d, class Visitor> bool CGAL::Poisson_reconstruction_function<Gt>::compute_implicit_function(SparseLinearAlgebraTraits_d, Visitor, double, double) [with SparseLinearAlgebraTraits_d = SparseLinearAlgebraTraits_d; Visitor = Visitor; Gt = CGAL::Epick]
bool compute_implicit_function(
^
/usr/local/include/CGAL/Poisson_reconstruction_function.h:372:8: note: template argument deduction/substitution failed:
poisson_reconstruction_example.cpp:65:47: note: candidate expects 4 arguments, 0 provided
if ( ! function.compute_implicit_function() )
^
In file included from poisson_reconstruction_example.cpp:17:0:
/usr/local/include/CGAL/Poisson_reconstruction_function.h:525:8: note: template<class SparseLinearAlgebraTraits_d> bool CGAL::Poisson_reconstruction_function<Gt>::compute_implicit_function(SparseLinearAlgebraTraits_d, bool) [with SparseLinearAlgebraTraits_d = SparseLinearAlgebraTraits_d; Gt = CGAL::Epick]
bool compute_implicit_function(SparseLinearAlgebraTraits_d solver, bool smoother_hole_filling = false)
^
/usr/local/include/CGAL/Poisson_reconstruction_function.h:525:8: note: template argument deduction/substitution failed:
poisson_reconstruction_example.cpp:65:47: note: candidate expects 2 arguments, 0 provided
if ( ! function.compute_implicit_function() )
Заранее благодарю за любую помощь, которую вы можете оказать
Задача ещё не решена.
Других решений пока нет …