\(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}]

ac = -6 (x^2); bc = 8 (x^3); cc = -3 (x^4);

cusp = ParametricPlot3D[{bc, -ac, cc}, {x, - .7,  .7}]

\(\(	For[r = \(-0.7\); n = 1, r <= \ 0.7, r +=  .05; n += 1, 
	
      b = 8\ r^3; a = \(-6\)\ r^2; c = \(-3\)\ r^4; 
	
      p = Graphics3D[{PointSize[ .02], RGBColor[1, 0, 0], 
            Point[{b, \(-a\), c}]}]; 
	
      pic[n] = GraphicsArray[{
            Show[{p, cusp, swallowtail2}, AspectRatio -> Automatic, 
              Boxed -> False, ViewPoint -> {0, 0, \(-2\)}], 
            Plot[x^4\  + \ a\ x^2\  + \ b\ x\  + c, {x, \(-2\), 2}, 
              PlotRange -> {{\(-3\), 3}, {\(-7.5\), 3}}, Ticks -> None, 
              AxesLabel -> {"x", "p(x)"}]}]]
\)\)

\(\(	For[r = 0.7; n = 29, r >= \ \(-0.7\), r += \(- .05\); n += 1, 
	
      b = 8\ r^3; a = \(-6\)\ r^2; c = \(-3\)\ r^4; 
	
      p = Graphics3D[{PointSize[ .02], RGBColor[1, 0, 0], 
            Point[{b, \(-a\), c}]}]; 
	
      pic[n] = GraphicsArray[{
            Show[{p, cusp, swallowtail2}, AspectRatio -> Automatic, 
              Boxed -> False, ViewPoint -> {0, 0, \(-2\)}], 
            Plot[x^4\  + \ a\ x^2\  + \ b\ x\  + c, {x, \(-2\), 2}, 
              PlotRange -> {{\(-3\), 3}, {\(-7.5\), 3}}, Ticks -> None, 
              AxesLabel -> {"x", "p(x)"}]}]]
\)\)