I'm going to be throwing a mesh into a BEM acoustic simulator.
There is a well-known resonance problem with BEM acoustic simulators --if you test for a frequency that matches one of the resonance modes of the mesh, it goes crazy.
There is a known workaround which involves creating random points inside the mesh, so that's what I would like to do.
How would I go about implementing a python script to do this?
I'm assuming scripting is the best way, please someone correct me if I'm wrong here.
EDIT: how about picking a random point-pair P Q, intercepting it with the mesh, and if there are exactly 2 points of intersection A and B, then use A + t(B-A) where t is randomly chosen between 0 and 1
For a closed mesh of a human head and shoulders (so mostly convex), a significant number of points pairs should produce a valid result
The only question is: can I determine the points at which a line hits a mesh?
EDIT: mathutils.geometry.intersect_ray_tri from http://www.blender.org/documentation/blender_python_api_2_65_5/mathutils.geometry.html