Intersecting water ripples

I’ve made some nice water ripples using revolve. I want to make the ripples intersect, then make the two intersecting sets of ripples a single solid so I can print.

I’ve exhausted my limited knowledge of Rhino and am starting to think as simple as this seems, it just is not possible.

There are a few different approaches for this if your goal is a mesh to print. I would personally use ApplyDisplacement and there’s a video tutorial I made a while back that covers the process including extracting the render mesh to print it.

If you have the model already, you can also use the ShowZbuffer command to generate a greyscale image from the ripple depths in order to use displacement. If you wanted to keep modeling what you have now, and assuming it’s NURBS geometry, you could BooleanUnion solids made from each ripple revolve. This may require some nudging of the solids up or down if the crests of the ripples intersect exactly which can give Booleans a hard time. I’m making up possible problems though… post a file if you need more help.

1 Like

The ApplyDisplacement looks insanely complicated right now.

I’ve tried several ways of using Boolean, both with ripples as surface and after I’ve made a solid. Can you describe better the nudging up or down so the ripples don’t intersect exactly? That seems more like something I could tackle this evening.

I’d upload a file, but I might have got a little upset and deleted everything I tried.

Yeah, I watched your video Brian. Very well done and informative, but light years beyond me at this point. My attempts were miserable failures,

Also, what is the advantage of creating a mesh before you print?

I get much better results both on my printer and router if I export without creating a mesh.

Hi John, are you looking for something like this:
WavesInterference.3dm (673.1 KB)

That’s close, but I would like to keep more of the geometric ring shape when they intersect.

How did you make those?

Well that’s the mathematical interference of these waves like described here: http://en.wikipedia.org/wiki/Interference_(wave_propagation)
I’ve made it with a Plugin which can create surfaces from parametric equations: http://rhino3.de/_develop/__v3_plugins/math/index.shtml

If I understand correctly, then you do not want to sum the amplitudes?

1 Like

I’m not 100% sure what this client wants. It’s an art piece that is 30’ long and 5’ tall, but only 3" deep. It’s cut into 3.5" wide contours with .75" gap between each. I want the ripples to be a little more natural than what I have, but don’t want the overall piece to become too muddled.

I’ll play with the plug in later this morning. Thanks

OK, if you need something more “advanced” then I’d suggest some scripting. See attached.WavesAorB.3dm (842.9 KB)

I tried to install the plugin but got an error message “File not supported by Rhinoceros”

Did you follow the instructions?
Save the unzipped folder in a place on your computer where all users have access to.
Then drag and drop the Math_3DE.rhp (and if you want the .rui Buttons) into a Rhino window to install it.

Got it. Is there a tutorial or instructions somewhere? Sorry if I’m asking stupid questions, I’m just not quite wrapping my mind around how this will work.

You can use the _MathEditObject command and edit the parametric equations of the first surface I’ve posted. But it is not really intuitive (if you are not a mathematician). Depending on what you want it may be easier to design a bitmap with the desired pattern and create a _Heighfield from it. Like this:

If you can describe (or post some geometry) how the result should look like then I can try to help…

ripple upload.3dm (331.2 KB)
What I want to happen is for the two ripples to slowly fade into each other. I’m not looking for a true mathematical representation. I was hoping to just figure out a way to Boolean them together. I think I understand why these two surfaces will not Boolean, but I would have thought once I made them a solid they would.

Hi John, you could try to _Drape a surface from Top view over your design. You can “align” and modify the surfaces a bit to avoid the hard steps. You can also _Smooth the resulting Surface in Z-direction a bit… Boolean and filleting this will be tough :wink:

I think I’m on to something. It involves a lot of nudging control points up and down so there is no z axis overlap where the ripples intersect. Then extrude to a solid and they Boolean just fine. Very time consuming. This is what Brian must have been trying to tell me.

Thanks for your help. I still want to play with that Math Plugin.

If two surfaces with complex curvature are coincident this can cause problems for Booleans. Simply moving one of the objects a small distance up or down to avoid the precise overlap can make it work. In the file you uploaded (ripple upload), you don’t have two solids to Boolean. You would instead need to do a lot of trimming and manual modeling to make that intersection smooth as well as closed. Depending on what type of geometry you need for this job, I would either use the Drape technique suggested or my original displacement suggestion which allows for fast variations by changing the input image. I took the image Jess uploaded here and made this file which you can poke through if it helps.

Ripples_displacement.3dm (1000.9 KB)