How does the deformation scene work

Starting with the plane deformation:

Amelie can be used to deform any object. To do so, you need to apply a texture deformation and select Amelie as the procedural texture. Texture deformation means where the texture has the value of 0 (black) no deformation will be done, the higher (1 or greater) the value of the texture will be further will be pushed the object point.

As the deformation of the plane depends of the distance between the plane point and the object. So the first thing we need to calculate is the distance between 2 points. Here you need some math background. Pythagoras gives us some hints for that:

That's mean if we have a length A and B and we want to calculate C we need to make C=SQRT(A*A+B*B) this formula work also in 3D (hopefully), so it will be D=SQRT(A*A+B*B*C*C). This is exactly what does our user element "Distance to point".

Now we have a distance between a coordinate on the plane and the sphere object. All we need to find is some formula that give us some higher deformation near 0 (0 means the sphere is exactly at this coordinate) and less deformation further away. I choose to use arctangent as you may see that this function makes some sort of nice shape (use the help to see the shape of some function). I know that it make a spike just under the sphere, but this is not directly a problem because we are looking above the plane and the sphere hide us this detail :-)

After some tweaks to get exactly the needed shape you end up with the expression included in the scene.

Rotate the sphere:

The sphere rotation is done simply by calculating the distance travelled by the sphere (1 element) and giving that number to a macro that calculate the rotation given a distance and the radius of the object. Just need to set the "Align to path" in the Heading controller and you are done.