Doodle

Sommaire

C'est quoi
Mode d'emploi
Configuration
Développement
Réference
Lexique

C'est quoi ?

Doodle est un langage de description de diagramme d'Origami (pliage en papier). C'est aussi un traducteur (un programme en fait ou compilateur) permettant de transformer un texte doodle en un diagramme (ps, gif, pdf, html...).

Exemple:
Texte en Doodle
\diagram_header {
  \designer("Anonymous");
  \title("Traditional crane");
  \diagramer("Jerome Gout");
  \diagram_date(2000);
  \color_front(white);
  \color_back(100, 8, 58);
}
\step {
  \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]);
  \valley_fold(mid_ab, mid_dc);
  \simple_arrow(mid_da, mid_bc, unfold, valley, right);
  \valley_fold(mid_da, mid_bc);
  \simple_arrow(mid_ab, mid_dc, unfold, valley, left);
  \turn_over_vertical;
  \caption("Fold unfold medians and return"); 
}
Résultat : (cliquer sur l'image pour zoomer)
Exemple

Le langage

Un texte Doodle est composé d'une description générale, suivi de une ou plusieurs étapes (comme un diagramme traditionnel). Chaque étape est une suite d'opérateurs permettant de calculer des points de contrôle ou décrivant les mouvements nécessaires pour réaliser l'étape à l'aide de ces points. Par exemple, un opérateur géométrique comme \point_to_point calcule les points nécessaire pour amener un point sur un autre par un pli. Un opérateur comme \valley_fold dessine un trait entre deux points (comme ceux calculés précédemment) sous la forme d'un pli vallée.

Doodle permet une description purement géométrique du pliage: chaque point est localisé par rapport au autre de façon précise et géométrique. Par contre, le compilateur (actuel) ne contrôle pas la faisabilité, ni la cohérence du pliage. Tout est possible si on peut le décrire géométriquement.

Le langage ne fait appel qu'à des caractères ASCII et à aucun autre symbole. Un simple éditeur de texte suffit, et le diagramme Doodle peut être envoyé par courriel facilement.

Les opérateurs sont assez explicite, il est donc possible de plier en suivant le texte. Mais le plus simple est encore de le transformer en diagramme à l'aide du compilateur.

Le compilateur

Le compilateur prend en entrée un fichier Doodle, l'analyse et produit un fichier sous forme graphique en sortie. Pour le moment, seul le format ps est généré, d'autres formats sont à prévoir.
Si vous êtes sous Unix, ce format est directement visualisable à l'aide d'un interpréteur PostScript (gv, http://www.cs.wisc.edu/~ghost/gv/index.htm) ou il peut être envoyé à une imprimante PS (par la commande "lpr").
Sous Windows, soit vous l'envoyez directement vers un imprimante postscript (copy), soit vous utilisez un interpréteur PS comme Ghostscript un (gsview, http://www.cs.wisc.edu/~ghost/gsview/index.htm) pour l'afficher et l'imprimer. Vous pouvez aussi le convertir en format pdf avec Ghostscript ou grâce à des sites internet (http://www.ps2pdf.com/convert/convert.htm).

Exemple

Voici le plus connu des pliages : la cocotte
Fichier source parjarita.doo
Fichier PS généré avec le fichier doo pajarita.ps
Fichier PDF converti à partir du PS pajarita.pdf

Mode d'emploi

Le fichier texte doodle est un simple fichier ascii et peut être éditer avec votre programme favori (notepad sous windows par exemple).

Ensuite, en ligne de commande il faut lancer le programme de la façon suivante :

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 (.d)

Exemple : si votre fichier s'appelle crane.d, tapez la commande suivante "doodle crane.d". Dans la version actuelle, vous obtiendrez par défaut un fichier dérivé du nom de fichier d'entrée avec l'extension .ps.
Quelques informations sont données en fin de conversion :

  • nom du fichier de sortie
  • nombre d'étapes pour le modèle
  • nombre de page

Configuration nécessaire

Windows

Tout PC de base convient. La mémoire nécessaire est négligeable. Aucune configuration graphique n'est nécessaire pour écrire ou compiler un fichier doodle. Par contre, il faut pouvoir visualiser le résultat (voir spécification de Ghostscript).

Unix

La version actuelle a été compilée sous Solaris et Linux. D'autres unix devraient pouvoir être utilisés.

Développement

Le projet est hébergé par SourceForge Logo SourceForge.

Vous pouvez voir l'état du projet directement sur la page du projet sur SourceForge.

Le code source est géré sous CVS. Vous pouvez parcourir l'arborescence de façon libre.
Pour faire des modifications, venez en parler sur la liste de diffusion pour les développeurs. Cela permet d'éviter les développement en double (ou pire), de vous guider si besoin. Puis vous devrez récupérer les dernières versions des sources par CVS en utilisant les paramètres suivant :

  • :pserver:anonymous@cvs.doodle.sourceforge.net:/cvsroot/doodle

Une fois vos modifications terminées, générez un fichier de différences unifiées que vous enverrez sur la liste de diffusion (compressez le s'il est trop important).

Trois listes de diffusion sont disponibles :

  • announce-list : liste dédiée aux annonces de nouvelles versions (peu de traffic)
  • users-list : liste pour les utilisateurs de Doodle, questions, faq... (traffic moyen)
  • devel-list : liste à l'usage des développeurs pour discuter des problèmes, des évolutions, de la conception... (traffic technique)

Références

Origami
Si vous ne connaissez pas l'Origami, commencez par ces pages, en particulier le solfège et les bases. (http://osele.free.fr/origami)

O.I.L.
OIL est un langage de description de pliage informatique permettant de transmettre un pliage par courriel ou bien d'évaluer la difficulté d'un pliage. Il a été écrit par John Smith. Il n'y a pas de compilateur OIL à l'heure actuelle. Le langage fait intervenir des flèches à la place d'opérateur.
(http://www.users.waitrose.com/~pureland/oil.htm)

Origami On Computer
La thèse de David Fisher (en 1994) décrit un langage de pliage. Les différents types de plis y sont étudiés. (descriptif plus précis à fournir)
(http://origami.kvi.nl/articles/thesis.ps)

OriDraw de Marteen Van Gelder
Ressemble à Doodle sur le principe mais est plus ancien.
(http://origami.kvi.nl/programs/oridraw/index.htm)

Lexique

Origami
Art de plier du papier
Diagramme
Dessin montrant les étapes pour réaliser un pliage
Doodle
Doodle : Origami Oriented Diagramming LanguagE

Page mise à jour le 29 mai 01
© Osele 2001