drawutils
*********

1 Introduction to drawutils
***************************

Package 'drawutils' contains user contributed code based on the 'draw'
package.

2 Vector fields
***************

By Donald J. Bindner (2010)

   Functions for plotting vector fields in 2D and 3D.

 -- Function: plot_vector_field (<F>, <X>, <Y>, ... )
     Draws a 2D vector field.

     Arguments:

        * <F>: a vector containing field components.

        * <X>: name and bounds of first coordinate.

        * <Y>: name and bounds of second coordinate.

     Optional parameters:

        * Those defined in the 'draw' package.
        * <scale=1>: auto-scaling of arrows (default).

        * <scale=0>: no auto-scaling.

        * <scale=*>: adjust arrows shorter - numbers between 0 and 1 or
          longer - numbers greater than 1.

     Examples:

          (%i1) load(drawutils)$
          (%i2) plot_vector_field([-y,x], [x,-1,1], [y,-1,1])$
          (%i3) plot_vector_field([-y,x], [x,-1,1], [y,-1,1],
                                  scale=0)$

 -- Function: plot_vector_field3d (<F>, <X>, <Y>, <Z>, ... )
     Draws a 3D vector field.

     Arguments:

        * <F>: a vector containing field components.

        * <X>: name and bounds of first coordinate.

        * <Y>: name and bounds of second coordinate.

        * <Z>: name and bounds of third coordinate.

     Optional parameters:

        * Those defined in the 'draw' package.
        * <scale=1>: auto-scaling of arrows (default).

        * <scale=0>: no auto-scaling.

        * <scale=*>: adjust arrows shorter - numbers between 0 and 1 or
          longer - numbers greater than 1.

     Examples:

          (%i1) load(drawutils)$
          (%i2) plot_vector_field3d([-y,x,z], [x,-1,1], [y,-1,1], [z,-1,1])$
          (%i3) plot_vector_field3d([-y,x,z], [x,-1,1], [y,-1,1], [z,-1,1],
                                    scale=0)$

3 Venn diagrams
***************

By Pankaj Sejwal (2015)

   The _vennplot_ package enables the user to plot Venn diagram for any
logical relation.  Logical atoms are represented as equally distanced
circles of different random colours which help in distinguishing
different circles.

   No known bug, but in case some issue needs to be addressed, please
share it on Maxima mailing list.

 -- Function: vennplot (<logical_expression>)
     Draws a basicVenn diagram.

     Examples:

          (%i1) load(drawutils)$
          (%i2) vennplot(a and b and not(c) and d)$
          (%i3) vennplot(a and b and c and d)$
          (%i4) vennplot(not(d))$

     TODO : Filling circles with different colors