/* _______________________________________________________________

                Dessins de quadriques avec maxima
                   Yves Coudene, 11/07/2025
   _______________________________________________________________ 


C'est le code maxima produisant les illustrations des quadriques 
figurant dans le polycopie.                                     */


/* Paraboloide hyperbolique de couverture, sans les axes */
plot3d(x*y, [x,-1,1],[y,-1,1], 
       [box, false], 
       [same_xyz, true], [grid, 30, 30], [legend, false],
       [palette, [gradient, "#cccccc", "#ffffff"]],
       [mesh_lines_color, "#000000"]);

/* hyperboloide a une nappe en cylindrique */
plot3d([sqrt(r^2-1), -sqrt(r^2-1), [r,1,4], [t, 0, 2*%pi]], 
              [box, false], [transform_xy, polar_to_xy], 
              [same_xyz, true], [grid, 25, 35], [legend, false],
              [palette, [gradient, "#cccccc", "#ffffff"]],
              [mesh_lines_color, "#000000"]);

/* sphere en cylindrique */
plot3d([sqrt(1-r^2), -sqrt(1-r^2), [r,-0.01,1], [theta, 0, 2*%pi]], 
               [box, false], [transform_xy, polar_to_xy], 
               [same_xyz, true], [grid, 25, 35], [legend, false],
               [palette, [gradient, "#cccccc", "#ffffff"]],
               [mesh_lines_color, "#000000"]);

/* hyperboloide a deux nappes en cylindrique */
plot3d([sqrt(r^2+1), -sqrt(r^2+1), [r,0,4], [t, 0, 2*%pi]], 
              [box, false], [transform_xy, polar_to_xy], 
              [same_xyz, true], [grid, 25, 35], [legend, false],
              [palette, [gradient, "#cccccc", "#ffffff"]],
              [mesh_lines_color, "#000000"]);

/* cone en cylindrique */
plot3d([sqrt(r^2), -sqrt(r^2), [r,0,4], [t, 0, 2*%pi]], 
              [box, false], [transform_xy, polar_to_xy], 
              [same_xyz, true], [grid, 25, 35], [legend, false],
              [palette, [gradient, "#cccccc", "#ffffff"]],
              [mesh_lines_color, "#000000"]);

/* paraboloide elliptique en cylindrique */
plot3d([r^2, [r,0,1.6], [t, 0, 2*%pi]],
              [box, false], [transform_xy, polar_to_xy], 
              [same_xyz, true], [grid, 25, 35], [legend, false],
              [palette, [gradient, "#cccccc", "#ffffff"]],
              [mesh_lines_color, "#000000"]);

/* paraboloide hyperbolique */
plot3d([r^2*cos(2*t), [r,0,0.6], [t, 0, 2*%pi]], 
              [box, false], [transform_xy, polar_to_xy], 
              [same_xyz, true], [grid, 25, 35], [legend, false],
              [palette, [gradient, "#cccccc", "#ffffff"]],
              [mesh_lines_color, "#000000"]);

