\(as = u; 
bs = \(-2\)\ u\ v\  - \ 4\ v^3; 
cs = \ 3\ v^4\  + \ u\ v^2; 
    \)

swallowtail = 
      ParametricPlot3D[{as, bs, cs -  .01}, {v, -1, 1}, {u, -3, 3}]

u = 2; line = ParametricPlot3D[{as, bs, cs}, {v, -1, 1}]

Show[swallowtail, line]

\(u = 2; 
    For[v = \(-1\); n = 0, v <= \ 1, v +=  .05; n += 1, 
	b = bs; a = as; 
      c = cs; 
	
      p = Graphics3D[{PointSize[ .03], RGBColor[1, 0, 0], Point[{a, b, c}]}]; 
      
	pic[n] = 
        GraphicsArray[{
            Show[{p, line, swallowtail}, AspectRatio -> Automatic, 
              Boxed -> False], 
            Plot[x^4\  + \ a\ x^2\  + \ b\ x\  + c, {x, \(-2\), 2}, 
              PlotRange -> {{\(-3\), 3}, {\(-1\), 15}}, Ticks -> None, 
              AxesLabel -> {"x", "p(x)"}]}]]\)

\(u = 2; 
    For[v = 1; n = 41, v >= \ \(-1\), v -=  .05; n += 1, 
	b = bs; a = as; 
      c = cs; 
	
      p = Graphics3D[{PointSize[ .03], RGBColor[1, 0, 0], Point[{a, b, c}]}]; 
      
	pic[n] = 
        GraphicsArray[{
            Show[{p, line, swallowtail}, AspectRatio -> Automatic, 
              Boxed -> False], 
            Plot[x^4\  + \ a\ x^2\  + \ b\ x\  + c, {x, \(-2\), 2}, 
              PlotRange -> {{\(-3\), 3}, {\(-1\), 15}}, Ticks -> None, 
              AxesLabel -> {"x", "p(x)"}]}]]\)

Do[Show[pic[n]], {n, 1, 80}]

n = 1; 
    Do[Display[StringJoin["picket.", ToString[10 + n]], pic[n], 
        "GIF", ImageSize -> {600, 371}], {n, 1, 80}];