Entfernung einer Ecke eines Polyeders.
Konvexes Füllen des entstandenen Loches.
explain_pluck(int poly_vert_no,
float (*poly_vertices)[3], int poly_face_no,
long *poly_faces, char *poly_names[], int vert_no,
int *vertices, int face_no, long *faces)
{
/* create and rotate the polyhedron */
Begin_atomic("poly");
Create_polyhedron("P0", poly_vert_no, poly_face_no,
poly_vertices, poly_faces);
Write_to_text_view("TEXT", "The polyhedron is now being created.");
Rotate_world();
End_atomic();
/* remove vertices and cones */
Begin_atomic("Pluck");
Split_polyhedron(poly_names, "P0", vert_no, vertices );
Write_to_text_view("TEXT", "Given a polyhedron, P0, we build a\n
polyhedron P1 such that P1 is formed by\n
removing in turn each vertex in\n
V(P0) - V(P1).\n
The cone of faces attached to the vertex\nis also removed.\n
This leaves a hole in the polyhedron P0.");
End_atomic();
/* add new faces */
Begin_atomic("add_faces");
Add_faces(poly_names[0], face_no, faces);
Write_to_text_view("TEXT",
"This hole is retriangulated in convex\nfashion.");
End_atomic();
/* undo plucking */
sleep(2);
Undo(2);
}