Je peux réduire un bord, mais je ne sais pas comment réduire un visage. Comment faire face aux sommets environnants)?Comment faire pour masquer un visage dans un maillage dans Computer Graphics (Comment gérer les sommets environnants)?
Répondre
La suppression d'une face n'affecte pas vos sommets dans le cas général. En supprimant un visage, vous supprimez simplement l'information que 3 sommets forment un visage. Ces sommets peuvent toujours prendre part à d'autres visages.
Si vous voulez réellement retirer une face de votre mesh, un trou sera généré dans votre mesh. Considérez le maillage suivant composé de 3 faces. Si vous décidez d'enlever F2, le patch final sera composé de 2 faces comme indiqué ci-dessous. Notez que vous ne devez pas renommer vos visages. Je l'ai fait pour souligner qu'il restera deux visages.
Après avoir relâché le dessus de la façon de mettre en œuvre cela dépend de la façon dont vous avez représenté votre maillage, mais en général vous feriez quelque chose comme ça:
//the following is pseudo code
if(faceToRemove.isBoarderFace()){
completelyRemoveEdgesThatOnlyBelongedToThisFace(); //if two edge get removed one vertex needs to get removed
}
setTheRemainingEdgesAsBoarderEdges();
removeFaceFromFaceList();
Si votre maillage ne pas les trous avant de retirer la que vous n'aurez pas besoin de supprimer les sommets de votre maillage.
Jetez également un coup d'œil à CGAL's graphical explanation.
s'il vous plaît être plus précis et aussi poster votre code et ce que vous avez déjà essayé – RealCheeseLord