I'm developing a non-photorealistic water rendering demonstration using PhysX as the underlying physics solver (using it's SPH simulation), and want to add foam and droplet rendering to enhance its visuals.
First I used the number of neighbor particles as a threshold value to separate them into groups (water, foam and droplet), and render each group in a different way, but reading some research papers I came to the conclusion that using a more physically based approach would be better, and so enter the Weber Number.
The following parameters are used to get the Weber Number, all related to a certain particle or to the fluid as a whole:
- Density
- Relative velocity (in relation to the surrounding air)
- Characteristic length
- Surface tension
The density and relative velocity are provided by PhysX, and I already got it. While the density is a float value the velocity is a vector of 3 float values, one for each axis of the 3D space (x, y and z). Characteristic length and surface tension are not provided, tough (or if they are provided I don't know how to get them).
So, my questions are:
- I believe that the Weber Number have to be a float value so I can use it as a threshold to separate the particles into groups. The first problem here is that to get it I need to use the relative velocity provided by PhysX, and it is a vector with 3 float values. How can I get a single float value of this vector to use it in the equation that gives me the Weber Number?
- Reading some research papers (particularly this one, in section 3.2.1) I decided to use fixed values for the particles characteristic length and surface tension. The question is, which values should I use, and assuming that there are ideal values to these, how can I get to these ideal values?