用CGAL设置表面网格参数化的角落
Setting the corners of surface mesh parameterization with CGAL
我正在使用cgal-4.14的square_border_parameterizer.cpp示例。我不仅要选择四个角落,还要决定哪个是哪个。也就是说,我想指定的是,将分配哪个角落(0,0(,该参数对将变为(0,1(,将变为(1,0(,哪个将变为(1,1(。有可能吗?
我尝试了用CGAL提供的Nefertiti示例,并使用了几个选定角的排列。
corners1.selection.txt:
133 8 0 287
Corners2.Selection.txt:
8 0 287 133
Corners 3.Selection.txt:
287 0 8 133
但是,在Meshlab中打开的所有三种情况下,结果似乎都一样。
我也看了源代码,但我还无法得出结论。据我所知,文档只提到一个人可以选择四个角落。
您应该调整的是参数器参数中的边界半edge。
内部(尤其是在Square_border_parameterizer
的函数Compute_offsets((中,角落通过行走边框归因于其几何UV位置,从您在输入中传递的HalfEDGE bhd
开始:第一个角落将在uv(0,0)
等
因此,如果要修改哪个顶点在 (0,0)
上,并查看正在玩的squared_border_example.cpp,则可以简单地添加:
while(source(bhd, sm) != vda[i])
bhd = next(bhd, sm); // walk the border
使用i=0,...,3
致电SMP::paramterize()
之前,您将获得您可能想要的参数化空间的任何旋转。
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 使用不带参数的函数访问结构元素
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 如何使用Luacneneneba API正确读取字符串和表参数
- 在派生函数中指定void*参数
- 视图中的参数推导失败:take_while
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 使用指向成员的指针将成员函数作为参数传递
- 没有名称的C++模板参数
- 用CGAL设置表面网格参数化的角落