// Last edited on 2019-04-13 01:21:17 by stolfilocal // Frame of a spinning irrotational vortex. #include "wave_elems.inc" #macro wave_movie_frame(sym,kind,tt) // A frame of the movie of a wave with symmetry class {sym} and field type {kind} at time {tt} (0 to 1). // {sym=0} plane wave // {sym=1} spherical wave // // {kind=0} sinusoidal traveling. // {kind=1} traveling, non-sinusoidal. // {kind=2} standing. // {kind=3} generic. #debug concat("FRAME - KIND = ", str(kind,1,0), " CLOCK = ", str(tt,6,4), " PHASE = ", str(tt,6,4), "\n") #declare medium_L = 5; #declare medium_R = 1.5; #declare N_slices = 100; union{ object{ wave_all(medium_L, medium_R, N_slices, sym, kind, tt) } #local tax = 0.25*medium_R; object{ axes(medium_L+tax, medium_R+tax, medium_R+tax) } } #if ((sym = 1) & (medium_R >= medium_L)) // Whole sphere: #declare wave_movie_rad = 1.2*medium_L; #declare wave_movie_ctr = < 0, 0, 0 >; #else // Cylinder or cone: #declare wave_movie_rad = 0.80*medium_L; #declare wave_movie_ctr = < medium_L/2, 0, 0 >; #end #end