Quoting Wikipedia (https://en.wikipedia.org/wiki/Solid_angleWikipedia), "Solid angle is the two-dimensional angle in three-dimensional space that an object subtends at a point."
Now think about composite objects. In 2D once again, suppose we have a point and a polygon whose boundary edges are a number of straight line segments. We sum the signed angles subtended at the point by all edges. If the point is within the polygon, the arcs entirely encircle the point and the angles sum to 2 pi$2\pi$ radians. If the point is outside, the angles sum to 0 radians. This is because edges on the near side of the polygon have positive angles, while edges on the far side have negative angles. They entirely cancel. These results are true even if the polygon is non-convex -- appearing to double back on itself viewed from the point.
And in 3D, suppose we have a point and a polyhedron with polygonal faces. We sum the signed solid angles subtended at the point by all faces. If the point is within the polyhedron, the entire unit-sphere is covered and the solid angles sum to 4 pi$4\pi$ (the area of a unit-radius sphere) steradians. If the point is outside, the sum is 0 steradians because solid angles of polygons facing away from the point are positive and those facing toward are negative. As in 2D, this is true even if the polyhedron is non-convex.
So the problem boils down to summing the signed solid angle of the cow's polygonal faces subtended at the point. The total is 4 pi$4\pi$ if the point is inside or 0 if outside.
MathematicaMathematica represents the cow using only triangular faces. Simple formulas for the signed solid angle subtended by a planar triangle appear in the following two papers:
Van Oosterom and Strackee, "The Solid Angle of a Plane Triangle""The Solid Angle of a Plane Triangle", IEEE Transactions on Biomedical Engineering 30(2) 125-126.
Eriksson, "On the Measure of Solid Angles""On the Measure of Solid Angles", Mathematics Magazine 63(3) 184-187.
I assume (but have not checked) that MathematicaMathematica winds faces consistently, meaning a normal vector computed from the three vertices points outward from the polyhedron. The Det[]Det[]
function used below relies on this. If a face is wound incorrectly, its solid angle will have the wrong sign.
There can be numerical problems. We sum a great number (5804 faces for the cow) of small quantities. Results might not be exactly 4 pi$4\pi$ or exactly 0.
Execution time might be another problem. On a 2008 MacBook Pro running MathematicaMathematica 8.0.4.0, evaluating one point takes about 0.35 seconds. So evaluating the OP's 1000 points would take about 6 minutes.