Based on the city tutorial, we built a volcano. It is our goal to place small lava cubes inside the volcano and let them rain over the city. To do so you have to do the following:
These steps are necessary, so that we can change the objects, which are affected by the animation. In the case, that both do not belong to one geometry, one could only change the house or the cube.
To prepare an animation:
Now all necessary windows are open to animate the object (which is in our case the cube). For the creation of the animation we have to repeat the steps:
After several keyframes got defined, we can play the animation.
To save the animation as an animated GIF perform the following steps:
Using imagemagic, the following command suffices to merge files image0.jpg, image1.jpg, etc. into an animated my_animation.gif:
convert -delay 20 -loop 0 image*.jpg my_animation.gif
Subsection: Example
A typical example of an animation is a dynamic surface. The example on the right shows a catenoid transforming into a helicoid. The mathematical background here is that the catenoid and the helicoid are conjugate minimal surfaces. During the whole transformation the surface stays a minimal surface. The set of all these surfaces is called the associated family of the catenoid (resp. the helicoid). The transformation has beautiful mathematical properties, e.g. the normals at each point of the surface do not change. The formula for the transformation is:
x(u,v,t) = cos(t)sinh(v)sin(u)+sin(t)cosh(v)cos(u)where the parameter t goes from 0 to Pi/2 with t=0 being the helicoid and t=Pi/2 representing the catenoid.
The catenoid - a minimal surface and its conjugate minimal surface - the helicoid.The first control is a slider and an input Time, where you can select individual timeframes of the transformation. In this example values from 0 to 720 are valid, which correspond to two full transformations from the catenoid to the helicoid and back. Next are three radio boxes, with which you can control the behavior on ending of the animation. The first radio box One Way ends the animation after one pass, the second Loop loops through the animation meaning after completing one pass it jumps back to the start and runs again. Finally the third option named Back/Forth runs backward after one pass to the beginning and continues from there on. The last button Close closes the window and keeps the animation in the state in which it is at the moment, e.g. running in a loop.
1
-- WikiGuest - 19 May 20241
-- WikiGuest - 19 May 20241
-- WikiGuest - 19 May 20241
-- WikiGuest - 19 May 2024 I6VoJehT -- WikiGuest - 19 May 20241*1
-- WikiGuest - 19 May 20241*694*689*0
-- WikiGuest - 19 May 20241*1
-- WikiGuest - 19 May 20241*926*921*0
-- WikiGuest - 19 May 20241*1
-- WikiGuest - 19 May 20241*782*777*0
-- WikiGuest - 19 May 20241*1
-- WikiGuest - 19 May 20241*448*443*0
-- WikiGuest - 19 May 2024-1 OR 2+366-366-1=0+0+0+1
-- WikiGuest - 19 May 2024-1 OR 3+366-366-1=0+0+0+1
-- WikiGuest - 19 May 2024if(now()=sysdate(),sleep(15),0)
-- WikiGuest - 19 May 20240'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
-- WikiGuest - 19 May 20240"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
-- WikiGuest - 19 May 2024(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
-- WikiGuest - 19 May 2024-1
-- WikiGuest - 19 May 2024-1)
-- WikiGuest - 19 May 20241 waitfor delay '0:0:15' --
-- WikiGuest - 19 May 2024hVV943iI'
-- WikiGuest - 19 May 2024-5 OR 446=(SELECT 446 FROM PG_SLEEP(15))--
-- WikiGuest - 19 May 2024