网格缺陷检测:退化点线面的判断
Posted xuhui24
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网格缺陷检测:退化点线面的判断相关的知识,希望对你有一定的参考价值。
网格在格式转化或者重新计算点的位置信息时,会出现网格退化的情况,退化的元素可以是网格数据的点、线和面片。
退化顶点的判断方式:
// 判断数据是否为nan int IsNAN(float t) { return _isnan(t) || (!_finite(t)); } bool IsDegenerateVertex(float p[3]) { if(IsNAN(P[0])||IsNAN( P[1])||IsNAN(P[2]) { return true; } return false }
退化边的判断方式:
bool IsDegenerateEdge(MeshEdge *pEdge) { // 如果两个顶点相等,则说明边已经退化 if(pEdge->V(0) == pEdge->V(1)) { return true; } return false; }
退化面片的判断方式:
bool IsDegenerateFace(MeshFace *pFace) { if(pFace->V(0) == pFace->V(1) || pFace->V(0) == pFace->V(2) || pFace->V(1) == pFace->V(2) ) { return true; } return true; }
以上是关于网格缺陷检测:退化点线面的判断的主要内容,如果未能解决你的问题,请参考以下文章