From fa7ae89f479160a57e060170df1a94793a26d56c Mon Sep 17 00:00:00 2001 From: Pomax Date: Mon, 7 Jun 2021 08:21:50 -0700 Subject: [PATCH] rebuild --- .../circles/image-20210417122514664.png | Bin 0 -> 8196 bytes .../circles/image-20210417122604560.png | Bin 0 -> 8743 bytes .../circles/image-20210417122645625.png | Bin 0 -> 7901 bytes .../circles/image-20210417125017892.png | Bin 0 -> 7366 bytes .../circles/image-20210417125142892.png | Bin 0 -> 7131 bytes .../circles/image-20210417125217128.png | Bin 0 -> 6261 bytes .../circles/image-20210417165543902.png | Bin 0 -> 16135 bytes .../circles/image-20210417170131557.png | Bin 0 -> 14358 bytes .../circles/image-20210417173811587.png | Bin 0 -> 8270 bytes .../circles/image-20210417174019035.png | Bin 0 -> 7072 bytes .../circles/image-20210417174100036.png | Bin 0 -> 7202 bytes .../circles/image-20210417174215876.png | Bin 0 -> 9145 bytes .../circles/image-20210418111929371.png | Bin 0 -> 4146 bytes .../circles/image-20210418112008676.png | Bin 0 -> 3979 bytes .../circles/image-20210418112038613.png | Bin 0 -> 3757 bytes .../circles/image-20210419085430711.png | Bin 0 -> 12739 bytes .../circles/image-20210419101805150.png | Bin 0 -> 13652 bytes .../12f78070db3292742f66cf3cd9c7ed92.png | Bin 0 -> 16785 bytes .../222d374252584ac37d967e3ea0f8f28b.svg | 1 + .../22bda43c696b48e49a2aa83f0c4a4a0e.png | Bin 0 -> 12798 bytes .../23d4cd81c759c5374773fae149207c5b.svg | 1 + .../474c72b5d1ad5c154d79312c15aee47a.svg | 1 + .../485d678b1d63ed7a4c7c8bb282467f02.svg | 1 + .../571246ffef745298873a78473257d871.png | Bin 0 -> 16785 bytes .../5ef0824098ef73efbd89accb8db408e8.png | Bin 0 -> 17047 bytes .../6e455a6733dbca47acc0a36e7e490ba6.svg | 1 + .../9e19c65e23c32c802d2d77edb9812122.svg | 1 + .../b5799015ebae3ab9b6712106b3b20ee6.svg | 1 + .../cf8fc61992d2a75416894dee46ee5ffe.svg | 1 + .../e1fbb58c3730b2f4a378e39c8dc5e61f.svg | 1 + .../046e0bec7cc3d8a502b2f76b4722be2d.svg | 1 - .../065efe85cac2f359ea4d5d4bae94da97.svg | 1 - .../0b4c1e8f1f7a9c1292787f127ddb1624.svg | 1 - .../2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.svg | 1 - .../2d9df7ddd2aa223a951016b93d9620c2.svg | 1 - .../459c037fb92685566d624f81a298e9c8.svg | 1 - .../496c0ee8945080a32bc02f78bc83ad43.svg | 1 - .../63f35fb58d3571200ac6ccea0384b9d7.png | Bin 13275 -> 0 bytes .../6a14e5a71dd9e0cefe158640eabb8696.svg | 1 - .../8b4e1d0a62380ed011f27c645ed13b28.svg | 1 - .../bc884416145a846cebddc8c5d13f147f.svg | 1 - .../c509dc6fecd7992cb45a0b4d8f1bd001.svg | 1 - .../d28eb43a1b34befb7659dcdfb3a9e718.svg | 1 - .../ecacec0eb2bbe72e14b9008d854fbb06.png | Bin 13703 -> 0 bytes .../eeff3b36af960053cb4eb692abe36cd8.svg | 1 - .../fa5d308b0b50400fbae1411f390bc7ce.svg | 1 - .../222d374252584ac37d967e3ea0f8f28b.ascii | 34 +++++++++ .../23d4cd81c759c5374773fae149207c5b.ascii | 8 +++ .../474c72b5d1ad5c154d79312c15aee47a.ascii | 17 +++++ .../485d678b1d63ed7a4c7c8bb282467f02.ascii | 6 ++ .../6e455a6733dbca47acc0a36e7e490ba6.ascii | 9 +++ .../9e19c65e23c32c802d2d77edb9812122.ascii | 6 ++ .../b5799015ebae3ab9b6712106b3b20ee6.ascii | 8 +++ .../cf8fc61992d2a75416894dee46ee5ffe.ascii | 10 +++ .../e1fbb58c3730b2f4a378e39c8dc5e61f.ascii | 5 ++ .../046e0bec7cc3d8a502b2f76b4722be2d.ascii | 8 --- .../065efe85cac2f359ea4d5d4bae94da97.ascii | 5 -- .../0b4c1e8f1f7a9c1292787f127ddb1624.ascii | 5 -- .../2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.ascii | 8 --- .../2d9df7ddd2aa223a951016b93d9620c2.ascii | 4 -- .../329dc34299d2fdb3c5f17828e3a23da0.ascii | 5 -- .../38b58b3c759b9bf340a3cf3de8bc599e.ascii | 5 -- .../459c037fb92685566d624f81a298e9c8.ascii | 18 ----- .../496c0ee8945080a32bc02f78bc83ad43.ascii | 5 -- .../6a14e5a71dd9e0cefe158640eabb8696.ascii | 6 -- .../750e2c874fb58237608ebade1589fccc.ascii | 5 -- .../8b4e1d0a62380ed011f27c645ed13b28.ascii | 5 -- .../bc884416145a846cebddc8c5d13f147f.ascii | 11 --- .../c509dc6fecd7992cb45a0b4d8f1bd001.ascii | 5 -- .../d28eb43a1b34befb7659dcdfb3a9e718.ascii | 5 -- .../eeff3b36af960053cb4eb692abe36cd8.ascii | 5 -- .../fa5d308b0b50400fbae1411f390bc7ce.ascii | 12 ---- docs/index.html | 65 +++++++++--------- docs/ja-JP/index.html | 65 +++++++++--------- docs/news/2020-09-18.html | 4 +- docs/news/2020-11-22.html | 4 +- docs/news/index.html | 2 +- docs/news/rss.xml | 6 +- docs/ru-RU/index.html | 65 +++++++++--------- docs/uk-UA/index.html | 65 +++++++++--------- docs/zh-CN/index.html | 65 +++++++++--------- 81 files changed, 275 insertions(+), 309 deletions(-) create mode 100644 docs/images/chapter-assets/circles/image-20210417122514664.png create mode 100644 docs/images/chapter-assets/circles/image-20210417122604560.png create mode 100644 docs/images/chapter-assets/circles/image-20210417122645625.png create mode 100644 docs/images/chapter-assets/circles/image-20210417125017892.png create mode 100644 docs/images/chapter-assets/circles/image-20210417125142892.png create mode 100644 docs/images/chapter-assets/circles/image-20210417125217128.png create mode 100644 docs/images/chapter-assets/circles/image-20210417165543902.png create mode 100644 docs/images/chapter-assets/circles/image-20210417170131557.png create mode 100644 docs/images/chapter-assets/circles/image-20210417173811587.png create mode 100644 docs/images/chapter-assets/circles/image-20210417174019035.png create mode 100644 docs/images/chapter-assets/circles/image-20210417174100036.png create mode 100644 docs/images/chapter-assets/circles/image-20210417174215876.png create mode 100644 docs/images/chapter-assets/circles/image-20210418111929371.png create mode 100644 docs/images/chapter-assets/circles/image-20210418112008676.png create mode 100644 docs/images/chapter-assets/circles/image-20210418112038613.png create mode 100644 docs/images/chapter-assets/circles/image-20210419085430711.png create mode 100644 docs/images/chapter-assets/circles/image-20210419101805150.png create mode 100644 docs/images/chapters/circles/12f78070db3292742f66cf3cd9c7ed92.png create mode 100644 docs/images/chapters/circles/222d374252584ac37d967e3ea0f8f28b.svg create mode 100644 docs/images/chapters/circles/22bda43c696b48e49a2aa83f0c4a4a0e.png create mode 100644 docs/images/chapters/circles/23d4cd81c759c5374773fae149207c5b.svg create mode 100644 docs/images/chapters/circles/474c72b5d1ad5c154d79312c15aee47a.svg create mode 100644 docs/images/chapters/circles/485d678b1d63ed7a4c7c8bb282467f02.svg create mode 100644 docs/images/chapters/circles/571246ffef745298873a78473257d871.png create mode 100644 docs/images/chapters/circles/5ef0824098ef73efbd89accb8db408e8.png create mode 100644 docs/images/chapters/circles/6e455a6733dbca47acc0a36e7e490ba6.svg create mode 100644 docs/images/chapters/circles/9e19c65e23c32c802d2d77edb9812122.svg create mode 100644 docs/images/chapters/circles/b5799015ebae3ab9b6712106b3b20ee6.svg create mode 100644 docs/images/chapters/circles/cf8fc61992d2a75416894dee46ee5ffe.svg create mode 100644 docs/images/chapters/circles/e1fbb58c3730b2f4a378e39c8dc5e61f.svg delete mode 100644 docs/images/chapters/circles_cubic/046e0bec7cc3d8a502b2f76b4722be2d.svg delete mode 100644 docs/images/chapters/circles_cubic/065efe85cac2f359ea4d5d4bae94da97.svg delete mode 100644 docs/images/chapters/circles_cubic/0b4c1e8f1f7a9c1292787f127ddb1624.svg delete mode 100644 docs/images/chapters/circles_cubic/2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.svg delete mode 100644 docs/images/chapters/circles_cubic/2d9df7ddd2aa223a951016b93d9620c2.svg delete mode 100644 docs/images/chapters/circles_cubic/459c037fb92685566d624f81a298e9c8.svg delete mode 100644 docs/images/chapters/circles_cubic/496c0ee8945080a32bc02f78bc83ad43.svg delete mode 100644 docs/images/chapters/circles_cubic/63f35fb58d3571200ac6ccea0384b9d7.png delete mode 100644 docs/images/chapters/circles_cubic/6a14e5a71dd9e0cefe158640eabb8696.svg delete mode 100644 docs/images/chapters/circles_cubic/8b4e1d0a62380ed011f27c645ed13b28.svg delete mode 100644 docs/images/chapters/circles_cubic/bc884416145a846cebddc8c5d13f147f.svg delete mode 100644 docs/images/chapters/circles_cubic/c509dc6fecd7992cb45a0b4d8f1bd001.svg delete mode 100644 docs/images/chapters/circles_cubic/d28eb43a1b34befb7659dcdfb3a9e718.svg delete mode 100644 docs/images/chapters/circles_cubic/ecacec0eb2bbe72e14b9008d854fbb06.png delete mode 100644 docs/images/chapters/circles_cubic/eeff3b36af960053cb4eb692abe36cd8.svg delete mode 100644 docs/images/chapters/circles_cubic/fa5d308b0b50400fbae1411f390bc7ce.svg create mode 100644 docs/images/snippets/circles/222d374252584ac37d967e3ea0f8f28b.ascii create mode 100644 docs/images/snippets/circles/23d4cd81c759c5374773fae149207c5b.ascii create mode 100644 docs/images/snippets/circles/474c72b5d1ad5c154d79312c15aee47a.ascii create mode 100644 docs/images/snippets/circles/485d678b1d63ed7a4c7c8bb282467f02.ascii create mode 100644 docs/images/snippets/circles/6e455a6733dbca47acc0a36e7e490ba6.ascii create mode 100644 docs/images/snippets/circles/9e19c65e23c32c802d2d77edb9812122.ascii create mode 100644 docs/images/snippets/circles/b5799015ebae3ab9b6712106b3b20ee6.ascii create mode 100644 docs/images/snippets/circles/cf8fc61992d2a75416894dee46ee5ffe.ascii create mode 100644 docs/images/snippets/circles/e1fbb58c3730b2f4a378e39c8dc5e61f.ascii delete mode 100644 docs/images/snippets/circles_cubic/046e0bec7cc3d8a502b2f76b4722be2d.ascii delete mode 100644 docs/images/snippets/circles_cubic/065efe85cac2f359ea4d5d4bae94da97.ascii delete mode 100644 docs/images/snippets/circles_cubic/0b4c1e8f1f7a9c1292787f127ddb1624.ascii delete mode 100644 docs/images/snippets/circles_cubic/2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.ascii delete mode 100644 docs/images/snippets/circles_cubic/2d9df7ddd2aa223a951016b93d9620c2.ascii delete mode 100644 docs/images/snippets/circles_cubic/329dc34299d2fdb3c5f17828e3a23da0.ascii delete mode 100644 docs/images/snippets/circles_cubic/38b58b3c759b9bf340a3cf3de8bc599e.ascii delete mode 100644 docs/images/snippets/circles_cubic/459c037fb92685566d624f81a298e9c8.ascii delete mode 100644 docs/images/snippets/circles_cubic/496c0ee8945080a32bc02f78bc83ad43.ascii delete mode 100644 docs/images/snippets/circles_cubic/6a14e5a71dd9e0cefe158640eabb8696.ascii delete mode 100644 docs/images/snippets/circles_cubic/750e2c874fb58237608ebade1589fccc.ascii delete mode 100644 docs/images/snippets/circles_cubic/8b4e1d0a62380ed011f27c645ed13b28.ascii delete mode 100644 docs/images/snippets/circles_cubic/bc884416145a846cebddc8c5d13f147f.ascii delete mode 100644 docs/images/snippets/circles_cubic/c509dc6fecd7992cb45a0b4d8f1bd001.ascii delete mode 100644 docs/images/snippets/circles_cubic/d28eb43a1b34befb7659dcdfb3a9e718.ascii delete mode 100644 docs/images/snippets/circles_cubic/eeff3b36af960053cb4eb692abe36cd8.ascii delete mode 100644 docs/images/snippets/circles_cubic/fa5d308b0b50400fbae1411f390bc7ce.ascii diff --git a/docs/images/chapter-assets/circles/image-20210417122514664.png b/docs/images/chapter-assets/circles/image-20210417122514664.png new file mode 100644 index 0000000000000000000000000000000000000000..64f6aff16ea3be0ca9c5ab13f1250cca10688b8b GIT binary patch literal 8196 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 NL`_K>S*&0l{9l$OR*wJx literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417122604560.png b/docs/images/chapter-assets/circles/image-20210417122604560.png new file mode 100644 index 0000000000000000000000000000000000000000..184a75b53b9151952efd619b437e6bfc81e034eb GIT binary patch literal 8743 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 C{4)Lk literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417125017892.png b/docs/images/chapter-assets/circles/image-20210417125017892.png new file mode 100644 index 0000000000000000000000000000000000000000..0eb025e14e14331ad000ede21eba45e0dc7dd3fb GIT binary patch literal 7366 zcmaiZbyU<}xBd(gk}@ z-O?>c-Q)ND-F5GM*Lv5FKL(gN=gj`>c=ofO6Jvn7Nl6ALgFqmZ+FD2>2n1>d{_eR< z3|<9zV`(4|);MjXs!2fl#$>RC$#SFEwwOfMQ*^611sMf;hDee=l2fz%npDiSa&1X| zuH2Z^n&5KhV3f=I4V05V$K=U+<&a0Bl47r$!wa9AT1BR`hp6{E478pi0rQA(t3_#U ziB?xi0{K??&>F5hDw_wraL1;s<=GgChRUhwhg~wUzaNiULeI|55NLFlD*@8*9+n1H zo1nHyfJTQO^54a;T09v^)eNh(`4K=RaBl<(bK{L zYj4;zRQ%jnSy}n=R_Y88@X`BDzn_t(J`l_gfd4U=ksUA903F`FA*xA zmY0_o@^pXSXLxipKIB7TA*r^u_Ir#(gRtFEELuzS@ndrXhpOz{1w>z_l=gVaH;Iwd zRHl0m9=y-ahJh@3&o zQUo>_w|`)*`cU_Z<(=RGVT!rLF-%kxYTver%r`*Xr_R8snl|Ar{Hils;?zoALBVA? zIXNS?O!Vmhz6e$IX+QhEtV%G6p=ls#Nr_^OS3BwBbhxLdOHbniGRavkG=?f%2^BXm zz!{I1T_PetBE7DsZ8$mq($w{qv3wgm!wPTFRwtLgaRTEg(=4`$J38{{NiWnG`A*o@ zfr`?kMfi_FK(6t;KR+*WYWfkkw3L}Zy}{uzV{)4Xfl#C7;K0-zd9?9IIQ-eatnj;p zC{^A!apL}TQZ7!u0r=P)dEV=?(c1pOP4ctP``SVl#7Rp>`1rs3+O2P#G=$zp ze7Hp({iFy^%O~Le#7>OY8M|u(MV{vs7Lu1-RdjM$RrB_i5w%&5(#eY`v{pH-@@VUf zcCZX1wzZXJ^YolWzepGG?@pXCfxspi^1UxJrqvDp_z@G!SU)&C9QmO`)W`Qgokb3| zvolH{$<0lrujqT_1FsV`>$6DZiPA(084C6lrVm^EjZEHhCaZ(_-W-XtVTE2eaObQ3C zORm3H*4ZwMQ2stVd@#-R2d~Us#kJDB{$;=IA@tADEAN*tvsHb3QYRKMcdQx^yQ+?r zY?KF|9?p&pNB*fpMckrNbKl~mq2&haaNO}dYArsL`$5$ci+@;AMAUH(ApZsoreps6 zK}kyfFt8ns$>!wkafA+m4XI4ePBvpZKQ~EnfPWW6N8QCOVme}ym)wR&{c}n;$KMo8 zDxtxb@bscpjB*$x9%#(X(pQQ*M2&2j%{EeA9L6;CfaDss!M-c)drn?0ZPhr}HmiP+ z3TKPT&Ar@{`mX(>X?N;1I`(6bUKLczfxf?LnrOPGJit<;DjP(?tE-PvB?T`7bL~|vDKf1TNhBPRf7W?3&N0SNq<>*a z38R!015?q}f<`+HUtbagw|YV{d$>g-{P$H+C?Skm*du?{SaCH!b7kIXU(obJ3CZY9bWMF4%M)BWO z{faUi-GcI&G2eYbfk2|7km<_PPzPUYYU>ULeT#S%2^v#kDE?5Td#y3smIgl_!RXx-sm&8R?~=NHZ@HV zcQ&GKu{~ohl9ca9>;!t_b+c9^7H!;hTxmY@lQhw6B z84em4&ZQdTGBiCMzqI5Sax@z)AS~SaJx_P1jaFal&eh|_cU&;j*C`%LdN+i=_7)U~ zbBl_y+NR0S|N2#aG_tn`V`dief3vW>8L%V7!$T<6e0p6HPRSm$!Ud3-8#vOkWF+Gt zA!}`|KI}P}#Mk~eo}0y_csyHxkLh)UBv-)FSm2M{{wsSZ)Pk?oInt%ta(H<7MZ+fx zkx?Q?J3CHEc(2xp_A5TzBk6b-8PE)v7%NsB|NJSP>G|cCuJ};x;lnGyvZL{a!c-Y| zA?b#O%fBZiG&X5s+`it&f=**UT53(L0Sn_)q0`9C&HeJrXKtbUl|@6qH7a(6%aDL= z9Le3vu>s(LqoX6k&e>8(-J54n5>%F3>o4OCS^trU!$TVptytXY@nFFI;Fy-)T<;s_ zQ{csG*RFN-^=YcALJ3t>Y;4$*bO0bo?C$L)ynXu|^qQGonQ5fIzYKWOCiKiVBGPl3 zV={F}E@CMEr{|K-4OEtky0J0iX77N*`KeR!(XY|k0i+Tau+#8kI3qnh7eD{akF7(p zhPMMr^S_P{jEsbbXW_XN6&c9C+haMeG6)JzDC;yuSDr8UUG1F|xaz6_PyqG1`tFk6 z)$dzz?eqFQIOV3prxS}XZA?nlck8vS=I5`X7?Ltv)PHp|6tsq4bGMN+E79rb4=qnG zI$ZD%c>l1DTS}8$NT^5Fs|Feumtm309K9dxQ0})upcEZ*%C675k__4>uKU$hS!btb zvq*`Y_pR9VXGpha2(M>29S0ZCJGysbo!mA%7(3s-tQDXlmzdu^OJUrx49;P(!+saY z%PSF(djgB1?KL1GvEP|<4mjPBJNnh1+-(gXtijnGcwf3i#d=XeYWrj`VsjHpNGybv zeF(3}y45~hm@dp)M>|136J1yLXQ#bfGsLr)baBy958MXRH6zsPJXILXKyA zJ;7g+^R3ltME;MuVtvmA^4|WE*k?d`D2T(=DOR_##s^}~D zR{LMAXWwXcUS)-_RXXlP@gcqJuoz=?bp#b_LHoP@RcfXJm13J-+r5|uLVuzc62$5f zRO@B!gWQw>0quGUd+Q4K?yW3}#-h)O!N-><4>FDxUcpVwQemZ}xYjHEZ6H8an-yp$ zigdDVBjBFXMKP(PZ~Rgo@=@5`!LfjyyiRI3oCiFW4=sh6m^Y|bRFdTUe0-n7;@2^& z2n0Nuso2KO?#r`yW%>Ac<&RM)#^?E2$MB|$T}16SM9z)2c46j>vehq5k4A%mHOrD z*O66Kk|`TV!?q|&7VML=pr{o}zy#*|>xIjM&54o~U!re?AOsWoy_k#nUXeydM*gVv z<|kDBQs=vd4gT#W@cQf8IJ;sH-K9&H5*g)f@Jv@_eG1sK*b3T>FXq|T&sK;cBJ^GY zgA!i?cx9p(SUUhL)1U|sN?h|j%zL?y4e#dRK@AQE<;gDSr*Mtw?M`Qom(^zT^N9&b zQBBw}ECuIMIhH;2*mnq1P#|DYGO{+lFzn>!*5PSxXvu2Z2Gj|oXg98L}aBXq`{pPj%M7@`&y780b-vBGx! zS;B_cdC8`oIG%>{J@;*{VB~_lg@lAe`NL6BfcL7@oX-(PMn*F}@}9d3+9Ea$Oli`t zaA#X{^JscuvlnEhwx5BQ$^6ngp5JtwRrYgq*uD39f)|#M;_?51D=?2hRGgg!EiEnW z#F<_K0L$i_Zc2VUJ+&u$exDXlx9!<1uYe6Dm^J^u0aWlXNaLf)=B&1s9@!9gb-vGf zu))-TvZraX-XGYSgO_Z$!S)$fdKaXj5AoN-QvDvp)4XF zZG7MLXgM^H$#ZAcD@7ft)FT#lke{Zkp%zB$-f&znkw=}tvHh#Ph+N7{VRze4p*D!B z=`)w{rWd+P|7d*@Zp~L;raFwJ^+xQ{C zFgAvwmZ>wp9aG=dr9IkKLL|oZpJFBe_1y{y7CYa@NiPRqWG$}{02GV6FYx!Szr$jw zYinz}dVAZGuigO}d9zy1dx_$M-kY%WbXF1DCf4SQvn@pX({7`%_OJZ>q)b-$eS< zTcL=4Jd$4Vu~k$M6A~gbD>|t2TU=bM@t7rm!{OVjMP)kXi=o1zr5!WbuTt{CL)I6y z7mZaum`|HN<@a4TxZhf;)@NVq(yEJVmvxHYUI!9+9RQJK2?Imy{e|jw`)6iF zjinhnd0{$vEns-`++Q(F?OigQ=9r=vKlRNQ5*7nVpu|c4aG=Lk6u-E zwJM#){^6n8e>04n++0EkAQm?aO--d%y5D|ow>aWoqY-JQ9&%GqTJg{?R`Y@9OMgyA^Dg$*{qcjL6y10dHk-xPGZ1p~+j%L~Air=n?JjQ_P5E4ciUo z1jyC#BNCHDa6v0}Y&I74Dwxt3G!MTnHdFE8oFoKxED}$$Hde_8poRPT_2D6FAcaJ9 z`V+A#SVX_6MC7d}qqWQ&rf${!+t~20N;>@MuAV>iuCb9#H(3M+2=&cs&uZc9`9wCc z=7z2~bxy>tsA#{%Ek0T@a`J?^6LUGBau_>i~mxAe&gv4!4D9r-YXXvsN@+zAv!ub*pTC0 zmM9^}>1Zh4ZZo~0zT^$Mt7!6I&Qx2QRMfWVMI4LF6gFe*QM8iZ^|`s$txviLMA?#; z5RiXzK74TepIRDpLb|$cq`v#}xt`$fm{vSyJYgsSOEC8i?0Ea;P0XiH(&!xY)RYZ) zO-iDZ%|In3B|&PWtqrWKUI3p!Q~-gtymRL!+k*ge6-`ZIy^VKh%o~v%4>WpVdH01B zA0P49*qDHTz*El4UEjWi8x;c1r}^ZGl991-x&M|8kmKyn{v1G__VuCGf0R4)U_{?+ zXx)lScBDfhZFv57FC($GK07+N)43CCt0Z7*4nA(>PN{;&F;Gy*Dh$%Y64pB!cE7Sk zF_w*6h9^7`<6zK2p5wS>>NZ!f>KysW6~e#?vk8Sy5B;E|q#<^kuw#<$aQrXUmc?)8 z;=Zdqh4l!;E?FYU!@YJlBvLP_4hTABT!GlPdIU*2x3ek$_!}l}k*#cy;`VPL&%UJ=tmi`P3MF1(rY0xj1&wPwG?3@&yLN0$9xAO8W{6#GaIk(qq{>n$ z;Whd+Iv2O7`kgs3tsGZ7eW<%?}`9OT%APXwZ$hS2t-XZ_@dZc z-1z9|v!RHKH`F&P^pVLIu+Y%{A#{;{Q(m1`nWg4*h&SRy5R1UBTrv z389{Eg8ojr8Ey-{CMI;nW^1k-AuWWwYWzE1z+YmCHi7s_S2cBYdRB}y1SD5f(j*KP zNR)#6zk=q}AuaVtJ#Tt{Me`ckMx`% zX+c8Vg0)kvOR}a0HfV?AXIT?>x52I$+H9a>^95psUQf7z4AS^+#|EDpx`gh!08tit z&Gw)#J+b0%4sbhTsi;tDL4O)$+_jJk>NNox$OT7`WGWEGG7y99|0jBz@rzM&B9wWY zv8eQbH-E#k1x`v4({I>hFF_)k`Yw4F1Hlb(fe6G-&HVa-L@LFU-~4-&?RQHvGrs%( zJj@)6wZ7Wl5d32>P~2d(Z*p;P)_HCboL;R&l#(9G(#bH1vJ;!K+11e`*{kc>DrLci}SNo<+J->MpOnSa#p`R~Ri$QmgZ<2BTx5N)rHuOZ#Rqx`a?0*CK&l5|2 zQ~t870Vf-u-wpj5n3}@y>L%O$`ktpGH*z;ez`iw#(xUlEV`o|0-h#!qZ{Ivmk31uy zqCngo0Kv*+S)p95doBI>2^DvP(UL0WwKMLU7`y4F z$6EUOo#WLH-HXcB&@|%}_hXMno6k+ZicaJ-Hd==qjy=%G9}@KQ_m9!b8j&@Qz3?oyHEe72l~_RA*e`BxFMu2&Zd=X@wP9sq0y#z( zdh&A`b2>KK0q|B>>1==K?_P8Blp4?tJe5c8ZZ(~h9!&*rO`6%3YRS{TOiGdz-J}QO z!oLx^tJSrWzf(kRhnd?xriTD(c=z*9uBkJOOc|>%go28y<=%BJKE4hIha`vMd{l;- zl@+Ur5Iw{W_>4RBu)3U>gd|?R6tFO(Le^0Swhu@3C+Sllg)p>yPiOJ6|~{h8&60 z(9!~ghzs0X!U3ggSg>DF(&Tyh)Ggc6?HBYaj*fieDC!RN-Hid{*=)+WYA%Lf5D>6sy6KNR1kSg zOw7vKTI;~TOZ^wsRaJBxA=^;MOeCWXQ(((}+>=k8E&p8S{R1}4|8vQAcmZX+QMbuO Tsa^{1Cn4GzC}gRcUD$sCxgFed literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417125142892.png b/docs/images/chapter-assets/circles/image-20210417125142892.png new file mode 100644 index 0000000000000000000000000000000000000000..48fc22482bfb2cd81b9cd2e730486c66378bf74b GIT binary patch literal 7131 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417165543902.png b/docs/images/chapter-assets/circles/image-20210417165543902.png new file mode 100644 index 0000000000000000000000000000000000000000..ca266aa42bad04ae6957d6135a5cdbb83c8a5276 GIT binary patch literal 16135 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 U62>m#f;;IyRZW#FC9{D43$(y;*#H0l literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417170131557.png b/docs/images/chapter-assets/circles/image-20210417170131557.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d606457b496b4a44dbbcdc55da776760f57c4c GIT binary patch literal 14358 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417173811587.png b/docs/images/chapter-assets/circles/image-20210417173811587.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc97203a1934316fff8f7b7d165bc451418e96f GIT binary patch literal 8270 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417174019035.png b/docs/images/chapter-assets/circles/image-20210417174019035.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0081da282d9b4a044459b8f5d54edcd7e812c9 GIT binary patch literal 7072 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417174100036.png b/docs/images/chapter-assets/circles/image-20210417174100036.png new file mode 100644 index 0000000000000000000000000000000000000000..0b4aee31fb0ee42e251e0e2f49d677bdb1c4aa58 GIT binary patch literal 7202 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 W$k9rwy#(L>5cLb%=kv~4hWr=)+;t!T literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210417174215876.png b/docs/images/chapter-assets/circles/image-20210417174215876.png new file mode 100644 index 0000000000000000000000000000000000000000..26fcda624094872c5abae1ca45e2bfe89fc6a16a GIT binary patch literal 9145 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 avP@EuY0M!y5Afa#q#&bmz3`fe|Nj9g2=?Is literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210418111929371.png b/docs/images/chapter-assets/circles/image-20210418111929371.png new file mode 100644 index 0000000000000000000000000000000000000000..4c20984b6a6f775404956b557cff2bf6f62da318 GIT binary patch literal 4146 zcmZ8lc{tQtA0MgQn{eeR8M<0TWQkn6p%O`!o3dwIk|j%w%oQ`ETf(a%>&RNJ?38^S zZrKfk?AzF8lx-LWGsbw&%=A9*^V~l?=ls6w=ewNmIU~}-%t+t}^aun35iq`Ca2o>Q z*#Lh6KOF`X@uZh$ArK+DvB8x)f2OWX!XrqJ_uAHn#qPgx@C$dfUnab|{?I)juK0NW z6Xj3*BDrCP#$?kg^RM<4YxyrK9aQ$hBp*B!D6(vD@LJ8cOnKv_S>KyS`7d;H|T48o}-k^veAh~&iVPO(Bj;pxU05btp29{U< z)rzgda`0qbv*Rxah`WX|Uno>-@cU+iqpfD+OmK??#4{f$y8HRFXJV4jQI5tndBs&R z1_DUF9ql<5e3lHcFv(K=E-JWnS1#U!mL2{<(M zLW%}o0Tjc^vZ#jBK-(o{#aSsr6Ee`0OHhVPI%v`q*x6 z-3UJ*9v63TmVC@La`Z8+>lB#t%N!jmvb_p5$`ctAB9Be)zsRx6E;Q$LZJ) z4z^iw>n{NBdMj7w!l+czhzJO>-_$=+myMwL??evacG_Y9!;!LSsNB#j0l69Y$h&Bl zk~VeW13S8wK>sYPBLI0mxs{uWd}Ad}ZW5qKj-3lFAd+gguHZ;bNc`V`CPwiJQUZ=% zfC6DlJ-C_7#tw1RFWr4+ej{aIl*+bgsk-yL+&E2va-Iyic2LJzQXLMOz=ETe}Q!7)T|eQvRt|X zYS^)X{>GP)*l|ne7XH{|F8_P;Kbh7$gRNB{sZ9s(eB#=CA*ar< z*J?rHa9ZGF5JEGTJ4CFa#H zzw$i<^5+em*s&trVF$h3KHXZC|AA@%Lb6}j^w$(J~`{Q45lJf)z4< zLr`bkfJj)>NstLF<89JnC$ax!o(=%@4XX1xaR9@KGnR?u3-*&JlC=y{Sxcj9q(52A zOVt`o-JgNw6C&fY^*7ACyn*aOh$xZ39+cPOfy5u!EH4&!omg( zl z$cayNqR{8b5;*;;Q}RDHiFr(KVE)|kGZ{2a6`@{htfew87~byLy-7Kk{~^(60FL3K4XAhuzc2gNcKwzx2 z9tH)BA^8$tQ#?=Z`L3lbFuXk5sEjRe`YP@Rp#p$@(WYWa-8RFWt#Q)95lNx-vAMHT zOXD(R$iQDDS{l%ja|=T00O{Lij+}+kSxFi5bo?_R7&b~&X{%u-!P>E-FUx2H zf0+=E_JfpPqXhY%$*5nwk6xSpM?yQ$Yf>D?Bq=R`Q|Ff_dPqNbWK9hd)%Dj^Q%^1$y_V=u!qB^PSUYn;Tcd7>mgCm*ofk{+S?e?2a=xbMzGU4)C}qPEk5^e=d?h z#nEdJ3)C#hy$i&>Rb-uB-9Bq~WBQp8S(g$NjphBA_fJglF*{8L?(+WE3|4$WajhH$ zMG3C+)j%-oC3WA z4uU@0^seR+gjAZe7l8JC*;3X~0D5NGhC;24u{Of8z2nz2lOl5!u zHI$yGNda+#_9bwejl{+brvPBGXG-*d=(Vd;N5NUQxH=^P7OksO@}NB=&-nfdy2YeD z#Td_X=6E43XLd9lx*8@xOf|t%cuLqZ8CJFTPPeEN^{<(iTJIj}tw1G(? z%Fio+6Rc2yhQcfQin4)Nn0x`@gfgG|nsH1uHFfOLMybdEo9&@BwhTOR648wIcg zhUyB@mgy$XL!=`$^{*wj%0_7Fe;Ju?Jq=WUNtrka<_)w7Ip+md&mORXXP0NEYELdO z_u|%^S2&h;Ai^Ux4d8^@h^`|eG{6fj^oT&Z7~ICj^z5t`!C_Doaw!U6-b5(@PhFq2 z-CDy^S5%UD;|n8pzzD=+9%N8j#6VKx?@w;eW(4gL&-PSpaZb>cHf)e=U83VWBw zr$=ZE9z%pGU_a++EAyRn&I*+|YqkgMY0GDQz2hv1uXjFz(VkB1^8ht_(8KuIp~*uH z>^?InO@~sqenDhbcsaXRMQHXyQ%s4Gp(>Y(h+68n^ovpvs;rN5zd0Qy4T!gq8?m!ClV8lA`-T;qBvh&+cy}p^{^p#K|F_tOAw(4Z|%n9Qcr8e;jNf~cZh#4hlT7k2mK-s8^ zPPmAtd#w+ikgl5&jo!?fgik#BB0&El$%-*aQgrq4DUOYLW?Qj$db?KTfIwNc_yz`y zmKr9ttF957lF~IX;h^YPj|E5iuD_p!Tb6=3CH^#T)>3PTkB?%K;=RRP*Hbyv{gnxg zN6m-w&sOT|2DrfV^fLHG6$3EqjHME{;o^HW%cXs0B`ZCa-vi7{Sx1I7-_B!Vb?iT5 zL|=Yb2soji_xhA}B6t9d*~Qi~77OT2e6W~CFcwD}F_>S`J2UlbpZSBB>up91mozgO z3R4!6DP>|}vY&?EUKvl4WKQ$dthb79%m`sLlp2}-=|SXVxe_7B$ty?|C5PGo*?q=v zBefXW@GuzDeqRuh4aP)g?W8vXffyImgjl3K@xIFksWipEbG5RzMi5ckkKvg8UGTbD z^o*UKs6o(&s&EOxt2Hvwx?3Z)bGiBr0%#og388@a-k;6fCGM}{SRLl*SRvH6Ye5^` z>KmV;QS#RJ9^ZxSjuOZnG8uT??Fq}7gahNh?a&qfJSeByOWbE|*KhWlBxht0DCq4v zhv1cpnys;iaZ=WB)Z^9qjUFjq^I3Lim(|siax&0b;ew|YS&a;HG&OFt%9q&QX8zRw zC4;`|suF%!3yj9q>bch;GyL%OC?y=$-nZd50M=$3Sw%z#$Ie?fGVa3mzMIP!`!vvo zn9FW@ORQIegM-V&#ztlopW1JW3w22y63|6b61=A)PNob=nVNV!e6NQ6Bupp?$)@O< z!|3;M+YOYWT>@*x7t?hQIhhbHiLNf}I#l^bJOQZ`r>QysnmV;1cw5?d3dAR4jLfp9 zZXqAK^`w4h6+a^5lP3bcn$lap;BIwYkBTwwJ2-APIhJ6kSo zuW5U%?>QMgd)q`JYOnoV^nAszW0wqUJrcKFBXD_uz=pcC+KsbZ?G_~2+S+zZB8h2; zg&tB-)l}!|WZiIsTUG`yO|5gGZn!tNjJLbAkMCalJG$YXM3km#uMv#;hPf85SIAHa ol^y9=7+2ATsE+ja-)2b`I|hX(Lx(Pb{{=vdubUYZUv>KHzg9gelK=n! literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210418112008676.png b/docs/images/chapter-assets/circles/image-20210418112008676.png new file mode 100644 index 0000000000000000000000000000000000000000..8196344d78f0d8c07b7802319fb8dd2bb7f16b97 GIT binary patch literal 3979 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210418112038613.png b/docs/images/chapter-assets/circles/image-20210418112038613.png new file mode 100644 index 0000000000000000000000000000000000000000..84c54026f1e52322d31367acdb35c5136fb53591 GIT binary patch literal 3757 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210419085430711.png b/docs/images/chapter-assets/circles/image-20210419085430711.png new file mode 100644 index 0000000000000000000000000000000000000000..cfaf2abaf47b5fcea0fe7a39ccf0412c3e1786dd GIT binary patch literal 12739 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 F{u_!uU>pDd literal 0 HcmV?d00001 diff --git a/docs/images/chapter-assets/circles/image-20210419101805150.png b/docs/images/chapter-assets/circles/image-20210419101805150.png new file mode 100644 index 0000000000000000000000000000000000000000..7ff246fd99fccc4234a23920712b88002c702941 GIT binary patch literal 13652 zcmb8WbyQSQ`!+oEAUSl$0D_8ufMC!J-C)p-gf!Bf4j_Vvbf-lRT?42f-Q7y3bo1_c zp5OYuKfZ6h>wVXfwOsq0+2`!K@9Vy<>qKg*E0Ek`xCMbgNR$*2+7JkqKKL_);)9k* zsK;vvgbkvEkbdTszCG*j{OozA=-zHq%{-h^5h{}!mLx^M$zV*N;G#)KCCyBX!||>v zQB6&}%CXph{;LP8b>@~t;P*81YL9PhR=p)-j?~`2j9BQTIYM~u!l8NX?XQE@-l)hZ z4oMRdN)MHuWUj^*%5rnA?{J5+6O;rv#a(X%$9(~VP?o}TVdkEo;&R8!lAyzadRmfA;)&>!S0!^HsT&aOpI;h^G|p z&8P6@>m{O|&hF5$G5n)*cceiLTTP8D5k7k?E1CB%V%_}%_DOqxr(-WRjr2!RSwDHS zs5-s9rL^v(vP`pt+ccpAF;Sn!{GC)6V2Ni5$o3%?6g#e z*IrpJRCxP8BK@1Cp=w02UZqB%EB{QDRfw(~CIuU>XWTRkRfDyk;ogyK@wDUEKbe+A3RVstW{u6EFE3Al>OVNh%ErqnlJbY3C$xeQRW_$5Uz$(-J9#(^4H@f60Ct|%Snr_b(*@mkN#fizobPa(tN&uf1t!D)V>Di z=g-a*Ny*L7hb&-MsR~(RgMSb(c?&)CxctUpk6dww!U!>=7qq(dmymM7`4K+J{QkbH z{Y>qL;Itgwxla)@j-nzCQ(>SH64bpMLY{llGH&eaFc3HT=l=m5Ok5{|C%H+RNn9vvM`)Vsg#fyJ$D zA@)Y@c%5uXFZ_wcdLF*~ufuG*3@cHAHT?G?gqMaxBI7%IO7Eg=k^+l#A2@oOU7zB5 zUg5rH3clH{fr+`m#ju<2Q`8R53mEayLb4khnbJfY%ohqD;5$S`J+zx`_P>b3y4PqN z)_l#-+~m7B-NM?o8ScKWts8jlmQ2eRW~ez(B=PBxYk9T(neqGd)yz<#n_>9A9-8V~onMet$9cQ1c*(5EdNqD`|jk2|~lTlM6+1S|7)Y1y>>QYwCk`TYf zFEPeTO>4hVONR8M6WR`OLM!!J)Q9&z-yN7E6&8{45{rw9YCCB9c>8Cg`;Qy-PF=XP zgM&llT-))IP5-hhVbSm%dyzEfCmC(au0Q9Ec{oEHYxbHiO7@zM5~1mjIl|^8zg{u& zRnxNGCns+uqDA!Y%(h(|Ps2|~U&;{SnpY>SwWK{e^Q$Ztzurp5EnhLRP$NP>v&bF= zvdm>X&3P!=ez_1@R%}9c(CD4+rY00WNvxws?>bf-YPGIy^Rl$<Cc{>UjYuLOGyl91KKkutUUfB%k?f4dx%mJ?_Dys#LcVx#MQ3Q=*NT$H}YxZymPvlVA0k>%B;fx1=wetZYBnBchdYunF4D@XQtwJ<-E`kbJ#t zPHgyR@16&hoP1e9K>;*e=8^yTVHx&|1FwZ|-(>eR0zS{`2piXF~1l&RkdUaFNCzlj~&@3bKikl0Bxa!90Oa zN$uxbm70ZW7U-eugm{XHv667_Yd_4;Zx*DHeSNh%RtpSoO+2cRi`;ZMbQcfU zoi86Ewu~aARt3kL@ZfOgzAqydYjVJ22C0W*V9( ze{!5$@hLrxXnI(q{n?8MbWs-E`H*Mfq@%Ha(b;*mOzT&6%&-mb6HP|O;8=-}!%$Xq zwa5L0FFHpXd|Ld&-}Nx(A-NZQeYF_)_5tx>uKmGEuZ@POrK+cZjfIV!9fJ${Ru);X zhNRrylH5XhM=dQDy}DqUnfDsI;=LDahodj|0{4}?O5f4JgEw94Oe-ff_4T`8I|2eW zZx=io$}N9WKsa>Y3{23K+)frI92@;+!4j#K&;7uW>HD{rvgOn5RW&Z}9I>)%Yv~NC z?OWG}i?C)=w84{yDjVoSrJsgvY}naPl$o7!8Pq70kA1plcK4n|9Zdn|?DA@ee;Qb$ zsr6Mh`yJ24H2W*qn2IA`%@*2?j?<4*lWpWM##r(z=AE zs=e<+xLs!K1dRtF_vZ8Kj)Ujk|-NKOXFx8Z^*=xU%cJOHy~@fC8hbq~awN z6WXfoO%ug|fIymh+S}WU{-PtLM<3SS3Z7Q8@@nA+q3Mp{!tnwJ%Llg}kL{^&{+3G$ zokG>Y@{hK^J`1^NSBb}Va2N-iSz(!?4-zBnG<2RXN_wasZq40CF^axfX9ei-w~a5)=Dlz7D2_=N6&rmoq2zO) ziOhghb`?FjJ9k4s^ug`VB6CvD`|2{=k%4ZjxNW1L-OS}DaZ1J%w6;T$b<~ z$qt_5+&gbF4d>4I$NDwXF&R%ikFQyo`3Gl7*8jws8P^M!c;CsjH#0^-0TB67lqHk) z2R+~Zr}JtuNc9tGg=M6HX342NFtpJ1n(02{YeLCZ*d)4TU@R{FvNZvp_OahZSl z{CPO&`qk)Xk-Sh5AGhSMU%%Gw>KGU-O1^=PQQu?Z(ma++aL8XDHuK+C!hO#YJ~hKM zE>8Luhf&nA=WDNxpomSLNdT9&5xHvv?2#Yc7vx&`=r9VUXGFDopA{H4zgvi;EGyCfsb+?xV56l%ACKrjGbET#v>s2QKC}NZj_?*^ zxtwmfGH8p2jU*;IcS;-(TV{qxB?#P+WKAr}lv!ve!>XiLcKH`KZav&x{*Ga=e%6s! z9|bisGTQSJ`xk3zpih3f-|akkOE%GF0-hF0@SZjH0#ENySf-FA=A)K0<71zds&Qjk zGcz;8lg~-~9H&2N%f$cT(!$AOFmMtqI72Icv!WLRyH4z{-^pJ>6^plWWZy0|bN}@? zQKwa8`b`nTVB3?t_l0D)g$zdACj5FVZd{=d)@bY`ug+oFgA~!e$GFR9X!rVFNIDIRye6B;wi;DFB|z=LIN*205-QBglG85Bg&I$ z?_=}Q;KnjXdpi``OMOg~PV2N085w|7RZ%B)u)gIiS}syaaN+Gvl0EVwulIVeQk5d` zRjuK#lBMuB_cv@_E5!ESUi`Df&830^Y&vRDq|x!cyf;kCVG7ToF;8#tpfzxhjW<@T zt)L2VN0C7YKhdh2{B%nQxwFGw8uQN1fMUW_>{I^pfnQHksZ%lOs!iBe1f(O94Q3dZ zGC1Vx!2}DEZ)`e0x-*j!Trcro!yOc=Y^hQI-oFYp@xw}173j@!((Fgt)b<>#NVABN z26HGxH13SPG?4>nQonDsP;THhs;9b+{%Z%$rbX<(Wm>J&GO=?WR0*Fcl9J&T5z(+m ziOBLto)1>lxebhu+;3HLX9B>TSFecRDBvmMGr%7imwn?w>Z4cB*ROV#9dn|{kYl^Y zDnXp^3DX-x{Qg1k&*()-Kf1P6#=X=x;@I2;CwUIGwyk{`Pqj=;SP!NaR9?<6+jeFf2IuA+HTxs@t#p2Gdsu+d%xn46%ZNtxQ$J|>BdpDj z8Zs4=#9$8Bw*}7^M*R#gF z$<72Ul{%zgQhFMr+bwoxkqo7}>=SIvYJ@J3Edup7Z{)S+Kt+ zvVNy#hO4A7tykppfn;X`?8r~|f~CJkQ%J}TD9UG~P-^%(HJ=sgR@sfljbBLK7~=M& zM}BJ>L>~jvLnY=oWVMg*#yX4Sd=)2yBl&KYld>A~)?_8Y=2$V~VgKl{$LHQ&f<= z(^4c4b#hl%c6GH3vt_W%-Tu+SX9HuSqdB>`<^z&s*XtT(V*60hckEsAQP|x>1yIlu z%Cbc_`R4X${<8sWbeJ>^OW4LH`|64-hf^+ZAr-AG%Tt;h>0`;rRi;);#guI34Tqe) zGf-)Y`1#z1Sv?%im4l9s%g)q)+A8^R-zr3;f_X_Qq)1&lgQ*>yGu8{Aq3g-wT)NlQ(|XYKV78>p{0&3r0KD9(}ltZ*hU@RWOQ zY)pbxcFNkj=gM{i zApDPvj*>h|eQscY#h#szz?ox>NFW7(Tq-`h3UzqqW%06!5OsKP7|HL;c2>C8{@aV45ZFdaczl!AH1Lzp`#B--4_T`Hg zg+JnF5>y01HeNZA<>OQLc!}gu6j@wYWESR ziFxnOu7-fUfQubhOAUv`{74ZB;>FQYIr$innXF~Kf`|^VH!w&e&xu=`ESLQ}JImqt z^m!lD+}A#Ko2y8?xJcpfay*dmKKYshsG}pze#{yTo%fV!T5u$^$#ja1CL-k(yM6}) zZe&Cy$wxAA>mw~O*;Md~k_;`s%wljfLReYV$_i@Kn7rk9C@5yLdv~+mhZ>5TO+~{n zOAYVR1dw8}iR?ThIqmywBQeR;@v+C&TvLOS-b)=y)kG-D5oUlNMB6P zU(;ZK=In)URULh@09KjqyDfZ}71nS22+JDTCO>)zAcv4go8#P8|3VhsP=i&KIi)T5 zulj`Ri4Y0*l~vjwyBR!x{#@JRKv~~AX>ALX>k-1X+7_WjMFCr{YIW#WFtif;TvBoyRd`ayz@w`(Brm1#*iZm17uu&RRaX?BVaW?*(? zU%$qQOQ$tgQhIXqtu$LTBlVpEr4~(mk!tXUtF(>2wlR{P0yTKRo?A&NGwk#B0D0$<6`j*8Bi%Pe|$9-eI0uKczgYkNh_X1t{J$C(~nFj?D>cyJW2_*?fLt$D=tWl2?) zboF#y4Hk@ELo1t#TKcu^gUj$_cIybWOfhDDQZR|qctW)fL z%$oVlg_FGH;VUERCC0+(Lk5}PR!79n$EKehu*c8~Egj1@1cJ?3-qhoy@prZTWL1*G zdI0PB$dz~VfN7xv);po)iTT{JH;8nZ=bLq)V@a@;*+7UK=z%7SNe zz9gkZqvAFk4^eh*LVt7NO{@wCVa~cTayu0w$R9gfce1IeDgDb*Kv#ft9}YNjr9#zA z;-iM$1;2lC?RK^#DR~(wNgZJH%7g&2|D7?sTq(WoD%01O4SBJ-6_%c4{UZ;FG><Gkp@ZP4^I+;#FktN`l0ZwZ)}U*a15zfQKN-#-8LLV9x}#85MP75r@J zHZ7IZ<`%AL577goP>=ph@zcrFhvYSm4{RcNtQ61Ag2stfiTLUEWmLzri@$wqPwij{ z1!$BfDl--ik4oe0j{6lOv=yGb!{2_3GZGU)9`84um`6zSue+1!Z=bt&8p7lecjQ?l zS*ASa=?{3DSOGG4oXeG)z_Ge4-C#sta8Y>}5ae_9q@RETG%l}Ns}Cs4NL5T81`xxv zWWemk5BNWIgvjG=Pn7#eh9GTp^IiTBd%xe2zUKz^lXimEZtNq_;diTN66-#%CjS2Z zICy-vD#q~+sU2@)Co>q&b)Ln1n_^^ajOL^Y66SNX@wtkYthxh}WTR`uk2aovP$VX; z39MIRMu^zO5zj=uL-N4n)tJ|4P@|>IQM3V<7K)D_`-p>QBj5!^I}!LsS$PHnW7pRw zr&)}m8>3>d!Ovcc+>))5SAQfo&WVk_kunVzZBBxAc2pboslE@di>%Zp*AGX z&&SFt?tu}_?x^%EuH0wVRU6k(qtHZOCUUK>LhzzP68-mJ`hU`Y&^cFU-aBQ0V`{wb z7ea^r^d9}MhKE;^Z{Wc@=c+^zSz+BH;tLWv;%!8iWXrR|xg;|Gu51_vX{w zqq9T%Or*^Z1Y0&3D9MzmX8%egQeO4+s$Nod{tM3Y(JC-Bm=IeL=%eC&B2wG%e0&fy zKJ9eahm>8uHVTlu}wBjAPm049#ONRE-?)AMNTSDP9Xj3Kkmn$9=g)2e{Yka&Ru3cAJA@9e3;#{2Px1u$GY5sDDwVtu8yR~6$ljrg z4+uo4_Vg4`u#h0u))GHTh6$J=rY~gdH=ccdS+aKZ2%gJs`?5qTMGz02;Ww1V?uLS7 zPizl}u|U;?Ho(t4wZvI?@Uza%bqAC!IzXk8?SE0M1yag}?B-e!2!i_uB>p8O))8{5 z|IIt(+@PM(4cd2YVpT%CsfnfyP7@7gz4|PgMEqfGQndZC5chuaz;bun#ZCiiW+4Um(_oxY)xK*S?pvPDLkyWCQqnFhc;uEgsMx>B8ZVASgaN(3ODrRWt3d zR!KsrUo;#ENI}I{LVuM$W>=%={^`PVje+8oPe=)g#sj2I#OMGv{>UJ!TG zEgiUOs;P$ugOMAPU{VewVhr38W0UuKG$9ub_Ac)M94`B%x3}r2GRWm2Dkyl_2&Nq% z!Kp{;q$7{8gcN_fXE%>M(ZhR~0MOXu!+EE)*CyMk(W zG}58yQ*c8t$J8}te_=cYP=cmDcTj32-VzZ8BvLZqr04G#V3AcmW@yxV!#K|nnO%e z#Tidm7&#iG5R*TaZ>{z?{Pu$3(=nmIW}2vTTg?zG{h|~6dOS!9-RVfKMMK`o7S@3S zxI)O{;1;H2e*WCb%Y>Lj|80A445R4rd%J>krtI2e{+~#jkuQ9-`MGc)IzphauS6YZ zY)+#E(CGaV@m)m;wB00P_Gs2}h!brdJT>R| z2B3af+wqd{?z&q<7k*;&d3tQP;xXwE2sIhT3lO<%GzcKDCL=@qEWonlInlI$k5usx z_2Ig2lh@6w%EhG#PJrXA@(WMU6SR~Ta7&=EiB;u=-peomn2u_^4_-mgW5ou$exR0s zlLw(}J`B#X=c>A{5VLioXX=_*83f$kS&pPU9yH`jDx0(iGS^Xck#|$>YOiSc-i5-5 zM}3Cb4@_2N{CRvCFnF+%CbPM|?!f=VDSosiUzPcg{{S2E`&Fo*0|SVGoOvpU1S}bo zKoYBs5$E+ahu^%LQHoPc4$q%c0|&r`Uk}hF0K&)qnwk%ar+SLih=sEQfs=dG0K}?w z!NYBoh^B&@8x+Bb1ZqfFyqJp`VqL+#fgJ#guKt$I{`kkKc-r}m_fqQ`nOZBYKZ2=I z7HU2BNzOG6Du@R~qK=ME)_k|eQvfnRQ5NrmK&;CH0SX-G?PCen-7Nm!@gtas^ZCn{ zy3Ic;-Up!kO;ngA*D{n@?E_qcV^(hyR(4_G?K=(bN7kpt1cQJG-9zJ$p|?Fw#N+*@ zgmE=8LVVUKRFyIf*mFl{9!p6@>Ssg3XzzfUbMf-*Kxt!=S&4b@$$zTB!#f920+Od} z3RMUyoxL7=-kG`tTZxf@UB>f(|W zt8koI{QbMCe9cb$VRnXu|G7~#Eu2^K90o+GijqX+4qTWdn3CHxV6PQRp%M_WKMvQ2 zKaMms$Frc&v)ufMPLHR58^v(@GgP$uLE8I5%O};>4Wi7*>Yv|YN@fC}I>)*HI|lQH zGT_>&pVAsVtRPnCRddBvwZS%J#LYi*8>|CRng9o2s#n3O)CB5u zibwuW8jD&X-_Y^i@olEs<_IF}Q-yi)R$R~s&1dxDK7LYs~Fj_W*`5tez z*1K;K@95dzp+<#%@|NQX57#VImjmk&3Mk0mG-B?zz~mtK?xPsm%->-u6>uU zZkr#&bZHe^R<>4nJ-Aeet*8cU7oOw|Qz7ehS^t;ntAcYI8pXkEyd}m_*IU6nZa;;r z;z&Wj3CH~IKKaA&fk|6HU@AK4zkJzq2Zv2uzEbKI!F_TTKzodldaLbHwY7#Cc1k5+ zfvE+oZb!PHV$vXQ+>$iouIHVCd|cq_fCl^v?-Pf^oA6prv9$xP<8<()&fmQXrXrg{ zs-=mLJbp<8NmO779vj8`0Pi58925{1l?BKFw9y|@0A&N*lv7&FEA|3(;lqr`o%K ziMe+LWx@s(ar-mFJ^sj_ZhAo15BI;dpa}KZ#JcdEiFn4n;Ke^ z!Wuv)Gfe)(TYEJVrp4R(kvmw5ZAAiK%IAJ1v$8(E1DqNPVf!rz>?~{}6Uc#|(N9j^ zBk?KgyK7IO>EaC67mG=J#8|**b z#9=WEgCn@>dxfZm_{C z#7@w`I9`k4v}I27&B-SqS+$*i%tGHRz6I7Gq3k5Yq#A&bz>U*pWr&COpj2brs#;cQ zGdsrX@?XclF$1T?BFQV;t)IluB!9ic`=K|XWVKi%AKnAk*d?nUq?;r52k#&3HXZzw zJ+O=3LG{^~s@01q0dM7ER7yqNdO0Aw$0`N|At1w7A;BM&Cb}r;MZWSg`p+#r2*_){ zkx3?3De<$xgTNmaJ~X5~vF*{g-*xZ7=8h^U0cRzBFqveS`*PRbjtMvsOJnzOB`(QV z2w20kwJ8pKz(EAKb8D*Vo9F8h)%XV-U=v&W?*CPquos!wKCa!c|71IC8nDKGDshff zagUS_u64iHxUre@c8PSdlclmFmbJeYga$KdB8W!=Gtkc?U*AkY0X$7)y+RH{5ghrm zjf6MBI2fxISD!y&u1P?FKm9nHpxp+Wz9j?u{-*9c*QX_O(|_itC)=UmMQi8YQw%bL zIwUxhpnVw6CCuKk9`NEK97ROARx?PEwngV3fy8|d!2cz{Z_HF8Z@NyaH3P!M>0BUd zAs!J$CZA#vhi$|?3k4K9SlS#?DA0*h;L6-%{`g) z`bLynL{uRyPvC$6$fc{h`%kJ2q^-aNC`WD6_dvAqXuxXXRF(vS+O<=2@baL-A24?L z2f#}8VC9QD@)Uv9%D}Nff~&2 zza$F?&^@KZt{;K4E;Cb)2YC3nzu!;i5W@K&qiN1MDt0GzTrE9H!^ED4Utm|R-~Vf^ zigJ>i23|pjUWU)}0nzBUto!-+U3PFf;v{Jwv9c09N;g_QHl{LQ!jkd!ejK#rbv9}; zhI`+6by?Tak!Q{h7a%wHBRk9v2GY6Vgp{5Vc>Mg+U8%0$gn{CJ|Ndy?uCLE-ZkEUs ziBdw0sWKxN)gOj%c4MRm84{Ac?b)<}zmi(@fD6QEz5q^{`YZ(3?sivigtS^(4agH) z&y9ib0YC^wu>6vTvw}x-xN}=e8?Qf;gq84m!osEWxNGHXBG__tL^`ltZv+xnqlW?# z@5sHE3pZ;Vebd^nw4Y-Hc~A=218;?9=c{4!FfU8@0c_7g7{w$b76dS87=V5o4g}T* zQ15#`7I^()rp9XKu}L0A5FN^C>ZG?60fj|luGjRi;|%#+%{o+qq0LGJHHf z**voa%5=*GAA$|C`SrPr2DR|Rhvk0vNcD`|1(MhHOH)%B#4h*R|IONzqwCG_Mt;d- zY*_#b6;=o``zi~&0+;~Of9N`JX927bwp0A&i`m%=COVWXG9hpoteep_9z>&d#6fi= zehF|b0n3ogk=Fw7_AOoP9&Par#^p1LVtkBt28`eP#VAjnNviA_i#s0iyuY|-&;;1&+>~O;HhqEVh%hI z4GaaL?Tx#8>$2;=@NwYnp`;?5`SnZwa)CfnN=Zp+hQkm5lcnF>?DY+c{+suKu!et_ zTw&C?9pQB1h~6d0^toH2Wp5dkou7|8A9y3qz`(FK^|~~ttZX2N#hL|wTY#E|W(oKL zRJ^zabc@S)jc$S51kHRL3c$e($-6hO#~(!AT#Er|x*Ztpf_iBVnu9%NmZ(}g%Qj5I zA}T5AAQ+@M_FejOGs|546F^;rSS`w+%?B$R5=gMIaMiOSHayx7(Kx_4#*H!)_ncwy zC!W$0OwT|=(9euX3;rXw4OF^WdokAIwg@00QZ@`DM6~2$fh@`{5A3O_+wV>;y*J2< zHR;Xc^x-bUBcfT@z24bfGI{BBZp6kv zbhRBd01%`NmeEfgV- zq}aHL0l3xHHa4QXTR?>hCIh`cAgjr56yh|_$LG^|I~XE!bhNiUg?E(Zgn`()S^hMI zDMEipb>EwQjFx`Q2Eb&oK~3)e>u-$9$|6&WXH(MdS;s5*3Qjen(gkMNIDJI z+uIv>Ouc}0k}WKVJh#T2J@d>Ec*k`U`NAEpd;ke_>3aePXbWTJyn>H=RV$+$JJBSc6jp@O?)>Vss<-K9Nm+$coSnbaU;R=_}vqsx7#G8 zO`YDVkn>C0O;sTv3F5Y#D|^j*D;#c3uwP~c@&VMvcywLf^kaIs#Dw-*@>&aX#m8fp z23Tpsj;~Hat7$jq(KaWs+c5#Y=}#10KHR~BJ)EZz&w8p`mz?ksXLxI}?D;dyHqK9H zI+eWOH7o~~$5;i?t^>x4p?i#W*ifvVgzBtGC=kN zLA5QgpEUpqgQ740u(qF9X07*iKYn?GTE~MlC$<=R9IGWn=f~UOnfTF0 z&n`l$^vyCw$&|GQjSP(Cci&U@uD{7`Zq5u&Z3T}1yMj&RO+_|;iTnrlGQ=6_p3#gEE9DQqUV5hNRA^Q=-2)_0J6V2oCGi;6vck_$3#XZ&sS#Z8)r6vq6vIY9anBw$zNxFC&goOPnVlsUb&@e`Vadz`wjV&u$L;SA zh}lw9H(rU@&HGhqP~za(-n2-=K}9+bwgEY>kH>}deSi{QHBhVHnMODTlB-K6Jq=~s-iQ6sb?{juj!tRg?L zzTi8HKBkeKiQp;brxCOGp&y1|n>IjK`jyQEAEFOUL@HVn>%-w0Kt=rjHva1o0GE{D ztw-PY7qOBX8-V1ZpL5{Dh;A<&}lAJoCM8-7ae*qbu Bbb3(RDYhyj*M?I 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles/222d374252584ac37d967e3ea0f8f28b.svg b/docs/images/chapters/circles/222d374252584ac37d967e3ea0f8f28b.svg new file mode 100644 index 00000000..44228cc7 --- /dev/null +++ b/docs/images/chapters/circles/222d374252584ac37d967e3ea0f8f28b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles/22bda43c696b48e49a2aa83f0c4a4a0e.png b/docs/images/chapters/circles/22bda43c696b48e49a2aa83f0c4a4a0e.png new file mode 100644 index 0000000000000000000000000000000000000000..07525b85f9d9512afff3ab0d6e228fbf8a9a4391 GIT binary patch literal 12798 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 Yo=IvY&leAT(1D`>@D0T;-+%qT0Ktc@=l}o! literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles/23d4cd81c759c5374773fae149207c5b.svg b/docs/images/chapters/circles/23d4cd81c759c5374773fae149207c5b.svg new file mode 100644 index 00000000..43d9a205 --- /dev/null +++ b/docs/images/chapters/circles/23d4cd81c759c5374773fae149207c5b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles/474c72b5d1ad5c154d79312c15aee47a.svg b/docs/images/chapters/circles/474c72b5d1ad5c154d79312c15aee47a.svg new file mode 100644 index 00000000..22939061 --- /dev/null +++ b/docs/images/chapters/circles/474c72b5d1ad5c154d79312c15aee47a.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles/485d678b1d63ed7a4c7c8bb282467f02.svg b/docs/images/chapters/circles/485d678b1d63ed7a4c7c8bb282467f02.svg new file mode 100644 index 00000000..8706225d --- /dev/null +++ b/docs/images/chapters/circles/485d678b1d63ed7a4c7c8bb282467f02.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles/571246ffef745298873a78473257d871.png b/docs/images/chapters/circles/571246ffef745298873a78473257d871.png new file mode 100644 index 0000000000000000000000000000000000000000..6e77186ece8df0661fd422ebee69cebbfc291c17 GIT binary patch literal 16785 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles/5ef0824098ef73efbd89accb8db408e8.png b/docs/images/chapters/circles/5ef0824098ef73efbd89accb8db408e8.png new file mode 100644 index 0000000000000000000000000000000000000000..fe6c01c00b7d4d060d85ee358e74e2baf7e11b43 GIT binary patch literal 17047 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles/6e455a6733dbca47acc0a36e7e490ba6.svg b/docs/images/chapters/circles/6e455a6733dbca47acc0a36e7e490ba6.svg new file mode 100644 index 00000000..005b8a7d --- /dev/null +++ b/docs/images/chapters/circles/6e455a6733dbca47acc0a36e7e490ba6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles/9e19c65e23c32c802d2d77edb9812122.svg b/docs/images/chapters/circles/9e19c65e23c32c802d2d77edb9812122.svg new file mode 100644 index 00000000..c738b623 --- /dev/null +++ b/docs/images/chapters/circles/9e19c65e23c32c802d2d77edb9812122.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles/b5799015ebae3ab9b6712106b3b20ee6.svg b/docs/images/chapters/circles/b5799015ebae3ab9b6712106b3b20ee6.svg new file mode 100644 index 00000000..a2eefe40 --- /dev/null +++ b/docs/images/chapters/circles/b5799015ebae3ab9b6712106b3b20ee6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles/cf8fc61992d2a75416894dee46ee5ffe.svg b/docs/images/chapters/circles/cf8fc61992d2a75416894dee46ee5ffe.svg new file mode 100644 index 00000000..c65a49ad --- /dev/null +++ b/docs/images/chapters/circles/cf8fc61992d2a75416894dee46ee5ffe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles/e1fbb58c3730b2f4a378e39c8dc5e61f.svg b/docs/images/chapters/circles/e1fbb58c3730b2f4a378e39c8dc5e61f.svg new file mode 100644 index 00000000..60750b92 --- /dev/null +++ b/docs/images/chapters/circles/e1fbb58c3730b2f4a378e39c8dc5e61f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/046e0bec7cc3d8a502b2f76b4722be2d.svg b/docs/images/chapters/circles_cubic/046e0bec7cc3d8a502b2f76b4722be2d.svg deleted file mode 100644 index a4cb1fd1..00000000 --- a/docs/images/chapters/circles_cubic/046e0bec7cc3d8a502b2f76b4722be2d.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/065efe85cac2f359ea4d5d4bae94da97.svg b/docs/images/chapters/circles_cubic/065efe85cac2f359ea4d5d4bae94da97.svg deleted file mode 100644 index 0eb401c9..00000000 --- a/docs/images/chapters/circles_cubic/065efe85cac2f359ea4d5d4bae94da97.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/0b4c1e8f1f7a9c1292787f127ddb1624.svg b/docs/images/chapters/circles_cubic/0b4c1e8f1f7a9c1292787f127ddb1624.svg deleted file mode 100644 index 9299a7ca..00000000 --- a/docs/images/chapters/circles_cubic/0b4c1e8f1f7a9c1292787f127ddb1624.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.svg b/docs/images/chapters/circles_cubic/2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.svg deleted file mode 100644 index 426522ad..00000000 --- a/docs/images/chapters/circles_cubic/2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/2d9df7ddd2aa223a951016b93d9620c2.svg b/docs/images/chapters/circles_cubic/2d9df7ddd2aa223a951016b93d9620c2.svg deleted file mode 100644 index 6c0e7823..00000000 --- a/docs/images/chapters/circles_cubic/2d9df7ddd2aa223a951016b93d9620c2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/459c037fb92685566d624f81a298e9c8.svg b/docs/images/chapters/circles_cubic/459c037fb92685566d624f81a298e9c8.svg deleted file mode 100644 index a97cca3a..00000000 --- a/docs/images/chapters/circles_cubic/459c037fb92685566d624f81a298e9c8.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/496c0ee8945080a32bc02f78bc83ad43.svg b/docs/images/chapters/circles_cubic/496c0ee8945080a32bc02f78bc83ad43.svg deleted file mode 100644 index c6bc08b5..00000000 --- a/docs/images/chapters/circles_cubic/496c0ee8945080a32bc02f78bc83ad43.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/63f35fb58d3571200ac6ccea0384b9d7.png b/docs/images/chapters/circles_cubic/63f35fb58d3571200ac6ccea0384b9d7.png deleted file mode 100644 index b2f6adb987b929397535963407134428589a212a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13275 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 r%*a0gdxfH}*z \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/8b4e1d0a62380ed011f27c645ed13b28.svg b/docs/images/chapters/circles_cubic/8b4e1d0a62380ed011f27c645ed13b28.svg deleted file mode 100644 index dea287d7..00000000 --- a/docs/images/chapters/circles_cubic/8b4e1d0a62380ed011f27c645ed13b28.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/bc884416145a846cebddc8c5d13f147f.svg b/docs/images/chapters/circles_cubic/bc884416145a846cebddc8c5d13f147f.svg deleted file mode 100644 index 08f5460d..00000000 --- a/docs/images/chapters/circles_cubic/bc884416145a846cebddc8c5d13f147f.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/c509dc6fecd7992cb45a0b4d8f1bd001.svg b/docs/images/chapters/circles_cubic/c509dc6fecd7992cb45a0b4d8f1bd001.svg deleted file mode 100644 index d9bc14e1..00000000 --- a/docs/images/chapters/circles_cubic/c509dc6fecd7992cb45a0b4d8f1bd001.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/d28eb43a1b34befb7659dcdfb3a9e718.svg b/docs/images/chapters/circles_cubic/d28eb43a1b34befb7659dcdfb3a9e718.svg deleted file mode 100644 index 04e8854c..00000000 --- a/docs/images/chapters/circles_cubic/d28eb43a1b34befb7659dcdfb3a9e718.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/ecacec0eb2bbe72e14b9008d854fbb06.png b/docs/images/chapters/circles_cubic/ecacec0eb2bbe72e14b9008d854fbb06.png deleted file mode 100644 index 53a76dc3ae2fef36a47b7acf5834ae83333ffd96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13703 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 CZ@a$$ diff --git a/docs/images/chapters/circles_cubic/eeff3b36af960053cb4eb692abe36cd8.svg b/docs/images/chapters/circles_cubic/eeff3b36af960053cb4eb692abe36cd8.svg deleted file mode 100644 index a5458b6c..00000000 --- a/docs/images/chapters/circles_cubic/eeff3b36af960053cb4eb692abe36cd8.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/chapters/circles_cubic/fa5d308b0b50400fbae1411f390bc7ce.svg b/docs/images/chapters/circles_cubic/fa5d308b0b50400fbae1411f390bc7ce.svg deleted file mode 100644 index 7de57979..00000000 --- a/docs/images/chapters/circles_cubic/fa5d308b0b50400fbae1411f390bc7ce.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/images/snippets/circles/222d374252584ac37d967e3ea0f8f28b.ascii b/docs/images/snippets/circles/222d374252584ac37d967e3ea0f8f28b.ascii new file mode 100644 index 00000000..dc81ed32 --- /dev/null +++ b/docs/images/snippets/circles/222d374252584ac37d967e3ea0f8f28b.ascii @@ -0,0 +1,34 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + d(θ)= |B - P | + t θ + ─ + 2 + ╭ 3 1 ╮ ╭ ╭ θ ╮ ╮ + │ ─ + ─cos(θ) │ │ cos│ ─ │ │ + = |│ 4 4 │ - │ ╰ 2 ╯ │| + │ 1 ╭ θ ╮ 1 │ │ ╭ θ ╮ │ + │ ─tan│ ─ │ + ─sin(θ) │ │ sin│ ─ │ │ + ╰ 2 ╰ 2 ╯ 4 ╯ ╰ ╰ 2 ╯ ╯ + ╭ 3 1 ╭ θ ╮ ╮ + │ ─ + ─cos(θ) - cos│ ─ │ │ + = |│ 4 4 ╰ 2 ╯ │| + │ 1 ╭ θ ╮ 1 ╭ θ ╮ │ + │ ─tan│ ─ │ + ─sin(θ) - sin│ ─ │ │ + ╰ 2 ╰ 2 ╯ 4 ╰ 2 ╯ ╯ + ╭ 4╭ θ ╮ ╮ + │ 2sin │ ─ │ │ + = |│ ╰ 4 ╯ │| + │ 1 ╭ θ ╮ 1 ╭ θ ╮ │ + │ ─tan│ ─ │ + ─sin(θ) - sin│ ─ │ │ + ╰ 2 ╰ 2 ╯ 4 ╰ 2 ╯ ╯ + ┌─────────────────────────────────────────────────────┐ + │╭ 4╭ θ ╮ ╮2 ╭ 1 ╭ θ ╮ 1 ╭ θ ╮ ╮2 + = ││ 2sin │ ─ │ │ + │ ─tan│ ─ │ + ─sin(θ) - sin│ ─ │ │ + ⟍│╰ ╰ 4 ╯ ╯ ╰ 2 ╰ 2 ╯ 4 ╰ 2 ╯ ╯ + + = we give this to Wolfram Alpha because why would we simplify this by hand? + + 4╭ θ ╮ ╭ θ ╮ + = 2sin │ ─ │ · |sec│ ─ │| + ╰ 4 ╯ ╰ 2 ╯ diff --git a/docs/images/snippets/circles/23d4cd81c759c5374773fae149207c5b.ascii b/docs/images/snippets/circles/23d4cd81c759c5374773fae149207c5b.ascii new file mode 100644 index 00000000..b1c3f3a4 --- /dev/null +++ b/docs/images/snippets/circles/23d4cd81c759c5374773fae149207c5b.ascii @@ -0,0 +1,8 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + ╭ 1 2 cos(θ) ╮ ╭ 3 1 ╮ + │ ─ + ─ + ────── │ │ ─ + ─cos(θ) │ + B = │ 4 4 4 │ = │ 4 4 │ + 1 │ 0 2k sin(θ) │ │ 1 ╭ θ ╮ 1 │ + t=─ │ ─ + ── + ────── │ │ ─tan│ ─ │ + ─sin(θ) │ + 2 ╰ 4 4 4 ╯ ╰ 2 ╰ 2 ╯ 4 ╯ diff --git a/docs/images/snippets/circles/474c72b5d1ad5c154d79312c15aee47a.ascii b/docs/images/snippets/circles/474c72b5d1ad5c154d79312c15aee47a.ascii new file mode 100644 index 00000000..0b51cdd6 --- /dev/null +++ b/docs/images/snippets/circles/474c72b5d1ad5c154d79312c15aee47a.ascii @@ -0,0 +1,17 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + 4╭ θ ╮ ╭ θ ╮ + = 2sin │ ─ │ · sec│ ─ │ + ╰ 4 ╯ ╰ 2 ╯ + 4╭ θ ╮ 1 + = 2sin │ ─ │ · ──────── + ╰ 4 ╯ ╭ θ ╮ + cos│ ─ │ + ╰ 2 ╯ + 4╭ θ ╮ + sin │ ─ │ + ╰ 4 ╯ + d(θ)= 2───────── + ╭ θ ╮ + cos│ ─ │ + ╰ 2 ╯ diff --git a/docs/images/snippets/circles/485d678b1d63ed7a4c7c8bb282467f02.ascii b/docs/images/snippets/circles/485d678b1d63ed7a4c7c8bb282467f02.ascii new file mode 100644 index 00000000..679bc7c2 --- /dev/null +++ b/docs/images/snippets/circles/485d678b1d63ed7a4c7c8bb282467f02.ascii @@ -0,0 +1,6 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + P = S + k · (0, 1) = (1,0) + (0,k) + 2 relative to start + P = E + k · (E , -E ) = (cos(θ), sin(θ)) + k · (sin(θ), -cos(θ)) + 2 relative to end y x diff --git a/docs/images/snippets/circles/6e455a6733dbca47acc0a36e7e490ba6.ascii b/docs/images/snippets/circles/6e455a6733dbca47acc0a36e7e490ba6.ascii new file mode 100644 index 00000000..a259346a --- /dev/null +++ b/docs/images/snippets/circles/6e455a6733dbca47acc0a36e7e490ba6.ascii @@ -0,0 +1,9 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + ╭ ┌────────────────┐ ╮ + │ │ ┌─────┐ │ + │ │ │ 2 │ + -1 │ ⟍│2 + ε - ⟍│2ε+ε │ + θ = f(ε) = 4 · cos │ ─────────────────── │ + │ ┌─┐ │ + ╰ ⟍│2 ╯ diff --git a/docs/images/snippets/circles/9e19c65e23c32c802d2d77edb9812122.ascii b/docs/images/snippets/circles/9e19c65e23c32c802d2d77edb9812122.ascii new file mode 100644 index 00000000..277f38bc --- /dev/null +++ b/docs/images/snippets/circles/9e19c65e23c32c802d2d77edb9812122.ascii @@ -0,0 +1,6 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + P = (1, 0) + 1 + P = (cos(θ), sin(θ)) + 3 diff --git a/docs/images/snippets/circles/b5799015ebae3ab9b6712106b3b20ee6.ascii b/docs/images/snippets/circles/b5799015ebae3ab9b6712106b3b20ee6.ascii new file mode 100644 index 00000000..207829d9 --- /dev/null +++ b/docs/images/snippets/circles/b5799015ebae3ab9b6712106b3b20ee6.ascii @@ -0,0 +1,8 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + P = (1,0) + (0,k) = 1 + 2 x x + x + P = (cos(θ), sin(θ)) + k · (sin(θ), -cos(θ)) = cos(θ) + k · sin(θ) + 2 x x + x diff --git a/docs/images/snippets/circles/cf8fc61992d2a75416894dee46ee5ffe.ascii b/docs/images/snippets/circles/cf8fc61992d2a75416894dee46ee5ffe.ascii new file mode 100644 index 00000000..6049e647 --- /dev/null +++ b/docs/images/snippets/circles/cf8fc61992d2a75416894dee46ee5ffe.ascii @@ -0,0 +1,10 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + cos(θ) + k · sin(θ)= 1 + k · sin(θ)= 1 - cos(θ) + 1 - cos(θ) + k= ────────── + sin(θ) + ╭ θ ╮ + k= tan│ ─ │ + ╰ 2 ╯ diff --git a/docs/images/snippets/circles/e1fbb58c3730b2f4a378e39c8dc5e61f.ascii b/docs/images/snippets/circles/e1fbb58c3730b2f4a378e39c8dc5e61f.ascii new file mode 100644 index 00000000..1d1ab917 --- /dev/null +++ b/docs/images/snippets/circles/e1fbb58c3730b2f4a378e39c8dc5e61f.ascii @@ -0,0 +1,5 @@ +\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math + + ╭ ╭ θ ╮ ╮ + P = │ 1, tan│ ─ │ │ + 2 ╰ ╰ 2 ╯ ╯ diff --git a/docs/images/snippets/circles_cubic/046e0bec7cc3d8a502b2f76b4722be2d.ascii b/docs/images/snippets/circles_cubic/046e0bec7cc3d8a502b2f76b4722be2d.ascii deleted file mode 100644 index d221682d..00000000 --- a/docs/images/snippets/circles_cubic/046e0bec7cc3d8a502b2f76b4722be2d.ascii +++ /dev/null @@ -1,8 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - ╭ 4 - │ \vecv = {C,A} = ─ · (B - C ) - ╡ x x 3 x x - │ 4 - │ \vecv = {C,A} = ─ · (B - C ) - ╰ y y 3 y y diff --git a/docs/images/snippets/circles_cubic/065efe85cac2f359ea4d5d4bae94da97.ascii b/docs/images/snippets/circles_cubic/065efe85cac2f359ea4d5d4bae94da97.ascii deleted file mode 100644 index 4980b769..00000000 --- a/docs/images/snippets/circles_cubic/065efe85cac2f359ea4d5d4bae94da97.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - 4 ╭ φ ╮ - C = ┌ cos(φ) + f · sin(φ) ┐ , with f = ─ tan │ ─ │ - 2 └ sin(φ) - f · cos(φ) ┘ 3 ╰ 4 ╯ diff --git a/docs/images/snippets/circles_cubic/0b4c1e8f1f7a9c1292787f127ddb1624.ascii b/docs/images/snippets/circles_cubic/0b4c1e8f1f7a9c1292787f127ddb1624.ascii deleted file mode 100644 index 7902bfe6..00000000 --- a/docs/images/snippets/circles_cubic/0b4c1e8f1f7a9c1292787f127ddb1624.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - C = S + a · \begin{pmatrix} 0 - 1 - 1 \end{pmatrix} diff --git a/docs/images/snippets/circles_cubic/2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.ascii b/docs/images/snippets/circles_cubic/2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.ascii deleted file mode 100644 index 116616fe..00000000 --- a/docs/images/snippets/circles_cubic/2ba4e0e2dbbdf3ea7dbd9cff3e049d0d.ascii +++ /dev/null @@ -1,8 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - ╭ ╭ φ ╮ 2╭ φ ╮ - │ B - C = cos│ ─ │ - cos │ ─ │ - ╡ x x ╰ 2 ╯ ╰ 2 ╯ - │ ╭ φ ╮ φ ╭ φ ╮ ╭ φ ╮ sin(φ) - │ B - C = sin│ ─ │ - cos(─) · sin│ ─ │ = sin│ ─ │ - ────── - ╰ y y ╰ 2 ╯ 2 ╰ 2 ╯ ╰ 2 ╯ 2 diff --git a/docs/images/snippets/circles_cubic/2d9df7ddd2aa223a951016b93d9620c2.ascii b/docs/images/snippets/circles_cubic/2d9df7ddd2aa223a951016b93d9620c2.ascii deleted file mode 100644 index f0e6296a..00000000 --- a/docs/images/snippets/circles_cubic/2d9df7ddd2aa223a951016b93d9620c2.ascii +++ /dev/null @@ -1,4 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - S = (1, 0) , \ C = (1, 0.55228) , \ C = (0.55228 , 1) , \ E = (0, 1) - 1 2 diff --git a/docs/images/snippets/circles_cubic/329dc34299d2fdb3c5f17828e3a23da0.ascii b/docs/images/snippets/circles_cubic/329dc34299d2fdb3c5f17828e3a23da0.ascii deleted file mode 100644 index 62d79a9f..00000000 --- a/docs/images/snippets/circles_cubic/329dc34299d2fdb3c5f17828e3a23da0.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - 4 ╭ φ ╮ - C = ┌ cos(φ) + f · sin(φ) ┐, with f = ─ tan │ ─ │ - 2 └ sin(φ) - f · cos(φ) ┘ 3 ╰ 4 ╯ diff --git a/docs/images/snippets/circles_cubic/38b58b3c759b9bf340a3cf3de8bc599e.ascii b/docs/images/snippets/circles_cubic/38b58b3c759b9bf340a3cf3de8bc599e.ascii deleted file mode 100644 index f8b6ebea..00000000 --- a/docs/images/snippets/circles_cubic/38b58b3c759b9bf340a3cf3de8bc599e.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - 4 ╭ φ ╮ - C = ┌ 1 ┐, with f = ─ tan │ ─ │ - 1 └ f ┘ 3 ╰ 4 ╯ diff --git a/docs/images/snippets/circles_cubic/459c037fb92685566d624f81a298e9c8.ascii b/docs/images/snippets/circles_cubic/459c037fb92685566d624f81a298e9c8.ascii deleted file mode 100644 index 2c16d5aa..00000000 --- a/docs/images/snippets/circles_cubic/459c037fb92685566d624f81a298e9c8.ascii +++ /dev/null @@ -1,18 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - E' = -sin(φ) , - x - E' = cos(φ) , - y - ┌────────────────────┐ - │ 2 2 - ||E'|| = ⟍│(-sin(φ)) + cos (φ) = 1 , - - ╭ E ' - │ x 4 ╭ φ ╮ - │ C x = E - C · ────── = cos(φ) + C · sin(φ) = cos(φ) + ─ tan │ ─ │ · sin(φ) - ╡ 2 x 1y ||E'|| 1y 3 ╰ 4 ╯ - │ E ' - │ y 4 ╭ φ ╮ - │ C y = E - C · ────── = sin(φ) - C · cos(φ) = sin(φ) - ─ tan │ ─ │ · cos(φ) - ╰ 2 y 1y ||E'|| 1y 3 ╰ 4 ╯ diff --git a/docs/images/snippets/circles_cubic/496c0ee8945080a32bc02f78bc83ad43.ascii b/docs/images/snippets/circles_cubic/496c0ee8945080a32bc02f78bc83ad43.ascii deleted file mode 100644 index 1c87ca6d..00000000 --- a/docs/images/snippets/circles_cubic/496c0ee8945080a32bc02f78bc83ad43.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - 4 ╭ φ ╮ - C = ┌ 1 ┐ , with f = ─ tan │ ─ │ - 1 └ f ┘ 3 ╰ 4 ╯ diff --git a/docs/images/snippets/circles_cubic/6a14e5a71dd9e0cefe158640eabb8696.ascii b/docs/images/snippets/circles_cubic/6a14e5a71dd9e0cefe158640eabb8696.ascii deleted file mode 100644 index c3569488..00000000 --- a/docs/images/snippets/circles_cubic/6a14e5a71dd9e0cefe158640eabb8696.ascii +++ /dev/null @@ -1,6 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - ╭ ┌─┐ ╮ ╭ ┌─┐ ╮ - │ ⟍│2 -1 │ │ ⟍│2 -1 │ - S = (1, 0) , \ C = │ 1, 4 ────── │ , \ C = │ 4 ────── , 1 │ , \ E = (0, 1) - 1 ╰ 3 ╯ 2 ╰ 3 ╯ diff --git a/docs/images/snippets/circles_cubic/750e2c874fb58237608ebade1589fccc.ascii b/docs/images/snippets/circles_cubic/750e2c874fb58237608ebade1589fccc.ascii deleted file mode 100644 index 73dc9973..00000000 --- a/docs/images/snippets/circles_cubic/750e2c874fb58237608ebade1589fccc.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - ╭ 1 ╮ 1 4 - ||A,C|| = d + d = d + d · ratio │ ─ │ = d + ─d = ─d - 2 1 2 2 3 ╰ 2 ╯ 2 3 2 3 2 diff --git a/docs/images/snippets/circles_cubic/8b4e1d0a62380ed011f27c645ed13b28.ascii b/docs/images/snippets/circles_cubic/8b4e1d0a62380ed011f27c645ed13b28.ascii deleted file mode 100644 index 32b2c66c..00000000 --- a/docs/images/snippets/circles_cubic/8b4e1d0a62380ed011f27c645ed13b28.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - φ φ - P = cos(─) , \ P = sin(─) - x 2 y 2 diff --git a/docs/images/snippets/circles_cubic/bc884416145a846cebddc8c5d13f147f.ascii b/docs/images/snippets/circles_cubic/bc884416145a846cebddc8c5d13f147f.ascii deleted file mode 100644 index 6c2cd4ca..00000000 --- a/docs/images/snippets/circles_cubic/bc884416145a846cebddc8c5d13f147f.ascii +++ /dev/null @@ -1,11 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - φ - l = cos(─) , - 2 - ╭ ╭ φ ╮ 2╭ φ ╮ - │ C = l · cos│ ─ │ = cos │ ─ │ , - ╡ x ╰ 2 ╯ ╰ 2 ╯ - │ ╭ φ ╮ φ ╭ φ ╮ - │ C = l · sin│ ─ │ = cos(─) · sin│ ─ │ , - ╰ y ╰ 2 ╯ 2 ╰ 2 ╯ diff --git a/docs/images/snippets/circles_cubic/c509dc6fecd7992cb45a0b4d8f1bd001.ascii b/docs/images/snippets/circles_cubic/c509dc6fecd7992cb45a0b4d8f1bd001.ascii deleted file mode 100644 index d11e31d6..00000000 --- a/docs/images/snippets/circles_cubic/c509dc6fecd7992cb45a0b4d8f1bd001.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - ╭ 1 ╮ 1 4 - ||A,C|| = d + d = d + d · ratio │ ─ │ = d + ─d = ─d - 2 1 2 2 3 ╰ 2 ╯ 2 3 2 3 2 diff --git a/docs/images/snippets/circles_cubic/d28eb43a1b34befb7659dcdfb3a9e718.ascii b/docs/images/snippets/circles_cubic/d28eb43a1b34befb7659dcdfb3a9e718.ascii deleted file mode 100644 index 0ec63018..00000000 --- a/docs/images/snippets/circles_cubic/d28eb43a1b34befb7659dcdfb3a9e718.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - C = E + a · \begin{pmatrix} sin(φ) - 2 - cos(φ) \end{pmatrix} diff --git a/docs/images/snippets/circles_cubic/eeff3b36af960053cb4eb692abe36cd8.ascii b/docs/images/snippets/circles_cubic/eeff3b36af960053cb4eb692abe36cd8.ascii deleted file mode 100644 index 46a53bf1..00000000 --- a/docs/images/snippets/circles_cubic/eeff3b36af960053cb4eb692abe36cd8.ascii +++ /dev/null @@ -1,5 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - S = \begin{pmatrix} 1 - 0 \end{pmatrix} , \ E = \begin{pmatrix} cos(φ) - sin(φ) \end{pmatrix} diff --git a/docs/images/snippets/circles_cubic/fa5d308b0b50400fbae1411f390bc7ce.ascii b/docs/images/snippets/circles_cubic/fa5d308b0b50400fbae1411f390bc7ce.ascii deleted file mode 100644 index 1a851d76..00000000 --- a/docs/images/snippets/circles_cubic/fa5d308b0b50400fbae1411f390bc7ce.ascii +++ /dev/null @@ -1,12 +0,0 @@ -\setmainfont[Ligatures=TeX]TeX Gyre Pagella \setmathfontTeX Gyre Pagella Math - - ╭ C = 1 - │ 1x - │ ┌───────────────┐ - │ │ 2 2 - ╡ │\vecv + \vecv - │ d ⟍│ x y 4 ╭ φ ╮ - │ C = ──────── = ────────────────── = ─ tan │ ─ │ - │ 1y ╭ φ ╮ ╭ φ ╮ 3 ╰ 4 ╯ - │ sin│ ─ │ sin│ ─ │ - ╰ ╰ 2 ╯ ╰ 2 ╯ diff --git a/docs/index.html b/docs/index.html index ecc8e873..57507732 100644 --- a/docs/index.html +++ b/docs/index.html @@ -38,7 +38,7 @@ - + @@ -167,25 +167,26 @@ sponsoring the site! I am more than happy to work with your finance department on sponsorship invoicing and recognition.

-
+
@@ -5894,13 +5895,9 @@ lli = function(line1, line2): >,C2.2). -
  • - For each pair, check whether their bounding boxes overlap. -
      -
    1. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
    2. -
    3. If there is overlap, rerun all steps for this pair.
    4. -
    -
  • +
  • For each pair, check whether their bounding boxes overlap.
  • +
  • If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
  • +
  • If there is overlap, rerun all steps for this pair.
  • Once the sub-curves we form are so small that they effectively occupy sub-pixel areas, we consider an intersection found, noting that we might have a cluster of multiple intersections at the sub-pixel level, out of which we pick one to act as "found" t value @@ -9577,13 +9574,13 @@ radialError(radius, points[]):

    1. We start with low=0, mid=0.5 and high=1
    2. -
    3. - That'll fail, so we retry with the interval halved: {0, 0.25, 0.5} -
        -
      • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
      • -
      • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
      • -
      -
    4. +
    5. That'll fail, so we retry with the interval halved: {0, 0.25, 0.5}
    6. +
    +
      +
    • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
    • +
    • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
    • +
    +
    1. We keep doing this over and over until we have two arcs, in sequence, of which the first arc is good, and the second arc is bad. When we find that pair, we've found the boundary between a good approximation and a bad approximation, and we pick the good arc. diff --git a/docs/ja-JP/index.html b/docs/ja-JP/index.html index cfcae011..ee6426db 100644 --- a/docs/ja-JP/index.html +++ b/docs/ja-JP/index.html @@ -41,7 +41,7 @@ - + @@ -170,25 +170,26 @@ sponsoring the site! I am more than happy to work with your finance department on sponsorship invoicing and recognition.

      -
      -
      -

      - Bitcoin donations: -

      -

      - If you prefer to donate via Bitcoin, you can donate either directly to - 3GY1HbQ2cH9V4xBLnRYdEfc42Nd1ZyjLZu - or use the QR code on the right, if that's the kind of convenience you prefer =) -

      -
      -
      - - - -
      -
      +
      @@ -6000,13 +6001,9 @@ lli = function(line1, line2): >,C2.2).
    2. -
    3. - For each pair, check whether their bounding boxes overlap. -
        -
      1. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
      2. -
      3. If there is overlap, rerun all steps for this pair.
      4. -
      -
    4. +
    5. For each pair, check whether their bounding boxes overlap.
    6. +
    7. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
    8. +
    9. If there is overlap, rerun all steps for this pair.
    10. Once the sub-curves we form are so small that they effectively occupy sub-pixel areas, we consider an intersection found, noting that we might have a cluster of multiple intersections at the sub-pixel level, out of which we pick one to act as "found" t value @@ -9795,13 +9792,13 @@ radialError(radius, points[]):

      1. We start with low=0, mid=0.5 and high=1
      2. -
      3. - That'll fail, so we retry with the interval halved: {0, 0.25, 0.5} -
          -
        • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
        • -
        • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
        • -
        -
      4. +
      5. That'll fail, so we retry with the interval halved: {0, 0.25, 0.5}
      6. +
      +
        +
      • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
      • +
      • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
      • +
      +
      1. We keep doing this over and over until we have two arcs, in sequence, of which the first arc is good, and the second arc is bad. When we find that pair, we've found the boundary between a good approximation and a bad approximation, and we pick the good arc. diff --git a/docs/news/2020-09-18.html b/docs/news/2020-09-18.html index 4dc411f5..97cdc80c 100644 --- a/docs/news/2020-09-18.html +++ b/docs/news/2020-09-18.html @@ -33,8 +33,8 @@ - - + + diff --git a/docs/news/2020-11-22.html b/docs/news/2020-11-22.html index 3eda705f..865a39ce 100644 --- a/docs/news/2020-11-22.html +++ b/docs/news/2020-11-22.html @@ -33,8 +33,8 @@ - - + + diff --git a/docs/news/index.html b/docs/news/index.html index 9982e13a..4ab842ed 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -33,7 +33,7 @@ - + diff --git a/docs/news/rss.xml b/docs/news/rss.xml index 6db19b96..0fc958ad 100644 --- a/docs/news/rss.xml +++ b/docs/news/rss.xml @@ -6,7 +6,7 @@ News updates for the primer on Bézier Curves by Pomax en-GB - Sat Jun 05 2021 23:23:15 +00:00 + Mon Jun 07 2021 08:09:41 +00:00 https://pomax.github.io/bezierinfo/images/og-image.png A Primer on Bézier Curves @@ -23,7 +23,7 @@ <p>— <a href="https://twitter.com/TheRealPomax">Pomax</a></p> - Sun Nov 22 2020 00:00:00 +00:00 + Sat Nov 21 2020 16:00:00 +00:00 2020-11-22.html Rewriting the tech stack @@ -119,7 +119,7 @@ draw() { <p>— <a href="https://twitter.com/TheRealPomax">Pomax</a></p> - Fri Sep 18 2020 00:00:00 +00:00 + Thu Sep 17 2020 17:00:00 +00:00 2020-09-18.html diff --git a/docs/ru-RU/index.html b/docs/ru-RU/index.html index bf102fc0..61d4050e 100644 --- a/docs/ru-RU/index.html +++ b/docs/ru-RU/index.html @@ -34,7 +34,7 @@ - + @@ -157,25 +157,26 @@ счастливой жизни этого ресурса.

        -
        -
        -

        - Bitcoin donations: -

        -

        - If you prefer to donate via Bitcoin, you can donate either directly to - 3GY1HbQ2cH9V4xBLnRYdEfc42Nd1ZyjLZu - or use the QR code on the right, if that's the kind of convenience you prefer =) -

        -
        -
        - - - -
        -
        +
        @@ -6157,13 +6158,9 @@ lli = function(line1, line2): >,C2.2).
      2. -
      3. - For each pair, check whether their bounding boxes overlap. -
          -
        1. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
        2. -
        3. If there is overlap, rerun all steps for this pair.
        4. -
        -
      4. +
      5. For each pair, check whether their bounding boxes overlap.
      6. +
      7. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
      8. +
      9. If there is overlap, rerun all steps for this pair.
      10. Once the sub-curves we form are so small that they effectively occupy sub-pixel areas, we consider an intersection found, noting that we might have a cluster of multiple intersections at the sub-pixel level, out of which we pick one to act as "found" t value @@ -9952,13 +9949,13 @@ radialError(radius, points[]):

        1. We start with low=0, mid=0.5 and high=1
        2. -
        3. - That'll fail, so we retry with the interval halved: {0, 0.25, 0.5} -
            -
          • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
          • -
          • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
          • -
          -
        4. +
        5. That'll fail, so we retry with the interval halved: {0, 0.25, 0.5}
        6. +
        +
          +
        • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
        • +
        • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
        • +
        +
        1. We keep doing this over and over until we have two arcs, in sequence, of which the first arc is good, and the second arc is bad. When we find that pair, we've found the boundary between a good approximation and a bad approximation, and we pick the good arc. diff --git a/docs/uk-UA/index.html b/docs/uk-UA/index.html index 606a37f8..f6696765 100644 --- a/docs/uk-UA/index.html +++ b/docs/uk-UA/index.html @@ -39,7 +39,7 @@ - + @@ -161,25 +161,26 @@ багато буде потрібно. Тому, якщо можете допомогти з кавою, то можете бути впевнені, що цей ресурс буде підтримуватися ще довго!

          -
          -
          -

          - Bitcoin donations: -

          -

          - If you prefer to donate via Bitcoin, you can donate either directly to - 3GY1HbQ2cH9V4xBLnRYdEfc42Nd1ZyjLZu - or use the QR code on the right, if that's the kind of convenience you prefer =) -

          -
          -
          - - - -
          -
          +
          @@ -6131,13 +6132,9 @@ lli = function(line1, line2): >,C2.2).
        2. -
        3. - For each pair, check whether their bounding boxes overlap. -
            -
          1. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
          2. -
          3. If there is overlap, rerun all steps for this pair.
          4. -
          -
        4. +
        5. For each pair, check whether their bounding boxes overlap.
        6. +
        7. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
        8. +
        9. If there is overlap, rerun all steps for this pair.
        10. Once the sub-curves we form are so small that they effectively occupy sub-pixel areas, we consider an intersection found, noting that we might have a cluster of multiple intersections at the sub-pixel level, out of which we pick one to act as "found" t value @@ -9926,13 +9923,13 @@ radialError(radius, points[]):

          1. We start with low=0, mid=0.5 and high=1
          2. -
          3. - That'll fail, so we retry with the interval halved: {0, 0.25, 0.5} -
              -
            • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
            • -
            • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
            • -
            -
          4. +
          5. That'll fail, so we retry with the interval halved: {0, 0.25, 0.5}
          6. +
          +
            +
          • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
          • +
          • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
          • +
          +
          1. We keep doing this over and over until we have two arcs, in sequence, of which the first arc is good, and the second arc is bad. When we find that pair, we've found the boundary between a good approximation and a bad approximation, and we pick the good arc. diff --git a/docs/zh-CN/index.html b/docs/zh-CN/index.html index cc71ebd3..48f35f8b 100644 --- a/docs/zh-CN/index.html +++ b/docs/zh-CN/index.html @@ -41,7 +41,7 @@ - + @@ -170,25 +170,26 @@ sponsoring the site! I am more than happy to work with your finance department on sponsorship invoicing and recognition.

            -
            -
            -

            - Bitcoin donations: -

            -

            - If you prefer to donate via Bitcoin, you can donate either directly to - 3GY1HbQ2cH9V4xBLnRYdEfc42Nd1ZyjLZu - or use the QR code on the right, if that's the kind of convenience you prefer =) -

            -
            -
            - - - -
            -
            +
            @@ -5976,13 +5977,9 @@ lli = function(line1, line2): >,C2.2).
          2. -
          3. - For each pair, check whether their bounding boxes overlap. -
              -
            1. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
            2. -
            3. If there is overlap, rerun all steps for this pair.
            4. -
            -
          4. +
          5. For each pair, check whether their bounding boxes overlap.
          6. +
          7. If their bounding boxes do not overlap, discard the pair, as there is no intersection between this pair of curves.
          8. +
          9. If there is overlap, rerun all steps for this pair.
          10. Once the sub-curves we form are so small that they effectively occupy sub-pixel areas, we consider an intersection found, noting that we might have a cluster of multiple intersections at the sub-pixel level, out of which we pick one to act as "found" t value @@ -9771,13 +9768,13 @@ radialError(radius, points[]):

            1. We start with low=0, mid=0.5 and high=1
            2. -
            3. - That'll fail, so we retry with the interval halved: {0, 0.25, 0.5} -
                -
              • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
              • -
              • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
              • -
              -
            4. +
            5. That'll fail, so we retry with the interval halved: {0, 0.25, 0.5}
            6. +
            +
              +
            • If that arc's good, we move back up by half distance: {0, 0.375, 0.75}.
            • +
            • However, if the arc was still bad, we move down by half the distance: {0, 0.125, 0.25}.
            • +
            +
            1. We keep doing this over and over until we have two arcs, in sequence, of which the first arc is good, and the second arc is bad. When we find that pair, we've found the boundary between a good approximation and a bad approximation, and we pick the good arc.