I created an along_with module and wrote an example of dragon scales. Then, I thought: "Can I use OpenSCAD to model a dragon?"
The thing here is a proof of concept so its code is quick and dirty. It's not perfect but works. If you want to create something like this and don't know how to start from scratch, it might be a reference.
The wave base is created by the bezier_surface function. The curve of the dragon body is created by the bezier_curve function. I leave the x coordinates of several control points as parameters for trying it in Customizer. If you change their values, the dragon will swing in different ways.
There are other modules in the code. If you are interested in them, check my dotSCAD library.
Updated: I turned this into Dragon - OpenSCAD / SculptGL and Fort & Dragon.