/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/
/* [ Created with wxMaxima version 17.10.x.unofficial ] */
/* [wxMaxima: title   start ]
A simple manual testbench for draw
   [wxMaxima: title   end   ] */


/* [wxMaxima: section start ]
The concept
   [wxMaxima: section end   ] */


/* [wxMaxima: comment start ]
We don't have an automatic testbench for gnuplot. But we can at least run all gnuplot examples and accompy every image with the information what to check for manually.
   [wxMaxima: comment end   ] */


/* [wxMaxima: input   start ] */
if wxplot_size = 'wxplot_size then
    (
        print("Maxima will now try to display draw scenes and tell what they should contain."),
        print("The test if this is actually true has to be done manually, though.")
    )$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: section start ]
The test cases for things that can be embedded/displayed on the screen.
   [wxMaxima: section end   ] */


/* [wxMaxima: input   start ] */
print("A 3D graph without axis")$
load("../doc/info/figures/draw_axis3d.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A diagram without a bottom axis")$
load("../doc/info/figures/draw_axis_bottom.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Bars, Group B has a dashed border, if gnuplot is using pngcairo as terminal")$
load("../doc/info/figures/draw_bars.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two triangles, the right one without border")$
load("../doc/info/figures/draw_border.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A colorful 3D plot with a legend telling which color means which Z coordinate")$
load("../doc/info/figures/draw_cbrange.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("The same as above, but the color range ranges from \"Low\" over \"Medium\" to \"High\"")$
load("../doc/info/figures/draw_cbtics.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("One centered label and curves with different colors")$
load("../doc/info/figures/draw_color.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two clored boxes, the upper one with a legend sorting the colors from black (0) to yellow (200)")$
load("../doc/info/figures/draw_colorbox.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A colorful 3D diagram with the legend called \"Magnitude\"")$
load("../doc/info/figures/draw_colorbox2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A plot with an ellipse (left) and a plot with a triangle (right)")$
load("../doc/info/figures/draw_columns.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A contour plot with height lines")$
load("../doc/info/figures/draw_contour.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Only the height lines seen from above")$
load("../doc/info/figures/draw_contour2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d cylinder")$
load("../doc/info/figures/draw_cylindrical.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3D mesh with random 3D pixels")$
load("../doc/info/figures/draw_elevation_grid.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A filled 3/4 circle and a quarter of a non-filled circle")$
load("../doc/info/figures/draw_ellipse.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d diagram in grayscale; The color equals the x coordinate; black is left")$
load("../doc/info/figures/draw_enhanced3d.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Colorful big points in a 3D space, blue means: x=0, yellow means: x=1")$
load("../doc/info/figures/draw_enhanced3d10.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Colored dots, more or less chaotic colors and a color scale.")$
load("../doc/info/figures/draw_enhanced3d11.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A colored surface, the colors show 1/x isoclines.")$
load("../doc/info/figures/draw_enhanced3d2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Parabolae in a3d space. One side of the line is black, the other yellow.")$
load("../doc/info/figures/draw_enhanced3d3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A colored curve.")$
load("../doc/info/figures/draw_enhanced3d4.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A surface with a 1/(x*y) color pattern")$
load("../doc/info/figures/draw_enhanced3d5.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A gray 3d tube")$
load("../doc/info/figures/draw_enhanced3d6.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print(" colored 3d tube.")$
load("../doc/info/figures/draw_enhanced3d7.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d tube with one closed end")$
load("../doc/info/figures/draw_enhanced3d8.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two colored easter eggs.")$
load("../doc/info/figures/draw_enhanced3d9.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d surface")$
load("../doc/info/figures/draw_equiv.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two error lines with markers in the end and one marker in the middle each.")$
load("../doc/info/figures/draw_errors.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two error crosses where the centers of the crosses being connected")$
load("../doc/info/figures/draw_errors2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A wide parabola")$
load("../doc/info/figures/draw_explicit.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A filled area below a parabola")$
load("../doc/info/figures/draw_explicit2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d parabola and a plane that intersect each other.")$
load("../doc/info/figures/draw_explicit3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("The area below a sinus filled with red")$
load("../doc/info/figures/draw_filledfunc.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("The area between two curves.")$
load("../doc/info/figures/draw_filledfunc2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A plot with a background grid.")$
load("../doc/info/figures/draw_grid.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A plot with a fine background grid")$
load("../doc/info/figures/draw_grid2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Vertical arrows with one head each")$
load("../doc/info/figures/draw_head_angle.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A double- and a single-headed arrow.")$
load("../doc/info/figures/draw_head_both.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Arrows with differently-sized heads")$
load("../doc/info/figures/draw_head_length.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Arrows with three head types")$
load("../doc/info/figures/draw_head_type.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A random bitmap and a color scale")$
load("../doc/info/figures/draw_image.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("The same bitmap with a black-and-white palette")$
load("../doc/info/figures/draw_image2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A different palette")$
load("../doc/info/figures/draw_image3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Another palette")$
load("../doc/info/figures/draw_image4.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("a 6-pixel image in color")$
load("../doc/info/figures/draw_image5.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("And the same with a black-and-white palette")$
load("../doc/info/figures/draw_image6.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A typical implicit plot")$
load("../doc/info/figures/draw_implicit.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two 3D easter eggs as implicit plot")$
load("../doc/info/figures/draw_implicit2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A sinus and a cosinus with grid, two line styles and colors")$
load("../doc/info/figures/draw_intro.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A diagram with a circle and a diagram with a triangle next to each other")$
load("../doc/info/figures/draw_intro2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A diagram with a sinus above a diagram with a cosinus ")$
load("../doc/info/figures/draw_intro3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d plot with each mesh rectangle being filled with a solid color")$
load("../doc/info/figures/draw_interpolate_color.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d plot with smooth colors")$
load("../doc/info/figures/draw_interpolate_color2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d Plot with colors only smoothed in z direction.")$
load("../doc/info/figures/draw_interpolate_color3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A irregular mesh with each rectangle filled with a solid color")$
load("../doc/info/figures/draw_interpolate_color4.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A irregular mesh with interpolated colors as an ugly example")$
load("../doc/info/figures/draw_interpolate_color5.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("An even more ugly example of this mesh")$
load("../doc/info/figures/draw_interpolate_color6.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A plot with a  key")$
load("../doc/info/figures/draw_key.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A key at the top left")$
load("../doc/info/figures/draw_key_pos.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two transparent grids")$
load("../doc/info/figures/draw_key_pos2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("4 horizontally centered Labels")$
load("../doc/info/figures/draw_label.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Labels around a 3d surface")$
load("../doc/info/figures/draw_label2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Aligned labels")$
load("../doc/info/figures/draw_label_alignment.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Rotation of labels")$
load("../doc/info/figures/draw_label_orientation.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two line types")$
load("../doc/info/figures/draw_line_type.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Three line widths")$
load("../doc/info/figures/draw_line_width.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("3d plot with logarithmic color key")$
load("../doc/info/figures/draw_logcb.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("linear x, logarighmic secondary x axis")$
load("../doc/info/figures/draw_logx_secondary.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A transparent 3d mesh")$
load("../doc/info/figures/draw_mesh.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d triangle (transparent)")$
load("../doc/info/figures/draw_mesh2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two 4-point-polygons, filled with white")$
load("../doc/info/figures/draw_mesh3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A curve, half smooth, half polygon")$
load("../doc/info/figures/draw_nticks.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two intersecting planes in weird colors")$
load("../doc/info/figures/draw_palette.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Random dots, palette #1")$
load("../doc/info/figures/draw_palette2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Random dots, palette #2")$
load("../doc/info/figures/draw_palette3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Random dots, palette #3")$
load("../doc/info/figures/draw_palette4.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d surface with a nonstandard palette")$
load("../doc/info/figures/draw_palette5.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A parametric and a normal curve")$
load("../doc/info/figures/draw_parametric.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d surface, filled with white")$
load("../doc/info/figures/draw_parametric2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 3d slug, filled with white")$
load("../doc/info/figures/draw_parametric3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Points of two sizes")$
load("../doc/info/figures/draw_point_size.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Point types")$
load("../doc/info/figures/draw_point_type.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Different point types, sometypes connected with lines")$
load("../doc/info/figures/draw_points.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Vertical lines of different lengths")$
load("../doc/info/figures/draw_points2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Random points")$
load("../doc/info/figures/draw_points3.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Points at discrete y coordinates")$
load("../doc/info/figures/draw_points4.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Points at discrete y coordinates")$
load("../doc/info/figures/draw_points5.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Random points in a 3d space")$
load("../doc/info/figures/draw_points6.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Connected random points in a 3d space + a color key")$
load("../doc/info/figures/draw_points7.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Colored dots on a curve")$
load("../doc/info/figures/draw_points8.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Points joined by lines with different line styles")$
load("../doc/info/figures/draw_points_joined.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A hyperbolic spiral")$
load("../doc/info/figures/draw_polar.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two polygons, one with border")$
load("../doc/info/figures/draw_polygon.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_proportional_axis.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Three plots, the first two having the x axis scaled in the same scale as the y axis.")$
load("../doc/info/figures/draw_proportional_axis2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A 4-point polygon")$
load("../doc/info/figures/draw_quadrilateral.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("One filled and a non-filled rectangles, different border styles")$
load("../doc/info/figures/draw_rectangle.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_region.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_scene.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_spherical.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_surface_hide.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A plot with a title")$
load("../doc/info/figures/draw_title.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_transform.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_transform2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Two triangles, one filled with transparency")$
load("../doc/info/figures/draw_transparent.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("One triangle")$
load("../doc/info/figures/draw_triangle.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_tube.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_tube_extremes.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A few lines with heads")$
load("../doc/info/figures/draw_unit_vectors.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A japonese flag")$
load("../doc/info/figures/draw_user_preamble.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_user_preamble2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("Vectors with different head and line styles")$
load("../doc/info/figures/draw_vector.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("3D Vectors with wide but short heads")$
load("../doc/info/figures/draw_vector2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_view.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_view2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_wired_surface.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_xaxis.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_xaxis_secondary.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/worldmap_make_poly_continent.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/worldmap_make_poly_continent2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/worldmap_make_poly_country.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/worldmap_make_polygon.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/worldmap_region_boundaries.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/worldmap_region_boundaries_plus.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_allocation.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_allocation2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_color2.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
load("../doc/info/figures/draw_xugrid.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A plot with primary and secondary y axis including axis titles.")$
load("../doc/info/figures/draw_ylabel_secondary.mac")$
/* [wxMaxima: input   end   ] */


/* [wxMaxima: section start ]
Test cases for file output
   [wxMaxima: section end   ] */


/* [wxMaxima: input   start ] */
print("an animated gif named animated_gif.gif");
draw(
        delay     = 100,
        file_name = "animated_gif",
        terminal  = 'animated_gif,
        gr2d(explicit(x^2,x,-1,1)),
        gr2d(explicit(x^3,x,-1,1)),
        gr2d(explicit(x^4,x,-1,1)));
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("300.png and 600.png are 300x300 or 600x600 pixel png files");
draw2d(
        dimensions = [300,300],
        file_name="300",
        terminal   = 'png,
        explicit(x^4,x,-1,1)) $
draw2d(
        dimensions = [600,600],
        file_name="600",
        terminal   = 'png,
        explicit(x^4,x,-1,1)) $
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("An a4 portrait file named a4portrait.eps");
A4portrait: 100*[21, 29.7]$
draw3d(
        file_name="a4portrait",
        dimensions = A4portrait,
        terminal   = 'eps,
        explicit(x^2-y^2,x,-2,2,y,-2,2)) $
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("multipage.eps contains a multipage eps file");
draw(
        file_name = "multipage",
        terminal  = multipage_eps,
        dimensions = 100*[10,10],
        gr2d(explicit(x^2,x,-1,1)),
        gr3d(explicit(x^2+y^2,x,-1,1,y,-1,1))) $
/* [wxMaxima: input   end   ] */


/* [wxMaxima: input   start ] */
print("A solid sine and a dashed cosine");
docdraw2d("numericLineType",
    line_type=1,
    explicit(sin(x),x,0,10),
    line_type=2,
    explicit(cos(x),x,0,10)
);
/* [wxMaxima: input   end   ] */

/* SF Bug: 3715 draw3d with variables x[1], x[2] not working */

docdraw2d(
  "An annulus (using subscripted variables)",
  x_voxel = 30,
  y_voxel = 30,
  region(x[1]^2+x[2]^2<1 and x[1]^2+x[2]^2 > 1/2,
    x[1], -1.5, 1.5, x[2], -1.5, 1.5));

docdraw2d(
  "Two implicit functions (using subscripted variables)",
  grid      = true,
  line_type = solid,
  key       = "x[2]^2=x[1]^3-2*x[1]+1",
  implicit(x[2]^2=x[1]^3-2*x[1]+1, x[1], -4,4, x[2], -4,4),
  line_type = dots,
  key       = "x[1]^3+x[2]^3 = 3*x[1]*x[2]^2-x[1]-1",
  implicit(x[1]^3+x[2]^3 = 3*x[1]*x[2]^2-x[1]-1, x[1],-4,4, x[2],-4,4),
  title     = "Two implicit functions" )$

docdraw3d(
  "An implicit surface (using subscripted variables)",
  color=blue,
  implicit((x[1]^2+x[2]^2+x[3]^2-1)*(x[1]^2+(x[2]-1.5)^2+x[3]^2-0.5)=0.015,
    x[1],-1,1,x[2],-1.2,2.3,x[3],-1,1),
  surface_hide=true);

docdraw3d(
  "Two explicit surfaces (using subscripted variables)",
  key   = "Gauss",
  color = "#a02c00",
  explicit(20*exp(-x^2-y^2)-10,x,-3,3,y,-3,3),
  yv_grid     = 10,
  color = blue,
  key   = "Plane",
  explicit(x+y,x,-5,5,y,-5,5),
  surface_hide = true)$

docdraw2d(
  "An implicit & explicit curve (using subscripted variables)",
  explicit(exp(x[1]),x[1],-1,3),
  color = red,
  key   = "This is the parametric one!!",
  nticks = 100,
  parametric(2*cos(rrr[1]),rrr[1]^2,rrr[1],0,2*%pi))$

docdraw3d(
  "An explicit surface and two parametric curves (using subscripted variables)",
  explicit(exp(sin(x[1])+cos(x[1]^2)),x[1],-3,3,y[1],-3,3),
  nticks = 100,
  color = royalblue,
  parametric(cos(5*u[1])^2,sin(7*u[1]),u[1]-2,u[1],0,2),
  color      = turquoise,
  line_width = 2,
  parametric(t[1]^2,sin(t[1]),2+t[1],t[1],0,2),
  surface_hide = true,
  title = "Surface & curves" )$

docdraw3d(
  "A parametric surface (using subscripted variables)",
  title          = "Sea shell",
  xu_grid        = 100,
  yv_grid        = 25,
  view           = [100,20],
  surface_hide   = true,
  parametric_surface(0.5*u[1]*cos(u[1])*(cos(v[1])+1),0.5*u[1]*sin(u[1])*(cos(v[1])+1),u[1]*sin(v[1]) - ((u[1]+3)/8*%pi)^2 - 20,
    u[1], 0, 13*%pi, v[1], -%pi, %pi) )$

docdraw3d(
  "A tube (using subscripted variables)",
  enhanced3d = true,
  xu_grid = 50,
  tube(cos(a[1]), a[1], 0, cos(a[1]/10)^2, a[1], 0, 4*%pi) )$

/* VTK tests are missing */

'done$
