I'm building a website for a client in which customers can customise the shape of their board (curvature, length, width, thickness, and so forth) and the client has asked if we can calculate the volume of the board and display it in response to the user's customisations.
This sounds like scary advanced calculus and/or differential geometry territory, but I said I'd try to find out the feasibility of doing so nonetheless. I'll mainly be using a set of bezier curves as a baseline to define the board shape and there will of course be curves in all dimensions. The nose will sometimes come to a point and other times be rounded off. The tail will come in a variety of shapes, including being rounded, coming to a point, or even having an inverted "fish tail" shape.
Where would I even start with calculating the volume of a surfboard like this? I'd be looking to represent the volume in litres.
Edit: I'm guessing I'd need to break the board down into chunks that minimise the number of simultaneous curves and calculate them individually. I'm thinking maybe it's also easier to calculate the volumes of each chunk relative to a uniform enclosing box and subtract each value from the total box volume to get the final volume...
If you use any modeling software, it probably has a volume function in it. Otherwise, one approach which I used before is to approximate the surface with a triangulation, then used calculated the volume from the tetrahedra formed by each face and the origin (some triangles have to be summed in, while others have to subtracted out, but if you set it up right, that happens automatically). I presented a paper on the method (which I also used to calculate all mass properties) to SAWE, the Society of Allied Weight Engineers. I could send you a copy if you want. The volume you get this way will only be an approximation, with how close depending on how fine of a triangulation you use. One other issue is that I get the triangulation from an existing modeling package, so I am not versed in technique for triangulation.
You can calculate the volume directly from the Bezier curves, but that is definitely messier. How to do it would depend very much on what modeling techniques you use.