Une modélisation géométrique itérative basée sur les automates

Ces calculs ont deux aspects complémentaires : un aspect numérique avec le ...... national Workshop, number 1347 in Lecture Notes in Computer Sciences, ...
600KB taille 7 téléchargements 66 vues
Groupe de Travail en Mod´elisation G´eom´etrique – mars 2006 –

GTMG06

Une mod´elisation g´eom´etrique it´erative bas´ee sur les automates E. T OSAN? -I. BAILLY-S ALINS‡? -G. G OUATY†? -I. S TOTZ† -P. B USER‡ -Y. W EINAND† ? LIRIS UMR CNRS 5205 - Universite´ Claude Bernard Lyon I ´ erale ´ † IBOIS - ‡ IGAT - Ecole Polytechnique Fed de Lausanne [email protected], [email protected], [email protected]

R´esum´e Nous pr´esentons un mod´ele it´eratif inspir´e du mod`ele CIFS (Controlled Iterative Function System) de P RUSINKIEWICZ [PH94] - encore appel´e RIFS (Recurrent Iterative Function System) par BARNSLEY ou MRIFS (Mutually Recursive Iterative Function System) par C ULIK [CD93] -. Le principe de ces mod`eles est de d´efinir des familles de figures g´eom´etriques avec des r`egles de production et des syst`emes d’´equations. Dans cet article, nous en pr´esentons deux g´en´eralisations, qui permettent de contrˆoler la g´eom´etrie et la topologie des formes produites. Mots-cl´es : architecture, mod`ele it´eratif, automate, sch´ema de subdivision, topologie, courbe, surface.

F IG . 1 – Application en architecture : panneau d’ombrage fractal en carton d´ecoup´e, EPFL 2006

1

Introduction

Dans le cadre du projet de recherche “La g´eom´etrie fractale et ses applications dans la construction en bois” nous e´ tudions un formalisme math´ematique g´en´eral qui permette la repr´esentation de formes g´eom´etriques abstraites (voir figure 1). Ces formes sont destin´ees a` l’architecture selon deux aspects principaux : design/architecture int´erieure ou structure constructive et porteuse [BRS90] [WEI04]. Tr`es sch´ematiquement, le premier aspect exige surtout une maˆıtrise de la g´eom´etrie des formes, alors que le second exige un contrˆole suppl´ementaire, celui de la topologie - ces formes doivent eˆ tre munies d’une structure car elles doivent eˆ tre constructibles-. Nous proposons un mod`ele it´eratif qui permet d’aborder ces deux aspects de mani`ere compl´ementaire.

2

Contrˆole de la g´eom´etrie

Dans le mod`ele CIFS, un automate controle les it´erations d’un IFS [PH94]. En nous basant sur l’aspect langage de ce mod`ele, appel´e LRIFS (Langage-Restricted Iterated Function System), nous avions d´efini des op´erations sur les figures fractales [THO97]. Par ailleurs, nous avions d´evelopp´e un mod`ele d’IFS projet´e qui permettait de d´efinir des formes a` pˆoles et de retrouver les formes CAO classiques [ZT96]. Le principe de ce mod`ele e´ tait de distinguer deux espaces : l’espace de mod´elisation et l’espace d’it´eration (ou de “m´elange”). En utilisant une famille de figures et en associant a` chaque figure son propre espace de d´efinition, le mod`ele CIFS peut eˆ tre g´en´eralis´e et int´egrer les formes a` pˆoles.

2.1

Description

2.1.1 Automate ´ Le principe de repr´esentation est le suivant. Etant donn´e un automate (Q , Σ, δ), chaque e´ tat de Q correspond a` une figure - not´ees s,t, a, b, f , g, ... - chaque symbole de l’alphabet Σ d´esigne un op´erateur de subdivision ; les mots finis d´esignent les composantes d’une figure. L’´etat initial \ correspond a` la figure globale. La fonction de transition exprime des r`egles de d´ecomposition : δ(x, i) = y signifie qu’un op´erateur e´ l´ementaire index´e par i fait passer d’une figure de type x a` sa composante de type y. L’automate se met sous forme d’un graphe orient´e. Chaque nœud correspond a` un e´ tat x, chaque arc correspond a` une ` chaque transition (x, i), son origine est l’´etat de d´epart x et son extr´emit´e est l’´etat d’arriv´ee y = δ(x, i). A nœud x est associ´e le sous-ensemble de symboles sur lequel δ est d´efinie : Σx = {i ∈ Σ/∃y δ(x, i) = y}. 2.1.2 Description g´eom´etrique ` chaque nœud - ou e´ tat - x est associ´e un espace affine E x d´efini par des coordonn´ees barycentriques : A Jx

E x = B(R ) = {(λ j ) j∈Jx /

∑ λ j = 1}.

j∈Jx

` chaque arc - ou transition - (x, i) avec y = δ(x, i), est associ´e un op´erateur affine T x qui permet de A i passer d’un espace a` l’autre : Tix est une fonction de E y dans E x , not´ee Tix : E x ← E y . Les op´erateurs Tix sont identifi´es a` des matrices J x × J y v´erifiant ∀k ∈ J y ∑ j∈Jx T jk = 1. Les classes d’op´erateurs sont d´etermin´es par les espaces E x et E y : – si E x = E y - ce qui est en particulier vrai si y = x - Tix op`ere sur E x et la matrice est carr´ee ; – si E x 6= E y - ce qui implique que y 6= x - on a en g´en´eral dim(E x ) > dim(E y ), et Tix est un plongement de E y dans E x qui positionne une composante dans une figure plus grande. Mais on peut avoir dim(E x ) < dim(E y ) et Tix est une projection de E y sur E x .

2.2

Calculs

` partir d’une famille initiale de figures (segments, facettes, polygones, poly´edres, ...) vont eˆ tre calcul´ees A des suites de figures. Ces suites sont destin´ees a` produire des formes g´eom´etriques utilisables pour r´ealiser des objets (voir figure 1). Sur un plan th´eorique, ce sont des approximations de solutions d’un syst`eme d’´equations : des maillages de plus en plus fins convergent vers des figures lisses ou fractales. Ces calculs ont deux aspects compl´ementaires : un aspect num´erique avec le calcul de produits de matrices, un aspect formel avec le calcul de transition d’´etats dans un automate. 2.2.1 Syst`eme it´eratif L’automate d´ecrit un syst`eme it´eratif g´en`erant une suite de familles de figures Kn = (Knx )x∈Q a` partir d’une famille initiale de figures. La famille intiale K0 = (K x )x∈Q sera compos´ee de primitives graphiques. Les figures g´eom´etriques que nous utilisons sont des compacts de l’espace m´etrique E x - c.a.d. des ensembles de points ferm´es et born´es : K x ∈ H (E x ).

F IG . 2 – Figure g´en´er´ee par automate. ` chaque nœud x est associ´ee une e´ quation de passage d’un niveau de subdivision a` l’autre : A x Kn+1 =

[

δ(x,i)

Tix Kn

(1)

i∈Σx

` chaque nœud x est associ´ee la figure Ax ∈ H (E x ) L’automate d´ecrit e´ galement un syst`eme d’´equations. A v´erifiant l’´equation : [ (2) Tix Aδ(x,i) Ax = i∈Σx

(Ax )x∈Q

La famille A = correspond au passage a` la limite de la suite Kn = (Knx )x∈Q . Sous r´eserve de certaines hypoth`eses sur les op´erateurs de subdivision (graphe a` circuits contractants), cette limite existe. 2.2.2 Composantes g´eom´etriques Tout mot fini θ tel que δ(x, θ) = y d´ecrit une suite d’op´erations e´ l´ementaires θ = θ1 ...θn permettant de produire une composante de type y a` partir d’une figure de type x. Ces mots sont regroup´es dans les langages suivants : – Lx = {θ/∃y δ(x, θ) = y} ensemble des mots obtenus a` partir de x ; (n) – Lx = {θ ∈ Lx /|θ| = n} ensemble des mots de longueur n. Tout couple (x, θ) avec θ ∈ Lx , not´e x.θ dans la suite, d´esigne un chemin dans le graphe associ´e a` l’automate. Son origine est x et son extr´emit´e est y = δ(x, θ). Sur chaque chemin est calcul´e un op´erateur Tθx : E x ← E y d´efini par r´ecurrence : δ(x,θ)

Tεx = I et Tθix = Tθx Ti

.

` chaque chemin x.θ est associ´ee une composante : K x = T x K δ(x,θ) . A θ θ ` chaque niveau de subdivision n, les K x sont les composantes de la figure Knx : A θ Knx =

[

Kθx

(3)

(n) θ∈Lx

La visualisation de Knx se fait a` travers celle de chacune de ses composantes Kθx , c’est-`a-dire a` travers l’affichage de la primitive K δ(x,θ) dans un rep`ere calcul´e a` partir de Tθx (voir figure 2). La mod´elisation it´erative que nous proposons est bas´ee sur l’adressage formel des composantes des figures. Chaque composante g´eom´etrique Kθx est identifi´ee par le chemin x.θ, son espace de d´efinition est E x , son type g´eom´etrique est δ(x, θ) et son positionnement est Tθx .

2.3

Exemples

2.3.1 Attracteur a` condensation Etant donn´ees les r`egles de production : f

f f



g f

g

et

g



l’automate et le syst`eme it´eratif sont :  f  δ( f , 0) = f , δ( f , 1) = f , δ( f , 2) = f , δ( f , 3) = g; Kn+1 ⇒ g δ(g, 0) = g. Kn+1

f

f

f

f

f

f

f

g

= T0 Kn ∪ T1 Kn ∪ T2 Kn ∪ T3 Kn , g = Kn .

F IG . 3 – Attracteur a` condensation. Le r´esultat est un attracteur a` condensation [BAR88] :  f A f = A (T f ) ∪ (T f )∗ T3 Ag , g g A = K0 . avec A (T f ) attracteur associ´e a` l’IFS T PINSKI (voir figure 3).

f

f

f

f

= {T0 , T1 , T2 } ; dans ce cas, il s’agit d’un triangle de S IER -

2.3.2 Figure a` pentagone de contrˆole 5

La famille de figures - figure “pentagonale” projet´ee, attracteur dans l’espace barycentrique B(R ) - est d´efinie par le syst`eme it´eratif :   \ δ(\, 0) = a , Kn+1 = T0\ Kna , S ⇒ a a a δ(a, i) = a pour i ∈ Σ. Kn+1 = i∈Σ Ti Kn . Le pentagone de contrˆole donne la forme g´en´erale de la figure : T0\ = (p0 , p1 , p2 , p3 , p4 ) avec p j ∈ R ou R . 2

3

L’IFS de subdivision (Tia )i∈Σ est compos´e de matrices dont les colonne Tia e j sont des combinaisons convexes des sommets du pentagone. Certaines colonnes sont choisies sur les arˆetes du polygone de contrˆole : Tia e j = (1 − r)ek + rel avec 0 < r < 1. Cette propri´et´e de convexit´e donne une structure

F IG . 4 – Figure pentagonale.

d’emboitement (voir figure 1). En posant conv(Tθa ) = conv{Tθa e j / j = 0, ..., 4} enveloppe convexe des colonnes de Tθa = Tθa1 ...Tθan , on a les inclusions : conv(Tθia ) ⊆ conv(Tθa ). Pour avoir un contrˆole g´eom´etrique plus pr´ecis de cet emboitement, nous identifions certaines colonnes (voir figure 4) : Tia e j = Tka el . La donn´ee de l’IFS est alors e´ quivalente a` la donn´ee d’une grille de points 5 de subdivision : T÷a = (q0 , ..., qm ) avec q j ∈ B(R ) dont on extrait les matrices Tia = (qνi (0) , ..., qνi (4) ).

3

Contrˆole de la topologie

Pour contrˆoler la topologie des figures d´efinies par subdivision, il faut partir d’une famille de figures munie d’une structure topologique (complexe cellulaire), et utiliser des op´erateurs qui modifie cette structure de mani`ere coh´erente (op´erateurs d’E ULER). Les sch´emas de subdivision classiques g´en`erent des figures dont le type topologique est donn´e par la figure initiale (courbes ou surfaces d’un certain genre), l’ajout de nouveaux points aux maillages permettant de raffiner la g´eom´etrie. Mais la d´ecomposition en cellules n’est pas connue. Or a` chaque e´ tape, la figure globale est compos´ee de “pi`eces” (carreaux, arcs, singletons) raccord´ees entre elles selon une certaine relation d’incidence. En pr´ecisant les r`egles de production, il est possible d’associer a` chaque e´ tape de raffinement un complexe cellulaire. Nous avions montr´e que le contrˆole de la topologie passe par des contraintes sur les matrices de subdivision [TOS99] [TOS04]. Nous montrons ici que ces contraintes sont le reflet de la relation d’incidence exprim´ee dans un automate. Ceci est obtenu en int´egrant au mod`ele CIFS une Brep (Boundary representation). Nous obtenons alors un nouveau mod`ele, que nous appelons BCIFS (Boundary Controlled Iterative Function System).

3.1

Principe du mod`ele BCIFS

La relation d’incidence entre composantes peut s’exprimer g´eom´etriquement au moyen d’op´erateurs analogues aux op´erateurs de subdivision. Pour la repr´esenter de mani`ere formelle, il suffit d’ajouter a` l’automate de subdivision des symboles suppl´ementaires.

3.1.1 Automate L’automate g´en´eral (Q , Σ, δ) est la superposition des deux automates : 1. L’automate “g´eom´etrique” (Q , Σ÷ , δ) d´ecrivant un sch´ema de subdivision, c.a.d. le raffinement ` chacun de ses arcs est associ´e un op´erateur de de la g´eom´etrie et le changement de r´esolution. A subdivision : x.i ∈ Q × Σx÷ → Rxi = Tix . 2. L’automate “topologique” (Q , Σ∂ , δ) d´ecrivant une structure Brep, c.a.d. une relation d’incidence ` chacun de ses arcs est associ´e un op´erateur repr´esentant le cˆot´e d’une figure : entre composantes. A x x.u ∈ Q × Σx∂ → Ru = Pxu Les e´ tats sont typ´es suivant la classe topologique des figures associ´ees. Sont distingu´es : – les e´ tats correspondant aux cellules : – Q S = {s,t, ...} sommets ; – Q A = {a, b, ...} arˆetes ; – Q F = { f , g, ...} faces triangulaires ou quadrangulaires ; – les e´ tats initiaux correspondant aux figures compos´ees : courbes ou surfaces. Les symboles de subdivision sont typ´es par la classe topologique d’arriv´ee : iX avec X = S, A, F et i = 0, 1, 2, ... : Σ÷ = ΣS ∪ ΣA ∪ ΣF . ` chaque e´ tat x sont associ´es les sous-ensemble de symboles : Σx∂ et Σx÷ = ΣxS ∪ ΣxA ∪ ΣxF . A Dans cet automate, les chemins x.β s’interpr`etent comme des expressions : les composantes sont calcul´ees par Rxβ K δ(x,β) avec β mot m´elangeant les symboles de subdivision et de cˆot´e. Deux chemins deux expressions - x.β et x.γ, seront dites e´ quivalents, - not´e x.β ≡ x.γ - si elles ont la mˆeme e´ valuation, c.a.d. le mˆeme type et le mˆeme positionnement et par suite la mˆeme composante : δ(x, β) = δ(x, γ) et Rxβ = Rxγ ⇒ Rxβ K δ(x,β) = Rxγ K δ(x,γ) ⇒ Kβx = Kγx . Cette relation d’´equivalence va permettre de formuler les contraintes sur les e´ tats et les matrices pour que l’automate (Q , Σ, δ) produise des figures a` topologie contrˆol´ee. 3.1.2 Expression formelle de la relation d’incidence Les cˆot´es des cellules classiques peuvent eˆ tre formellement num´erot´es : – pour les arˆetes, Σa∂ = {0∂ , 1∂ } et δ(a, i∂ ) ∈ Q S ; – pour les faces, si f est a` m cˆot´es Σ f ∂ = {i∂ /i = 0, ...m − 1} et δ( f , i∂ ) ∈ Q A . La relation d’adjacence reliant sommets, arˆetes et faces typ´es :

s −−a−− t

u −−c−− | d f | r −−a−−

t | b | s

peut eˆ tre repr´esent´ee par le graphe :

a.0∂

←− a

−→ a.1∂

f .2∂ ↑ f .3∂ ←− f −→ f .1∂ ↓ f .0∂

Le premier d´ecrit un complexe cellulaire comportant une arˆete a.ε et deux sommets a.0∂ , a.1∂ . Le second d´ecrit un complexe cellulaire comportant une face f .ε, quatre arˆetes f .i∂ pour i = 0, 1, 2, 3 et quatre sommets donn´es par les expressions f .i∂ 0∂ et f .i∂ 1∂ . Pour d´ecrire ces sommets, il faut introduire les e´ quivalences d’expression suivantes : c u −→ t d↑ f ↑b r −→ s a



f .3∂ 1∂ ≡ f .2∂ 0∂ ↑ f .3∂ ↓ f .3∂ 0∂ ≡ f .0∂ 0∂

← f .2∂ → ↑ ←− f −→ ↓ ← f .0∂ →

f .2∂ 1∂ ≡ f .1∂ 1∂ ↑ f .1∂ ↓ f .0∂ 1∂ ≡ f .1∂ 0∂

Les e´ quivalences f .vw ≡ f .v0 w0 vont se traduire par les contraintes : f

δ( f , vw) = δ( f , v0 w0 ) et Pvf Paw = Pv0 Pbw0

(4)

3.1.3 Expression g´eom´etrique de la relation d’incidence Les figures cellulaires sont des formes param´etr´ees H x : Dx → E x dont les domaines de param´etrisation sont des polytopes standard : – singletons de domaine Ds = {0} ; – arcs de courbe de domaine Da = [0, 1] ; – carreaux quadrangulaire de domaine D f = [0, 1]2 ; Les cˆot´es de ces domaines sont repr´esent´es par des op´erateurs affines : a – Les extr´emit´es de l’intervalle Da = [0, 1] sont donn´es par les plongements P˘ u : {0} → [0, 1] a a - P˘ 0∂ 0 = 0, P˘ 1∂ 0 = 1 f – Les cˆot´es du pav´e D f = [0, 1]2 sont donn´es par les plongements P˘ u : [0, 1] → [0, 1]2 f f f f - P˘ 0∂ t = (t, 0), P˘ 1∂ t = (1,t), P˘ 2∂ t = (t, 1), P˘ 3∂ t = (0,t) . Les cellules “gauches” s’expriment comme des images des polytopes standard par des fonctions continues H x contrˆol´ees par des grilles de contrˆole. Dans le cas o`u il y a interpolation des sommets, ces grilles sont : – le singleton de contrˆole J s = {0} ; – le polygone de contrˆole a` m + 1 sommets : J a = {0, ..., m} ; – la grille de contrˆole a` (m + 1) × (n + 1) sommets : J f = {0, ..., m} × {0, ..., n}. La relation d’incidence de ces cellules s’exprime a` travers les grilles de contrˆole. Les cˆot´es des grilles de contrˆole sont donn´es par des suites extraites d’indices : – pour les arcs, les singletons de contrˆole des extr´emit´es sont les extr´emit´es du polygone de contrˆole : Pa0∂ es0 = ea0 et Pa1∂ es0 = eam . – pour les carreaux, les polygones de contrˆole des cˆot´es sont les cˆot´es de la grille de contrˆole : f

f

f

f

f

f

f

f

P0∂ eaj = e j0 , P1∂ eaj = em j , P2∂ eaj = e jn , P3∂ eaj = e0 j . f a Dans les deux cas, les op´erateurs P˘ i∂ , P˘ j∂ v´erifient les contraintes (4).

3.2

Subdivision et relation d’incidence

Les maillages obtenus par subdivision se raccordent de mani`ere automatique. Nous explicitons et g´en´eralisons cette propri´et´e. Grace a` une r`egle formelle, la relation d’incidence des composantes est d´efinie a` chaque niveau.

3.2.1 Relation d’incidence entre composantes La famille des composantes est munie de la relation d’incidence formelle suivante : x.θ est incidente a` x.ϑ si en posant y = δ(x, θ) il existe un cˆot´e v ∈ Σy∂ tel que x.θv ≡ x.ϑ, c.a.d. : δ(x,θ)

δ(x, θv) = δ(x, ϑ) et Tθx Pv

= Pxϑ .

Sous de bonnes hypoth`eses de raccord, la composante Kθx = Tθx K y est alors bord´ee par les composantes : x Kθv = Rxθv K δ(y,v) = Tθx Pyv K δ(y,v) .

Grace a` une r`egle de subdivision que doit v´erifier l’automate, la relation d’incidence de niveau n + 1 se d´eduit de la relation de niveau n.

u →

f i↓

v →

g

i

u f −→ a ↓ ↓ g −→ b v

Ef j

Ti

f

Puf ←−

↑ E g ←− Pgv

Ea ↑ Eb

a ↓j

f i↓ c g

|b

T ja

i

f ↓ g

& k −→ c w

Ti

f

Ef ↑ Eg

←− g Pw

f

Tk Ec

F IG . 5 – En haut : a` gauche subdivision d’un cˆot´e, a` droite insertion d’une nouvelle composante ; en bas : les contraintes correspondantes sur les e´ tats et les matrices. 3.2.2 R`egle de subdivision Le passage d’un niveau de subdivision a` l’autre s’exprime formellement par une r`egle de commutation entre symboles de subdivision et symboles de cˆot´e. Au cours d’une subdivision de y, la composante y.i ne peut poss´eder que deux types de cˆot´es (voir figure 5) : – Soit c’est une subdivision d’un composant existant : il y a h´eritage du niveau pr´ec´edent et transport de la relation d’incidence : δ(y,i)

∃(u, j) ∈ Σ∂ × Σ÷ y.iv ≡ y.u j ⇔ δ(y, iv) = δ(y, u j) et Tiy Pv

δ(y,u)

= Pyu T j

.

– Soit c’est un nouveau composant : il y a cr´eation par rapport au niveau pr´ec´edent et ajout d’un raccord interne a` la relation d’incidence : δ(y,i)

∃k ∈ Σ÷ y.iw ≡ y.k ⇔ δ(y, iv) = δ(y, k) et Tiy Pw

4 4.1

= Tky .

Etude de cas Singletons

Dans la subdivision des singletons, un seul arc est issu de chaque nœud, on a Σs = Σs÷ = {0S }. Le cas le plus simple est celui d’un sommet qui est le point fixe de l’op´erateur de subdivision : δ(s, 0S ) = s ⇒ ps = T0sS ps . Si l’op´erateur T0sS est une fonction constante, le sch´ema est interpolant sur le sommet. On a : J s = {0}, E s = {1} et T0sS = (1). Si l’op´erateur n’est pas constant, on a autour de ps , un comportement “diff´erentiel” commun aux arˆetes et faces incidentes.

4.2

Arcs

4.2.1 Subdivision et relation d’incidence ` un arc est associ´e un complexe cellulaire compos´e d’une arˆete a.ε bord´ee par deux sommets a.0∂ , a.1∂ : A a.0∂ ←− a.ε −→ a.1∂ La subdivision de cet arc en deux donne un nouveau complexe cellulaire. Il est compos´e de cellules internes - deux arˆetes a.0A , a.1A et un sommet a.1S - et de deux sommets externes issus de la subdivision de sa bordure a.0∂ 0S , a.1∂ 0S . Ces cellules sont li´ees par la relation d’incidence : a.0∂ 0S ← a.0A → a.1S ← a.1A → a.1∂ 0S

Le passage d’une relation d’incidence a` l’autre s’exprime dans le graphe : a.0∂ ←− − − − − − − − −a.ε − − − −− − − − −→ a.1∂ ↓ . ↓ & ↓ a.0∂ 0S ≡ a.0A 0∂ ← a.0A → a.0A 1∂ ≡ a.1S ≡ a.1A 0∂ ← a.1A → a.1A 1∂ ≡ a.1∂ 0S Ces e´ quivalences de chemins se traduisent par des contraintes sur les e´ tats et les matrices. 4.2.2 Contraintes En supposant a autosimilaire, c.a.d. en prenant δ(a, 0A ) = a et δ(a, 1A ) = a, on a : s ←− − a − −→ t ↓ . ↓ & ↓ s ←a→ t=s ←a→ t La famille de figures - arc, singleton - est d´efinie par le syst`eme d’´equations :   a A = T0aA Aa ∪ T1aA Aa ; δ(a, 0A ) = a, δ(a, 1A ) = a; ⇒ δ(s, 0S ) = s. As = T s As . La relation d’incidence se traduit par les contraintes suivantes sur les matrices de subdivision : T0aA Pa0∂

= Pa0∂ T0sS ,

T1aA Pa1∂

= Pa1∂ T0tS .

T0aA Pa1∂ = T1aA Pa0∂

= T1aS ,

Avec ces contraintes, l’arc param´etr´e est en g´en´eral non diff´erentiable. L’“ordre de raccord” des sommets e´ tant dim(E s ), on retrouve les sch´emas de subdivision classiques de courbes fractales avec dim(E s ) = 0 et des sch´emas analogues a` ceux des B-splines avec dim(E s ) > 0. 4.2.3 Sch´ema fractal classique Le sch´ema classique de d´efinition d’un arc fractal par subdivision est donn´e par la figure 6. Les espaces associ´es aux composantes sont : – singleton : E s =< es0 >= {es0 } ; – arc : E a =< ea0 , ea1 , ea2 >, cˆot´es : Pa0∂ = (ea0 ) et Pa1∂ = (ea2 ). ´ Etant donn´es les points de subdivision :   ri T÷a = (ea0 , q1 , q2 , q3 , ea2 ) avec qi =  si  et ri + si + ti = 1; ti





F IG . 6 – Raccord simple d’arc. les matrices de subdivision sont : – singleton : T s = (es0 ) ;

– arc : T0aA = (ea0 , q1 , q2 ) et T1aA = (q2 , q3 , ea2 ) ; et la relation d’incidence est :

T0aA Pa1∂

T0aA Pa0∂ = Pa0∂ T s

= T1aA Pa0∂ = T1aS T1aA Pa1∂ = Pa1∂ T s

=

(ea0 ),

=

(q2 ),

=

(ea2 ).

4.2.4 Sch´ema type B-spline La famille de figures - arc, singleton - est d´efinie par le syst`eme d’´equations : 

δ(a, i) = a pour i = 0A , 1A , 2A ; δ(s, 0S ) = s .





Aa As

= T0aA Aa ∪ T1aA Aa ∪ T2aA Aa , = T s As .

En prenant pour ordre de raccord des sommets dim(E s ) = 2, et pour “degr´e” des arˆetes dim(E a ) = 3, les espaces associ´es sont : – singleton : E s =< es0 , es1 , ea2 > ; – arc : E a =< ea0 , ea1 , ea2 , ea3 >, cˆot´es : Pa0∂ = (ea0 , ea1 , ea2 ) et Pa1∂ = (ea1 , ea2 , ea3 ). ´ Etant donn´es les points de subdivision :     ri ri  si   a   T÷a = (q0 , q1 , q2 , qˆ0 , qˆ1 , qˆ2 ) avec qi =  si  , qi = Pa0∂ qi =   ti  , qˆi = P1∂ qi =  ti 0 

 0 ri   et ri +si +ti = 1, si  ti

les matrices de subdivision sont : – singleton : T s = (q0 , q1 , q2 ) ; – arc : T0aA = (q0 , q1 , q2 , qˆ0 ), T1aA = (q1 , q2 , qˆ0 , qˆ1 ), T2aA = (q2 , qˆ0 , qˆ1 , qˆ2 ) ; et la relation d’incidence est :

T0aA Pa1∂ T1aA Pa1∂

T0aA Pa0∂ = Pa0∂ T s

=

(q0 , q1 , q2 ),

= T1aA Pa0∂ = T1aS = T2aA Pa0∂ = T1aS T2aA Pa1∂ = Pa1∂ T s

= =

(q1 , q2 , qˆ0 ), (q2 , qˆ0 , qˆ1 ),

=

(qˆ0 , qˆ1 , qˆ2 ).

Les courbes de la figure 7 sont obtenues avec r0 = 1 16 7 24 , s2 = 24 ,t2 = 24 .

7 24 , s0

=

16 24 ,t0

=

1 24 ; r1

=

9 24 , s1

=

6 24 ,t1

F IG . 7 – Courbes fractales : a` gauche courbe ferm´ee, a` droite arc compos´e.

=

9 24 ; r2

=

4.3

Surfaces

4.3.1 Subdivision et relation d’incidence ` un carreau quadrangulaire est associ´e un complexe cellulaire compos´e d’une face f .ε ; quatres arˆetes A f .i∂ avec i = 0, 1, 2, 3 et quatres sommets f .i∂ 0∂ avec i = 0, 1, 2, 3. u

c

t

d

f

b

r

a

s

←c→ t ↑ ↑ ←f→ b ↓ ↓ ←a→ s

u ↑ d ↓ r

La subdivision de ce carreau en quatre donne un nouveau complexe cellulaire. Il est compos´e de cellules internes - quatre faces f .0F , f .1F , f .2F , f .3F ; quatres arˆetes f .0A , f .1A , f .0B , f .1B et un sommet f .1S et de cellules de bordure - huit arˆetes f .i∂ 0A , f .i∂ 1A avec i = 0, 1, 2, 3 ; et huit sommets f .i∂ 0∂ 0S , f .i∂ 1S avec i = 0, 1, 2, 3 - . Ces cellules sont li´ees par la relation d’incidence :

f



f .1F

f .3F

f .0F

f .2F

u.0S ↑ d.1A ↓ d.0S ↑ d.0A ↓ r.0S

← c.0A → ↑ ← f .1F → ↓ ← f .0A → ↑ ← f .0F → ↓ ← a.0A →

c.0S ↑ f .1B ↓ f .1S ↑ f .0B ↓ a.0S

← c.1A → ↑ ← f .3F → ↓ ← f .1A → ↑ ← f .2F → ↓ ← a.1A →

4.3.2 Contraintes Si f est autosimilaire, c.a.d. δ( f , iF ) = f , on a deux types d’arˆetes et un type de sommets : s −c− | d f | s a=c | d f | s −a− Les contraintes de bordure externe sont :  f f  T0F P0∂ =     T f Pf = 2F 0∂ f f  T  1F P2∂ =    T f Pf = 3F 2∂

f

P0∂ T0aA ,

f P0∂ T1aA ; f P2∂ T0aA , f P2∂ T1aA ;

Les contraintes de raccord interne sont :  f f f f  T0F P2∂ = T1F P0∂ =     T f Pf = T f Pf =     

2F 2∂ T2fF P3f ∂ f f T3F P3∂

3F 0∂ = T0fF P1f ∂ f f = T1F P1∂

−s− | b=d | −s− | b=d | −s−

−c−

s | f b | a=c s | f b | −a− s

 f f  T2F P1∂     T f Pf 3F 1∂ f f  T  0F P 3∂    T f Pf

1F 3∂

f

P1∂ T0bA ,

=

f

P1∂ T1bA ;

=

f

P3∂ T0bA ,

=

f

P3∂ T1bA .

=

f

T0A , f

T1A ;

=

T0fB ,

=

T1B ;

f

(

f

f

T0A Pa1∂ = T1A Pa0∂ T0fB Pb1∂ = T1fB Pa0∂

f

= T1S , = T1fS .

t.0S ↑ b.1A ↓ b.0S ↑ b.0A ↓ s.0S

F IG . 8 – Grille de subdivision quadrangulaire.

4.3.3 Sch´ema de DE C ASTELJAU Dans le sch´ema de DE C ASTELJAU, le maillage de contrˆole est une subdivision du complexe cellulaire. Aux sommets de chaque chaque cellule sont ajout´es des sommets suppl´ementaires : • − ◦ − • | | | J s = •, J a = • − − ◦ − − •, J f = ◦ − ◦ − ◦ . | | | • − ◦ − • Les contraintes de raccord interne se traduisent par les identifications de colonnes donn´ees par la figure 8. La description d’un sch´ema a` 3 × 3 points de contrˆole se ram`ene a` une grille a´ 5 × 5 points de subdivision. Les contraintes de bordure se traduisent par le plongement sur les cˆot´es des points de f f f f f f subdivision des arcs : (q j0 , q j1 , q j2 , q j3 , q j4 ) = P0∂ (ea0 , qa1 , qa2 , qa3 , ea2 ) ...

F IG . 9 – Carreau quadrangulaire.

4.3.4 Sch´ema de C ATMULL -C LARK Dans le sch´ema de C ATMULL -C LARK, il y a une bijection entre sommets du maillage de contrˆole et sommets du complexe cellulaire. La grille de contrˆole de chaque cellule correspond a` son voisinage

dans le complexe cellulaire : J s =

, Ja =

, Jf =

.

F IG . 10 – Tore fractal obtenu par un sch´ema de C ATMULL -C LARK. . Comme il y a correspondance entre types de figures -s, a, b, f - et masques d’interpolation -µs , µa , µb , µ f la grille des points de subdivision est donn´ee par les masques a` partir du complexe cellulaire : f | a | f T÷ = f | a | f

− − − − −

b | s k b k s | b

− = 1F − 0F = −

f | a | f | a | f

− = 3F − 2F = −

b | s k b k s | b

− − − − −

f | a | f | a | f

Les matrices de subdivision sont extraites de cette grille : f − b − f | | | – singleton : T s = a − s − a ; | | | f − b − f f − b − f − b b − f − b − | | | | | | | – arcs : T0aA = a − s = a − s , T1aA = s − a = s − | | | | | | | f − b − f − b b − f − b − a − s − a − s f − b − f | | | | | | | f − b = f − b a − s = a f k 0F k | , T1fF = | k 1F k – carreau : T0F = | a − s = a − s f − b = f | | | | | k | f − b − f − b a − s − a

f | a , ... ; | f − b | = s | , ... = b | − s

La relation d’incidence est :

f

f

f

T0F P0∂ = P0∂ T0aA

f

f

f

f

=

f

T0F P2∂ = T1F P0∂ = T0A

=

f | a | f

− b | − s | − b

− 0F = −

f | a | f

a | f | a



− 1F = 0F −

a − | f − | a −

s | − b | − s

− b | − s , ...; | − b s | b , ... | s

4.3.5 Sch´ema tridimensionnel 3

Un sch´ema de subdivision peut eˆ tre d´ecrit dans R . Les op´erateurs de subdivision sont des cisaillements verticaux. Pour l’exprimer, il est plus ais´e d’utiliser des coordonn´es mixtes : tout point peut se f f f f f f f f d´ecomposer dans un rep`ere (e0 , e1 , e2 ,~e3 ) avec e0 , e1 , e2 points ind´ependants du plan horizontal et ~e3 f f f f vecteur vertical : q = re0 + se1 + te2 + h~e3 avec r + s + t = 1.

F IG . 11 – Composition triangulaire. Avec un carreau triangulaire (figure 11), les espaces associ´es aux cellules sont : – singleton : E s =< es0 ,~ea1 > ; – arc : E a =< ea0 , ea1 ,~ea2 >, cˆot´es : Pa0∂ = (ea0 ,~ea2 ) et Pa1∂ = (ea1 ,~ea2 ) ; f

f

f

f

f

f

f

f

f

f

f

f

f

– carreau : E f =< e0 , e1 , e2 ,~ea3 >, cˆot´es : P0∂ = (e0 , e1 ,~e3 ), Pa1∂ = (e1 , e2 ,~e3 ) et Pa2∂ = (e2 , e0 ,~e3 ). En prenant r = s = 12 , h ∈ R, 0 < ∆h < 1, les matrices de subdivision sont : – singleton : T s = (es0 ,~u) avec ~u = ∆?h~es1 ; – arc : T0aA = (ea0 , p,~v), T1aA = (p, ea1 ,~v) avec p = rea0 + sea1 + h~ea2 , ~v = ∆?h~ea2 ; f

f

f

f

f

f

f

– carreau : T0F = (e0 , qa , qc ,~w), T1F = (qa , e1 , qb ,~w), T2F = (qc , qb , e2 ,~w), T3F = (qb , qc , qa ,~w) avec f

f

f

f

f

f

f

f

f

T0aA P0∂ = Pa0∂ T s

=

(ea0 ,~v),

f

=

(p,~v),

T1aA P1∂ = Pa1∂ T s

=

(ea1 ,~v);

f

qa = re0 + se1 + h~e3 , qb = re1 + se2 + h~e3 , qc = re2 + se0 + h~e3 , ~w = ∆h~e3 ; La relation d’incidence s’exprime avec une mise en commun de la direction verticale : – arc : f

f

T0aA P1∂ = T1aA P0∂ = T0aS f

– carreau : f

f

f

=

(e0 , qa ,~w),

f

=

(qa , qc ,~w),

=

(qc , e0 ,~w).

f

f

f

T0F P1∂ = T3F P1∂ Sa f

f

f

T0F P2∂ = P1∂ T1cA

5

f

T0F P0∂ = P0∂ T0aA

f

Conclusion

Nous avons ramen´e la description d’un mod`ele it´eratif a` une formulation en terme d’automate. Dans l’avenir nous pensons proposer une “grammaire de formes”, c.a.d. un syst`eme de r`egles de production de figures avec un contrˆole au choix de la g´eom´etrie ou de la topologie. Pour cela nous devrons e´ laborer un langage qui d´ecrive cette grammaire. Cette formulation permet e´ galement d’envisager une classification des sch´emas de subdivision.

R´ef´erences [BAR88] M.F. BARNSLEY. ,Fractal Everywhere. ,Academic press, INC, 1988. [BRS90] P. J. BUSER, B. RADIC, and K.-D. SEMMLER. ,Surface visualization. ,In Scientific visualization and graphic simulation, pages 27–42. John Wiley, Chichester, 1990. [CD93]

K. CULIK and S. DUBE. ,Balancing order and chaos in image generation. ,Computer & Graphics, 17(4) :465–486, 1993.

[PH94]

Przemyslaw PRUSINKIEWICZ and Mark HAMMEL. ,Language-Restricted Iterated Function Systems, Koch Constructions, and L-systems. ,In New Directions for Fractal Modeling in Computer Graphics, SIGGRAPH’94 Course Notes. ACM Press, 1994.

[THO97] J. THOLLOT. ,Set manipulations of fractal objects using matrices of IFS. ,In Ehoud Ahronovitz and Christophe Fiorio, editors, Discrete Geometry for Computer Imagery, 7th International Workshop, number 1347 in Lecture Notes in Computer Sciences, pages 223–234. Springer, 3-5 December 1997. [TOS99] Eric TOSAN. ,Surfaces fractales d´efinies par leurs bords. ,In L. Briard, N. Szafran, and B.Lacolle, editors, Journ´ees “Courbes, surfaces et algorithmes”, Grenoble, 15-17 Septembre 1999. ´ [TOS04] Eric TOSAN. ,Repr´esentation topologique des formes fractales. ,In GTMG 2004, Journ´ees du Groupe de Travail en Mod´elisation G´eom´etrique, Lyon, pages 1–13, Mars 2004. [WEI04] Yves WEINAND. ,New modeling. ,Presses polytechniques et universitaires romandes, 2004. [ZT96]

Chems Eddine ZAIR and Eric TOSAN. ,Fractal modeling using free form techniques. ,Computer Graphics Forum, 15(3) :269–278, August 1996. ,EUROGRAPHICS’96 Conference issue.