Here is a way to do it numerically:
Reap the points from a parametric plot:
Get all the numeric values, pack the data and delete the duplicates:
To look at the points:
Load TetGenLink and compute and visualize the convex hull:
Compute the delaunay mesh of the convex hull, write a function to compute the volume of a tetrahedron, apply it and total the volume of the tetrahedra:
Sanity check: for a sphere we get:
which seams reasonable.
As suggested by Daniel Lichtblau, this also works for parametric curves:
And what I find most amazing is the suggestion from george2079:
Following ruebenko's approach, after computing the convex hull you can much faster directly get the volume without triangulating the volume as 1/6 Sum[ Det [ triangle vertices ] ]:
This is the 3d shoelace formula:
I must say I've searched pretty good for a link to derivation/proof of this useful thing and come up empty.
Ok the derivation was not so hard to work out.. Note implict here is an assumption that the vertices of each triangle are ordered consistantly CW or CCW. Also this does not require convexity, only whatever connectivity restrictions follow from the divergance theorem.
Here is another way that uses the
We discretize the graphics using
We compute the convex hull
And finally, we get the volume using
As a bonus we can get the surface area of the
Same result can be obtained using
In Version 10, once the points have been obtained as per user21's approach, we can tetrahedralize them directly using
And the volume is computed easily using