Dessiner les courbes de Cesàro

Rappels sur la 🐢

On rappelle ci-dessous les instructions utiles du module turtle.

Appel Rôle
hideturtle() Cache la tortue.
speed(n) Définit la vitesse de l'animation.
n est un entier entre 1 (lent) et 10 (rapide).
animation(s) Autorise ou non les animations.
s est soit 'on' (avec animations, valeur par défaut)
soit 'off' (sans animations).
penup() Lève le crayon : les déplacements de la tortue ne sont plus dessinés.
pendown() Baisse le crayon : les déplacements de la tortue sont dessinés.
heading() Renvoie la direction vers laquelle pointe la tortue sous la forme d'une mesure d'angle en degrés.
setheading(d) Définit la direction vers laquelle pointe la tortue.
d est une mesure d'angle en degrés.
position() Renvoie la position de la tortue sous la forme d'un couple de nombres (x, y).
goto(x, y) La tortue se déplace à la position (x, y).
x et y sont des nombres.
left(a) La tortue tourne sur elle-même vers la gauche de a degrés.
a est un nombre.
right(a) La tortue tourne sur elle-même vers la droite de a degrés.
a est un nombre.
forward(p) La tortue avance de p pixels.
p est un nombre.

🏎 Dans CodEx, il est possible d'augmenter la vitesse jusqu'à speed(100) ! 🏎

Suite du flocon de Koch

Cet exercice est un prolongement de celui sur le flocon de Koch.

Il est recommandé de le traiter avant d'aborder celui-ci.

Quel est le point commun entre ces différentes fractales ?

Courbes tournées vers l'intérieur

Triangle Carré Pentagone

Et celles-ci ?

Courbes tournées vers l'extérieur

Triangle Carré Pentagone

Elles sont toutes construites à l'aide du même algorithme ! Par contre, de l'une à l'autre, on a fait varier différents paramètres :

  • le nombre de côtés du polygone de base (nommé par la suite n qui vaut ci-dessus \(3\), \(4\) ou \(5\)) ;
  • l'angle utilisé entre certains segments (nommé angle et valant ci-dessus \(60\), \(88\) ou \(75\) degrés);
  • le fait de tracer les figures vers l'intérieur du polygone (en haut) ou l'extérieur (en bas). On appelle interieur le booléen indiquant si la figure est construite vers l'intérieur ou non.

Dans chaque cas, la construction est la même :

  • on construit un polygone à n côtés. Selon la valeur du booléen interieur, on tourne vers la gauche ou vers la droite entre chaque côté ;
  • chaque « côté » du polygone est en fait une courbe de Cesàro1 (voir ci-dessous).
Courbe de Cesàro pour les figures centrales

Courbe de Cesràro

Etant donné une longueur, un angle (exprimé en degrés) et un nombre d'étapes donnés (les paramètres longueur, angle et etape), la courbe de Cesàro peut se construire de façon récursive :

  • à l'étape \(0\), on trace un segment de la longueur donnée ;
  • aux autres étapes, on lance la construction de quatre courbes de Cesàro, plus petites, comptant une étape de moins. Le coefficient de réduction vaut 1/(2 + 2*cos(pi*angle/180)). L'angle n'est pas modifié ;
  • entre deux courbes, on tourne d'un multiple de l'angle passé en paramètre (angle).

D'une courbe à l'autre

On demande donc de compléter les fonctions courbe et fractale ci-dessous dont les paramètres ont été décrits ci-dessus.

N'hésitez pas à faire varier les paramètres pour créer votre fractale !

Par défaut, on a supprimé les animations de la figure.

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 10/10
.128013s3o_8bcdufvg/T0lyà n7apSr1-meR,(P2=4:+Kjtwki95h*x)é6050i0D0P0w0S0q0b0t0h0q0w0b0b0J010P0S0x010406050b0j0C0C0w0z0r040y0d0q0j0^0d0u050n0 1113150}0x041e1l051o0n1o1q1l0}0i0S0l0-0/0;0?0V0S0m0V0q1E0V0P0{050(0g0q0D1z0:0=011D1F1H1F0P1N1P1L0P0g0d0i151M0z1m0P0V0-180b0x0w0u0?0I011R1B010k0*0D0u0w0C0D1L1?1^1}1T201P23250{0a0t0H0z0d0x0d0b0S1b0u0t0$1;0z0z0D0h2q1e280u1m0n1/2D0P1-1,1.0i2a0?1H0u222n1L1w1y0.1S2N0S2P0u1)1x1L0x2w1m2B2D2+0~1@2r2V1~2!0z120q0{0t0A2A2/0|2.292;1T2?2^2`0I2}1^2 2B2M01340w2_040t0c382C0}3b320?3e3g0t0K3k3a2/3c3q2`0U3u3m3w3o3d0d2@3f2`0!3B302:1A333G353h0v3L3n3O3p3Q3I3h0f3U3D3W3F3H3r0T3$313(3y040A0p3-3N2W3)3R0A2|1f2~3C3.3_3:0A373~39403^2=3Y3g0A3j463l3M3x4b0{0A3t4f3v414a3*4k3A4n484i4r3;3K4u4h3E433T4A3V424j3;3#4F3%4H4x0A3,4L4p3P4x0I3?4R494T3R0I3}2+4v4C4I0I454%4B3/4*4e4-4G4q4!4m4=4M4@3Z0I4t4`4S3X4U4z504Y524!4E554w4!4K5a4)4U4Q5e4/4x0c4W5i4N3R0c4$3 4.5o3Z0c4,5s4?4Z5v4;5y4{5A3g0c4_5D513`5v4 2~1n2)1e2T2G0i2K3c0h1)261m5S1p5Q2-4n055X0$2*5E0?0R0u0{0k2k0C3u5t1~0Q2`5_5z3p5;040P0j0z0P1P5~5.015|3h685K5:0{0S0C2m653u0t5`1T0d0{0W3@3c6f045?0d5^5)5 6a5}6z690u61121/6d566B6c6D6e616h6j0P6l6n3p0{5X0b6J3c0`040F6T6A610x0S3B4(3(0h0A0{030t0E0Z0m0/0m0D0,2Y2p0S0w0j0X6s4C0{1^6h0w2z6N6K6#0G6Z3E0b1{04010d0k0k017g3(6#0Y6l0t6m6A6:6=0t0b1^0,786H0S1c6Y4X3x0{0x220j0x7q3_7e7t4n7v7V7W7V6U017y046?1P0-0z0w0r1c0t6}0P0t1P0l0Z753/0{0m0d0P0d7Q1~7e7 6o0{0B820?0C0S4k0p5m5O6A6#6%7U7Z6p04857c3c884k3=86017s7u7w697#6?2m2o2q0t6 0^3f0D0F0t0s0t0w0O0j0b0P0D0z7^427L220i0d0Q1d8m3E7S8u7X7v7Z8x7;1Q0h7*7,2r7/0t0g0)0;7@4u066.3_0R0{0$0k8r6b6m8!3/7o045X640g0D8r81968T040q1c0m0j0D649e0{8g2+8v5K610%0w7M9p6$6(6E770u6`9d9g800{0Y0L3B7W7Z8 040S928h6)0{9w9y9T698j0J0J9B5K8o048c397Z6#9L4u8(8)9U6v3G0Q130i9z7f9H330{9j9E9m9o9~0?8t9:7Y6A9P0D0+9G2-8e0{9/4%9;9t6K61a19l9n8R9Y5K9!9%ama09ka3ar9s8i0{0nav6!0{9}af699)5x39al3c8j0MaF3EaLaS3(8j6rasaw992n9|8r6*6,aZaP6qaV9h1^9Fa.1~8jaEa+aT894J9+2C9-9J7Taj9;7Z619a0z9ca%a53daxa2aq9z9r2~aO76049WaebhaC8ka=1T9)5r9,ag9Aa_7_04a:67baa7b28(b4a00D0k6SbCaHa(9Da;bL04b13 akbGa#9bbmbu699faJ9ubcapa4b$7d9qbq6Vbk0(9XaB6A8j8lb?aKa{bta~bvbgaNbVbAbYb~b!9J9Mb39?0z1IbKb+aG04aI8db{0{aM2CbiaWa-bxa/9EbBce8#c7a8bF9?b6b8bQchbZb%9iaybebQc0cmbVblb.7l84cObsbfcO61c39zbS47bU9?1PbJb9cubycWbQcY3lc!9CbWb7c45-5Kb#cicFaoazcTcq2=9Vb;c?cn3_b^cRb|c~b`cFc+c)7Rcw4%8|9O90bI936Cdd2=985?0w2y8Fc(c`a!c|cIdn1T8fcUd19xc?a bwdaa!dcdvcfcK6c9?8Zdza6b-c 9 9Q0u8PcbdydLcvbRaibTa9c:2k0(7bdIa,049$dU87a{0c0!a}dO9ZaDdC04dQd)9=699P0k3Gd 0ecO8X6ge1c16)0g0{7*9EdFbvcDc5cFedenb,d%c8cyc:cAekc6cgbNcGbdb*d#7rdTd/bjcNcJd dKcEerc-0|c/6e6g9SeHby2YdY0Sd!eNcfd(cZakd*c{bIcdeEdeezba61d,7a7Gepc@eOet7Xdibkad9ze%c.e)e3cFcb1Ydue#bje?d.e.9IbR6-8}d06v7*dsctfedAbMba9)0K8bd9bn6Afsfveecj04d`fzcLfxd^fEd|6e0h0{0o0z9mcX7u8*6;7$8,0t0k9j5X2r2t0N0d0h0V3L0n5+0D2D2(f-5R1x5T2G2I2E1(1*2G0w1Of:0n5S0}g09w0*0b04.

Votre fractale

Votre tracé sera ici

Les différents paramètres

Triangle

Carré

Pentagone

Triangle

Carré

Pentagone


  1. Ernesto Cesàro (1859 - 1906) était un mathématicien italien.