Doodle is a descriptive language to produce Origami
(paper folding) diagrams. Doodle is the software which
translates the source code written in its language into a
ready-to-print diagram (PS, GIF, PDF, HTML...).
Doodle takes in input a Doodle file, then analyzes it and
generates a graphic file. At the present time, Doodle can only
produce PostScript files, other formats are aimed.
The language uses only ASCII characters and no other symbol. A
simple text editor is enough, and the Doodle diagram can be sent by
A Doodle source code is composed of a general description, followed
by one or more steps (like a traditional diagram). Each step is a
succession of operators making it possible to calculate control points
or to describe the movements to carry out the step using these
points. For example, a geometrical operator as
\point_to_point calculates the points necessary to bring a
point on another by a fold. An operator as \valley_fold draws
a valley fold between two points (like those previously calculated).
Doodle allows a purely geometrical description of folding : each
point is located in relation to the others in a precise and
geometrical way. But the compiler (current version) does not control
feasibility, nor the folding coherence. All is possible if it can
be described geometrically.
The operators are rather explicit, it is thus possible to fold
while following the text. But it is easier to transform it into
diagram using the compiler.
The Doodle diagram file is a simple ASCII file and can be edited with
your favorite text editor (Notepad under Windows for instance or
XEmacs under Unix).
Then, on command line, launch the program
in the following way:
Doodle -- J. Gout, X. Fouchet and V. Osele -- Copyright 2000-2001
Usage: doodle [-h] [-v] [-f format] [-o file] file
-h : this short usage help
-v : verbose mode
-f format : specifies output format (default ps)
known formats are : ps, text, graph
-o file : uses `file' as the output file
by default produces extension .ps
file : input diagram file (.doo)
Example: if your file is called crane.doo, type the following
command "doodle crane.doo". In the current version, you will
obtain by default a file derived from the input file name with ps
Some information is given at the end of the
- name of the output file
- number of steps for the model
- number of pages
The following short example:
\color_back(100, 8, 58);
\diamond(a, b, c, d);
[mid_ab, mid_dc] = \line_to_line([b,c], [a,d], [a, b], [d,c]);
[mid_da, mid_bc] = \line_to_line([a, b], [d,c], [a,d], [b,c]);
\simple_arrow(mid_da, mid_bc, unfold, valley, right);
\simple_arrow(mid_ab, mid_dc, unfold, valley, left);
\caption("Fold unfold medians and return");
gives this result :
Jump to the resources page to see other
examples of what you can expect with this system.