首页 > 代码库 > 网格缺陷检测:退化点、线、面的判断
网格缺陷检测:退化点、线、面的判断
网格在格式转化或者重新计算点的位置信息时,会出现网格退化的情况,退化的元素可以是网格数据的点、线和面片。
退化顶点的判断方式:
// 判断数据是否为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; }
网格缺陷检测:退化点、线、面的判断
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。