fractal suivant | fractal précédent | courbes 2D | courbes 3D | surfaces | fractals | polyèdres |
COURBE DE LEBESGUE
Lebesgue curve, Lebesguesche Kurve
Courbe étudiée par Lebesgue en 1904.
Henri Lebesgue (1875 - 1941) : mathématicien français. La courbe est désignée en anglais par z-curve plutôt que Lebesgue curve (cf figure de droite). Voir aussi cet article. |
Paramétrisation cartésienne : en posant en base 3, où f est la fonction de Cantor-Lebesgue ( si le développement ternaire impropre de t ne comporte que des 0 ou des 2 (c'est-à dire, si t appartient à l'ensemble de Cantor), f(t) est le nombre obtenu en changeant les chiffres 2 en des 1, nombre alors lu en base 2. Si le développement ternaire de t contient un 1, alors f(t) = f(t'), t' étant le nombre obtenu en tronquant t après le premier 1 rencontré). |
Dans la construction de la courbe de Hilbert, les divers carrés sont parcourus de sorte que deux carrés successifs soient toujours contigus, ce qui garantit la continuité de la courbe limite :
Plus précisément, à l'étape
n,
on obtient une suite de 4n carrés
de côté ,
recouvrant successivement les carrés.
On associe au carré
le k-ième intervallede
l'ensemble de Cantor approché
(qui comporte bien
intervalles).
Si t est un élément de l'ensemble
de Cantor, le point courant
de la courbe de Lebesgue est l'unique point d'intersection des compacts
emboîtés ,
étant le rang de l'intervalle
auquel t appartient. Si t n'appartient pas à l'ensemble
de Cantor, il appartient à un intervalle
dont seules les extrémités sont dans l'ensemble de Cantor,
et l'on pose, si , .
L'on peut alors définir deux types de courbes de
Lebesgue approchées qui convergent vers la courbe de Lebesgue idéale
:
Premier type :
On joint successivement les centres des carrés |
Ensemble de Cantor approché: |
|
Programe Maple pour le tracé du premier type :
transforme:=proc(liste,k) local L; L:=[op(liste),0$(k-nops(liste))]: [seq(L[k+1-q],q=1..k)] end: n:=4:B:=seq(transforme(convert(k,base,2),2*n),k=0..2^(2*n)-1): A:=seq([sum(B[k][2*q-1]/2^q,q=1..n)+1/2^(n+1),sum(B[k][2*q]/2^q,q=1..n)+1/2^(n+1)],k=1..2^(2*n)): plot([[[0,0],[1,0],[1,1],[0,1],[0,0]],[A]],axes=none,scaling=constrained); |
Deuxième type :
On joint successivement les points , les étant les extrémités des intervalles constituant l'ensemble de Cantor approché (qui sont les nombres de [0,1[ s'écrivant en ternaire avec 2n chiffres après la virgule égaux à 0 ou 2). |
Ensemble de Cantor approché:
|
Ensemble de Cantor approché :
|
Pour n = 3
|
Pour n = 4
|
Lebesgue a construit cette courbe pour donner un exemple de courbe remplissant un carré qui est non seulement continue, mais possède aussi une tangente en presque tout point (en effet la fonction est dérivable en tout t non situé dans l'ensemble de Cantor, qui est un ensemble négligeable). Il est par contre impossible de trouver une courbe remplissant un carré qui possède une tangente en tout point.
Comme la courbe
de Hilbert, la courbe de Lebesgue se généralise facilement
en une courbe remplissant un cube de dimension n. Par exemple en
dimension 3, la paramétrisation est :
posant
en base 3 avec f la fonction de Cantor-Lebesgue.
Programme Maple (suite du précédent) : n:=2:B:=seq(transforme(convert(k,base,2),3*n),k=0..2^(3*n)-1): A:=seq([sum(B[k][3*q-2]/2^q,q=1..n)+1/2^(n+1),sum(B[k][3*q-1]/2^q,q=1..n)+1/2^(n+1),sum(B[k][3*q]/2^q,q=1..n)+1/2^(n+1)],k=1..2^(3*n)): rayon:=0.02:display(spacecurve({[[0,0,0],[1,0,0],[1,1,0],[0,1,0],[0,0,0],[0,0,1],[1,0,1],[1,1,1],[0,1,1],[0,0,1]],[[1,0,0],[1,0,1]],[[1,1,0],[1,1,1]],[[0,1,0],[0,1,1]]},color=red), tubeplot({seq(expand(t*A[k]+(1-t)*A[k+1]),k=1..2^(3*n)-1)},t=0..1,radius=rayon,grid=[2,50]),seq(plot3d(expand(rayon*[cos(u)*sin(w),sin(u)*sin(w),cos(w)]+A[k]), u=0..2*Pi,w=0..Pi,grid=[6,10]),k=2..2^(3*n)-1),lightmodel=light2,style=patchnogrid,scaling=constrained); |
Voir d'autres vues stéréoscopiques du deuxième type sur cette page d'Alain Esculier (rubrique courbe de Peano, équations de G. Lavau).
fractal suivant | fractal précédent | courbes 2D | courbes 3D | surfaces | fractals | polyèdres |
© Robert FERRÉOL 2006