如何折叠Computer Graphics中的网格中的一个面(如何处理周围的顶点)?
答
在一般情况下,删除面不会影响顶点。通过删除脸部,您可以删除3个顶点形成脸部的信息。这些顶点仍然可以参与其他面部。
如果您确实想从网格中移除一个面,将会在网格中生成一个孔。考虑以下由3个面组成的网格补丁。 如果您决定删除F2,那么最终的补丁将包含2个面,如下所示。
请注意,您不必重命名您的面孔。我这样做是为了强调还剩下两张脸。
释放上述方式之后实现这个取决于你如何代表你的网格,但一般你会做这样的事情:
//the following is pseudo code
if(faceToRemove.isBoarderFace()){
completelyRemoveEdgesThatOnlyBelongedToThisFace(); //if two edge get removed one vertex needs to get removed
}
setTheRemainingEdgesAsBoarderEdges();
removeFaceFromFaceList();
如果你的网没有孔之前去除,以面对比你不需要从网格中移除任何顶点。
请更具体,并张贴您的代码和你已经尝试过 – RealCheeseLord