Les rosaces
Des boucles dans des boucles
Il est possible de mettre des boucles dans des boucles. On dit que ce sont des boucles imbriquées.
C'est le cas dans la fonction rosace
suivante :
Votre tracé sera ici
Cette fonction dessine nb_poly
polygones réguliers de nb_cotes
côtés, mesurant chacun longueur
pixels par côté.
Voici quelques exemples :
12 carrés |
6 hexagones |
24 hexagones |
rosace(4, 100, 12) |
rosace(6, 100, 6) |
rosace(6, 100, 24) |
|
|
|
La tortue fait un tour sur elle-même à chaque polygone et un tour au total lorsqu’elle trace tous les polygones. Un tour complet correspond à 360°.
Pour accélérer le tracé de la figure
Afin de permettre Ă la tortue d'aller plus vite, vous pouvez rajouter speed(10)
au début de votre script ou avant l'appel à la fonction qui trace l'image.
La valeur du paramètre de speed
peut aller de 1 à 10 pour aller de plus en plus vite. Si on met 11 ou 0, le tracé se fait quasi instantanément.
Exercice 13 (répondre sur la feuille)
Modifiez le code de la fonction rosace2
qui permet de faire les figures ci-dessous.
6 carrés |
5 pentagones |
6 hexagones |
rosace2(4, 50, 6) |
rosace2(5, 50, 5) |
rosace2(6, 50, 6) |
|
|
|
Pour l'instant le code de rosace2
est identique Ă celui de rosace
.
Indication
Il suffit de rajouter une ligne contenant forward(longueur)
.
.128013)wP=c0hS2s,r/n6ko_ev1pf(djut-bai54y3g l7m:050z0t0C0F0G0N0k0M0f0N0F0k0k0e010C0G0w010406050k0B0P0P0F0m0J040i0r0N0B0+0r0o050n0=0@0_0{0:0w04051b141e0n1b0:0z0G0u0Z0#0%0)0#0o0L0B0F0L0t0D0w0J0C0h120M0h0G0L0h0N1G0h0C0.050U0E0N0t1n0$0(011F1H1J1H0C1P1R1N0C0m1c1B0Z0~0k0w0F0o0)0j011T1p010x0W0t0o0F0P0t1N1/1;1_1V1|1R1 210.0a0M0d0m0r0w0r0k0G110o0M0S1-0m0m0t0f2m14240o1c0n1B2z1)1+1*1O0z261q0G0o1~2j1N1k1m0!1U2J2L0o0r2P1N0w2s1c2x2z2$0;1:2n2R1`2V0m0^0N1N0F1E2s0x0)030s0s0f2W0t1J2U0r0D0g0D0v0.0v140F2%2*0/2)252,1V2.2:2=2@0t2_012{2}2 312M340D1@040j3a3c1;3e2x2I013j0F2;1c2?0h2^2`2|2~0S3t2V3v0K0.0K3A2w3d0:3E3h0)3H3J053L3N3p3P3s2K3u350I0.0I3Y153!3f2+1o3i0r2/3I3l3M3n3O3r3R3;3T350H0.0H3`2$3#2*3F3)443-3q3Q304a33350p0.0p4g3|3$3 3(413k3K3m3o4o3:323v0O0.0O4x3C1f2!142P2C0z1+2H3%014p2O1l1c2Z0t2#3d3Z4P4p4*250G0z0)2|2x3v374E4;4?484q4J35370M2a0t4}4p3S4s361N0n3b3}3F0q0.0S0x4,2y0M5e4Y0o0x0.2g0k0F0f0t3z3{4P4z2S010-040y5k4/3~5B0o0.0o0E3r0C0t0k5G5n4A5C0.0l5G5m5A2-0.0N121t0t0B0m5S5!1V5D5X5y5l5T5J5L5N2i0N0J5-4j4Y5D0b0Q5G0:5=5H0M4|014@2*3v3x3+684=6a4~586d1^54564I3=3w5b3b0M6u5Z5 5U5g040x415Y5@5#040G6D5.0)0r0c0.2K6I6x5J0E5r1;1w5~3g5U5D5F666E3i5_0s5{5}6#6J5V0462646W2n696b1;3U3l6@6j4r6`5320556i576~353V2z6t6v7a6$0)6z6B5,666w6X5^040A6P7j1`6L6N137h7c3G6S040m6U0t6=3F6Z7B5o6(2~5P5R6,6Q1`616366652(3E6|4^3?6{6h3/49500D3@70216o7Z6q3@78047a7/6v7u5K6A410c0_0z7E6Y0.6!7R7L6%045%1s0B5*7g807o5/0.0b6;7K4:7X0s7U0D4d4{8h747!4d7%727Y4 6q8l3A7:7:7=5$3n0C7|5B7D8f5I1`0P0G3W0p0g8E7p0.0n8P825M5O5Q8T0)618e896?8h8j4u8m7)8u4b0D4u8r8,6k4t6s7.8y8A7@0m7_0m7{8H7C7~8Y3G5$5(865+948!7P7B7T6c354L8+736p8.4L8;9j7*9l8^8y7i8I820m1K8D9160939z5U8K8M8O9C5B0r8R947?8V6*9a8c8#4+0n4.4Q4)4S4$140C4V9Z2F2A0F1Q9W0n4T650S0U0W0k04.
Votre tracé sera ici
# Tests
(insensible Ă la casse)(Ctrl+I)