closest_point
to find points on the lower surface of interest and the indexes for the normals. then use ray.intersects_location with those lower surface points using the closes face normals to those points from the index returned by closest_point. I can tell something is off because if I explicitly set the normals to be [0,0,1], ray.intersects_location return points with different x and y coordinates then the ray origins (the rays should be orthogonal to the xy axis plane). am I missing something?
scene.save_image
?
from trimesh import viewer as trimesh_viewer
data = trimesh_viewer.render_scene(mesh.scene(), resolution=[480,480], visible=True)
You need to install meshlab for that work.
To change the number of triangles in the final mesh, edit the value on line 21:
<Param type="RichInt" value="2000" name="TargetFaceNum"/>
discrete_gaussian_curvature_measure(mesh, mesh.vertices, r)/sphere_ball_intersection(1, r)
sphere_ball_intersection(1,r)
call is about... what exactly is this example showing? Can I use this to calculate curvature at every vertex for an arbitrary mesh? How would I know what value of r to use?