/* MACSYMA-FUNKTION zum Berechnen von Apfelmaennchen */ /* M.Thole (c) 1994 */ /* V1.0 09.05.94 */ Apfel( p, q, Max_Iter ) := ( Mode_Declare( [ p, q ], FLOAT, [ Function( Apfel ), Max_Iter ], FIXNUM ), BLOCK( [ i, xneu, yneu, x, y, xq ], Mode_Declare( [ i ], FIXNUM, [ xneu, yneu, x, y, xq ], FLOAT ), I : 0, x, y : 0.0, loop, xq: x*x, xneu: xq - y * y + p, yneu: 2.0 * x * y + q, x: xneu, y: yneu, i: i+1, IF ( xq + y*y < 1000.0 ) and ( i < Max_Iter ) THEN go(loop), Return(i) ) )$ compile("Apfel"); plot3d(apfel(x,y,16),x,-2.25,0.75,y,-1.5,1.5),plotnum0=100,plotnum1=100;