Extracts edges from a surface.
# sphinx_gallery_thumbnail_number = 2 import pyvista as pv from pyvista import examples
From vtk documentation, the edges are one of the following:
boundary (used by one polygon) or a line cell
non-manifold (used by three or more polygons)
feature edges (edges used by two triangles and whose dihedral angle > feature_angle)
manifold edges (edges used by exactly two polygons).
This filter will extract those edges given a feature angle and return a datset with lines that represent the edges of the original mesh. To demonstrate, we will first extract the edges around Queen Nefertiti’s eyes:
# Load Queen Nefertiti mesh mesh = examples.download_nefertiti() # Extract the edges above a 12 degree feature angle edges = mesh.extract_edges(12) # Render the edge lines ontop of the original mesh p = pv.Plotter() p.add_mesh(mesh, color=True) p.add_mesh(edges, color="red", line_width=5) # Define a camera position that will zoom to her eye p.camera_position = [(96.0, -197.0, 45.0), (7.0, -109.0, 22.0), (0, 0, 1)] p.show()
We can do this anaylsis for any
pyvista.PolyData object. Let’s try
the cow mesh example:
mesh = examples.download_cow() edges = mesh.extract_edges(20) p = pv.Plotter() p.add_mesh(mesh, color=True) p.add_mesh(edges, color="red", line_width=5) p.camera_position = [(9.5, 3.0, 5.5), (2.5, 1, 0), (0, 1, 0)] p.show()
Total running time of the script: ( 0 minutes 14.455 seconds)