load (draw); f(x) := x^2 + b*x; bstart : 0; bmax : 6; bmin : -6; bstep : 0.5; g(b) := f(-b/2); /* coordinates */ coord : [ head_length = 0.3, color = black, line_width = 1, vector ([-14,0], [28,0]), vector ([0,-14], [0,28]), xaxis = true, xtics_axis = true, yaxis = true, ytics_axis = true, xtics = [-12, 2, 12], ytics = [-12, 2, 12] ]; imagesettings : [ xrange = [-14,14], yrange = [-14,14], user_preamble = ["set noborder"], border = false, dimensions = [500, 500] ]; imagelist : []; blist : []; for b : bstart while b < bmax step bstep do blist : append (blist, [b]); for b : bmax while b > bmin step (-1) * bstep do blist : append (blist, [b]); for b : bmin while b < bstart step bstep do blist : append (blist, [b]); for b in blist do ( blabeltext : concat ("b = ", string(b)), flabeltext : concat ("f(x) = ", string(f(x))), image : [gr2d ( coord, imagesettings, label ([blabeltext, 8, 12]), label ([flabeltext, 8, 10]), explicit (f(x), x, -14, 14), color = green, explicit (g(-2*r), r, bmin, bmax) )], imagelist : append (imagelist, image) ); draw ( delay = 100, imagelist, file_name = "bParamQF", terminal = animated_gif );