From 7c530fee563481da25783644d470408c33d2e43c Mon Sep 17 00:00:00 2001 From: Pomax Date: Sat, 19 Sep 2020 12:29:43 -0700 Subject: [PATCH] graphics-api docs --- docs/chapters/arclength/draw-slices.js | 2 +- docs/chapters/circles/arc-approximation.js | 2 +- .../circles_cubic/arc-approximation.js | 2 +- docs/chapters/curvature/curvature.js | 2 +- docs/chapters/reordering/reorder.js | 4 +- .../4b5d220d02b08f6c9aa19389255ef8bb.png | Bin 12362 -> 0 bytes .../4bffba7dda2a3556cf5b2ae7392083c6.png | Bin 11549 -> 0 bytes .../56533f47e73ad9fea08fa9bb3f597d49.png | Bin 0 -> 11020 bytes .../5ce02cbdbc47585c588f2656d5161a32.png | Bin 0 -> 11548 bytes .../dc74a2f2da19470b8d721ece5f3ce268.png | Bin 11010 -> 0 bytes .../fe2663b205d14c157a5a02bfbbd55987.png | Bin 0 -> 12343 bytes .../08ca09aacb271735e063e7e8d941a195.png | Bin 0 -> 12174 bytes .../8c2eb77bfd11231393a77e72f03ebe83.png | Bin 0 -> 12374 bytes .../331f3f89b1dac9e1e60f61c5d95f9e5b.png | Bin 0 -> 13754 bytes .../ecacec0eb2bbe72e14b9008d854fbb06.png | Bin 0 -> 13703 bytes .../5fcfb0572cae06717506c84768aa568c.png | Bin 51683 -> 0 bytes .../78581fc4b36f2e45c704a4fce7c8368a.png | Bin 0 -> 17741 bytes .../7898e3a51a86afffd1a91ce0fcc99b26.png | Bin 0 -> 17817 bytes .../876d7b2750d7c29068ac6181c3634d25.png | Bin 105629 -> 0 bytes .../71f47629388901b821976e034be159e4.png | Bin 10971 -> 0 bytes .../c37918c649befad06de255a6415faf29.png | Bin 0 -> 11726 bytes docs/index.html | 18 +- docs/ja-JP/index.html | 18 +- docs/js/custom-element/api/README.md | 337 ++++++++++++++++++ docs/js/custom-element/api/graphics-api.js | 81 +++-- docs/js/custom-element/api/types/bezier.js | 4 +- docs/js/custom-element/api/types/bspline.js | 25 -- docs/js/custom-element/api/types/matrix.js | 4 +- docs/js/custom-element/api/util/shape.js | 4 +- docs/news/2020-09-20.html | 2 +- docs/zh-CN/index.html | 18 +- 31 files changed, 420 insertions(+), 103 deletions(-) delete mode 100644 docs/images/chapters/arclength/4b5d220d02b08f6c9aa19389255ef8bb.png delete mode 100644 docs/images/chapters/arclength/4bffba7dda2a3556cf5b2ae7392083c6.png create mode 100644 docs/images/chapters/arclength/56533f47e73ad9fea08fa9bb3f597d49.png create mode 100644 docs/images/chapters/arclength/5ce02cbdbc47585c588f2656d5161a32.png delete mode 100644 docs/images/chapters/arclength/dc74a2f2da19470b8d721ece5f3ce268.png create mode 100644 docs/images/chapters/arclength/fe2663b205d14c157a5a02bfbbd55987.png create mode 100644 docs/images/chapters/circles/08ca09aacb271735e063e7e8d941a195.png create mode 100644 docs/images/chapters/circles/8c2eb77bfd11231393a77e72f03ebe83.png create mode 100644 docs/images/chapters/circles_cubic/331f3f89b1dac9e1e60f61c5d95f9e5b.png create mode 100644 docs/images/chapters/circles_cubic/ecacec0eb2bbe72e14b9008d854fbb06.png delete mode 100644 docs/images/chapters/curvature/5fcfb0572cae06717506c84768aa568c.png create mode 100644 docs/images/chapters/curvature/78581fc4b36f2e45c704a4fce7c8368a.png create mode 100644 docs/images/chapters/curvature/7898e3a51a86afffd1a91ce0fcc99b26.png delete mode 100644 docs/images/chapters/curvature/876d7b2750d7c29068ac6181c3634d25.png delete mode 100644 docs/images/chapters/reordering/71f47629388901b821976e034be159e4.png create mode 100644 docs/images/chapters/reordering/c37918c649befad06de255a6415faf29.png create mode 100644 docs/js/custom-element/api/README.md diff --git a/docs/chapters/arclength/draw-slices.js b/docs/chapters/arclength/draw-slices.js index ac1c0bc9..be14500e 100644 --- a/docs/chapters/arclength/draw-slices.js +++ b/docs/chapters/arclength/draw-slices.js @@ -33,7 +33,7 @@ drawSlices(w, h, a, n) { let area = 0; let step = w/n; for(let i=0, f=TAU/w, c, y; i 50) setStroke(c); setFill(c); y = sin((i+step/2) * f) * a; diff --git a/docs/chapters/circles/arc-approximation.js b/docs/chapters/circles/arc-approximation.js index 8faeef3a..2dc4236d 100644 --- a/docs/chapters/circles/arc-approximation.js +++ b/docs/chapters/circles/arc-approximation.js @@ -25,7 +25,7 @@ draw() { noStroke(); setFill(`rgba(100,255,100,0.4)`); let a = this.angle; - arc(w/2, h/2, r, a < 0 ? a : 0, a < 0 ? 0 : a, w/2, h/2); + wedge(w/2, h/2, r, a < 0 ? a : 0, a < 0 ? 0 : a); curve.drawSkeleton(); curve.drawCurve(); diff --git a/docs/chapters/circles_cubic/arc-approximation.js b/docs/chapters/circles_cubic/arc-approximation.js index f78d49be..a6d3b363 100644 --- a/docs/chapters/circles_cubic/arc-approximation.js +++ b/docs/chapters/circles_cubic/arc-approximation.js @@ -26,7 +26,7 @@ draw() { noStroke(); setFill(`rgba(100,255,100,0.4)`); let a = this.angle; - arc(w/2, h/2, r, a < 0 ? a : 0, a < 0 ? 0 : a, w/2, h/2); + wedge(w/2, h/2, r, a < 0 ? a : 0, a < 0 ? 0 : a); guess.drawSkeleton(`lightblue`); guess.drawCurve(`lightblue`); diff --git a/docs/chapters/curvature/curvature.js b/docs/chapters/curvature/curvature.js index 8a33c1b3..1b165c43 100644 --- a/docs/chapters/curvature/curvature.js +++ b/docs/chapters/curvature/curvature.js @@ -53,7 +53,7 @@ computeCurvature(curve, t) { dd = curve.dderivative(t), num = d.x * dd.y - d.y * dd.x, qdsum = d.x * d.x + d.y * d.y, - dnm = pow(qdsum, 3 / 2); + dnm = qdsum ** 3/2; if (num === 0 || dnm === 0) return 0; diff --git a/docs/chapters/reordering/reorder.js b/docs/chapters/reordering/reorder.js index 17203f0b..82e3102a 100644 --- a/docs/chapters/reordering/reorder.js +++ b/docs/chapters/reordering/reorder.js @@ -5,8 +5,8 @@ setup() { h = this.height; for (let i=0; i<10; i++) { points.push({ - x: w/2 + random() * 20 + cos(PI*2 * i/10) * (w/2 - 40), - y: h/2 + random() * 20 + sin(PI*2 * i/10) * (h/2 - 40) + x: w/2 + random(20) + cos(PI*2 * i/10) * (w/2 - 40), + y: h/2 + random(20) + sin(PI*2 * i/10) * (h/2 - 40) }); } setMovable(points); diff --git a/docs/images/chapters/arclength/4b5d220d02b08f6c9aa19389255ef8bb.png b/docs/images/chapters/arclength/4b5d220d02b08f6c9aa19389255ef8bb.png deleted file mode 100644 index 27d044eb8b953e66e04aadb417726b0b7108e381..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12362 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 S3H)&Yl9ZUdXsNKF|Nj7tps&LK diff --git a/docs/images/chapters/arclength/4bffba7dda2a3556cf5b2ae7392083c6.png b/docs/images/chapters/arclength/4bffba7dda2a3556cf5b2ae7392083c6.png deleted file mode 100644 index 7f9a3c61540b96c68e666efd6441ed86f20c5f67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11549 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/arclength/5ce02cbdbc47585c588f2656d5161a32.png b/docs/images/chapters/arclength/5ce02cbdbc47585c588f2656d5161a32.png new file mode 100644 index 0000000000000000000000000000000000000000..5baa02237775cd4c65493a74e9f35625c54a70ab GIT binary patch literal 11548 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 TCw2j}J40T`tIJi%n1}vfzv&qa literal 0 HcmV?d00001 diff --git a/docs/images/chapters/arclength/dc74a2f2da19470b8d721ece5f3ce268.png b/docs/images/chapters/arclength/dc74a2f2da19470b8d721ece5f3ce268.png deleted file mode 100644 index 78fd5a68d33dfc9b4ac392d65899e0ed116660f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11010 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�F8C-FrW)kU(s} ziaOeA3nFmX$S?Gvr2e(A<9Ljo!I!!^KazQ&{{iaLuw?Aqer^);`y-B7vDM)^n6fkX z`W9!SQkl$gaw;lvIOsP^MKQ-Da|3FtSw|m0II)>me4p;c&DSWJwlrZ@DYzZKZ}+b% z1?87mkdKNgf`rBPO_l?qR+INJ^}Uz+IlTo+1x(rqH&*U>uind}Cdu>*N(0`yjJ^AiOVThxRp3FUx<2e3xU3H zB*6;{ny5_InOg3AcYxUGQ=hCbdO$2Th1I~G- zt<4hbkQ9CQi4;rP^e^7g$Hd~MsA&T)f&s~e%Ni^k!$qlsHLLOM393@yimpzKh9O$D z50;kRXbq+lri;#$DT_&ALE;>br%=noaz=9^2Lm4GE|2(oXwzRfWSs$AmRtS++?Au@ zAe!JaK(%1zkbpoh?3QB_*?R;4v|k6!&rJ*Szj3wz?hxDLz7Wio5pd~KrTE=kt=_xxmXJXLFTIP;C;=P~uuqw;?I7Waj3m~cRc z1`xK#Xouq|7FV=Ynfk~`mZ$ScdZ)VHy#*f}>&ey>e)WrW=7WoeoNp+*vt^L>{=A|K zP+Dm$$iT?=IPFV1iP_7uAto|bK*EMG(rTVR%(hsV=WE{_`t4I~OCzqUcCyVwIKMU7 z7DB}Or0Kk8HfcB;$7K_GU0OrxjtoXg(2#_x0fNi%V!XgRaY-4<#@&${zXQ$aKHSPX zXX{Yk6Wc=j$6p_yP#K|L76k3?xo)MzO#f=r-T8=vV&)}tL%+~`3lv`lihc&UA(j`@ z*@4>I^!zEl6y+9r#^?|DAX<`l)Q48$ zp6lk@MmJk$6==GMWcrzU$ye>%*9xBivdh`2Z<(DvHkHuR6V=i1g}24YNue$0m01A+ zd~@8Nx<-|m%oM0A{!reKTj3DIjhAyIaWIuUKaMC0^<6SWz4D)WeF;+6?1PvUe9R%tO)U*;u)Xqwx}Z zVVF}i-C729izDXx$Fty2kLX_bPXM0E`**$at;n~f1W@^6Q~X0FcVoW9JKP40!aZ!d z@|7qJMuSNrfNmM}NTdVm!T(HP{om-W|Knlcb8gkn5H>)s0Z5)T02MMIKo%8NG7A4c z>AC;ob^mXo@PA+A2ufK5sGTFz(*BV=YhoP%&>8j43SaQ!|6W!8?+g5+L0`SWnF&Ev VQQ=KI0|fS<*RsmcGHJt4{{z4ytUv$& literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles/8c2eb77bfd11231393a77e72f03ebe83.png b/docs/images/chapters/circles/8c2eb77bfd11231393a77e72f03ebe83.png new file mode 100644 index 0000000000000000000000000000000000000000..dff2fb43b97f6cddd769028f4c405e786ee2ac4d GIT binary patch literal 12374 zcmdUWWmHvR+vWiYY3Z&5C?%kD*FhSjK?!N;?k+hrh)6dQA|=u#ElPKHcX!Og`~CUW znwdYd=Eux(vE1yn_kQBOpF6JWBJ8b_G!{A;Is^j2l9hp}LLdmSk3UaQz#ab2oRUSgG{XmSXB903~#?=``kMoH`f2xYm4yDD=S->cWi2^yo5v`JI+~H*NFR)$b4%MDng-F znZ8(8F=kZ35!A4e(Ezpg-@js2aWdr<3n6eXjXPri0SbjW3LwMb@Jp%3YhM+AaBV<9 z1BEUV|4+At`1$$g#SDU>%SfWPhfg45#acDGVKVOFvNAG9qj1OaB+_!5MeObZ4Lw%7q^8`?Ems@&zy)a;=)5x ze+x1;!D17@HFriAOXmMW3+)Arw=Kk(E z<7>{PO9vT6hC0ocg=*bMVyd67Zn&)iyNv^(ui^@Kt)2XQn@Q<-i5vC#JV$3U)3HKv zB+Z_Wz2;PeXcV81)JBnsSDFnrdi1<^{2Ap(8RxI&FSE+;h{R*1q z`%vL#XZ4unn|j^d(Zg5UbfxZm7+X;*#o24kyV={_$l>T7VuI^PhYP>1+pxv7q zY5aJ9UNcxh*U=H{wM%k@AT%Jn3zJID{rdH#;h$$p6oPM}^63Bk;SjGkK@+;9>FD@P zsP)@4F&Q%K8LpiNi5ooj>`UqV%fzpgLT?>eJ#tcebG&cXwq3S#I$sGTAqJeFG3rs==0ouB8)>e?&He1JGm%%@?b^On8n0|8%V|m3!i-iAO z4NuK`J8tt3pW`sJWyAK~q1iF5_QCAu&Rk;*;`xxcMMg${xA}kxgV4^1Y(?_gbuv!M zk=lyA?KE0i1h%@4+52lPr}2qYyS6#ERL+*`3*LwIyPKI(bqeM{Ehq!4&mH%y8}*og z8;>+e$-89aqXd>duE;hz_Y|&I4_z!;ZQ+E2ImilWPfOm%9~OuvtHGrZ!K5|Zj`NZ; z>R0h<7ZLyT(0c9bI;Cts!AZ)+K`U|U59o>S+iJxiO0qJkcjew;I9X4A;EZDi4*t-5 zjs9GLtXm2L|X3}{5Vf}i?@Y?yZlYKG6>%)f9%$O_^ zaND)J4N79*((xyIJ~;@V({sC;#^5%tV^+`;d}XZFg7KujgB-Yn;k9+FkdR+?!3O%Mqx2 z2t@8Dt$CehY$yahUVCqkxNnEC5%py%|3xNFvWTd2>QlU7maV|1>>cPRE^BKG8O(lC zanNMmz>M}}`fo>{$la)J9R;D(c?A1s$EA>Jme2O%Wtnw8_xwjKcQ1u5C=^mrEG(*7 z@a3J6mfxUaCvn=L;PAZ9FVj~v+~}_^{wy<8LauYrVyCpxeCv2pdAj19SsQ`ap%@0G|B)zJ^hTSxGFn?5j@vEvXD?D{f+*^tBv*W z^Hb*&&VqkWD3lSFP5vdORu-Kf@TNa-=`pmf9wlW~u(xoDI_cH_HqV?Yl?#+XScY{< zQ_@MdW!{^d^L{s2aMf5Q!Xit`tdouZ@aI|WfyiFj+FSHz1yhYvr>m27BfECaecaV7 zcs18&WqkvSUtbP330lvXH9*lgkl|_sL~W8dts%rIZoVh$;+Eg{zIW_dPJF7F5A-_V z-mwRsSc%YyOF*M^xbPrRrk_91PHeDQDA_i^J&}Z=wcye1Tsm7b;3|a&L64QGu})5= z+MFX7xgB&)!AFzsOG)lBrW8y;K2Kn=(W2MLgM_K;vkM&s^V=Lp@hTX4bUz17m}T*R-F_j!U>YW5^*@aPwuD!SS_K*Z-mFG;0v znCl>6O;|L~o}+X$R}02W%}l9`TsC*CeSDl@v=EgaMQKC7D>u}2&WnAt*xa*%T_2ND zV6s$3DHnqFLO!vr+|Z0=_x{dCiw=+KO$<*u4tvw+Zv9|o!Cv^PbV?gKvHaKHaNKnv z_mEH-SuI_|(jcE)%V(cGIPA z!0GV8Aa3j9ZJ)7|oG7g>#znK++T!pNL7vc+QjkEzB>B())f&NtD;_jk_5bpG@EMVM z3u7M7MV-I0JL*oPapfKQ zGxGZrYLLAv87G?>z%-z$?XHRCR@X@9id4qcVsWu*{=x6wpkR_AJzR$J*XY4+RiiA` z1q;XxL|w=i=D25d{aI+gLD0T6dG*=msuiR-O-tp;kqttIhcCA)UYSIbW8PfMu=QvV z(9kXe2Mq2CM$1nqfUD~WZ{td0&Qr}z9WRbiP`-LLI>%u`K$9JtC_Q|*WIttUKVt({ z?GX7fr%2fc(wM0CcbvRF-f8X`pU1GH>3$Xjji-$GO;lTIie-K&j6REO=qZj_`_L_} zi9ixBf^o?KtiGbE~~6$ST(xL}kgMAIP9qOxr6Y~Qa*9rZpB}^H$U9DSC?f*T)edLz*9hv{V-LFYuhxY zYcpRM2X>6&WrF(hWzk(pjpj>i;d`%hVa}mn-3eJ>==O_+R4ZY#UjOqw;3UiLR6-0f z5|9)w!wX|x2lw3%e|mqZCAAm5@XR74`Yhzm5%QQQH*>3t1R@7|vzpVr`0gi_>ks!#(jONtA3Aqc!@np??X}J@EV&=O7L>EfWVj-&j zNP!bp^?7rS5d!Gp+T-xo^S{%bunp$8;rP4{UAO&m2~1*$OGO1VqSX6M6Rr%*Q6_4nqGS@GvlbugR^)3$0&$Gx_>jI80qsslwj2a%(b zq*hW8quA}yA3Bg^ACD#;E>jSya)>mo^M0?ER(0+syC1ru3U)4}=tq^+QV8*4vbi-F zk?^BfkXm2<-_M+`NM2ff0g;ijc2z_O|I3%4d&TsAkm(hm5$WUiaGAmUH zvfC$@Jr91LRnEZ`!XJ#7_ZqlY9zBWRIM~|dT-A&2Yf`(+dG9f%&R#b700B+2fMW-R zMjY6y}xViqpmqdi3U-;2Ns%RoF^Ph0p z_D-y@XD`N~1{r*jWEAtRaG+z=hQzxJ#mUeML{!3$m)6+)4r!XF&PA-}DFVMkGZ8z8 z-DVMRM4oOdyugdg3CpJ<ixx#qCS%bmqX= zZrC8kgpIArF^*Rh3p;HrAnPQ|LWGMEM z%a7^(qIiXdhDJ|MuYUPhJe7>P+cl&0rNnu!B?OSN&t{f&v1DIHC9p3{pbbo5t)%x& z?S7E%e3IrTvT&;Zrl4lw(@-wm`4x(nkfLEiYkVpOjwq(zRm7euj9zS8HBsBh$8+~c zMUwAynP3o8F`0nI6z;XfusMv}FS_8$1jVBnf~jR*Hwyztnc~c%oY$FlXkbN;9X2t? z7qv;LvwsVtSYz$~ZtwTQXsW$z^~O(;lM~Mo1zE--U%6m0u?6&3k6wrHRR&sBxHc1% z%40g9ksju=)wxJSm`y+<>b8soYUp|4i^)@k!dD4|V<%2? zP+1UETbTogL;I|*Dx0-jsf_S(`pcY_Yuil@&%0ZGlKtdn;JEF( zMk@3jbVmf-w0yfn`KMrx+AFUv=yx8TLAYm%(Xfm<+)1uaw%z=zzkmh@`@gD&@ zrImVN@L+AzXogq=O?i7b@+MXP&Bap<1*+tIIw?*H(<&^tmddU$z7FfO7CfmhoCIJp- zNO-4UH|T#b{Jw3u6HHWsQOvAwcqkP9k0B1GXnB2mnX9EI)8FD^THo-*WPs|=AOGUA zYA`u%&7#~`Ha$LfcXIC=n?v+)$Ub)LROQmN6|KlTI6y`^l-ti@V#<&!D!eatFpln5 z5`an9b?5M#-W4dB3}h%~SF^>b7QU#z*^QX*Zr=0}5$3TRpc0rn#jL;(L37kt`qv~p zBzl91hcCM|#=^0pA+{nl4+{MK<|90rMUK#;<(CeAN=n#aVPOo^v(+ybc*6?zCJZDC zlxU0CXS_PQf{49wre3A5tSm_^s47j;wW;uA^~ zdQFUf2t!_6Aphx#TCb0B8mRiu10+U;(!vW=v$d}lc*8?W-Uq!`Cvi0JZ@gi{r1;o? zj*I4$prbHA;f^rxMvPLCa=6+I(P<>PzNpa)fd|(Ss1`=s5y!2&S$BtVQ=`=79Ili? z_&o{6%R)tb9s@1z?~UA89veQ#59Ac0RI`C?kqwBe?Krf;l-{++`mj7~7dTz%GHO@1 zQ>}sYbfTHF~jHsx$I3M5hYf z^ZXZ>JS?j++`HlRo%R9O$-5Q2ee_r=VQa9XxP@<2uy8ru+u6?j?4Ma1St@e$(d49^^^#>^OS zu)Vw8(iUM;IJPsNb3*?8yStA&_GVd*X8M6eo+XJoqXCCM;mT1##`y>ve`rQmeD#%I zR4kf`8{?f~>NJRQ6j^L8VYK;asH1DaycoV|h%T=;P=Tk|&wH#hJLASNhd-~sy{izS zQp&3eR$MDf;0ri;0vpkS;(Z`gG&aq2tM)kAw(rM@jUvzX@p>FCh(1%sU|0~C)7>*HI` zN~V}lFe1eQdB+vP@Q+7V>BwG&vpD(vn5`slE7hYdW&D*!Nz>peezFcuDK09DRqDm; zbC$|IMc$ZjWW*<$ssDr02mu^fnc#BY1%5Q_>1&$G3Z3ife|dqx+3O{C`0A7eOWXZ_Y! z5nrE$@OzV3jt%qdL-AfSL`w)!p<7P))Agr!Ia({9ZraSqka35vWcpe*5QM!2fJDMt z=fCO6DgyUjm2UPfQL&Zx1!|-9Rcn6(+v|jfPL8u|^;%k_JA@6Qh!2lO@%2`&IQ22! z9bzp&-fGtnjVWaa88go@4NTOjX-h|ofi4^Dqp8vYbumpgoi%3*Js)-8GhD=mQp3^;9t%qa`2>q`r?Lc@?<1xyjk3TWwA1;NajcM76xKqEl_H z6Lw=Y{zGT^zTRc$wdW~#!p+t{O$hDi=+ThG%=!xK;SsM!w!Uds7$Jk91kbK!>{|LF zNjd-Y_nQr7iQfVoO7yIXNiDzJX``RB>(H~wy-7csO8DLOMG~(a6^`)fGg4Ag=Y#pX z(IhQB7s4vbF{7*Fwb4SAAV3!+*7_~Ag)r<>3pg`^_l1qUfiZPS`}Bd!Fea$u$##&F z8|z2N#U&<6dwO0M4OCWEk_x)Af;ALGlR>a41v>I%<4HKpdP$85r~|k@4*Fj#__d54 z9Q}TRGgx6P-4#RaXW2{bdl^7%;2kI8bIswjt`JQrsJVQ9dU}d?QBY8zHr=Dyj}_Y} z1UypPiO4*`3kh+s?diibPOA=MCTGNI(}6vbTKo(#x)>r{?a6-ZXOsbOI5LY? zX`b7_{O+U^JksZ8bE!9z;&d6=f!>>zOqp3WQDO#z4KPljhd=z?b0Xm%j=yoQeIn%vF{oz4i8{;^0O_D zYjVr-9+La~_KW@(kzVq^T3XwXd-QYn9<>4qUy&F4O}sQK8VOwyjYmppdrgK`5Rwfk&23n-ek_u(^F^7 zQeB^7! zsXkvZ^{3rJGv~gtva*+yr_Yuup{=V%lmh2+n zhDFa-+B>oVe7;CJhRVdm#NM~bGi@Oc4V;|Q&7pQz9fXZprXQE?j~+S#yt%yq)3mv`C;Cb5V~x(;CHYIaj;f)9>|td-cjJ|7WrZRCu6$40@(>{Tw0%l&G7-@PvnD+LeVWCQU8E<)9TipO=mJ;R5 zya+gDa`HO&pH`4ks;pSVU>(?@nE}X3II&$(h6nnOiI9A6&PqRsqIU|UBhuYz)5nG6 z>NWIQ#Rh>K?0QfQijmr({kg%$x;^H=zu>XPI*=cB2XSSBM;< z=yGKav=To5t7uQ|@#)WL)@;vjkHU>`<67+?c{087n6c0I3|HR#*JHCE|Ld{g>?hWfA08(fk44^V71ItT z3K*om)V}e*P-v^>TgXhcc!O&-3!1@izdT)6 z(mEU=F>%lOJ=MT|kgk;7Zuz*ZKaw?ebcPuCkg>A@xCK~i>&Vebk+>}gm6nO=b{pf+ zeLtz~yCxQ3&|G#Ni%+HVPGb9h{n&yOuVuH zylkwljl4n3^YQxgkF#Jl46Z(QefEsdw3@?#^a2^){bWKP!)g7oVNF{c(=wdon9k5?qfa! zy%x^_1>l~~rmfbiI=;=4({zq#H=m6FY^7&yL~C&!vNhVnT3Fok1%A0QqTJWnvo}3e z+Cipu3S*bQ{lWyJtbAWTVx z5(2?_c+>(o?VkfOsggLXyij>Xhf*1^(fY|Nl>A2TVBTkhmxm{~$JY{E8D0hD5Hc?R z`6d^+GPrs_AXgX?FA1rXmiNIrd9ls<|5Mk0Cf4__Ft*V$Oh?S~^W(D@n+S%(?Z!)j zdKI+xea@WFV>dt6-g}-zOThA=m1eB~VtQan9BG04E>tn2q!*ldEa&@w{#-np=(G9+ z+GD;O>&*#eD_W>(Gbv~9sK!V>aC{8(SR?%Bztxn*#REXkOHZ-3(Y|nxaxrV%@VPu2 z!ZiLZ!b9t*i~Os0j=Jy_qqu5&*QIw6={k z&+oS4@oSMCKeP?c`<)CIPL2TxuyOSJz!!BSe+rnlP3G2VAbA3XNgUu169za||fG+E^X#Va`Pov-;c4aUGm|)7K`|)!H|DO0qoP-AyMS#!j=mJN8l}YTc{c-&c zAQ98!7?w4ueUNT0Qe9M-5)kuPD=O>{nhpVs3S6F?%6GC61tvXHN^cF`;q>I%ox`we zv3cxzzwyrdAGDyB_{COqVWTWN$GRx|(iXh0+=7-?or<|%-l1U-IM%5DvZq>*wm z$|%?9DQP>oDLWf<-;9+l24Z{|&ifrn3?XB`TmjF@cY9qLPL^kPG`kyW7?4B}G4V4u|>6#xLflW_dWx zB*2g;11>Fx=|9elpGxk}P5~AI?_;JP_P?*K)i%{EVI%^GM;ayX*1yaz+!KX|TWirl z1Jt!Y`qn%g6F*&i7dXNs#%w&x2Wb3!rN{mnX?P_j^-S?hpo~D#P-8rjbg+s=*Ms4g zwM7FNZqfIW_kF1nFVnPAqQ#htE!2|uhA5&gT~U6)gIUTZSW`qVX>ON^tBb?<02n&! zfV#TYD$oAt1K*9-do#yH^M<)X)?x}7-PcJ;_@1F)1=hO&&I+2~vgpr$to^g&R!RQb zmO-CEx?rl0V^>TKn2`F{39I~UyIO?dVQVe?3IZC9qYcs2y^KtcF5o1pq$ByseRyLY zzvQ?=Gzee4IxO=`_W9{~@d=v}@LW*Bt7G|-^#gF`56UkUrD-(Aazg4ZKVI7Z>8a2I z4DAa+@;8zGFEacq2decHJJkG<+9oRoOViK);-R^LqcJWtYRW<5d`rX#gaqjVt$^{D zBAzOJ1M}T)y7$6vZMK&Oh^8!m_*>7BZai^P!RY0df#9H4y!(< zUc)DlaX>^$7n%S1(oDc(jQQh8{`N}9%}Esp(CY+#(-U+**CBb0)OTLwbH#pAU!O&EnAWvhs=biudM#BD|a*~c|L&1SbJ&o z`AsCp``-~VhrrIUw5vEIA9&=yWU2ZGx2Y*FmFTFM2f&fyC#*_2%HAi=irx>oa+d-! zCZv$jQQy7wSN|wZwT!(&2IhkIlZV@aYp-DVxR^voYAmFz#g@&)a;VL^nGqWB%8RG* z82yJnR#=$*ao%3It~dgooMOsvY3gK_adBEG-c$BQNQ?-2rZ?ha((3~JQT90C;xB1W zcg#I;F)1wp)A)zmJlaCO!Mn~Q=s6&vDu7Bt``1&pCW6oLigqrzMQK1jA-E5kn^4UX zYpoTzcNRYxUSh2e@CpX|o<4Fn(0?FNx|!d5yC7D{AQ-7#>;wMCey=LODIczGeP-!Y zzYjzNuER!Ah#l1|r5xtwdL9g{Iz|m-afj6(0D0ukxc zoVQIROcur9(Vre6&^WjcdlS;df*nymA(f#N0-mja%j=0SOcDqxPMe$hAXt(LM2{&4PP){;!(jNAz-VJ&qhq#?;0_#r7Ducz z7*11Rx}YqTz?a)>$)2VQ{X=)_MEW&2P?gcNhMJuyZ7q?4%KN%^ru#_bJhxwZun8 z^{oSYi*>(9nh2$BU8gJmGTqA@>Cd#1z0IPMpJIQxS4^QW@K3pFK=1$k4Fp)!Ohr5E zSF3QIoXw~7!@n$%GyS4@dB(X4rt3yrrJ(myjimL?0bdAy61`M)htVL*(96ltY$Th1 z=y)ol%&WB#4*Tr3z%A@xTaRYek3>Cg$Z-1+oki6{=-Wyt>-Re#bqdAq)A4{!g~Ft}E>uw>O{n zF(HouP?#p5%TDs6| zY}*qe!&3>Uqi!!+26ICAjjfhpBSCt3ctSu%XI@||{c&#Ex`@*(GFm|Q4Z`vpSy_eEBYPE6FWY;`aX1&jKx2Bx#=W4vKX2?|PSYb0(%9S5u<^#Ew2PULIna{tU%g zkmCwslGpK=`hJ?On?#ytGMKL`IEjDAeFNqmK|q6ecO6&d$S~`gn!LO{PdV?=?W%#t zHt&JTRtvFhCf%=nGG3CKWv&d2Lh{xhj!S4-YO>Hc)%bSSqhP9dGdIRs>v=V+o@M`! z`W?2~8{5hHvD--4mZ>Brz)n>?9G${axg#zuMi}`XypQ*5gW53I%Jnp5>Z)FN_HK`L zD5t)0euLuSHZMEBIW%pnC%1Ow=`-Upz$EO=t6CUMzXm-2}K0f>vLhICBI!#~g$o?GM72)ZUUuL@MkF=s(=7rqswB99?s^!iF~ zWMF_iDf0EtPnTi~8Q1-~=N$9CGq(%hr9;&N5n;?_R$57%sLhv%mZKa#RKp`noy2`# z5`zm?x(&x!D>+0y#!hYf?Y+CaXi>CtjFWqmhmr9F146c}IS?qw_FEKF+mc?v{H}{q z-i16VBNn*|?s#t-VAi+Tj_eGf5DH*Jsz`(Vk)pg~NCoTzJL3ql`DSuCGn zphvgYUe)1_LF!9(dgt*H&O1IpMNC&Q)n8jWL1F0vK(>Uc;xF^z&OKjqyw+j#^87vL z7`HPcOuD_?@VUafnrgjooHjFN62|=$l`qE14a-f?e%Z*+R~XYH9kNp50<9xQx>sp3 zo5w0H=fwSXvHel!y4BrHyFbGE$*M_%%bV{%ST7f!Xg87&y$nnu!5?>87b{SzF2*MY zuYOGPYpxSMLITa}JgIUj3Y~OHi5dzfN6ljzBAa*J^#{Qw;AqNxu!J1Y2xxJSOyCQ) z+()&cyF%vfFD@r^d(E#?c?V4wi(3V>>;q{Gqq(7VF1sJ+bsAKBMNCYRs4j}NQujZD z^Re~KY~iQxo%88)&AL-wwYE2M=(pQi>nMkNHTho4-!%@~Fv_in0qu#VSD!?e@Qdr? z{H({#tN*5_?4kCv7O@>_bB?2UjdXv`>$ILKlk_O}v>5%vdXG(RCL#)y8$BR5TaobC za``Y$S8-xhOxN(%RNK&Pd>OsF=?lE*iYm8=M+*mistf7fjAVE8>YT6Ot3-Xv(n?%3 zHS}j_cHCBNzXMkD3-AqYjXYQ3I?@1zzvVZNp0ZrKbZ~M8cthQK_T@@fRJN;)Q?Uk1 z?HQGbwQX{8xmy{3;B?c>t?V()y=tCh1aSK{wHp$46^*i$yXtv!NSOJSjM|5 zg_B|tAG!I=1dZcP&j~i|y5Yu^fnKhfm2RM0u&lC7wt}jv`Awe`nJHGjiI0VZh2@!; zr{2VWrg?!1WW6CConHQ?=9%ab+sVn#C%#vua;#oCqW^B0PTbV}ysV_%<)! zQHba3Hc)o$=)rWsNA~e3vCg(t2&fH~2vp8vX6gzq%hMY!9#>Nv-L7PciyQa$zl*%j zV8l#8@4a#&E}5Ux(gp-CSIYlg`a;zVgwt07`bXp}2F+#o8D&6Ko69ZgWR@j@KNNt-N-4ogB|ZfH4-IDj AlmGw# literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles_cubic/331f3f89b1dac9e1e60f61c5d95f9e5b.png b/docs/images/chapters/circles_cubic/331f3f89b1dac9e1e60f61c5d95f9e5b.png new file mode 100644 index 0000000000000000000000000000000000000000..697c2f316fe92ef53769df947783b9501ed75794 GIT binary patch literal 13754 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles_cubic/ecacec0eb2bbe72e14b9008d854fbb06.png b/docs/images/chapters/circles_cubic/ecacec0eb2bbe72e14b9008d854fbb06.png new file mode 100644 index 0000000000000000000000000000000000000000..53a76dc3ae2fef36a47b7acf5834ae83333ffd96 GIT binary patch literal 13703 zcmeIZby$?q7cM%0fS}Td(%q$$G}1^ZAxMgn(hf3oNeW0ygM=X6IfQf#AT2R;$IxAO z^E>ys&pG$r6MvjP&!fyYeC%)6+H0+Mt@VB(uhkSD;gaJ*Adp8&in1CI2wLRb&wVU# z$ER5k0WMe{loezlw|D=3Hs;1aAhZxA*_T=_DLY7*hnCq?=e}_?9p?RvY_yCA8o%I* zZ{FN{!1Gwv$Wu<|&C8Cs#c%N1;`##gZ{HrdztedsWy6{o`slCROFEyQkyvOk5NV>} zz6NhGMk1wFL=U4y@9|2EdUp>({FE`#KzL1T&DAeOEti;#B=;`Tyuu93wwi983yShYLuV2p}9m%oM-_WwKVEdT&Cr!?T1j9c2 z2L-{Mdfc3y1>d}RL+$<^^lo3GvmX@45wV3osB^3}h;$S2XZmk@%Y+aT5-R^M4*kE{ zxG02M1LN*Pv?!$5Enf$Gzq^Q1wG#dBAM8Jy@?XzvT$U`)_wFNgTvkVXtN?t!yQJco zg#33m^}l}pe=33hVPose&{3(o4>jw|g0#&s@cr(h7F7EGNN}+fjuwTbqpP@ga~&Cb zFEPi7jJc3$aI!RDqmw}JEc7uaC|z$`>(0+h)JXzyqYH8YJ8Z@{q^!) z;<>k%1mz3J)29yekT=-)(z*$G6V+T!oA;X+Fpk!9@>7o$|3h+>}WIfulnEf7~Vw1LY zalAKW9hssM)8yHoHj?m+S!)|tE=muq*gZS@PZv$w=2)ruBPW!Nm+wHLjNR@mzxBib z3U5ncZD7@QnDKBwih;!Qg6;bwiuY6eP}Ir{bm8i-e11?>D@5lw#MF!cRTJ_(Z2WnJIJ+S7X0Z+n!WXySArXmE0ePqn^8e&@sY^H?|u% z4E_f+{SgmWzklb!ih0S>u(HXl*o!UB`#5EA(cPFxh|tXY*;mR7p*-&=pF@kYmC1klqzm4?G(AsLXUiz-`+887(x)>%=_{GhjBkSPiI7c!y`1L0zqg*b~(`R4nD z`X}5jocI=%v#Hsn+7Dm7vaGau`jEn0?Mhy*<#etsh^DoJ?ABSJ#^rmP2_9y#9_E~< z1$Us>u2@A^jcJJR5!0dxF2Q~ZgTnh8kM)_vzwt(X?YM0a~#BXG{8$irxl)zIj_)L7tOZK$u-htYWXkaBcio_(y{e!gS-uV=w$f63(9 z?ZDV`Y&+3u(-hDCSMD@2^$ZO&ST{ZqhtDF3xYopEb#t>L)MW2HTr_5mje@^By9?WG%(=kYQKZ*M(o)%`J*?doFE z^Nz4}BF7kXSp(P^@6`&=-{$7TMUSnw3F7e2CwlvIQBkYz@d=hWIlB}1tB7Z7WwHj@ z0z)gyuat2-kF{IZ26Iifb#Zqah%G!CkcMM$DLrEG7YtuZ>!4PZpGX5>NV$E13CrNB z6s^dS4X66gGT!gnbdF~VYittF`znnkp$o1tWErXNQ>cYw7*# zb?IKu=XP<38ww=H4)fi}=^4hR8>drf=gQh1-Zq?lfQv>4{w<>L*h4GSHBl>XK4<3C zeb4Mpa!!?s5taW+xxb3i`|N8Sfy1S9fC6p(_H!uH<w`|NG6Vh4mQwVMUH`6}lgK`y=^j*N=bY~i}}W8j6FeYQf2PC`PLdHM0B4L52{!I zvwtE^Zsgw2S;XO`H)PoqA-xvOJ+{hJ384qhhee?zv)V2f$qe51Z%ul z0PXYnN@Th{OkwdQE`fJc%*UJI(C>oKcLKJbU<&l|BRP8mq6E}-Uh+^VSfiLM+9LkR zZV=x9FN5*TF;D+bj#(DYhqEpiSPy+F2K+Fvw?QK*w8gFAk%bf}0@Dv)vM_|8!yOYd z@xdb&HU2}(J2j0OjT)CdHEHST;RizcmZO?=mXo|~*R^|ZIBES6m(7B-w6R-A!|7~R zgC+}nnlQAIxjtgN4_O`FUG}m6f{M?4v@Wei(zqxD6?FWV^XFcioWJ+c)5$k)W+&1& zQ;(cQ{8vJUhb=$1U^;YBQRCnfie@9~!*Xf02lI@d5fW|i_#HD^wNQFqkL zppWECBEy53*s@FG8($1Q?fE{r#9DXr{IG&cLJng*O>C z+n6@+9fQxs!;E1~@@R`3xDQOOT%HI%L^aQ$>|{C5Jzca|pTOw!S&o<1!*%?yj?W%q z2J<+GEKFJV+vKW?|H`Oej5#UIo!W!YvIdu1mzZDfJtjduf7iEsaUZly5GKZ>^7Fpc zhvI~&zoHA!(y(rR^O``eX7_OShgx#JLhqL0B{9Hn3!xnbqU6?mSG>jNyzrviZ39441&(Y47Jdos09e z{@)ygG)u$65iuL%;j!mJhg+i@{0$SzY*G!X@17cbAyr9$kQv*+gy`**nI|vOx^`b+ z<9}FFwb0-_)(b}*NQ1r(BfJw#>hZ-*VJvs85}m|E`|LJujRwBknZ@?I|IPaH3k6oN z9HTz}D}H`VhmNrwZ19W*%>tT~1FwR`jN&j%c|Md!%-EPy)5j$=>>;#lKG|M+Yup*e zu=qoKJ1>3j_uov+r}#7St4N_w&)9h~A^TV>E4)@jGj1GVPfYHnr^H-`VnG-VHHyMf zwFy^w6YCzq@nB270xZEYczdA(7bSF5ZltQte|cV8wkfjDpfYw^ClH2%S*-wA%!Co5Ql<~;Zs-Hux~oXTydtJzPB ztl%6qc`k($M(#zuAE~_4=jL`(paTmXWX6?8Vq3{srKJQq6S9K?11IZWvE3T?uxS`; z4Mh*S!Z991tXL0DOl)d5a2t3U7<)GrPmz^J7)yKkqDRCQXuY17Z$Z1BbXuoL`;nOmpB=@Om^d=_}d z-q!*UY<%i$xzNYQp` zAvH*6iWp|q58aV;u~cNdj*gD9^73z~lYkvae^+Tq7!VLpX*uNgwn#53CPtIz`mNYo z5R8UL#HFVXKHzDP0zr|Mbgo?6?TQ+7&5nF_+$6 z3pNdaY!Pq2hixL^LZUEK;nnT_wD;}pHyKRq6W^FslS-X7G$O{27%>%P z*w~&~CxfN=2Tmcw6^j}!O0~a`3oQOYC@mwB+i0*JEglX^T1-`19c_+w}c}=-6~bkA%b4h7@Risi#YLoUgy-etG^adEmytu)@u4f9lMylh@)O4&YLG$zPr)uog-P}ar&O7CBf#z(8 z)&0XY&F9XXloUT$7Q;Qn#UPd=fyd$X_R>+|1$)u5qNz9dzu+R!Panz^t zVM~s9etWgvFKZen-D1EDNXyG(0efoFpCsT6TZNI(99JPQS)u3bhZCOhA5KWIJGvs?N2J(tsio_a1`z7>3K*c5<5Do z<#oP71{Xb~z>U0cSSM(>$j{*u5QLuW0N;#VBNg@lm{eB)_4YhBUS{pE~Hpw7YR z&ywyhT3~Fh*^XCTY+_fD8LBXHvQ8N7eUn&Q`$A24CAPOCDcjBu7_^jE9|v)+Pn)eO zo!DG=o9$s78VaNjuKBIU5vyvO%v_B9g(lR0s*z2>&P8s#tHtnt`BY; zFJ)nuJzB$hC&#?B8ZYmi;#?Wsw4*kBhrOS|w{#yW8n++)YkS*F1{-)EEhGKD@3Ehs z-xGmPv4KZ!KIrW+MjnL4aJ;*?Ll)iOc~5ra2N;DB!}H>&awaB}Zj+q!Ur=>x2Rk)$ z(aFiyP>Uv2v_-b_^HL`^1Mfy;s-n+>?xD9Vgup*Lt?5=X7Jt3+pl4us3Jj#N$9@2^ z=$s!jIG0l&t1UQf@Z1c?V3hjlax(FWg)Fu z&d*XmD%w9*ojsU#XTN(mVbTR%$v^Nl|``!TX{8 zzB6j3#}@}>zaO8#%5p#?TPTwF|CTt&UHY{`PQ`5w~^uF$Fo z$1B@>O)V|i4<8nB(r>R%-c^{V{?+t+?K3*|oeJcj?m!m{(R&hVROl9w!rM0tc!Irw zNH`kwxhK%h*x1-nw>f}1!ubZpDh`%{sNI5{ccwrfXaUrV!pQsj3uLuFS;4@766h%- z9bLv}5VU?xcy5NPnWG|17tF5Z;q~|DOYLg1$B#evan<}SH&ZTdy7-i%lBi+k-u0cT zz(#T@jL+q;Ux>>iU?vNaSFq9t;QRgYcn$LJt!+sO1J6vEXy)h7DiqyUNFh_zw#vYW zot;eETQ}~OoAu@2Q#3K5%gf8l&dx4%JKpSleRe!ytfZ#KEG(Q@Gv}53w5tfG^3xbQ zFlO3Idkf(dLgkK2oy661-nZ8_QTVjrdhlAjl*Rzge5`1`fc2x?M!WyQVjF{40KT2>+1S+4m$q_&8~if z*{)$BCY83+KY$~z?mc<-u~TbuHd8JXtFG4wO@l1m13gQAV=s>X zet7jk7&z?9l)Wpl5&VW$g#&yHe99M*;E9wt4xQ-u_^u=Y>tNw(E$5CCAfE~_Snm!vn80IHN;HQ7dsiP# zq+8KhD8Z@`K|-BII>HucIJZMz!kIwm`pyGxf&tD@Ze=A&?nubUMmE^J(>d?-Y5V5J z11}w8PXS=5mkTQf(BGqG>aGscZy7l_LM1#e_HN1qe8!6nl>shG6tXv3@oc`>Ea)ZF z$jHbz+L?|ADtn(dtAag8Gq1M)k1qztZL{N&JgWKD%X~1czo=&Rm9#W^-w!T~-!nJk z`u0Nr!1nIkjWuOmQdCo7f{7UnGENwVaA~JX0FG!hU0jSjCR{#0|J*H{qL7<5q|u0caWeat}5?ib8VxJ=cJaRr5< z8)j2)<4>0C{Z=ST{TLD)Ht#Tf;)L%Q9UU$G;R8Leq!t%P8;s1%!`Vv2@aZGB@2#!U z28P7qqN3AT_^66w+y_?GW)JGb-R7N^o_U^}V_7zSn+Pa~*vh+MpWx-$Q>=T1iJ8W= z-gm55Y5h`H_DOTBK&Ix9Nz*M#^e&*h1Kiz%gOUppO*e-IG{?Zz#<@+`$PA|OiwbUL z4jgm7ZoDY5=t^4GYilsstlF9V5gAGFIf7)UTA4$Tk(r2;R8Cj-iNoUQ42@UXR#qCG z$-6QyasEF9!Z@5FYeNnn;O!blS_8g~*p|;SMJ1V-CXvzV8a}%F#}m9Z2}r|Wnl~=| zg?rr&P zUZ@<|MoC{u^_F>mh!{uejj$FHVvpbxAu~wX9`U*tHNWwxwcdJ*89e$9mu>2>^qoz- zE@cbebIs>gvjtpvY`9Pu8yN2k$I-?|7};VQ3H2;pq0*CZ28x(+;efZEB4umcCUE@& zVO#>(2EmU}-_|yG`{pF+!obe;hb&O8}yAqXzn<_Gi3~&(+2(lMmInq2kjyJX% z&k#@u4c)Qpx?6Ho8XgXgGmOqiC9B9oJ-)?|m5tliyuX`=qXJHqp7}->^}>bV!v`Ru zhS(D^56!zNGEh_q9rJdqsQm|J_gJt>8N|g~%nI4r*wZY=o%nAr@FwB5=~R6h`Lc!6|zYp z(yTn3qd+f+k!>Igw{8iC6Yyk0sc)7>GjcT|jin+P5;Dp0Oh_L;9?nrs#zG;IKo&r# zyAGV`0z8_)A6z?NmHzVj=kdYa_vy(MA~g-v9KDVw{AL`xs8ZZE^Wtc3ckI0x=;{4H zoCK=8x~1>YAg8nLJix+8n7F@w{dz_JaJ9d{Gb{;}oRFXh0zi;VXm4+iOi0i*a|fog zz-D)*jt^gK&&Q(aMb&Gc+Wb-ivD#3sCS?wsi`*YY`Wm_huaq85_;DIHr4$s`=N~NT z7`X-jv={{J448FiDr^?#4}e&0AS6@=2^3-$wZa*^c_$G^kyL?!3;hvKp6091B2Mdn zK!Qk7QE~noNAd4+Ph|ZU?P_D!l{m3O1mBn2%oKllle+xh_gh9H+#j=s7!l9`1CfV8>4aF{)a^4s?o+Q72Mi}d4mt}l)YGzyw5@!PdKIvlpK zWzl0=+nT?KH*!FJ2^gs88W|a_tb7Yyf@o#7lLRkC(D`E(%kLB8?SDfKsE)0$q#&H8{IXX3%io4PuGWJ)}$J~ zp)>wu6T31Vsm);o6P&I8vOQCG=s$>!jeR(xE~!1a>LdadZ?cL=oN?PKiknV%M+x5n zGJy#L%@u+lZ42|2BWfReqL~D!JM&RZ0FT(rHBtG1j29shk;c{um8dfTrNM3UEGccV zhR;3DfS_CD>t}Hk*vM`G#V6y^)CSYU&-c4%3TBv@nFITig><}TN{pL(W5!ojR^q(( z)zich_3i2cu&G^qK$0hQPq+E%-~oWtTv1U`EFQ%tZ#_r+I`24-acl;ti&1Xf*~F3GGH4>cT(R#@WUjxv>pOTynnmGD0<;8UZZd zaj?>dR(pLi{jS>PDcEK}d~lfaJaycunjj)0gGpb5tr!AA|3i852}mULG1nqMA@tnb z-@$}@$amcVs^o@mKgXkyPyxE&dbv}>AyZtxv(y!l3(`e*NX6;g+Cfam*j@y15kk*0 zUFu)dryM!o5G42-l$cHS1g*~j)c25DtoC3Dq?*bd7FvnzbO^DkY)kT*lTZ}I#F{%M zRcYex<ThjO1{X-n^t%!e?u&xNip41ksj@vD z9&&wI0kXWkdyz@Nw-kUPTNN$+VmyG5?a|Ny-zLv0hm=q-Dm$>!XOiL7PQadP1D42b z?o*bTOo*el%L^BmMs&jc=a`tQRovXb*MVdT-!FLZS&2*#!rIW_u8~vaJ7PoGtBIDc zxCBDL*!~i~>mgui=0D65r!OD_`B+O=u>y~(yLjQ%n|(=uw;}%}md}3qB2~7dBPunm zI7*ir)M|>yL%;b&5@b^1Sq`^fUTBI(OhC<4onV`FGRHQ*<6|&POk_LSU2=@Lu6_aN zP?x36k%~>YuOo81AP9WlR85e$JFpnCn{8?0s{-8Inm)CloUS;e_mAF-jY&>3p;ifP z@w-|ot-u(HTQ*xFJ10q!sKX36U#IQg5YQ1D8(0MJO&Q=9R zE@l#*uU;P-!i?qj7+XYaI z(}L=Pn#VWvcEj9MtdJ1k&gj!(6YhIn0FW{W_Ow8q=1u^~Mf#+)polc{3ydup60*AP zR|{MyH(q6rVCv8 zFc5X8XM@}8uXUSe|8sl1B*>&~8`a9fCRGS(O5;Tp@CStZ{$I98Xdi=H>vJ^GF?6ES zpyOrO)wtUn6vd$Krr+$^M17Z5d28rI=y8?-u!o`{ zxVmzM0%lTynk14^6bTAlU}4`X`GH%CmqpOujUU2`>l0B9cNU| zL(FLd-Pqd}B%~L=S6TO?Yb4#~tC7%t`LYsM>QV-#6fF9fN3g^&j~Mi$ngHQ=yUzO~ zxP+BE5H=_9f8S%rXCjLyfdE_ao6Mb z(}f_AEnQ9G+J6FaO-M&2HVuD?>OL!wxz);wEFQV+O~s&w^Th_Jgnjub zFm(NODcL?aK_YeL_J#~3!0ft8?g^)=0Rw*&FW^CuJv*YFoTvJO=TxQf({H2eiN4-m zbXq~dafaiW3^(dRSPzp!3+5N{rY+6E8nmqqg14TvC=ouxBNWmZMo;w5dE3XnIY9De z2+TPeJzIj`&PIB9BNrS6#!~TP5|y-vCMH1f;z35zY>FR{gkCuO0ZT>Kl*i(Hhh8)L z3C7~3jHY2sM1%+kz?ZNDlK0)9x%Js9nP|{C?lys8coSHfLr>-;)Bl#5>y}z zws5IMBJbS;DR#D|gIC1V_DxnW4*HvoF`a(PE{>8)c#Ka5#ESLh%TkAor&G!C7NG8P z!^DD(YNDX_2E(I&L(isr^b}ntXfw#5edIBx&*8w=o9i7Eyfxj*0W@huhezo2R@mvP{2IHON-We%gV9)Ckdc*@9XfF3<63O4gm$ zS@>9sPiN4!2At{OT}P3A>$Q{V3~L=Y97h*mX0?tEeky@)i=Y~*$rG$Il(as}adf_h zV_5E=RiGo2CGT8ATnelZ@;Evgu{S#?@m0dJp`;m7oGUQYSULNH%e)&E_~>t5%;_s4x|g3tS{a-;FHkMhJu63bp{NFd za=X2`i<7BB_#1ed`C}N14IdB^g0ngHmpZs+bF44yMct9coqMvAB_IF6#cP5NSUiEX zp*o=dii&~f1y77To|&40YOi9OqPkGqWV#2@ojak(3qWt5Hgsh&fQGxiv|=;Zhbcs~ z);gLK^xPRb29^xSKBo6AJn>-pVyo(Y+*!%N=h_p!^-1DYL>ZjI(HFg)>>g%f=tF#J zf2$FM);Rr5`-Xp>W4=-u~XAaf%wf9sJP=3TUlQDKA`< zh>T6jLrK;jC#qex_4a@a4kz3Xd&+lTO)aoyF7WSb@H;>s9;!>7pm6u1=^X37uqHNF zXWj33U2|@IS2m&QLjnFxtnA+!YGyMh<;Y%|W+zH2w@+~DLhPGxtS1&9-YH@k;G1Nn zI69WvrM^q#;v-%isDd*QPP|ApH;jmo6x2!V>Uil~jWi6w1n05~lS)`RW`BuoYa+rg zh$iqoRooFtQHT+KZ(m655}tIm9h3d!^OXMNJC+Kdj-Cd&O-`EQo~fnI$Lai8xcUA| zU3?BJADmKggObWogSDtAwB1IFRgc4*8?C_|w+rYPjjUXY0?kW3aswC@2^r`|QCm*V zTt49Xasde|@DDoU#td$@9DjIoNCUmURai0q&v=l&x(~tM$FCsQlAE67OS1_4&Ouq;&z4KIA8>fQ9n0BdU)UURJ#l|D#kLq>&3+5`P(-W8cEn6_`OliOf-rjC>DM(1-w-b9buhYf01dm}huYAggglX8P2H z_k_PYtn^}&BR~Q2+UK6%o&%rUiMCG5-ooDb+Fg^?5p|Pg#o7fdmwmbZ-xRcff<@1I z-+VA|!dPfcVHM#UO$3J%8S5C>u(r2=5%#Sn)u&lNt?+J zfS*(#XfG%!6NI0fp7$TV6?p<6VadrQibplyB2z5Wh18W-zHRmP;kaKp*6vC3nO@bc zAp#1C9QbiLA^|q=ylfrQ89D3Y=`Y(7w7p}TO*VP*n&E~&=j#tS&{QjfGn7T0NTD0n z*zFxp#6EiZLH=*Up5M4ZJh5=<-gX7A3vU=@&(K%_DK%gK|5^CCelp!Jz(C_^nv?dg z35hCh*Y~&;e@J;h-Qz>?PJ+M#Y3aK`d;ooJBBRI*D>GHeH>ids`ULWO3E*vebaZs;14Mj017&PW>p1U`uQ078W z2DyC9of{1s%(;BxjdsTd?-d$B)MjCBp3}8imo>Y^#3Y;=!<@LgFjJ>yVP}Wj9E;jK zHx~!k`BY9m$+fE5PGF?%bQjHbA0etvA*hC2<5PYeq*MmmW&2s}wex2o+viyYe<=H?twrwjQPw^#22P1j{SyV4VN`4KKQ|WOJuV3V^_VJfrtHLqYN7OKv>Og zr-1>3wLTFnuJ83IqVcA5JE?@r z>_d|V49VqX{omp213antbEU68KbVcpVdIzir}K(|VdGvFO}$Ut2l~|yXFbX4ot_!P z!znThMd9!mNERe2a3bSt;?S3IPN<#f`RCe8yR&l(Kq7u|>+yuI^Gcg5GR+RKdyQ&e8E#y zeg3`WX66yU3Ljn^0i+1>EQrh5#tc_za&k#a6vJv}-_CSF6YPbGB4Cma5I!Q8HF}Bm z#<#qSNkSQozKM<#vHbTYf^KQa!1b@~~4GqNc6E?QyYe}Jr!V(Qa=Xiq;vpPa_W-nh}AFxGNxqCssc$7uZhgF@5n67eyI z)1^yS9?$`11`Iq(+Rgcw#Gm)~SC_rzEDar6>`lh&1@2idH=N;P2A{>xzlWwON&6+% zXNd#^EdRim|Iap_dowG&-A9>sq<}Z8AWCv-vc=Nx{r)fJ CZ@a$$ literal 0 HcmV?d00001 diff --git a/docs/images/chapters/curvature/5fcfb0572cae06717506c84768aa568c.png b/docs/images/chapters/curvature/5fcfb0572cae06717506c84768aa568c.png deleted file mode 100644 index 46869d2fabf63b9bfaf708c3a9b6aa5ce0fcaf21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51683 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

S$&y5_D-+CP~^u(B7UG@NFK;4gI;eTND9;woQ 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 diff --git a/docs/images/chapters/curvature/78581fc4b36f2e45c704a4fce7c8368a.png b/docs/images/chapters/curvature/78581fc4b36f2e45c704a4fce7c8368a.png new file mode 100644 index 0000000000000000000000000000000000000000..23af0e10ba9b485967c1a590097618a8f7fae0c0 GIT binary patch literal 17741 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�AnGy)=(C%D*pUA?b9dS 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 Jd_}Y1{{obSU@ZUu literal 0 HcmV?d00001 diff --git a/docs/images/chapters/curvature/7898e3a51a86afffd1a91ce0fcc99b26.png b/docs/images/chapters/curvature/7898e3a51a86afffd1a91ce0fcc99b26.png new file mode 100644 index 0000000000000000000000000000000000000000..c34ff6df14e4f4a3fb194ec2277af480543fd250 GIT binary patch literal 17817 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/curvature/876d7b2750d7c29068ac6181c3634d25.png b/docs/images/chapters/curvature/876d7b2750d7c29068ac6181c3634d25.png deleted file mode 100644 index 2f2eead74d87614b62e1a8c4b509e45ee3bd4f7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105629 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 Mt7)WBrDh-bKQPgwiU0rr diff --git a/docs/images/chapters/reordering/71f47629388901b821976e034be159e4.png b/docs/images/chapters/reordering/71f47629388901b821976e034be159e4.png deleted file mode 100644 index cd0abfa7cc57f41e1dc08b0f0d35583b02cebd06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10971 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 diff --git a/docs/images/chapters/reordering/c37918c649befad06de255a6415faf29.png b/docs/images/chapters/reordering/c37918c649befad06de255a6415faf29.png new file mode 100644 index 0000000000000000000000000000000000000000..35fbe9ba4523539f34ca4fba6be7e70469aa9f47 GIT binary patch literal 11726 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 aeAtp$8+1N46TyHs>dtL7g#tNa|NjC5l-&vd literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html index 12375338..13226911 100644 --- a/docs/index.html +++ b/docs/index.html @@ -31,7 +31,7 @@ - + @@ -1649,7 +1649,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -3142,21 +3142,21 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -3389,7 +3389,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3413,7 +3413,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -5221,7 +5221,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5346,7 +5346,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + diff --git a/docs/ja-JP/index.html b/docs/ja-JP/index.html index 055ec05c..ae9c6ec7 100644 --- a/docs/ja-JP/index.html +++ b/docs/ja-JP/index.html @@ -33,7 +33,7 @@ - + @@ -1485,7 +1485,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -2978,21 +2978,21 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -3225,7 +3225,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3249,7 +3249,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -5057,7 +5057,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5182,7 +5182,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + diff --git a/docs/js/custom-element/api/README.md b/docs/js/custom-element/api/README.md new file mode 100644 index 00000000..911457ae --- /dev/null +++ b/docs/js/custom-element/api/README.md @@ -0,0 +1,337 @@ +# The Graphics API + +Graphics code is bootstrapped and drawn uses two "master" functions: + +```js +setup() { + // initialisation code goes here +} + +draw() { + // drawing code goes here +} +``` + +All code starts at `setup()`, automatically calling `draw()` after setup has been completed. Standard JS scoping applies, so any variable declared outside of `setup`/`draw` will be a "global" variable. + +## User Events + +Graphics code can react to touch/mouse, which can be handled using: + +- `onMouseDown()` triggered by mouse/touch start events. +- `onMouseUp()` triggered by mouse/touch end events. +- `onMouseMose()` triggered by moving the mouse/your finger. + +Mouse event data can be accessed via the `this.cursor` property, which encodes: + +``` +{ + x: current event's screen x coordinate + y: current event's screen x coordinate + down: boolean signifying whether the cursor is engaged or not + mark: {x,y} coordinate object representing where mousedown occurred + last: {x,y} coordinate object representing where the cursor was "one event ago" + diff: {x,y} coordinate object representing the x/y difference between "now" and "one event ago", + with an additional `total` propert that is an {x,y} coordinate object representing the x/y + difference between "now" and the original mousedown event. +} +``` + +Graphics code can also react to keyboard events, although this is a great way to make sure your code won't work for mobile devices, so it's better to use range sliders to keep things accessible. That said, they can be handled using: + +- `onKeyDown()` triggered by pressing a key +- `onKeyUp()` triggered by releasing a key + +Keyboard event data can be accessed via the `this.keyboard` property, which encodes: + +``` +{ + currentKey: the name of the key associated with the current event +} +``` + +Additionally, the `this.keyboard` property can be consulted for named keys to see if they are currently down or not, e.g. to check whether the up arrow is down or not: + +```js +draw() { + if (this.keyboard[`ArrowUp`]) { + ... + } +} +``` + +## Controllable parameters + +Graphics code can be passed external values from HTML using data attributes: + +```html + +``` + +which can be access on the code side using + +```js +this.parameters.propname; +``` + +Additionally, graphics code has special functions for range values, either directly in code: + +```js +setup() { + // name, min, max, step, initial value + addSlider(`rangeValue`, 0, 1, 0.001, 0.5); +} + +draw() { + // values defined through sliders become accessible on `this`: + console.log(this.rangeValue); +} +``` + +Alternatively, they can be hooked into a predefined slider: + +```html + + + +``` + +using the `setSlider` function: + +```js +setup() { + // local query selector, name, initial value + setSlider(`.my-slider`, `rangeValue`, 0.5); +} + +draw() { + console.log(this.rangeValue); +} +``` + +## Movable points + +An important part of the Graphics API is showing shapes that are controlled or defined by coordinates, and as there are special functions for marking points as "movable" - that is, these points can be click/touch-dragged around a graphic. To fascilitate this, the following functions can be used: + +- `setMovable(points, ...)` takes one or more arrays of points, and marks all points as "being movable", such that if the cursor activates at an x/y coordinate near one of these, that point gets assigned to `this.currentPoint`, as well as being automatically moved around as you drag the cursor around on the sketch. +- `resetMovable()` will clear the list of movable points. +- `resetMovable(points, ...)` is the same as calling `resetMovable()` followed by `setMovable(points, ...)`. + +## The API + +The following is the list of API functions that can be used to draw... whatever you like, really. + + +### gGobal constants + +- `PI` 3.14159265358979 +- `TAU` 6.28318530717958 +- `POINTER` "default" +- `HAND` "pointer" +- `CROSS` "crosshair" +- `POLYGON` Shape.POLYGON, "Polygon" +- `CURVE` Shape.CURVE, "CatmullRom" +- `BEZIER` Shape.BEZIER, "Bezier" +- `CENTER` "center" +- `LEFT` "left" +- `RIGHT` "right" + + +### Instance propeties + +- `this.width` the width of the graphic +- `this.height` the height of the graphic +- `this.panelWidth` the width of a single panel in the graphic, only meaningful in conjunction with `setPanelWidth` (see below) +- `this.parameters` the collection of externally passed parameters (via HTML: `data-...` attributes, via JS: a key/value object) +- `this.cursor` represents the current mouse/touch cursor state +- `this.currentPoint` whatever point thec cursor is currently close enough to to interact with +- `this.keyboard` the current keyboard state +- `this.currentShape` the currently active shape. **warning:** this value gets reset any time `start()` is used, so it is recommended to cache the current shape using `saveShape()` instead of directly referencing `this.currentShape`. + + +### General functions + +- `setSize(width,height)` explicitly resizes the canvas. **warning:** this will reset all color, transform, etc. properties to their default values. +- `setPanelCount(int)` use this in `setup()` to let the API know that this graphic is technically a number of "separate" panels of content, setting `this.panelWidth` to `width`/`panelcount`. +- `toDataURL()` returns the graphic as PNG image, encoded as a data URL. +- `find(qs)` find an HTML elements in the `` DOM tree, using a query selector +- `findAll(qs)` find all HTML elements that match the provided querySelector. **note:** unlike the DOM API, this function returns a plain array. + + +### Maths functions + +- `abs(v)` get the absolute value +- `approx(v1, v2, epsilon = 0.001)` check whether v1 differs from v2 by no more than `epsilon` +- `atan2(dy, dx)` [atan2](https://en.wikipedia.org/wiki/Atan2) +- `binomial(n, k)` get the binomial coefficient, i.e. "n choose k" +- `ceil(v)` round any fractional number up to the next highest interger +- `constrain(v, lowest, highest)` restrict a value in its lowest and highest value. +- `cos(v)` cosine +- `dist(x1, y1, x2, y2)` the euclidean distance between (x1,y1) and (x2,y2) +- `floor(v)` round any fractional number to an integer by discarding its fractional part +- `map(v, fromStart, fromEnd, toStrart, toEnd, constrain = false)` compute a value on an interval [fromStart,fromEnd] to its corresponding value on the interval [toStart,toEnd], with optional constraining to that new interval. +- `max(...v)` find the highest number in two or more numbers +- `min(...v)` find the lowest number in two or more numbers +- `random()` generate a random value between 0 (inclusive) and 1 (exclusive) +- `random(v)` generate a random value between 0 (inclusive) and `v` (exclusive) +- `random(a,b)` generate a random value between `a` (inclusive) and `b` (exclusive) +- `round(v)` round any fractional number by applying `ceil` for any number with fractional part >= 0.5, and `floor` for any number with fractional part < 0.5. +- `sin(v)` sine +- `sqrt(v)` square root +- `tan(v)` tangent + +### Property functions + +- `setBorder(width = 1, color = "black")` set the canvas border width and color +- `setColor(color)` set the color for both shape stroke and fill +- `noColor()` set both stroke and fill color to "transparent" +- `setCursor(type)` set the CSS cursor type. `POINTER`, `HAND`, and `CROSS` constants are provided, other values must be supplied as string. +- `setFill(color)` set the fill color +- `noFill()` set the fill color to "transparent" +- `setFont(font)` set the text font, using [CSS font syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/font) +- `setFontFamily(name)` set the font to be used, by name +- `setFontSize(px)` set the font size in pixels +- `setFontWeight(val)` set the font weight in CSS weight units +- `setGrid(size, color)` set the background grid's spacing and line coloring +- `noGrid()` do not draw a background grid +- `setLineDash(...values)` set the interval values for [dashed lines](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash) +- `noLineDash()` do not use line dashing for strokes +- `setShadow(color, px)` set the color and blur distance for drawing shape shadows +- `noShadow()` do not use shape shadows +- `setStroke(color)` set the stroke color +- `noStroke()` set the stroke color to "transparent" +- `setTextStroke(color, weight)` set the text outline stroke color and width (in pixels) +- `noTextStroke()` disable text outline +- `setWidth()` reset the stroke width to be 1 pixel wide +- `setWidth(width)` set the stroke width to a custom value, in pixels + +For coloring purposes, there is also the `randomColor` function: + +- `randomColor()` returns a random, full opaque CSS color +- `randomColor(opacity)` returns a random CSS color with the indicated opacity (in interval [0,1]) +- `randomColor(opacity, cycle=false)` if the second parameter is explicitly set to `false`, the random seed used to generate the random color will not be updated, and the resulting random color will be the same as when the function was previously called. + +For temporary work, where you might want to change some properties and then revert to the previous state, there are two functions available: + +- `cacheStyle()` cache the current collection of properties. This uses a stack, with each call adding a new "snapshot" on the stack. +- `restoreStyle()` restore the most recently cached state from the stack. + +### Coordinate transform function + +- `rotate(angle)` rotate the coordinate system by `angle` (clockwise, in radians) +- `scale(x, y)` scale the coordinate system by a factor of `x` horizontally, and `y` vertically +- `translate(x, y)` move the coordinate system by `x` units horizontally, and `y` units vertically +- `resetTransform()` reset the coordinate system to its default values +- `transform(a,b,c,d,e,f)` transform the coordinate system by applying a transformation matrix to it. This matrix has the form: + +``` + | a b c | +m = | d e f | + | 0 0 1 | +``` + +**note:** all transforms are with respect to (0,0) irrespective of where (0,0) has been moved to through successive transforms. + +In addition to transformations, there are also two functions to allow you to map screen coordinates (e.g. cursor position) to their corresponding transformed coordinate, and vice versa, to allow for drawing/computing points in either coordinate system + +- `screenToWorld(x, y)` converts a screen coordinate (x,y) to its corresponding transformed coordinate system coordinate (x',y') +- `worldToScreen(x, y)` converts a transformed coordinate system coordinate (x,y) to its corresponding screen coordinate (x', y') + +### Drawing functions + +- `arc(x, y, r, s, e)` draw a section of outline for a circle with radius `r` centered on (x,y), starting at angle `s` and ending at angle `e`. +- `circle(x, y, r)` draw a circle at (x,y) with radius `r` +- `clear(color="white", preserveTransforms=false)` clears the graphics to a specific CSS background color, resetting the transform by default. +- `drawAxes(hlabel, hs, he, vlabel, vs, ve, w, h)` draw a set of labelled axes, using `{hlabel, hs, he}` as horizontal label, with start marker `hs` and end marker `he`, and using `{vlabel, vs, ve}` as vertical label, with start marker `vs` and end marker `ve` +- `drawGrid(division = 20)` draw a grid with the specified spacing, colored using the current stroke color +- `drawShape(...shapes)` draw one or more saved full shapes (see below) +- `image(img, x = 0, y = 0, w = auto, h = auto)` draw an image at some (x,y) coordinate, defaulting to (0,0), scaled to some width and height, defaulting to the native image dimensions +- `line(x1, y1, x2, y2)` draw a line from (x1,y1) to (x2,y2) +- `plot(fn, start = 0, end = 1, steps = 24, xscale = 1, yscale = 1)` plot a function defined by `fn` (which must take a single numerical input, and output an object of the form `{x:..., y:...}`) for inputs in the interval [start,end], at a resolution of `steps` steps, with the resulting values scaled by `xscale` horizontally, and `yscale` vertically. +- `point(x, y)` draw a single point at (x,y) +- `rect(x, y, w, h)` draw a rectangle from (x,y) with width `w` and height `h` +- `redraw()` triggers a new draw loop. Use this instead of calling `draw()` directly when you wish to draw a new frame as part of event handling. +- `text(str, x, y, alignment = LEFT)` place text, colored by the fill color, anchored to (x,y), with the type of anchoring determined by `alignemtn`. The alignment constants `LEFT`, `RIGHT`, and `CENTER` are available. +- `wedge(x, y, r, s, e)` similar to arc, but draw a full wedge + +#### Shape drawing functions + +- `start(type = POLYGON, factor)` set up a new `Shape` as `this.currentShape` in preparation for receiving data. Types can be `POLYGON` (default), `CURVE` (Catmull-Rom), or `BEZIER`. If `CURVE` is specified, the `factor` indicates how loose or tight the resulting Catmull-Rom curve will be. +- `segment(type, factor)` set up a new section of the shape. If left unspecified the `type` and `factor` are inherited from the current `Shape`. +- `vertex(x, y)` add a point to the current `Shape`'s current segment. +- `end(close = false)` draw the current `Shape` +- `saveShape()` returns the current shape for later reuse + + +## Built in object types + +### Shape + +The `Shape` class reprents a drawable shape consisting of one or more polygonal, Catmull-Rom curve, or Bezier curve segments. It has a minimal API: + +- **`new Shape(type, factor, points = [])`** construct a new `Shape` of the specified `type` (options are `Shape.POLYGON`, `Shape.CURVE` for Catmull-Rom curves, and `Shape.BEZIER` for Bezier curves), with the specified `factor` (used for Catmull-Rom curve tightness), and optional list of points to prepopulate the first shape segment. +- `merge(other)` merge another `Shape`'s segments into this `Shape` +- `copy()` returns a copy of this `Shape` +- `newSegment(type, factor)` start a new segment in this `Shape` of the indicated type, with the indicated tightness factor. +- `vertex(p)` add an on-shape coordinate (x,y) to this `Shape`. How this vertex contributes to the overall shape drawing depends on the current segment type. + + +### Vector + +The `Vector` class represents a 2d/3d coordinate, with a minimal standard API: + +- **`new Vector(x,y,z?) / new Vector({x:,y:,z:}`** construct a new `Vector` +- `vector.dist(other, y, z = 0)` calculate the distance to some other vector-as-coordinate +- `vector.normalize(f)` return a new `Vector` representing a scaled copy of this vector, with length 1.0 +- `vector.getAngle()` get the angle between this vector and the x-axis. +- `vector.reflect(other)` reflect this vector-as-coordinate over the line that some other vector lies on +- `vector.add(other)` return a new `vector` representing the addition of some other vector to this vector +- `vector.subtract(other)` return a new `vector` representing the subtraction of some other vector to this vector +- `vector.scale(f = 1)` return a new `vector` representing the scaled version of this vector + + +### Matrix + +The `Matrix` class represents an `N`x`M` matrix, with minimal standard API: + +- **`new Matrix(n,m,data?)`** construct a new `Matrix`. If `data` is provided, the matrix will be filled with that. **warning:** `data` is assumed to be `n` x `m`, but is **not** validated. +- `setData(data)` **warning:** `data` is assumed to be `n` x `m`, but is **not** validated. +- `get(i, j)` get the value at row `i` and column `j` +- `set(i, j, value)` set the value at row `i` and column `j` +- `row(i)` get the entire `i`th row as an array of values +- `col(j)` get the entire `j`th column as a (flat) array of values +- `multiply(other)` return a new `Matrix` representing the right-multiplication of this matrix with some other matrix +- `invert()` return a new `Matrix` representing the inverse of this matrix, or `undefined` if no inverse exists +- `transpose()` return a new `Matrix` representing the transpose of this matrix +... + +### Bezier + +The `Bezier` class is an instance of [bezier.js](https://pomax.github.io/bezierjs/) with all its API functions, extended for use on the canvas: + +- static `defaultQuadratic(apiInstance)` returns a new quadratic `Bezier` with preset coordinate values tailored to the Primer on Bezier Curves. The `apiInstance` must be a reference to a valid Graphics-API instance (typically thiat will simply be `this` in your code). +- static `defaultCubic(apiInstance)` returns a new cubic `Bezier` with preset coordinate values tailored to the Primer on Bezier Curves. The `apiInstance` must be a reference to a valid Graphics-API instance (typically thiat will simply be `this` in your code). +- static `fitCurveToPoints(apiInstance, points, tvalues)` returns a new `n`-dimensional `Bezier` that has been fit to the provided list of points, constrained to the provided `tvalues`, using MSE polygonal curve fitting. The `apiInstance` must be a reference to a valid Graphics-API instance (typically thiat will simply be `this` in your code). + + +The extended API in addition to these static functions are: + +- **`new Bezier(apiInstance, ...coords)`** construct a new `Bezier` curve controlled by three or more points, either supplied as numerical arguments, or as point objects `{x:..., y:..., z?:...}` where `z` is optional. The `apiInstance` must be a reference to a valid Graphics-API instance (typically thiat will simply be `this` in your code). +- `project(x, y)` returns an `{x:..., y:...}` object representing the projection of some point (x,y) onto this curve. +- `getPointNear(x, y, d = 5)` returns either `undefined`, or one of the `Bezier` curve's control points if the specified (x,y) coordinate is `d` or fewer pixels from a control point. +- `drawCurve(color = #333)` draws this curve on the canvas, with optional custom color +- `drawPoints(labels = true)` draws the curve's control points, with optional coordinate labels (defaulting to true) +- `drawSkeleton(color = #555)` draws this curve's coordinate polygon, with optional custom color +- `getStrutPoints(t)` get the list of points obtained through "de Casteljau" interpolation, for a given `t` value +- `drawStruts(t, color = "black", showpoints = true)` draws this curve's "de Casteljau" points and lines, for a given `t` value, with optional custom color, and optional omission of the points if only the lines are required. +- `drawBoundingBox(color = "black")` draw the axis-aligned bounding box for this `Bezier` curve with optional custom color + +### BSpline + +The `BSpline` class represents a generaic [B-spline](https://en.wikipedia.org/wiki/B-spline) curve, with a minimal API: + +- **`new BSpline(apiInstance, points)`** constructs a B-spline controlled by a points array in which each element may be either of the form `{x: ..., y: ...}` or a numerical tuple `[x,y]`. The `apiInstance` must be a reference to a valid Graphics-API instance (typically thiat will simply be `this` in your code). +- `getLUT(count)` returns an array of `count` coordinates of the form `{x:...,y:...}`, representing a polygonal approximation of this `BSpline`. +- `formKnots(open = false)` set-and-return the list of B-spline knots using either the standard uniform interval spacing, or if `open` is set to `true`, special spacing to effect a B-spline that start and ends at the actual start and end coordinates. The knot array returned in this fashion is a live array, and updating its values **will** change the B-spline's shape. +- `formUniformKnots()` set-and-return uniformaly spaced knot values. The knot array returned in this fashion is a live array, and updating its values **will** change the B-spline's shape. +- `formWeights()` set-and-return the array of weights. These will all be uniformly initialized to 1, with the weight array returned being a live array, so that updating its values will change the B-spline's shape. diff --git a/docs/js/custom-element/api/graphics-api.js b/docs/js/custom-element/api/graphics-api.js index 6342d35b..00dff793 100644 --- a/docs/js/custom-element/api/graphics-api.js +++ b/docs/js/custom-element/api/graphics-api.js @@ -38,6 +38,9 @@ class GraphicsAPI extends BaseAPI { get HAND() { return `pointer`; } + get CROSS() { + return `crosshair`; + } get POLYGON() { return Shape.POLYGON; } @@ -56,25 +59,6 @@ class GraphicsAPI extends BaseAPI { get RIGHT() { return `right`; } - // hatching patterns - get HATCH1() { - return this.HATCHING[0]; - } - get HATCH2() { - return this.HATCHING[1]; - } - get HATCH3() { - return this.HATCHING[2]; - } - get HATCH4() { - return this.HATCHING[3]; - } - get HATCH5() { - return this.HATCHING[4]; - } - get HATCH6() { - return this.HATCHING[5]; - } onMouseDown(evt) { super.onMouseDown(evt); @@ -205,6 +189,17 @@ class GraphicsAPI extends BaseAPI { this.ctx.scale(x, y); } + /** + * transforms: universal free transform based on applying + * + * | a b c | + * m = | d e f | + * | 0 0 1 | + */ + transform(a, b, c, d, e, f) { + this.ctx.transform(a, b, c, d, e, f); + } + /** * transforms: screen to world */ @@ -371,7 +366,7 @@ class GraphicsAPI extends BaseAPI { /** * Set the context lineWidth */ - setWidth(width) { + setWidth(width = 1) { this.ctx.lineWidth = width; } @@ -497,15 +492,22 @@ class GraphicsAPI extends BaseAPI { /** * Draw a circular arc */ - arc(x, y, r, s, e, cx = false, cy = false) { + arc(x, y, r, s, e, wedge = false) { this.ctx.beginPath(); - if (cx !== false && cy != false) this.ctx.moveTo(cx, cy); + if (wedge) this.ctx.moveTo(x, y); this.ctx.arc(x, y, r, s, e); - if (cx !== false && cy != false) this.ctx.moveTo(cx, cy); + if (wedge) this.ctx.moveTo(x, y); this.ctx.fill(); this.ctx.stroke(); } + /** + * Draw a circular wedge + */ + wedge(x, y, r, s, e) { + this.arc(x, y, r, s, e, true); + } + /** * Draw text on the canvas */ @@ -540,11 +542,11 @@ class GraphicsAPI extends BaseAPI { * Draw a function plot from [start] to [end] in [steps] steps. * Returns the plot shape so that it can be cached for redrawing. */ - plot(fn, start = 0, end = 1, steps = 24, xscale = 1, yscale = 1) { + plot(generator, start = 0, end = 1, steps = 24, xscale = 1, yscale = 1) { const interval = end - start; this.start(); for (let i = 0, e = steps - 1, v; i < steps; i++) { - v = fn(start + (interval * i) / e); + v = generator(start + (interval * i) / e); this.vertex(v.x * xscale, v.y * yscale); } this.end(); @@ -585,7 +587,6 @@ class GraphicsAPI extends BaseAPI { this.currentShape.merge(shapes[i]); } this.end(); - this.STARTREPORTING = false; } /** @@ -601,6 +602,13 @@ class GraphicsAPI extends BaseAPI { this.ctx.stroke(); } + /** + * Yield a snapshot of the current shape. + */ + save() { + return this.currentShape; + } + /** * Polygon draw function */ @@ -645,12 +653,6 @@ class GraphicsAPI extends BaseAPI { this.ctx.bezierCurveTo(p1.x, p1.y, p2.x, p2.y, p3.x, p3.y); } } - /** - * Yield a snapshot of the current shape. - */ - save() { - return this.currentShape; - } /** * convenient grid drawing function @@ -704,8 +706,15 @@ class GraphicsAPI extends BaseAPI { return Math.round(v); } - random(v = 1) { - return Math.random() * v; + random(a, b) { + if (a === undefined) { + a = 0; + b = 1; + } else if (b === undefined) { + b = a; + a = 0; + } + return a + Math.random() * (b - a); } abs(v) { @@ -744,10 +753,6 @@ class GraphicsAPI extends BaseAPI { return Math.atan2(dy, dx); } - pow(v, p) { - return Math.pow(v, p); - } - binomial(n, k) { return binomial(n, k); } diff --git a/docs/js/custom-element/api/types/bezier.js b/docs/js/custom-element/api/types/bezier.js index 319a6d66..c1654dd5 100644 --- a/docs/js/custom-element/api/types/bezier.js +++ b/docs/js/custom-element/api/types/bezier.js @@ -160,7 +160,7 @@ class Bezier extends Original { return p; } - drawBoundingBox(color) { + drawBoundingBox(color = `black`) { let bbox = this.bbox(), mx = bbox.x.min, my = bbox.y.min, @@ -169,7 +169,7 @@ class Bezier extends Original { api = this.api; api.cacheStyle(); api.noFill(); - api.setStroke(color ? color : `black`); + api.setStroke(color); api.rect(mx, my, MX - mx, MY - my); api.restoreStyle(); } diff --git a/docs/js/custom-element/api/types/bspline.js b/docs/js/custom-element/api/types/bspline.js index b49173dc..6c47c654 100644 --- a/docs/js/custom-element/api/types/bspline.js +++ b/docs/js/custom-element/api/types/bspline.js @@ -50,34 +50,9 @@ class BSpline { return (this.knots = [...new Array(this.points.length + DEGREE + 1)].map((_, i) => i)); } - formNodes() { - const knots = this.knots; - const domain = [DEGREE, knots.length - 1 - DEGREE], - nodes = []; - - for (let k = 0; k < this.points.length; k++) { - let node = 0; - for (let offset = 1; offset <= DEGREE; offset++) { - node += knots[k + offset]; - } - node /= DEGREE; - if (node < knots[domain[0]]) continue; - if (node > knots[domain[1]]) continue; - nodes.push(node); - } - - return (this.nodes = nodes); - } - formWeights() { return (this.weights = this.points.map((p) => 1)); } - - setDegree(d) { - DEGREE += d; - this.knots = this.formKnots(); - this.nodes = this.formNodes(); - } } export { BSpline }; diff --git a/docs/js/custom-element/api/types/matrix.js b/docs/js/custom-element/api/types/matrix.js index e9ef38b1..e8f5082e 100644 --- a/docs/js/custom-element/api/types/matrix.js +++ b/docs/js/custom-element/api/types/matrix.js @@ -143,11 +143,11 @@ class Matrix { row(i) { return this.data[i]; } - col(i) { + col(j) { var d = this.data, col = []; for (let r = 0, l = d.length; r < l; r++) { - col.push(d[r][i]); + col.push(d[r][j]); } return col; } diff --git a/docs/js/custom-element/api/util/shape.js b/docs/js/custom-element/api/util/shape.js index 57a0626d..8415eb62 100644 --- a/docs/js/custom-element/api/util/shape.js +++ b/docs/js/custom-element/api/util/shape.js @@ -7,7 +7,7 @@ class Shape { constructor(type, factor, points = []) { this.first = false; this.segments = []; - this.addSegment(type, factor); + this.newSegment(type, factor); points.forEach((p) => this.vertex(p)); } merge(other) { @@ -22,7 +22,7 @@ class Shape { copy.segments = this.segments.map((s) => s.copy()); return copy; } - addSegment(type, factor) { + newSegment(type, factor) { this.currentSegment = new Segment(type, factor); this.segments.push(this.currentSegment); } diff --git a/docs/news/2020-09-20.html b/docs/news/2020-09-20.html index 24403606..160c0fd9 100644 --- a/docs/news/2020-09-20.html +++ b/docs/news/2020-09-20.html @@ -27,7 +27,7 @@ - + diff --git a/docs/zh-CN/index.html b/docs/zh-CN/index.html index f5dba2fd..07653d75 100644 --- a/docs/zh-CN/index.html +++ b/docs/zh-CN/index.html @@ -33,7 +33,7 @@ - + @@ -1457,7 +1457,7 @@ function drawCurve(points[], t): Scripts are disabled. Showing fallback image. - + @@ -2950,21 +2950,21 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + Scripts are disabled. Showing fallback image. - + @@ -3197,7 +3197,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -3221,7 +3221,7 @@ y = curve.get(t).y > Scripts are disabled. Showing fallback image. - + @@ -5029,7 +5029,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - + @@ -5154,7 +5154,7 @@ for p = 1 to points.length-3 (inclusive): Scripts are disabled. Showing fallback image. - +