计算网格的顶点法线[重复]
Posted
技术标签:
【中文标题】计算网格的顶点法线[重复]【英文标题】:Calculating Vertex Normals of a mesh [duplicate] 【发布时间】:2013-05-02 14:39:28 【问题描述】:我已经为此合法地进行了所有可能的研究,而这一切都只是说简单地计算每个相邻面的表面法线。 计算表面法线很容易,但是你到底是如何找到每个顶点的相邻面的呢?您使用哪种存储方式?我错过了什么吗?为什么每个人都那么容易。
任何指导将不胜感激。
【问题讨论】:
【参考方案1】:但是你到底是怎么找到每个顶点的相邻面的呢?
换个角度想:迭代面并添加到顶点的法线。处理完所有面后,将顶点法线归一化为单位长度。我这里详细描述过
Calculating normals in a triangle mesh
如果你真的想找到顶点的面,天真的方法是在面列表中执行(线性)搜索顶点。更好的方法是维护一个邻接列表。
【讨论】:
该死的,这很有意义,非常感谢。我试图制作一个邻接列表,但不知道从哪里开始,因为我无法想象如何存储哪些数据,哪些数据,何时何地。您的第一个解决方案更有意义,谢谢。我还为我正在做的事情找到了一个更简单的解决方案,因为我正在尝试为球体着色,我发现法线只是归一化的顶点减去球体的中心......这可以节省我几个小时小时。再次感谢 @JimmyDean:如果你在 *** 上搜索“datenwolf sphere rendering”,你会找到我的答案,它也描述了球体表面点与其法线之间的关系。以上是关于计算网格的顶点法线[重复]的主要内容,如果未能解决你的问题,请参考以下文章