L-System Generator
La petite histoire
Comprendre simplement
Domaines de présence
Son interprétation dans l'avenir
Les références
Mais encore …
by Pepe ©
 
Accueil  Arborescence  Page précédente

© Maya

La petite histoire  Up Page
Origine, raisons, hasard
Une structure "L-System" est un pattern qui permet de construire une figure géométrique, de créer une procédure redondante; un leitmotiv en quelque sorte.

Comprendre simplement  Up Page
Vulgarisation, de 7 à 77 ans
Tous les logiciels de 3D possèdent la fonction "Create L-System", toutefois l'environnement dans lequel nous devons nous exprimer (syntaxe requise) pour y parvenir, peut nous mettre en frein !
 
Si nous prenons Houdini, par exemple, sa configuration permet d'accéder directement aux L-System, sans avoir recours à une grande connaissance de la programmation, ni des formules mathématiques.
Concernant Maya, il est nécessaire d'utiliser le créateur de script MEL. L'interface de Maya est moins performante que celle d'Houdini, car elle vous oblige à être un tant soit peu matheux. Nous allons donc aborder ici, la manière de pouvoir créer des scripts "L-System generator" avec le logiciel Maya.

Domaines de présence  Up Page
Monde présent
Quel que soit le langage ou soft de programmation que vous utilisez, il est impératif de se familiariser avec les commandes de référence. Cela peut être des raccourcis clavier qui permettent d'accéder directement à ce que vous souhaitez, ou encore des outils qui vous offent la possibilité de créer des objets.
Dans le cas des L-System, les commandes de référence sont couramment désignées sous le nom de "L-System turtle" ou "command turtle". Imaginez une tortue dans un univers en trois dimensions. Elle se propose de construire des galeries souterraines, en partant de son point d'origine, le centre de votre repère vectoriel (O, i, j, k) ou (O, x, y, z). Sa première démarche va être de construire une première portion de tunnel dans une direction donnée, ensuite elle revient à son point d'origine, et construire autant d'autres tunnels (direction de tunnel seulement) qu'elle le souhaite. A chaque fois qu'elle décidera de créer un noeud (node), c'est-à-dire un point de bifurcation de tunnels, elle devra revenir systématiquement à son noeud.
Un arbre suit le même "pattern" si je puis dire. Au fur et à mesure que l'arbre grandit, il démultiplie ses branches. Il ne construit jamais une seule ramification jusqu'à son fruit ou bourgeon. Il construit simultanément ses branches en partant du tronc.
 
Si vous voulez construire une structure géométrique fractale (un L-System), vous devez tout d'abord réaliser cette figure sur un papier ou l'imaginer parfaitement. Ensuite, si vous voulez que votre logiciel comprenne ce que vous souhaitez créer, vous devrez vous exprimer dans un langage dans le soft requis, c'est-à-dire compréhensible par votre interface de 3D.
A chaque procédure ou manipulation vectorielle différente (déplacement, redimensionnement, ...), lui est associée une syntaxe appropriée.

Son interprétation dans l'avenir  Up Page
Commandes de référence
I Create an instance with current
position, forward vector and thickness.
(used with L-System instancer)**
+ Turn Left*
- Turn Right*
| Turn 180 degrees around current up vector*
& Pitch Down*
^ Pitch Up*
< Roll Left*
> Roll Right*
% Roll 180 degrees around current forward vector*
~ turn/pitch/roll in a random direction*
$ Roll until horizontal (perpendicular to upDir)
" Increment Length*
\ Decrement Length*
; Increment Angle*
: Decrement Angle*
? Increment Thickness*
! Decrement Thickness*
{ Start drawing a Leaf (flat face polygon)
} Finish drawing a Leaf (flat face polygon)
[ Push the current state (start a new command sequence)
] Pop the current stat (execute previous command sequence)
. Save current vertex position in leaf stack
(use with {} to create leaf polys)
c Set V-Coord Value*
f Move forward*
F Move forward and draw branch (tube section)*
g Move forward but do not draw branch*
t Add droop (decrements position value parallel to upDir)*
z Move forward half distance*
Z Move forward half distance and draw branch*
--------------------------------------------------------------------------------
* These commands can accept a floating point parameter, e.g. +35.5 will rotate
the turtle left by 35.5 degrees (around the current up vector)
** The I command is non-standard in L-System implementations. Some recipes will
require modification to make use of this command.

Les références  Up Page
Réseau Pepe
Source
 
Pourquoi ce site
Je crois que, si les êtres humains que nous sommes ne parviennent pas toujours à évoluer comme ils le souhaiteraient _à s'épanouir professionnellement, sentimentalement et sexuellement (ce que j'appelle les trois pôles d'intérêts) c'est parce qu'il y a des barrages qui entravent leur désir d'accéder à un rêve inachevé. Je pars du principe que tout est possible, à condition de s'entourer de gens qui nous poussent à croire en nous.
 
Contribuer au Réseau Pepe
Ce site est avant tout une encyclopédie ouverte à l'imagination et au savoir, où chacun(e) d'entre vous peut participer.
Si vous avez envie de partager une passion, ou si vous sentez le besoin de vous exprimer sur un point précis, je vous invite à m'adresser un e-mail (adresse électronique accessible sur ma page d'accueil).

Mais encore …  Up Page
Ce que vous avez toujours voulu savoir