From ee02f893da53f344efb0719835ca1ca78641ab73 Mon Sep 17 00:00:00 2001
From: "mathieu.schiess@edu.ge.ch" <mathieu.schiess@posteo.ch>
Date: Sun, 16 Mar 2025 22:16:23 +0100
Subject: [PATCH] =?UTF-8?q?Ajout=20d'une=20image=20de=20triangles=20imbriq?=
 =?UTF-8?q?u=C3=A9es?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Notebooks/imgs_eval/img_exo_triangles.eps | 364 ++++++++++++++++++++++
 Notebooks/imgs_eval/img_exo_triangles.png | Bin 0 -> 5757 bytes
 Notebooks/imgs_eval/img_exo_triangles.py  |  44 +++
 3 files changed, 408 insertions(+)
 create mode 100644 Notebooks/imgs_eval/img_exo_triangles.eps
 create mode 100644 Notebooks/imgs_eval/img_exo_triangles.png
 create mode 100644 Notebooks/imgs_eval/img_exo_triangles.py

diff --git a/Notebooks/imgs_eval/img_exo_triangles.eps b/Notebooks/imgs_eval/img_exo_triangles.eps
new file mode 100644
index 0000000..52d90e7
--- /dev/null
+++ b/Notebooks/imgs_eval/img_exo_triangles.eps
@@ -0,0 +1,364 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: Tk Canvas Widget
+%%For: mathieu
+%%Title: Window .!canvas
+%%CreationDate: Sun Mar 16 22:14:13 2025
+%%BoundingBox: 117 206 495 586
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%Orientation: Portrait
+%%EndComments
+
+%%BeginProlog
+% This is a standard prolog for Postscript generated by Tk's canvas
+% widget.
+/CurrentEncoding [
+/space/space/space/space/space/space/space/space
+/space/space/space/space/space/space/space/space
+/space/space/space/space/space/space/space/space
+/space/space/space/space/space/space/space/space
+/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
+/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
+/zero/one/two/three/four/five/six/seven
+/eight/nine/colon/semicolon/less/equal/greater/question
+/at/A/B/C/D/E/F/G
+/H/I/J/K/L/M/N/O
+/P/Q/R/S/T/U/V/W
+/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
+/grave/a/b/c/d/e/f/g
+/h/i/j/k/l/m/n/o
+/p/q/r/s/t/u/v/w
+/x/y/z/braceleft/bar/braceright/asciitilde/space
+/space/space/space/space/space/space/space/space
+/space/space/space/space/space/space/space/space
+/space/space/space/space/space/space/space/space
+/space/space/space/space/space/space/space/space
+/space/exclamdown/cent/sterling/currency/yen/brokenbar/section
+/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
+/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
+/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
+/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
+/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
+/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
+/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
+/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
+/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
+/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis
+] def
+50 dict begin
+/baseline 0 def
+/stipimage 0 def
+/height 0 def
+/justify 0 def
+/lineLength 0 def
+/spacing 0 def
+/stipple 0 def
+/strings 0 def
+/xoffset 0 def
+/yoffset 0 def
+/tmpstip null def
+/baselineSampler ( TXygqPZ) def
+baselineSampler 0 196 put
+/cstringshow {{ dup type /stringtype eq { show } { glyphshow } ifelse } forall } bind def
+/cstringwidth {0 exch 0 exch { dup type /stringtype eq { stringwidth } { currentfont /Encoding get exch 1 exch put (\001) stringwidth } ifelse exch 3 1 roll add 3 1 roll add exch } forall } bind def
+/ISOEncode {dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding CurrentEncoding def currentdict end /Temporary exch definefont } bind def
+/StrokeClip {{strokepath} stopped { (This Postscript printer gets limitcheck overflows when) = (stippling dashed lines;  lines will be printed solid instead.) = [] 0 setdash strokepath} if clip } bind def
+/EvenPixels {dup 0 matrix currentmatrix dtransform dup mul exch dup mul add sqrt dup round dup 1 lt {pop 1} if exch div mul } bind def
+/StippleFill {/tmpstip 1 index def 1 EvenPixels dup scale pathbbox 4 2 roll 5 index div dup 0 lt {1 sub} if cvi 5 index mul 4 1 roll 6 index div dup 0 lt {1 sub} if cvi 6 index mul 3 2 roll 6 index exch { 2 index 5 index 3 index { gsave 1 index exch translate 5 index 5 index true matrix tmpstip imagemask grestore } for pop } for pop pop pop pop pop } bind def
+/AdjustColor {CL 2 lt { currentgray CL 0 eq { .5 lt {0} {1} ifelse } if setgray } if } bind def
+/DrawText {/stipple exch def /justify exch def /yoffset exch def /xoffset exch def /spacing exch def /strings exch def /lineLength 0 def strings { cstringwidth pop dup lineLength gt {/lineLength exch def} {pop} ifelse newpath } forall 0 0 moveto baselineSampler false charpath pathbbox dup /baseline exch def exch pop exch sub /height exch def pop newpath translate rotate lineLength xoffset mul strings length 1 sub spacing mul height add yoffset mul translate justify lineLength mul baseline neg translate strings { dup cstringwidth pop justify neg mul 0 moveto stipple { gsave /char (X) def { dup type /stringtype eq { { char 0 3 -1 roll put currentpoint gsave char true charpath clip StippleText grestore char stringwidth translate moveto } forall } { currentfont /Encoding get exch 1 exch put currentpoint gsave (\001) true charpath clip StippleText grestore (\001) stringwidth translate moveto } ifelse } forall grestore } {cstringshow} ifelse 0 spacing neg translate } forall } bind def
+/TkPhotoColor {gsave 32 dict begin /tinteger exch def /transparent 1 string def transparent 0 tinteger put /olddict exch def olddict /DataSource get dup type /filetype ne { olddict /DataSource 3 -1 roll 0 () /SubFileDecode filter put } { pop } ifelse /newdict olddict maxlength dict def olddict newdict copy pop /w newdict /Width get def /crpp newdict /Decode get length 2 idiv def /str w string def /pix w crpp mul string def /substrlen 2 w log 2 log div floor exp cvi def /substrs [ { substrlen string 0 1 substrlen 1 sub { 1 index exch tinteger put } for /substrlen substrlen 2 idiv def substrlen 0 eq {exit} if } loop ] def /h newdict /Height get def 1 w div 1 h div matrix scale olddict /ImageMatrix get exch matrix concatmatrix matrix invertmatrix concat newdict /Height 1 put newdict /DataSource pix put /mat [w 0 0 h 0 0] def newdict /ImageMatrix mat put 0 1 h 1 sub { mat 5 3 -1 roll neg put olddict /DataSource get str readstring pop pop /tail str def /x 0 def olddict /DataSource get pix readstring pop pop { tail transparent search dup /done exch not def {exch pop exch pop} if /w1 exch length def w1 0 ne { newdict /DataSource pix x crpp mul w1 crpp mul getinterval put newdict /Width w1 put mat 4 x neg put /x x w1 add def newdict image /tail tail w1 tail length w1 sub getinterval def } if done {exit} if tail substrs { anchorsearch {pop} if } forall /tail exch def tail length 0 eq {exit} if /x w tail length sub def } loop } for end grestore } bind def
+/TkPhotoMono {gsave 32 dict begin /dummyInteger exch def /olddict exch def olddict /DataSource get dup type /filetype ne { olddict /DataSource 3 -1 roll 0 () /SubFileDecode filter put } { pop } ifelse /newdict olddict maxlength dict def olddict newdict copy pop /w newdict /Width get def /pix w 7 add 8 idiv string def /h newdict /Height get def 1 w div 1 h div matrix scale olddict /ImageMatrix get exch matrix concatmatrix matrix invertmatrix concat newdict /Height 1 put newdict /DataSource pix put /mat [w 0 0 h 0 0] def newdict /ImageMatrix mat put 0 1 h 1 sub { mat 5 3 -1 roll neg put 0.000 0.000 0.000 setrgbcolor olddict /DataSource get pix readstring pop pop newdict /DataSource pix put newdict imagemask 1.000 1.000 1.000 setrgbcolor olddict /DataSource get pix readstring pop pop newdict /DataSource pix put newdict imagemask } for end grestore } bind def
+%%EndProlog
+%%BeginSetup
+/CL 2 def
+%%EndSetup
+
+%%Page: 1 1
+save
+306.0 396.0 translate
+0.75 0.75 scale
+2 -253 translate
+-253 506 moveto 249 506 lineto 249 0 lineto -253 0 lineto closepath clip newpath
+gsave
+grestore
+gsave
+grestore
+gsave
+-250 -249 moveto
+-250 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-200 -249 moveto
+-200 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-150 -249 moveto
+-150 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-100 -249 moveto
+-100 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-50 -249 moveto
+-50 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+0 -249 moveto
+0 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+50 -249 moveto
+50 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+100 -249 moveto
+100 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+150 -249 moveto
+150 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+200 -249 moveto
+200 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+250 -249 moveto
+250 751 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 1 moveto
+500 1 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 51 moveto
+500 51 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 101 moveto
+500 101 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 151 moveto
+500 151 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 201 moveto
+500 201 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 251 moveto
+500 251 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 301 moveto
+500 301 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 351 moveto
+500 351 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 401 moveto
+500 401 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 451 moveto
+500 451 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-500 501 moveto
+500 501 lineto
+1 setlinecap
+1 setlinejoin
+1 setlinewidth
+[] 0 setdash
+0.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-200 51 moveto
+-150 51 lineto
+-175 94.301270189222 lineto
+-200 51 lineto
+-100 51 lineto
+-150 137.602540378444 lineto
+-200 51.0000000000001 lineto
+-50.0000000000001 50.9999999999999 lineto
+-125 180.903810567666 lineto
+-200 51.0000000000001 lineto
+-1.70530256582424e-13 50.9999999999997 lineto
+-99.9999999999997 224.205080756888 lineto
+-200 51.0000000000002 lineto
+49.9999999999998 50.9999999999995 lineto
+-74.9999999999995 267.506350946109 lineto
+-200 51.0000000000003 lineto
+99.9999999999997 50.9999999999993 lineto
+-49.9999999999993 310.807621135331 lineto
+-200 51.0000000000004 lineto
+150 50.9999999999991 lineto
+-24.999999999999 354.108891324553 lineto
+-200 51.0000000000005 lineto
+199.999999999999 50.9999999999987 lineto
+1.27897692436818e-12 397.410161513775 lineto
+-200 51.0000000000007 lineto
+1 setlinecap
+1 setlinejoin
+5 setlinewidth
+[] 0 setdash
+1.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+gsave
+-200 51.0000000000007 moveto
+-209 56.0000000000008 lineto
+-207 51.0000000000008 lineto
+-209 46.0000000000008 lineto
+-200 51.0000000000007 lineto
+1.000 0.000 0.000 setrgbcolor AdjustColor
+eofill
+-200 51.0000000000007 moveto
+-209 56.0000000000008 lineto
+-207 51.0000000000008 lineto
+-209 46.0000000000008 lineto
+-200 51.0000000000007 lineto
+1 setlinejoin 1 setlinecap
+1 setlinewidth
+[] 0 setdash
+1.000 0.000 0.000 setrgbcolor AdjustColor
+stroke
+grestore
+restore showpage
+
+%%Trailer
+end
+%%EOF
diff --git a/Notebooks/imgs_eval/img_exo_triangles.png b/Notebooks/imgs_eval/img_exo_triangles.png
new file mode 100644
index 0000000000000000000000000000000000000000..847969c1776ca03230e0bd95243e2b2049d4c140
GIT binary patch
literal 5757
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
Hl+XkK+pGhY

literal 0
HcmV?d00001

diff --git a/Notebooks/imgs_eval/img_exo_triangles.py b/Notebooks/imgs_eval/img_exo_triangles.py
new file mode 100644
index 0000000..306ef57
--- /dev/null
+++ b/Notebooks/imgs_eval/img_exo_triangles.py
@@ -0,0 +1,44 @@
+from turtle import *
+
+speed(0)
+WIDTH, HEIGHT = 500, 500
+
+screen = Screen()
+screen.setup(WIDTH + 4, HEIGHT + 8)  # fudge factors due to window borders & title bar
+
+
+penup()
+for k in range(21):
+    goto(-500+k*50,-500)
+    pendown()
+    goto(-500+k*50,500)
+    penup()
+for k in range(20):
+    goto(-500,-500+k*50)
+    pendown()
+    goto(500,-500+k*50)
+    penup()
+
+# pour positionner le curseur en bas à gauche
+penup()
+goto(-200, -200)
+pendown()
+
+# mettre le bon style de trait
+width(5)
+color("red")
+
+def triangle(longueur):
+    for _ in range(3):
+        forward(longueur)
+        left(120)
+# à compléter avec maximum 5 lignes
+x = 50
+for _ in range(8):
+    triangle(x)
+    x = 50 + x
+
+ts = getscreen()
+ts.getcanvas().postscript(file="img_exo_triangles.eps")
+
+done()
\ No newline at end of file
-- 
GitLab