Projet synthèse d'images
Système de particules pour la modélisation et le rendu de végétaux.
Objectif : création d'une scène photo-réaliste suivant des contraintes sur le sujet et les possibilités offertes par POV-Ray.
Introduction
Parmi les objets naturels, les végétaux sont certainement les structures les plus étudiées. Que ce soit des modèles basés sur des règles de réécriture, sur des simulations de croissance ou des systèmes de particules. Dans beaucoup de ces modèles, le processus de modélisation est dissocié de la phase de rendu, ce qui impose le stockage d'une description géométrique souvent importante. Le modèle choisi pour la modélisation et le rendu de végétaux permet de contourner l'obstacle de la complexité géométrique et offre un cadre simple pour la création de ces structures naturelles. Basé sur les systèmes à particules, il fait appel à la définition d'un automate pour le contrôle des trajectoires, de la création et de la destruction de particules. Le système de modélisation et de rendu à développer doit satisfaire aux critères suivants :
- la modélisation doit s'appuyer sur des paramètres concrets de la morphologie des objets, un non-spécialiste doit pouvoir créer facilement de nouveaux objets,
- la modélisation doit permettre d'intégrer des paramètres externes à l'objet, que ce soit des influences globales (vents, ...) ou locales (obstacles, ...),
- la modélisation et le rendu doivent être des processus simultanés. Ainsi, il n'y aura pas de description géométrique à stocker, pas de représentation intermédiaire entre la phase de modélisation et celle de rendu,
- le rendu doit être réaliste, intégrant l'illumination, les textures et l'ombrage (pris en charge par POV).
Les systèmes de particules pour la modélisation
Les systèmes de particules ont un caractère dynamique qui peut être utilisé de deux façons différentes :
- pour la production d'animations de phénomènes temporels, dans ce cas le comportement du système est échantillonné dans le temps et génère une succession d'images,
- pour la modélisation d'objets complexes, l'évolution du système étant interprété pour former un objet. L'aspect temporel est adapté pour produire les caractéristiques spatiales de la modélisation.
Dans les modèles dynamiques des systèmes de particules, des attributs géométriques et dynamiques (position, vitesse, accélération) sont associés à chaque particule, mais aussi des caractéristiques d'apparence (forme, couleur, ...). En fonction d'une distribution initiale de particules, le système va évoluer dans l'espace en intégrant les différentes forces qui peuvent influencer les attributs des particules. A chaque pas de temps, la projection des particules forme une image et finalement une animation représentant l'évolution du système.
Le deuxième aspect est utilisé dans le cadre de la modélisation d'éléments naturels : c'est la trajectoire des particules qui définit la structure géométrique de l'objet. L'évolution du système est enregistrée sur une seule image.
Les particules
Une particule est définie par un certain nombre de paramètres, qui évoluent à chaque itération. L'ensemble de toutes les particules et les comportements qui leur sont associés définissent le système de particules. Rendre une particule à un instant donné consiste à créer une représentation de ses paramètres :
- Paramètres des particules
type de particule
position et orientation courante
direction de déplacement
forme de la particule
âge courant et maximum
Les comportements
Le traitement définissant le comportement d'une particule doit à chaque itération calculer ses nouveaux paramètres, mais aussi décider de sa survie et de la création de nouvelles particules. Pour définir des systèmes de particules complexes, il est nécessaire de disposer d'un ensemble de comportements que les particules peuvent adopter, le choix d'un comportement pour les particules dépendant de l'évolution du système. Cette évolution peut être représentée par un automate : les états symbolisent les comportements des particules et les transitions la création conditionnelle de particules avec de nouveaux comportements. La validation des créations ainsi que les paramètres initiaux des nouvelles particules sont calculés par des fonctions associées aux transitions.
Application aux végétaux
Le système décrit ci-dessus permet de contrôler un ensemble de particules. Pour la synthèse des végétaux, les trajectoires des particules définissent la structure ramifiée de la plante. Les comportements (représentés par les états de l'automate) définissent pour un niveau de ramification l'aspect des différents éléments constitutifs du végétal (trajectoire du tronc et des branches, aspect des feuilles ou des fruits), tandis que les transitions et leurs fonctions associées valident et initialisent de nouvelles ramifications ou de nouveaux éléments. Les attributs de la première particule (qui va générer la base de la plante) influencent donc l'orientation, la taille et la forme finale de l'objet.
Caractérisation des trajectoires
A chaque itération, de nouveaux attributs pour les particules sont calculés par la fonction associée à l'état de l'automate. Pour calculer une nouvelle position, cette fonction prend en compte les effets de la croissance mais aussi des paramètres externes comme la gravité ou la collision avec des obstacles. Elle met également à jour les attributs de taille et d'âge de la particule. Quand l'âge maximum est atteint, la particule meurt et de nouvelles particules représentant les ramifications peuvent être crées. La particule est également supprimée quand sa taille est inférieure à une limite caractéristique du type de végétal.
Caractérisation des ramifications
Les transitions de l'automate représentent la création de nouvelles particules. Les fonctions associées à ces transitions calculent les valeurs initiales des attributs des nouvelles particules en fonction de ceux de la particule mère. Ces fonctions font appel à un ensemble de paramètres caractéristiques de la plante :
- le rapport des diamètres des branches Rd : Dfille = Dmère * Rd
- le rapport de l'espérance de vie qui induit la longueur des branches Rl : Lfille = Lmère * Rl
- les angles de rotation a et b définissant une nouvelle direction dans l'espace 3D
- le nouveau type de particule (par exemple feuille ou fruit)
- la probabilité de création
Ces paramètres sont fixés dans un intervalle : à chaque utilisation, leur valeur est déterminée par un tirage pseudo-aléatoire (i.e initialisé par un germe) dans un intervalle équiprobable. Par exemple, Rd in [Rdmoy-DRd, Rdmoy+DRd] avec Rdmoyreprésentant la valeur moyenne et DRd la dispersion.
Influences externes
La trajectoire des particules peut être influencée pour simuler une réaction de la plante à son environnement. Cela peut être simplement une détection de collision pour éviter un obstacle ou une contrainte sur la trajectoire pour forcer une croissance particulière (lierre en contact d'un mur ou taille d'un arbuste). Ce sont les fonctions associées aux états de l'automate qui doivent prendre en compte ces forces externes dans le calcul de la trajectoire des particules.
Quelques éléments utiles au projet
Pixmap de feuilles
Pour ceux qui voudraient aller plus loin ...
- une thèse sur le sujet