输入模型出现了不同三角面片的法向量朝向不同问题,导致使用半边数据结构建立拓扑关系会出错,那么怎样判断任意一个三角面片的法向量是否为正确的朝向呢?

zhonglixianyun 2018-04-12 10:39:39
我输入的三维模型是通过两个模型之间三角面片的重组组成的,两个模型的法向量并不都一致,也就是说可能一个模型的三角面片法向量朝内,一个模型的三角面片法向量朝外,这样导致重组的三维模型的三角面片法向朝向会不一致,法向朝向不一致就会导致我之后使用半边数据结构建立拓扑关系出错。现在我只需知道模型中一个面片的朝向(就是明确知道这个三角面片是朝内还是朝外的)就可以将其它所有的三角面片的法向量调整为跟这个三角面片法向朝向一致,比如我需要将这个重组模型所有的三角面片的法向都调整为朝外,那么我得先找到一个朝外的三角面片,我的问题就是如何判断模型中任意一个三角面片的法向是朝内还是朝外的(注意是三维中的哦)?
这个问题困扰了我很久很久,请万能的网友帮帮我,非常感谢!
...全文
1657 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pppm_521 2020-02-27
  • 打赏
  • 举报
回复 1
首先,你得在物体的中心找一点,以这个点为始点,指向三角形任何一个顶点的向量应该就是你所说的“朝外”,把这个向量归一化,设为v。然后,用你选中的“朝外”的三角形的法向量(归一化后)点乘v,记下结果的符号:如果是正的,就是说法向量与v夹角是锐角才叫“朝外”,否则相反。最后,设任一三角形归一化法向量为n,用n点乘v,结果符号与样本三角形一致的即是“朝外”,否则把n反过来即可。
  • 打赏
  • 举报
回复
自己写的bool算法
zhonglixianyun 2018-04-14
  • 打赏
  • 举报
回复
引用 4 楼 bhybhybhy2 的回复:
[quote=引用 3 楼 zhonglixianyun 的回复:] [quote=引用 2 楼 bhybhybhy2 的回复:] 看看三维模型bool运算相关资料
三维模型布尔运算的资料几乎都看过了,当然是查了很多资料没找着才来发帖问的,如果楼主知道的话还希望指教指教[/quote] 我记得做过 2个模型bool运算,2个模型光照没有问题(表面法向没有问题),结果也 没有问题的 而且我的模型是半边表示 比三角片复杂的多[/quote] 亲是自己写的bool算法吗?还是用的软件中的布尔运算功能呢
  • 打赏
  • 举报
回复
引用 3 楼 zhonglixianyun 的回复:
[quote=引用 2 楼 bhybhybhy2 的回复:] 看看三维模型bool运算相关资料
三维模型布尔运算的资料几乎都看过了,当然是查了很多资料没找着才来发帖问的,如果楼主知道的话还希望指教指教[/quote] 我记得做过 2个模型bool运算,2个模型光照没有问题(表面法向没有问题),结果也 没有问题的 而且我的模型是半边表示 比三角片复杂的多
赵4老师 2018-04-12
  • 打赏
  • 举报
回复
建议学习AutoCAD或3DS Max Studio或Maya二次开发。
zhonglixianyun 2018-04-12
  • 打赏
  • 举报
回复
引用 2 楼 bhybhybhy2 的回复:
看看三维模型bool运算相关资料
三维模型布尔运算的资料几乎都看过了,当然是查了很多资料没找着才来发帖问的,如果楼主知道的话还希望指教指教
  • 打赏
  • 举报
回复
看看三维模型bool运算相关资料

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧