This commit is contained in:
2025-10-06 18:36:58 -07:00
parent f88160b5f5
commit dde65a8a63
11 changed files with 131680 additions and 0 deletions

81
src/Warm-Ups/Snakes/0.svg Normal file
View File

@ -0,0 +1,81 @@
<svg class="typst-doc" viewBox="0 0 8.236633858267716 14.150551181102362" width="8.236633858267716pt" height="14.150551181102362pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:h5="http://www.w3.org/1999/xhtml">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 2.2237677165354333)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000007867722 9.669 L 0 0 Z "/>
</g>
<g transform="translate(-0.00000003149606268881308 2.2237676220472435)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(4.282303149606299 8.46992125984252)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6806297 L 0 5.6806297 L 0 0 Z "/>
</g>
<g transform="translate(4.282303007874017 8.46992125984252)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gDCE911778D5C1849302153FEF2645F85" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(4.282303149606299 0)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6125984 L 0 5.6125984 L 0 0 Z "/>
</g>
<g transform="translate(4.282303007874017 0)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#g642BCE8B7105B32AF084522D60B4E652" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<defs id="glyph">
<symbol id="gB0C69879DCB2DFE01E1A8092C6399B95" overflow="visible">
<path d="M 1.54 0.253 C 1.54 -0.594 1.375 -1.892 1.067 -1.892 C 0.88 -1.892 0.726 -1.551 0.429 -1.551 C 0.22 -1.551 0 -1.738 0 -1.958 C 0 -2.233 0.242 -2.431 0.594 -2.431 C 1.6719999 -2.431 2.376 -1.43 2.376 1.925 L 2.376 3.234 C 2.376 3.927 2.332 4.719 2.332 5.269 C 2.332 6.732 2.552 7.139 2.783 7.139 C 3.047 7.139 3.069 6.776 3.421 6.776 C 3.685 6.776 3.905 6.963 3.905 7.205 C 3.905 7.48 3.641 7.678 3.322 7.678 C 2.156 7.678 1.518 6.446 1.518 3.74 L 1.518 2.299 C 1.518 1.419 1.54 1.133 1.54 0.253 Z "/>
</symbol>
<symbol id="gDCE911778D5C1849302153FEF2645F85" overflow="visible">
<path d="M 1.9388977 -0.08503937 C 2.593701 -0.08503937 3.5886614 0.57826775 3.5886614 2.576693 C 3.5886614 3.4185827 3.384567 4.1414175 3.0103939 4.634646 C 2.7892914 4.9322834 2.432126 5.187402 1.9729134 5.187402 C 1.1310236 5.187402 0.33165354 4.183937 0.33165354 2.5001576 C 0.33165354 1.5902363 0.61228347 0.73984253 1.08 0.272126 C 1.3181102 0.03401575 1.6072441 -0.08503937 1.9388977 -0.08503937 Z M 1.9729134 4.889764 C 2.1174803 4.889764 2.2535434 4.8387403 2.3555906 4.745197 C 2.6192126 4.5240946 2.848819 3.8777955 2.848819 2.7382677 C 2.848819 1.9559056 2.823307 1.4201576 2.704252 0.9864567 C 2.5171654 0.28913388 2.1004725 0.21259843 1.9474016 0.21259843 C 1.1565355 0.21259843 1.0714961 1.6667717 1.0714961 2.4066143 C 1.0714961 4.498583 1.5902363 4.889764 1.9729134 4.889764 Z "/>
</symbol>
<symbol id="g642BCE8B7105B32AF084522D60B4E652" overflow="visible">
<path d="M 2.4491339 1.0374804 L 2.4491339 3.9883466 C 2.4491339 4.498583 2.4576378 5.017323 2.4746456 5.127874 C 2.4746456 5.170394 2.4576378 5.170394 2.4236221 5.170394 C 1.9559056 4.88126 1.5051969 4.6686616 0.7568504 4.32 C 0.7738583 4.2264566 0.807874 4.1414175 0.8844095 4.0903935 C 1.2755905 4.2519684 1.4626772 4.3029923 1.624252 4.3029923 C 1.768819 4.3029923 1.7943307 4.098898 1.7943307 3.809764 L 1.7943307 1.0374804 C 1.7943307 0.33165354 1.5647244 0.28913388 0.96944886 0.26362205 C 0.9184252 0.21259843 0.9184252 0.03401575 0.96944886 -0.017007874 C 1.3861418 -0.008503937 1.6922835 0 2.1514962 0 C 2.559685 0 2.7637796 -0.008503937 3.1889765 -0.017007874 C 3.24 0.03401575 3.24 0.21259843 3.1889765 0.26362205 C 2.593701 0.28913388 2.4491339 0.33165354 2.4491339 1.0374804 Z "/>
</symbol>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

161
src/Warm-Ups/Snakes/1.svg Normal file
View File

@ -0,0 +1,161 @@
<svg class="typst-doc" viewBox="0 0 16.740570866141734 31.1584251968504" width="16.740570866141734pt" height="31.1584251968504pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:h5="http://www.w3.org/1999/xhtml">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 10.72770472440945)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000007867722 9.669 L 0 0 Z "/>
</g>
<g transform="translate(-0.00000003149606268881308 10.72770462992126)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(8.503937007874017 19.231641732283467)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0 9.669 L 0 0 Z "/>
</g>
<g transform="translate(8.50393697637795 19.231641637795278)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(12.786240157480314 25.477795275590555)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6806297 L 0 5.6806297 L 0 0 Z "/>
</g>
<g transform="translate(12.786240015748032 25.47779527559056)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gDCE911778D5C1849302153FEF2645F85" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(12.786240157480314 17.007874015748037)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6125984 L 0 5.6125984 L 0 0 Z "/>
</g>
<g transform="translate(12.786240015748032 17.007874015748033)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#g642BCE8B7105B32AF084522D60B4E652" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(8.503937007874017 2.2237677165354355)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0 9.669 L 0 0 Z "/>
</g>
<g transform="translate(8.50393697637795 2.2237676220472453)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(12.786240157480314 8.469921259842522)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6806297 L 0 5.6806297 L 0 0 Z "/>
</g>
<g transform="translate(12.786240015748032 8.46992125984252)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gDCE911778D5C1849302153FEF2645F85" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(12.786240157480314 0)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6125984 L 0 5.6125984 L 0 0 Z "/>
</g>
<g transform="translate(12.786240015748032 0.0000000000000004475859752819529)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#g642BCE8B7105B32AF084522D60B4E652" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<defs id="glyph">
<symbol id="gB0C69879DCB2DFE01E1A8092C6399B95" overflow="visible">
<path d="M 1.54 0.253 C 1.54 -0.594 1.375 -1.892 1.067 -1.892 C 0.88 -1.892 0.726 -1.551 0.429 -1.551 C 0.22 -1.551 0 -1.738 0 -1.958 C 0 -2.233 0.242 -2.431 0.594 -2.431 C 1.6719999 -2.431 2.376 -1.43 2.376 1.925 L 2.376 3.234 C 2.376 3.927 2.332 4.719 2.332 5.269 C 2.332 6.732 2.552 7.139 2.783 7.139 C 3.047 7.139 3.069 6.776 3.421 6.776 C 3.685 6.776 3.905 6.963 3.905 7.205 C 3.905 7.48 3.641 7.678 3.322 7.678 C 2.156 7.678 1.518 6.446 1.518 3.74 L 1.518 2.299 C 1.518 1.419 1.54 1.133 1.54 0.253 Z "/>
</symbol>
<symbol id="gDCE911778D5C1849302153FEF2645F85" overflow="visible">
<path d="M 1.9388977 -0.08503937 C 2.593701 -0.08503937 3.5886614 0.57826775 3.5886614 2.576693 C 3.5886614 3.4185827 3.384567 4.1414175 3.0103939 4.634646 C 2.7892914 4.9322834 2.432126 5.187402 1.9729134 5.187402 C 1.1310236 5.187402 0.33165354 4.183937 0.33165354 2.5001576 C 0.33165354 1.5902363 0.61228347 0.73984253 1.08 0.272126 C 1.3181102 0.03401575 1.6072441 -0.08503937 1.9388977 -0.08503937 Z M 1.9729134 4.889764 C 2.1174803 4.889764 2.2535434 4.8387403 2.3555906 4.745197 C 2.6192126 4.5240946 2.848819 3.8777955 2.848819 2.7382677 C 2.848819 1.9559056 2.823307 1.4201576 2.704252 0.9864567 C 2.5171654 0.28913388 2.1004725 0.21259843 1.9474016 0.21259843 C 1.1565355 0.21259843 1.0714961 1.6667717 1.0714961 2.4066143 C 1.0714961 4.498583 1.5902363 4.889764 1.9729134 4.889764 Z "/>
</symbol>
<symbol id="g642BCE8B7105B32AF084522D60B4E652" overflow="visible">
<path d="M 2.4491339 1.0374804 L 2.4491339 3.9883466 C 2.4491339 4.498583 2.4576378 5.017323 2.4746456 5.127874 C 2.4746456 5.170394 2.4576378 5.170394 2.4236221 5.170394 C 1.9559056 4.88126 1.5051969 4.6686616 0.7568504 4.32 C 0.7738583 4.2264566 0.807874 4.1414175 0.8844095 4.0903935 C 1.2755905 4.2519684 1.4626772 4.3029923 1.624252 4.3029923 C 1.768819 4.3029923 1.7943307 4.098898 1.7943307 3.809764 L 1.7943307 1.0374804 C 1.7943307 0.33165354 1.5647244 0.28913388 0.96944886 0.26362205 C 0.9184252 0.21259843 0.9184252 0.03401575 0.96944886 -0.017007874 C 1.3861418 -0.008503937 1.6922835 0 2.1514962 0 C 2.559685 0 2.7637796 -0.008503937 3.1889765 -0.017007874 C 3.24 0.03401575 3.24 0.21259843 3.1889765 0.26362205 C 2.593701 0.28913388 2.4491339 0.33165354 2.4491339 1.0374804 Z "/>
</symbol>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

401
src/Warm-Ups/Snakes/2.svg Normal file
View File

@ -0,0 +1,401 @@
<svg class="typst-doc" viewBox="0 0 33.74844488188977 65.17417322834645" width="33.74844488188977pt" height="65.17417322834645pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:h5="http://www.w3.org/1999/xhtml">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 27.73557874015748)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000007867722 9.669 L 0 0 Z "/>
</g>
<g transform="translate(-0.00000003149606268881308 27.735578645669285)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(8.503937007874017 36.239515748031494)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0 9.669 L 0 0 Z "/>
</g>
<g transform="translate(8.50393697637795 36.23951565354331)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(17.007874015748033 44.743452755905516)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000031470889 9.669 L 0 0 Z "/>
</g>
<g transform="translate(17.007873984251972 44.74345266141732)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(25.511811023622048 53.24738976377953)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000031470889 9.669 L 0 0 Z "/>
</g>
<g transform="translate(25.511810992125987 53.24738966929133)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(29.79411417322835 59.493543307086625)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6806297 L 0 5.6806297 L 0 0 Z "/>
</g>
<g transform="translate(29.794114031496065 59.49354330708661)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gDCE911778D5C1849302153FEF2645F85" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(29.79411417322835 51.023622047244096)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6125984 L 0 5.6125984 L 0 0 Z "/>
</g>
<g transform="translate(29.794114031496065 51.023622047244096)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#g642BCE8B7105B32AF084522D60B4E652" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(25.511811023622048 36.239515748031494)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000031470889 9.669 L 0 0 Z "/>
</g>
<g transform="translate(25.511810992125987 36.23951565354331)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(29.79411417322835 42.48566929133859)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6806297 L 0 5.6806297 L 0 0 Z "/>
</g>
<g transform="translate(29.794114031496065 42.485669291338574)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gDCE911778D5C1849302153FEF2645F85" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(29.79411417322835 34.01574803149607)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6125984 L 0 5.6125984 L 0 0 Z "/>
</g>
<g transform="translate(29.794114031496065 34.01574803149607)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#g642BCE8B7105B32AF084522D60B4E652" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(12.786240157480314 34.01574803149607)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6125984 L 0 5.6125984 L 0 0 Z "/>
</g>
<g transform="translate(12.786240015748032 34.01574803149607)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#g642BCE8B7105B32AF084522D60B4E652" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(8.503937007874017 19.231641732283467)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0 9.669 L 0 0 Z "/>
</g>
<g transform="translate(8.50393697637795 19.231641637795278)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(12.786240157480314 25.477795275590555)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6806297 L 0 5.6806297 L 0 0 Z "/>
</g>
<g transform="translate(12.786240015748032 25.477795275590555)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gDCE911778D5C1849302153FEF2645F85" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(17.007874015748033 10.727704724409453)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000031470889 9.669 L 0 0 Z "/>
</g>
<g transform="translate(17.007873984251972 10.72770462992126)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(25.511811023622048 19.231641732283467)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000031470889 9.669 L 0 0 Z "/>
</g>
<g transform="translate(25.511810992125987 19.231641637795278)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(29.79411417322835 25.477795275590555)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6806297 L 0 5.6806297 L 0 0 Z "/>
</g>
<g transform="translate(29.794114031496065 25.477795275590555)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gDCE911778D5C1849302153FEF2645F85" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(29.79411417322835 17.007874015748033)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6125984 L 0 5.6125984 L 0 0 Z "/>
</g>
<g transform="translate(29.794114031496065 17.007874015748033)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#g642BCE8B7105B32AF084522D60B4E652" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(25.511811023622048 2.2237677165354355)">
<path class="typst-shape" fill="none" d="M 0 0 L 4.015 0 L 4.015 9.669 L 0.0000000000000031470889 9.669 L 0 0 Z "/>
</g>
<g transform="translate(25.511810992125987 2.2237676220472435)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 7.238)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gB0C69879DCB2DFE01E1A8092C6399B95" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(29.79411417322835 8.469921259842522)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6806297 L 0 5.6806297 L 0 0 Z "/>
</g>
<g transform="translate(29.794114031496065 8.46992125984252)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#gDCE911778D5C1849302153FEF2645F85" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<g transform="translate(29.79411417322835 0)">
<path class="typst-shape" fill="none" d="M 0 0 L 3.9543307 0 L 3.9543307 5.6125984 L 0 5.6125984 L 0 0 Z "/>
</g>
<g transform="translate(29.794114031496065 -0.0000000000000008951719505639057)">
<g class="typst-group">
<g>
<g transform="translate(0 0)">
<g class="typst-group">
<g>
<g transform="translate(0 5.595590551181102)">
<g class="typst-text" transform="scale(1, -1)">
<use xlink:href="#g642BCE8B7105B32AF084522D60B4E652" x="0" y="0" fill="#000000" fill-rule="nonzero"/>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
<defs id="glyph">
<symbol id="gB0C69879DCB2DFE01E1A8092C6399B95" overflow="visible">
<path d="M 1.54 0.253 C 1.54 -0.594 1.375 -1.892 1.067 -1.892 C 0.88 -1.892 0.726 -1.551 0.429 -1.551 C 0.22 -1.551 0 -1.738 0 -1.958 C 0 -2.233 0.242 -2.431 0.594 -2.431 C 1.6719999 -2.431 2.376 -1.43 2.376 1.925 L 2.376 3.234 C 2.376 3.927 2.332 4.719 2.332 5.269 C 2.332 6.732 2.552 7.139 2.783 7.139 C 3.047 7.139 3.069 6.776 3.421 6.776 C 3.685 6.776 3.905 6.963 3.905 7.205 C 3.905 7.48 3.641 7.678 3.322 7.678 C 2.156 7.678 1.518 6.446 1.518 3.74 L 1.518 2.299 C 1.518 1.419 1.54 1.133 1.54 0.253 Z "/>
</symbol>
<symbol id="gDCE911778D5C1849302153FEF2645F85" overflow="visible">
<path d="M 1.9388977 -0.08503937 C 2.593701 -0.08503937 3.5886614 0.57826775 3.5886614 2.576693 C 3.5886614 3.4185827 3.384567 4.1414175 3.0103939 4.634646 C 2.7892914 4.9322834 2.432126 5.187402 1.9729134 5.187402 C 1.1310236 5.187402 0.33165354 4.183937 0.33165354 2.5001576 C 0.33165354 1.5902363 0.61228347 0.73984253 1.08 0.272126 C 1.3181102 0.03401575 1.6072441 -0.08503937 1.9388977 -0.08503937 Z M 1.9729134 4.889764 C 2.1174803 4.889764 2.2535434 4.8387403 2.3555906 4.745197 C 2.6192126 4.5240946 2.848819 3.8777955 2.848819 2.7382677 C 2.848819 1.9559056 2.823307 1.4201576 2.704252 0.9864567 C 2.5171654 0.28913388 2.1004725 0.21259843 1.9474016 0.21259843 C 1.1565355 0.21259843 1.0714961 1.6667717 1.0714961 2.4066143 C 1.0714961 4.498583 1.5902363 4.889764 1.9729134 4.889764 Z "/>
</symbol>
<symbol id="g642BCE8B7105B32AF084522D60B4E652" overflow="visible">
<path d="M 2.4491339 1.0374804 L 2.4491339 3.9883466 C 2.4491339 4.498583 2.4576378 5.017323 2.4746456 5.127874 C 2.4746456 5.170394 2.4576378 5.170394 2.4236221 5.170394 C 1.9559056 4.88126 1.5051969 4.6686616 0.7568504 4.32 C 0.7738583 4.2264566 0.807874 4.1414175 0.8844095 4.0903935 C 1.2755905 4.2519684 1.4626772 4.3029923 1.624252 4.3029923 C 1.768819 4.3029923 1.7943307 4.098898 1.7943307 3.809764 L 1.7943307 1.0374804 C 1.7943307 0.33165354 1.5647244 0.28913388 0.96944886 0.26362205 C 0.9184252 0.21259843 0.9184252 0.03401575 0.96944886 -0.017007874 C 1.3861418 -0.008503937 1.6922835 0 2.1514962 0 C 2.559685 0 2.7637796 -0.008503937 3.1889765 -0.017007874 C 3.24 0.03401575 3.24 0.21259843 3.1889765 0.26362205 C 2.593701 0.28913388 2.4491339 0.33165354 2.4491339 1.0374804 Z "/>
</symbol>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

1121
src/Warm-Ups/Snakes/3.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 68 KiB

3281
src/Warm-Ups/Snakes/4.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 196 KiB

9761
src/Warm-Ups/Snakes/5.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 579 KiB

29201
src/Warm-Ups/Snakes/6.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.7 MiB

87521
src/Warm-Ups/Snakes/7.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 5.1 MiB

View File

@ -0,0 +1,89 @@
#import "@local/handout:0.1.0": *
#import "@preview/cetz:0.4.2"
#show: handout.with(
title: [Warm-Up: Snakes!],
by: "Mark",
page_numbers: false,
)
#box(place(box(width: 100%, height: 8in, align(horizon, image(
"7.svg",
width: 360mm,
)))))
#problem()
Evaluate this integral. \
All integrals are of the form $integral_a^b 1 #h(1mm) d x$.
#if_solutions(pagebreak())
#solution[
This integral is drawn recursively with the following code: \
#v(2mm)
#let snake(depth, x, y) = {
if depth == 0 {
math.attach(math.integral, br: x, tr: y)
} else {
let bot = snake(depth - 1, x, "1")
let top = snake(depth - 1, "0", y)
snake(depth - 1, bot, top)
}
}
```typst
#let snake(depth, x, y) = {
if depth == 0 {
$integral_#x ^#y$
} else {
let bot = snake(depth - 1, x, "1")
let top = snake(depth - 1, "0", y)
snake(depth - 1, bot, top)
}
}
```
#v(5mm)
For example:
$ snake\(0, x, y) = #snake(0, "x", "y") $
#v(2mm)
$ snake\(1, x, y) = #snake(1, "x", "y") $
#v(2mm)
$ snake\(2, x, y) = #snake(2, "x", "y") $
In other words, we want $f_7 (0, 1)$, where...
- $f_0(x, y) := integral_x^y$
- $f_(n+1)(x, y) := f_n [f_n (x, 1), f_n (0, y)]$
#v(5mm)
Expanding a few iterations, we find:
- $f_0(x, y) = integral_x^y = y-x$
- $f_1(x, y) = f_0 [f_0 (x, 1), f_0 (0, y)] = y+x-1$
- $f_2(x, y) = f_1 [f_1 (x, 1), f_1 (0, y)] = y+x-2$
#v(5mm)
We can use induction to show that this pattern continues. \
If $g_n = y+x+c$, then $g_(n+1) = y+x+(3c+1)$.
#v(5mm)
Finally, use this recusion to find that
$f_0, f_1, ..., f_7 = 1, 0, -1, -4, -13, -40, -121, -364$
One can also find an explicit formula for $g_n$:
$
f_(n+1) = g_n & = x + y + 3^n c + 3^0 + 3^1 + ... + 3^n \
& = x + y + 3^n c + sum_(i=0)^n 3^i \
& = x + y + 3^n c + (3^(n+1) + 1)/2
$
]

View File

@ -0,0 +1,6 @@
[metadata]
title = "Snakes!"
[publish]
handout = true
solutions = true

View File

@ -0,0 +1,57 @@
#import "@preview/cetz:0.4.2"
// Compile with:
// typst compile --package-path "../../../lib/typst/" svg.typ --format svg
// You'll need to recompile typst with a higher recursion limit.
#set page(
fill: none,
width: auto,
height: auto,
margin: 0mm,
);
#let cetz_snake(depth, b, t) = {
import cetz.draw: *
if depth == 0 {
content((0, 0), math.inline(math.integral))
group({
translate(x: 0.15, y: -0.15)
b
})
group({
translate(x: 0.15, y: 0.15)
t
})
} else {
let bot = group({
translate(x: 0.15, y: -0.15)
cetz_snake(depth - 1, b, content((0, 0), text("1", size: 3mm)))
})
let top = group({
translate(x: 0.15, y: 0.15)
cetz_snake(depth - 1, content((0, 0), text("0", size: 3mm)), t)
})
cetz_snake(depth - 1, bot, top)
}
}
#{
import cetz.draw: *
// any bigger than 7 overflows the stack.
// any bigger than 5 exceeds typst's recursion limit.
// You'll have to increase those limits and recompile to
// build this document.
let depth = 7
let b = content((0, 0), text("0", size: 3mm))
let t = content((0, 0), text("1", size: 3mm))
cetz.canvas(cetz_snake(depth, b, t))
};