From bec07e3297f1c5d7f86e1eb34cdf0f7a5f384208 Mon Sep 17 00:00:00 2001 From: Pomax Date: Sat, 5 Sep 2020 14:01:36 -0700 Subject: [PATCH] image regeneration + circles --- docs/chapters/circles/arc-approximation.js | 57 + docs/chapters/circles/content.en-GB.md | 4 +- docs/chapters/circles/handler.js | 57 - .../circles_cubic/arc-approximation.js | 85 ++ docs/chapters/circles_cubic/circle.js | 64 ++ docs/chapters/circles_cubic/content.en-GB.md | 6 +- docs/chapters/circles_cubic/handler.js | 205 ---- .../abc/059000c5c8a37dcc8d7fa04154a05df3.svg | 146 ++- .../abc/12aaf0d7fd20b3c551a0ec76b18bd7d2.svg | 100 +- .../abc/385d1fd4aecbd2066e6e284a84408be6.svg | 158 ++- .../abc/3c696e0364d61b1391695342707d6ccc.svg | 142 ++- .../abc/5484dc53e408a4259891a65212ef8636.svg | 107 +- .../abc/63fbe4e666a7dad985ec4110e17c249f.svg | 93 +- .../abc/b4987e9b77b0df604238b88596c5f7c3.svg | 130 ++- .../abc/bc245327e0b011712168bad1c48dfec4.svg | 98 +- .../abc/cd2e47cdc2e23ec86cd1ca1cb4286645.svg | 96 +- .../50679d61424222d7b6b97eb3aa663582.svg | 312 ++++- .../a9af1c06a00bb3c4af816a138fb0a66d.svg | 303 ++++- .../c78b203ff33e5c1606728b552505d61c.svg | 232 +++- .../d480a9aa41917e5230d432cdbd6899b1.svg | 328 +++++- .../0d7138b99f5986332a050a8479eefa57.png | Bin 10266 -> 10248 bytes .../475547c773a7279dc037c9ced2c8c6dc.png | Bin 10597 -> 10590 bytes .../5509919419288129322cfbd4c60d0a4f.svg | 289 ++++- .../580c33f599b70de44b17c546098508aa.png | Bin 9838 -> 9830 bytes .../cb24cda7f7f4bbf3be7104c460e0ec9f.svg | 73 +- .../d0d93f1cc26b560309dade1f1aa012f2.svg | 73 +- .../d3003177813309f88f58a1f515f5df9f.svg | 110 +- .../e168758d35b8f6781617eda5a32b20bf.svg | 405 ++++++- .../e96dd431f6ef9433ccf25909dddd5bca.svg | 190 +++- .../15f9e6eea05599fe6a5eac609ca42cfa.svg | 269 ++++- .../6aad9d1ec548943ee9e7c5ffc9ced9fd.svg | 111 +- .../b8c1ed97fb04474733b41daf2ac1a259.svg | 67 +- .../c32c4cabe4193e4b4c5e1d0e46aacf72.svg | 1005 ++++++++++++++++- .../d17627b7f5db3f8a2be3422bbee4f2b7.svg | 93 +- .../0f3451c711c0fe5d0b018aa4aa77d855.svg | 83 +- .../4c8f9814c50c708757eeb5a68afabb7f.svg | 186 ++- .../763838ea6f9e6c6aa63ea5f9c6d9542f.svg | 135 ++- .../7962d6fea86da6f53a7269fba30f0138.svg | 536 ++++++++- .../892209dad8fd1f839470dd061e870913.svg | 136 ++- .../adac18ea69cc58e01c8d5e15498e4aa6.svg | 136 ++- .../cf45d1ea00d4866abc8a058b130299b4.svg | 308 ++++- .../0430e8c7f7d4ec80e6527f96f3d56e5c.svg | 83 +- .../10025fdab2b3fd20f5d389cbe7e3e3ce.svg | 120 +- .../13c09950363c33627fd3a20343f2f6ce.svg | 438 ++++++- .../20684d22b3ddc52fd6abde8ce56608a9.svg | 76 +- .../2a411f175dcc987cdcc12e7df49ca272.svg | 312 ++++- .../4230e959138d8400e04abf316360009a.svg | 53 +- .../63ccae0ebe0ca70dc2afb507ab32e4bd.svg | 59 +- .../8cbef24b8c3b26f9daf2f89d27d36e95.svg | 77 +- .../add5f7fb210a306fe9ff933113f6fb91.svg | 79 +- .../ba5f418452c3657f3c4dd4b319e59070.svg | 295 ++++- .../ddee51855ef3a9ee7660c395b0a041c7.svg | 264 ++++- .../f039b4e7cf0203df9fac48dad820b2b7.svg | 607 +++++++++- .../06ae1e3fdc660e59d618e0760e8e9ab5.svg | 269 ++++- .../169fd85a95e4d16fe289a75583017a11.svg | 127 ++- .../1811b59c5ab9233f08590396e5d03303.svg | 195 +++- .../1b8a782f7540503d38067317e4cd00b0.svg | 297 ++++- .../26363fc09f8cf2d41ea5b4256656bb6d.svg | 222 +++- .../2844a4f4d222374a25b5f673c94679d9.svg | 241 +++- .../3ea54fe939d076f8db605c5b480e7db0.svg | 295 ++++- .../4d524810417b4caffedd13af23135f5b.svg | 586 +++++++++- .../5f2750de827497375d9a915f96686885.svg | 297 ++++- .../78ac9df086ec19147414359369b563fc.svg | 146 ++- .../79e333cd0c569657eea033b04fb5e61b.svg | 275 ++++- .../841fb6a2a035c9bcf5a2d46f2a67709b.svg | 289 ++++- .../8f56909fcb62b8eef18b9b9559575c13.svg | 217 +++- .../9215d05705c8e8a7ebd718ae6f690371.svg | 239 +++- .../a47b072a325812ac4f0ff52c22792588.svg | 397 ++++++- .../b21386f86bef8894f108c5441dad10de.svg | 245 +++- .../ba31c32eba62f1e3b15066cd5ddda597.svg | 224 +++- .../cbdd46d5e2e1a6202ef46fb03711ebe4.svg | 493 +++++++- .../cc1e2ff43350c32f0ae9ba9a7652b8fb.svg | 239 +++- .../e3d30ab368dcead1411532ce3814d3f3.svg | 238 +++- .../eae7f01976e511ee38b08b6edc8765d2.svg | 222 +++- .../f08e34395ce2812276fd70548f805041.svg | 352 +++++- .../f2b2a16a41d134ce0dfd544ab77ff25e.svg | 332 +++++- .../f41487aff3e34fafd5d4ee5979f133f1.svg | 107 +- .../f814bb8d627f9c8f33b347c1cf13d4c7.svg | 212 +++- .../6b6d06464219b8b0a046cfd99fe571d1.png | Bin 0 -> 11076 bytes .../7754bc3c96ae3c90162fec3bd46bedff.svg | 239 +++- .../8374c4190d6213b0ac0621481afaa754.svg | 76 +- .../9e4d886c372f916f6511c41245ceee39.svg | 197 +++- .../a127f926eced2751a09c54bf7c361b4a.svg | 107 +- .../adbd056f4b8fcd05b1d4f2fce27d7657.svg | 425 ++++++- .../b5d864e9ed0c44c56d454fbaa4218d5e.svg | 147 ++- .../c22f6d343ee0cce7bff6a617c946ca17.svg | 56 +- .../df87674db0f31fc3944aaeb6b890e196.svg | 111 +- .../e1059e611aa1e51db41f9ce0b4ebb95a.svg | 83 +- .../ef3ab62bb896019c6157c85aae5d1ed3.svg | 450 +++++++- .../fe32474b4616ee9478e1308308f1b6bf.svg | 74 +- .../0364731626a530c8a9b30f424ada53c5.svg | 205 +++- .../05d36e051a38905dcb81e65db8261f24.svg | 160 ++- .../178a838274748439778e2a29f5a27d0b.svg | 172 ++- .../195790bae7de813aec342ea82b5d8781.svg | 144 ++- .../3189cac1ddac07c1487e1e51740ecc88.svg | 147 ++- .../3c6f863c77cc2100573bf71adaabc12e.png | Bin 0 -> 12398 bytes .../49dbf244d50c787a4ab18694488d9b69.svg | 619 +++++++++- .../877f9c217c51c0087be751a7580ed459.svg | 152 ++- .../9c6b58f84913ca69f930a19ade6baf53.png | Bin 0 -> 12409 bytes .../a4f0dafbfe80c88723c3cc22277a9682.svg | 76 +- .../acbc5efb06bc34571ccc0322376e0b9b.svg | 184 ++- .../dfb83eec053c30e0a41b0a52aba24cd4.svg | 36 +- .../e2258660a796dcd6189a6f5e14326dad.svg | 80 +- .../e75a848f5f8aead495e35175e2955e06.svg | 77 +- .../ee08d86b7497c7ab042ee899bf15d453.svg | 224 +++- .../fe32474b4616ee9478e1308308f1b6bf.svg | 74 +- .../14cb9fbbaae9e7d87ae6bef3ea7a782e.svg | 268 ++++- .../2af72ea0c3517bc05f36a08cbbed6002.svg | 217 +++- .../2c5b710606f31ed8830397ad2a77d16e.png | Bin 16601 -> 16616 bytes .../882ae425daeb3f449e5a4d649b8425e7.png | Bin 30207 -> 30204 bytes .../c0d4dbc07b8ec7c0a18ea43c8a386935.svg | 328 +++++- .../c7cebd1c54c120c3a9513062e562f3a6.png | Bin 13971 -> 13998 bytes .../6ed4fd2ead35c57984caddf9fe375a5f.svg | 36 +- .../828333034b4fed8e248683760d6bc6f4.svg | 178 ++- .../d9c893051586eb8d9de51c0ae1ef8fae.svg | 75 +- .../03ec73258d5c95eed39a2ea8665e0b07.svg | 206 +++- .../08f4beaebf83dca594ad125bdca7e436.svg | 133 ++- .../283bc9e8fe59a78d3c74860f62a66ecb.svg | 64 +- .../2b8334727d3b004c6e87263fec6b32b7.svg | 120 +- .../2bef3da3828d63d690460ce9947dbde2.svg | 64 +- .../2d42758fba3370f52191306752c2705c.svg | 46 +- .../4ffad56e281ee79d0688e93033429f0a.svg | 218 +++- .../5f7fcb86ae1c19612b9fe02e23229e31.svg | 69 +- .../6202d7bd150c852b432d807c40fb1647.svg | 188 ++- .../78b8ba1aba2e4c9ad3f7890299c90152.svg | 158 ++- .../7e5d59272621baf942bc722208ce70c2.svg | 77 +- .../7eada6f12045423de24d9a2ab8e293b1.svg | 135 ++- .../875ca8eea72e727ccb881b4c0b6a3224.svg | 176 ++- .../8d09f2be2c6db79ee966f170ffc25815.svg | 71 +- .../9151c0fdf9689ee598a2d029ab2ffe34.svg | 287 ++++- .../94acb5850778dcb16c2ba3cfa676f537.svg | 264 ++++- .../ab334858d3fa309cc1a5ba535a2ca168.svg | 89 +- .../bd8e8e294eec10d2bf6ef857c7c0c2c2.svg | 193 +++- .../d84d1c71a3ce1918f53eaf8f9fe98ac4.svg | 54 +- .../eae3bb142567d9e2b8c1e4d42e8ef505.png | Bin 32599 -> 30413 bytes .../03967e3ecdbff78684995ca9c22a6106.svg | 493 +++++++- .../14cb9fbbaae9e7d87ae6bef3ea7a782e.svg | 270 ++++- .../2622790efa97f1915e7998787d8ce977.svg | 171 ++- .../28991bba7c13698619f36b6261d91d68.svg | 656 ++++++++++- .../514090a0fd6c64b7d85a9dc5721a0fa6.svg | 345 +++++- .../6770214cceeb0e13e371bd908867751f.svg | 746 +++++++++++- .../89ceb6024ead6f710e3e0f09d2864f43.svg | 303 ++++- .../95a0cd4cc919a3fd5b192ffeb00c231e.svg | 160 ++- .../b7815b1502029ed9d805b6ba0801a53f.svg | 439 ++++++- .../bd3c740be364071c86ccf42b99d5eba4.svg | 192 +++- .../c010c0df4bb911b84da6e9d379617e4b.svg | 398 ++++++- .../c7b13e6507450b3da7dc4ce3c10c370f.svg | 320 +++++- .../e755c2adfec5d266c50e064407ca369b.svg | 97 +- .../eb4442acc5bc17f4649eb04b2953ed9b.svg | 165 ++- .../fb823558e99662b24d46ae55ac93ce38.svg | 339 +++++- .../066a910ae6aba69c40a338320759cdd1.svg | 90 +- .../0f5cffd58e864fec6739a57664eb8cbd.svg | 81 +- .../1caef9931f954e32eae5067b732c1018.svg | 40 +- .../2adc12d0cff01d40d9e1702014a7dc19.svg | 270 ++++- .../4cf6fb369841e2c5d36e5567a8db4306.svg | 62 +- .../6e15c433dc2340271e007742009e3532.svg | 221 +++- .../741097d69c182e8742695af23980bd8f.svg | 141 ++- .../9a6d17c362980775f1425d0d2ad9a36a.svg | 234 +++- .../9c18f76e76cf684ecd217ad8facc2e93.svg | 181 ++- .../bb06cb82d372f822a7b35e661502bd72.svg | 67 +- .../c605597fb629b964921c6a4bca7fa4c9.svg | 111 +- .../e107caca1577e44293cd207388ac939c.svg | 194 +++- .../f24fd5e27968d96957ba706b16d8e90b.svg | 193 +++- .../a75e84f0e7f92c2f3e8ef10b49744ba5.svg | 71 +- .../b80a1cac1f9ec476d6f6646ce0e154e7.svg | 92 +- .../d930dea961b40f4810708bd6746221a2.svg | 80 +- .../f41f553d448de8559d68fccd9c2f27d4.svg | 83 +- .../0ec5cc72a428d75defb480530b50d720.svg | 150 ++- .../1c0367fad2a0d6946db1f55a8520793a.svg | 100 +- .../6db78123d4b676ffdf85d53670c77468.svg | 141 ++- .../997a8cc704c0ab0e364cb8b532df90b0.svg | 172 ++- .../c621cc41f6f22ee1beedbcb510fa5b6b.svg | 73 +- .../d9e66caeb45b6643112ce3d971b17e5b.svg | 220 +++- .../ddc6f99a543afad25c55cf16b9deeed9.svg | 510 ++++++++- .../e06ec558d99b53e559d24524f4201951.svg | 280 ++++- .../1679090a942a43d27f886f236fc8d62b.svg | 193 +++- .../2029bca9f4fa15739553636af99b70a8.svg | 185 ++- .../4b5c7d0bf0fcd769db007dd98d4a024d.svg | 237 +++- .../4d78ebcf8626f777725d67d3672fa480.svg | 521 ++++++++- .../7c9762c0e04693eb743905cdc0487f8b.svg | 178 ++- .../97b34ad5920612574d1b2a1a9d22d571.svg | 340 +++++- .../b2433959e1f451fa3bf238fc37e04527.svg | 787 ++++++++++++- .../bafdb6583323bda71d9a15c02d1fdec2.svg | 25 +- .../009c671bc526b5d75c30411c3c3a7e91.svg | 204 +++- .../24bdad213879407a35b23c18394293aa.svg | 128 ++- .../5aea6d4d5855135051715fb1cc0ec531.svg | 157 ++- .../6da69918482a0b6b84d90a72dbeae9dd.svg | 308 ++++- .../77a11d65d7cffc4b84a85c4bec837792.svg | 149 ++- .../9bc905d79bb22580b8c1cd75a791db73.svg | 317 +++++- .../c1f815481ad5132bebc1b1f0a3edf20f.svg | 118 +- .../e0d89b48cd11a726c00a2f689d48d57c.svg | 228 +++- .../e524525c62234ce616a1e51c9848c169.svg | 121 +- .../e94ae04eb5732c05d38fa1c97a2a25b0.svg | 128 ++- .../0d2e895e767c4cecb0fccafee1273152.svg | 615 +++++++++- .../0f84dbf6e3ea7db732ceb9d71caf9b22.svg | 221 +++- .../19049f556723a4f2d985a631a91ae290.svg | 208 +++- .../278b67e9b908f4abcf2e9d069a6b29a4.svg | 364 +++++- .../2f2bec1e77039a40c31220f5bf83641a.svg | 189 +++- .../3ed7fa50bf68beef4c77d23e665063d2.svg | 112 +- .../4063d3462c179e91bb5f97c5e763560a.svg | 184 ++- .../567c29ee78b49c700f54b17780682543.svg | 394 ++++++- .../5e3fae45d325d0f0681731fb606b6fbc.svg | 615 +++++++++- .../6aeb749eb26f5a9199c1b16d7d421dc0.svg | 339 +++++- .../77a11d65d7cffc4b84a85c4bec837792.svg | 149 ++- .../7d629178a5fb985a35770002d1912535.svg | 339 +++++- .../859b7bc7b78e8e297ae5fddd9be40ab7.svg | 293 ++++- .../8fb4faa046191480e89052102ecd3678.svg | 163 ++- .../a34473afe7a4160b45ce0f2a770fad99.svg | 243 +++- .../a56f198daab08d20ef666599af14f513.svg | 157 ++- .../abb3edce2229312f351d81092ba2145b.svg | 256 ++++- .../b5cf45e4b34fdd18f599b79549844d45.svg | 205 +++- .../c1fcb64541c09e6d180c3d4a5511858e.svg | 122 +- .../c58330e12d25c678b593ddbd4afa7c52.svg | 204 +++- .../c79b607a92c42789fde57c6a8c4259fd.svg | 206 +++- .../d0a2afc05a974e7e25ce0564505818be.svg | 140 ++- .../daaae36f13bb97f2a7ac21eec6903755.svg | 190 +++- .../dbdbbe9aed4dacb1c1c5ae29b4371870.svg | 518 ++++++++- .../e16eba6dfb9f0b8d1abc3e1cd3ba63a2.svg | 339 +++++- .../e9f64464287d3d5c6a4cbe64e21746c8.svg | 293 ++++- .../f2695b6d6417c60343b4934dae8118f8.svg | 256 ++++- .../079d318ad693b6b17413a91f5de06be8.svg | 96 +- .../502de5e21415ee75ab5d2cffbc921a77.png | Bin 20804 -> 20003 bytes .../610251fd14e24cd1378590de87ce2a74.png | Bin 20804 -> 20003 bytes .../82a99caec5f84fb26dce28277377c041.svg | 106 +- .../9a214cd85a1f0857b1b57db5e9c37b9c.png | Bin 18348 -> 17641 bytes .../1d4be24e5896dce3c16c8e71f9cc8881.svg | 40 +- .../1d586b939b44ff9bdb42562a12ac2779.svg | 105 +- .../5bfee4f2ae27304475673d0596e42f9a.svg | 59 +- .../b262e50c085815421d94e120fc17f1c8.svg | 86 +- .../fa6c243de2aa78b7451e0086848dfdfc.svg | 77 +- .../3c7516c16a5dea95df741f4263cecd1c.svg | 148 ++- .../55d4f7ed095dfea8f9772208abc83b51.svg | 70 +- .../6f0e2b6494d7dae2ea79a46a499d7ed4.svg | 75 +- .../9203537b7dca98ebb2d7017c76100fde.svg | 176 ++- .../009715fce01e46e7c07f87a8192a8c62.svg | 394 ++++++- .../2a55cb2d23c25408aa10cfd8db13278b.svg | 135 ++- .../2dd2f89d1c762991a86526490a3deef6.svg | 415 ++++++- .../6101b2f8b69ebabba4a2c88456a32aa0.svg | 125 +- .../d236b7b2ad46c8ced1b43bb2a496379a.svg | 132 ++- .../deec095950fcd1f9c980be76a7093fe6.svg | 139 ++- .../408dd95905a5f001179c4da6051e49c5.svg | 52 +- .../8c1b570b3efdfbbc39ddedb4adcaaff6.svg | 151 ++- .../c40ab9e3f3d1f53872dff30a7bcdb003.png | Bin 22112 -> 22211 bytes .../1244a85c1f9044b6f77cb709c682159c.svg | 195 +++- .../387f931043aabd6c467985c568482636.png | Bin 10302 -> 10207 bytes .../41e184228d85023abdadd6ce2acb54c7.svg | 234 +++- .../483c89c8726f7fd0dca0b7de339b04bd.svg | 518 ++++++++- .../4debbed5922d2bd84fd322c616872d20.svg | 430 ++++++- .../773fdc86b686647c823b4f499aca3a35.svg | 21 +- .../7a9120997e4a4855ecda435553a7bbdf.svg | 429 ++++++- .../b2fda1dcce5bb13317aa42ebf5e7ea6c.svg | 124 +- .../d52f60b331c1b8d6733eb5217adfbc4d.svg | 242 +++- .../dd8d8d98f66ce9f51b95cbf48225e97b.svg | 738 +++++++++++- .../faf29599c9307f930ec28065c96fde2a.svg | 465 +++++++- .../02457b19087540dfb144978419524a85.svg | 131 ++- .../3fd61ab3fe88f694e70f61e4f8ea056b.svg | 281 ++++- .../4df088f01d0fd4de84a50bbc2e25f8a7.svg | 244 +++- .../b5aa26284ba3df74970a95cb047a841d.svg | 409 ++++++- .../61e43d68f6eb677d0fccd473c121e782.svg | 158 ++- .../9ab2b830fe7fb73350c19bde04e9441b.svg | 157 ++- .../9df91c28af38c1ba2e2d38d2714c9446.svg | 129 ++- docs/index.html | 75 +- docs/ja-JP/index.html | 75 +- docs/js/custom-element/api/graphics-api.js | 4 +- docs/zh-CN/index.html | 75 +- package-lock.json | 111 +- package.json | 3 +- src/build/latex/latex-to-svg.js | 2 +- 268 files changed, 51976 insertions(+), 620 deletions(-) create mode 100644 docs/chapters/circles/arc-approximation.js delete mode 100644 docs/chapters/circles/handler.js create mode 100644 docs/chapters/circles_cubic/arc-approximation.js create mode 100644 docs/chapters/circles_cubic/circle.js delete mode 100644 docs/chapters/circles_cubic/handler.js create mode 100644 docs/images/chapters/circles/6b6d06464219b8b0a046cfd99fe571d1.png create mode 100644 docs/images/chapters/circles_cubic/3c6f863c77cc2100573bf71adaabc12e.png create mode 100644 docs/images/chapters/circles_cubic/9c6b58f84913ca69f930a19ade6baf53.png diff --git a/docs/chapters/circles/arc-approximation.js b/docs/chapters/circles/arc-approximation.js new file mode 100644 index 00000000..e01f484e --- /dev/null +++ b/docs/chapters/circles/arc-approximation.js @@ -0,0 +1,57 @@ +let curve, w, h, pad = 55, r; + +setup() { + w = this.width; + h = this.height; + r = w/2 - pad; + curve = new Bezier(this, + { x: w - pad, y: h/2}, + { x: w - pad, y: h/2}, + { x: w - pad, y: h/2} + ); + setSlider(`.slide-control`, `angle`, -PI/4, v => this.updateCurve(v)); +} + +draw() { + clear(); + setColor(`lightgrey`); + line(0, h/2, w, h/2); + line(w/2, 0, w/2, h); + + noFill(); + setStroke(`red`); + circle(w/2, h/2, r); + + 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); + + curve.drawSkeleton(); + curve.drawCurve(); + + setColor(`black`); + curve.points.forEach(p => { + circle(p.x, p.y, 2); + text(`(${p.x|0},${p.y|0})`, p.x+5, p.y); + }); +} + +updateCurve(a) { + let angle = -a; + let b = ( cos(angle) - 1 ) / sin(angle); + + // new control point + curve.points[1] = { + x: w/2 + r * ( cos(angle) - b * sin(angle) ), + y: w/2 + r * ( sin(angle) + b * cos(angle) ) + }; + + // new endpoint + curve.points[2] = { + x: w/2 + r * cos(angle), + y: w/2 + r * sin(angle) + }; + + return angle; +} diff --git a/docs/chapters/circles/content.en-GB.md b/docs/chapters/circles/content.en-GB.md index 2c9e6c67..a04d1c44 100644 --- a/docs/chapters/circles/content.en-GB.md +++ b/docs/chapters/circles/content.en-GB.md @@ -10,7 +10,9 @@ Since arcs are mid-point-symmetrical, we need the control points to set up a sym First, let's try to fit the quadratic curve onto a circular arc. In the following sketch you can move the mouse around over a unit circle, to see how well, or poorly, a quadratic curve can approximate the arc from (1,0) to where your mouse cursor is: - + + + As you can see, things go horribly wrong quite quickly; even trying to approximate a quarter circle using a quadratic curve is a bad idea. An eighth of a turns might look okay, but how okay is okay? Let's apply some maths and find out. What we're interested in is how far off our on-curve coordinates are with respect to a circular arc, given a specific start and end angle. We'll be looking at how much space there is between the circular arc, and the quadratic curve's midpoint. diff --git a/docs/chapters/circles/handler.js b/docs/chapters/circles/handler.js deleted file mode 100644 index 51a99ec8..00000000 --- a/docs/chapters/circles/handler.js +++ /dev/null @@ -1,57 +0,0 @@ -var sin = Math.sin, - cos = Math.cos; - -module.exports = { - setup: function(api) { - api.w = api.getPanelWidth(); - api.h = api.getPanelHeight(); - api.pad = 20; - api.r = api.w/2 - api.pad; - api.mousePt = false; - api.angle = 0; - var spt = { x: api.w-api.pad, y: api.h/2 }; - api.setCurve(new api.Bezier(spt, spt, spt)); - }, - - draw: function(api, curve) { - api.reset(); - api.setColor("lightgrey"); - api.drawGrid(1,1); - api.setColor("red"); - api.drawCircle({x:api.w/2,y:api.h/2},api.r); - api.setColor("transparent"); - api.setFill("rgba(100,255,100,0.4)"); - var p = { - x: api.w/2, - y: api.h/2, - r: api.r, - s: api.angle < 0 ? api.angle : 0, - e: api.angle < 0 ? 0 : api.angle - }; - api.drawArc(p); - api.setColor("black"); - api.drawSkeleton(curve); - api.drawCurve(curve); - }, - - onMouseMove: function(evt, api) { - var x = evt.offsetX - api.w/2, - y = evt.offsetY - api.h/2; - var angle = Math.atan2(y,x); - var pts = api.curve.points; - // new control - var r = api.r, - b = (cos(angle) - 1) / sin(angle); - pts[1] = { - x: api.w/2 + r * (cos(angle) - b * sin(angle)), - y: api.w/2 + r * (sin(angle) + b * cos(angle)) - }; - // new endpoint - pts[2] = { - x: api.w/2 + api.r * cos(angle), - y: api.w/2 + api.r * sin(angle) - }; - api.setCurve(new api.Bezier(pts)); - api.angle = angle; - } -}; diff --git a/docs/chapters/circles_cubic/arc-approximation.js b/docs/chapters/circles_cubic/arc-approximation.js new file mode 100644 index 00000000..00758c68 --- /dev/null +++ b/docs/chapters/circles_cubic/arc-approximation.js @@ -0,0 +1,85 @@ +let guess, w, h, pad = 75, r; + +setup() { + w = this.width; + h = this.height; + r = w/2 - pad; + guess = new Bezier(this, + { x: w - pad, y: h/2}, + { x: w - pad, y: h/2}, + { x: w - pad, y: h/2}, + { x: w - pad, y: h/2} + ); + setSlider(`.slide-control`, `angle`, -PI/4, v => this.updateCurve(v)); +} + +draw() { + clear(); + setColor(`lightgrey`); + line(0, h/2, w, h/2); + line(w/2, 0, w/2, h); + + noFill(); + setStroke(`red`); + circle(w/2, h/2, r); + + 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); + + guess.drawSkeleton(`lightblue`); + guess.drawCurve(`lightblue`); + + let real = this.getRealCurve(guess.points[0], guess.points[3], this.angle); + real.drawSkeleton(); + real.drawCurve(); + + setColor(`black`); + real.points.forEach(p => { + circle(p.x, p.y, 2); + text(`(${p.x|0},${p.y|0})`, p.x+5, p.y); + }); +} + +updateCurve(a) { + let angle = -a; + + const S = guess.points[0], + B = { + x: w/2 + r * cos(angle/2), + y: h/2 + r * sin(angle/2) + }, + E = guess.points[3] = { + x: w/2 + r * cos(angle), + y: h/2 + r * sin(angle) + }; + + guess = this.guessCurve(S,B,E); + + return angle; +} + +guessCurve(S, B, E) { + const C = { x: (S.x + E.x)/2, y: (S.y + E.y)/2 }, // we know we're working with t=0.5 + A = { x: B.x + (B.x-C.x)/3, y: B.y + (B.y-C.y)/3 }, // cubic ratio at t=0.5 is 1/3 + bx = (E.x-S.x)/4, + by = (E.y-S.y)/4, + e1 = { x: B.x - bx, y: B.y - by }, + e2 = { x: B.x + bx, y: B.y + by }, + v1 = { x: A.x + (e1.x-A.x)*2, y: A.y + (e1.y-A.y)*2 }, + v2 = { x: A.x + (e2.x-A.x)*2, y: A.y + (e2.y-A.y)*2 }, + C1 = { x: S.x + (v1.x-S.x)*2, y: S.y + (v1.y-S.y)*2 }, + C2 = { x: E.x + (v2.x-E.x)*2, y: E.y + (v2.y-E.y)*2 }; + return new Bezier(this, [S, C1, C2, E]); +} + +getRealCurve(S, E, angle) { + const f = 4/3 * tan(angle/4); + const C1 = { x: w/2 + r, y: h/2 + r * f }; + const C2 = { + x: w/2 + r * ( cos(angle) + f * sin(angle) ), + y: h/2 + r * ( sin(angle) - f * cos(angle) ) + }; + return new Bezier(this, [S, C1, C2, E]); +} diff --git a/docs/chapters/circles_cubic/circle.js b/docs/chapters/circles_cubic/circle.js new file mode 100644 index 00000000..3a35ad85 --- /dev/null +++ b/docs/chapters/circles_cubic/circle.js @@ -0,0 +1,64 @@ +let curve, r; + +setup() { + r = (this.width/4) | 0; + curve = new Bezier(this, [ + { x: r, y: 0 }, + { x: r, y: 0.55228 * r }, + { x: 0.55228 * r, y: r}, + { x: 0, y: r } + ]); +} + +draw() { + clear(); + translate(this.width/2, this.height/2); + const w = this.width, h = this.height; + + setStroke(`lightgrey`); + line(0,-h,0,h); + line(-w,0,w,0); + + setStroke(`black`); + line(-r,0,r,0); + line(0,-r,0,r); + + setColor(`black`); + text(`r = ${r}`, r/2, 15, CENTER); + + setColor(`red`); + curve.drawSkeleton(`red`); + curve.points.forEach(p => { + circle(p.x, p.y, 2); + text(`(${p.x},${p.y})`, p.x+5, p.y+15); + }); + curve.drawCurve(); + + curve.points.forEach(p => p.y = -p.y); + curve.drawCurve(`#CC00CC40`); + + setColor(`#CC00CC`); + line(r, 0, r, -0.55228 * r); + circle(r, -0.55228 * r, 2); + text(`reflected`, r + 7, -0.55228 * r + 3, LEFT); + + setColor(`#CC00CC40`); + line(0, -r, 0.55228 * r, -r); + + curve.points.forEach(p => { + p.x = -p.x; + p.y = -p.y; + }); + curve.drawCurve(`#0000CC40`); + + setColor(`#0000CC`); + line(0, r, -0.55228 * r, r); + circle(-0.55228 * r, r, 2); + text(`reflected`, -0.55228 * r - 5, r + 3, RIGHT); + + setColor(`#0000CC40`); + line(-r, 0, -r, 0.55228 * r); + + curve.points.forEach(p => p.y = -p.y); + curve.drawCurve(`#00000040`); +} diff --git a/docs/chapters/circles_cubic/content.en-GB.md b/docs/chapters/circles_cubic/content.en-GB.md index bbaf7deb..64f77689 100644 --- a/docs/chapters/circles_cubic/content.en-GB.md +++ b/docs/chapters/circles_cubic/content.en-GB.md @@ -8,7 +8,9 @@ The first thing we can do is "guess" what the curve should look like, based on t So have a graphical look at a "bad" guess versus the true fit, where we'll be using the bad guess and the description in the second paragraph to derive the maths for the true fit: - + + + We see two curves here; in blue, our "guessed" curve and its control points, and in grey/black, the true curve fit, with proper control points that were shifted in, along line between our guessed control points, such that the derivatives at the start and end points are correct. @@ -177,4 +179,4 @@ Which, in decimal values, rounded to six significant digits, is: Of course, this is for a circle with radius 1, so if you have a different radius circle, simply multiply the coordinate by the radius you need. And then finally, forming a full curve is now a simple a matter of mirroring these coordinates about the origin: - + diff --git a/docs/chapters/circles_cubic/handler.js b/docs/chapters/circles_cubic/handler.js deleted file mode 100644 index 528f9610..00000000 --- a/docs/chapters/circles_cubic/handler.js +++ /dev/null @@ -1,205 +0,0 @@ -var sin = Math.sin, cos = Math.cos, tan = Math.tan; - -module.exports = { - setup: function(api) { - api.setSize(400,400); - api.w = api.getPanelWidth(); - api.h = api.getPanelHeight(); - api.pad = 80; - api.r = api.w/2 - api.pad; - api.mousePt = false; - api.angle = 0; - var spt = { x: api.w-api.pad, y: api.h/2 }; - api.setCurve(new api.Bezier(spt, spt, spt, spt)); - }, - - guessCurve: function(S, B, E) { - var C = { - x: (S.x + E.x)/2, - y: (S.y + E.y)/2 - }, - A = { - x: B.x + (B.x-C.x)/3, // cubic ratio at t=0.5 is 1/3 - y: B.y + (B.y-C.y)/3 - }, - bx = (E.x-S.x)/4, - by = (E.y-S.y)/4, - e1 = { - x: B.x - bx, - y: B.y - by - }, - e2 = { - x: B.x + bx, - y: B.y + by - }, - - v1 = { - x: A.x + (e1.x-A.x)*2, - y: A.y + (e1.y-A.y)*2 - }, - v2 = { - x: A.x + (e2.x-A.x)*2, - y: A.y + (e2.y-A.y)*2 - }, - - nc1 = { - x: S.x + (v1.x-S.x)*2, - y: S.y + (v1.y-S.y)*2 - }, - nc2 = { - x: E.x + (v2.x-E.x)*2, - y: E.y + (v2.y-E.y)*2 - }; - return [nc1, nc2]; - }, - - draw: function(api, curve) { - api.reset(); - - api.setColor("lightgrey"); - api.drawGrid(1,1); - api.setColor("rgba(255,0,0,0.4)"); - api.drawCircle({x:api.w/2,y:api.h/2},api.r); - api.setColor("transparent"); - api.setFill("rgba(100,255,100,0.4)"); - var p = { - x: api.w/2, - y: api.h/2, - r: api.r, - s: api.angle < 0 ? api.angle : 0, - e: api.angle < 0 ? 0 : api.angle - }; - api.drawArc(p); - - // guessed curve - var B = { - x: api.w/2 + api.r * cos(api.angle/2), - y: api.w/2 + api.r * sin(api.angle/2) - }; - var S = curve.points[0], - E = curve.points[3], - nc = this.guessCurve(S,B,E); - var guess = new api.Bezier([S, nc[0], nc[1], E]); - api.setColor("rgb(140,140,255)"); - api.drawLine(guess.points[0], guess.points[1]); - api.drawLine(guess.points[1], guess.points[2]); - api.drawLine(guess.points[2], guess.points[3]); - api.setColor("blue"); - api.drawCurve(guess); - api.drawCircle(guess.points[1], 3); - api.drawCircle(guess.points[2], 3); - - // real curve - api.drawSkeleton(curve); - api.setColor("black"); - api.drawLine(curve.points[1], curve.points[2]); - api.drawCurve(curve); - }, - - onMouseMove: function(evt, api) { - var x = evt.offsetX - api.w/2, - y = evt.offsetY - api.h/2; - if (x>api.w/2) return; - - var angle = Math.atan2(y,x); - if (angle < 0) { - angle = 2*Math.PI + angle; - } - var pts = api.curve.points; - // new control 1 - var r = api.r, - f = (4 * tan(angle/4)) /3; - pts[1] = { - x: api.w/2 + r, - y: api.w/2 + r * f - }; - // new control 2 - pts[2] = { - x: api.w/2 + api.r * (cos(angle) + f*sin(angle)), - y: api.w/2 + api.r * (sin(angle) - f*cos(angle)) - }; - // new endpoint - pts[3] = { - x: api.w/2 + api.r * cos(angle), - y: api.w/2 + api.r * sin(angle) - }; - api.setCurve(new api.Bezier(pts)); - api.angle = angle; - }, - - drawCircle: function(api) { - api.setSize(325,325); - api.reset(); - - var w = api.getPanelWidth(), - h = api.getPanelHeight(), - pad = 60, - r = w/2 - pad, - k = 0.55228, - offset = {x: -pad/2, y:-pad/4}; - - var curve = new api.Bezier([ - {x:w/2 + r, y:h/2}, - {x:w/2 + r, y:h/2 + k*r}, - {x:w/2 + k*r, y:h/2 + r}, - {x:w/2, y:h/2 + r} - ]); - - api.setColor("lightgrey"); - api.drawLine({x:0,y:h/2}, {x:w+pad,y:h/2}, offset); - api.drawLine({x:w/2,y:0}, {x:w/2,y:h+pad}, offset); - - var pts = curve.points; - - api.setColor("red"); - api.drawPoint(pts[0], offset); - api.drawPoint(pts[1], offset); - api.drawPoint(pts[2], offset); - api.drawPoint(pts[3], offset); - api.drawCurve(curve, offset); - api.setColor("rgb(255,160,160)"); - api.drawLine(pts[0],pts[1],offset); - api.drawLine(pts[1],pts[2],offset); - api.drawLine(pts[2],pts[3],offset); - - api.setFill("red"); - api.text((pts[0].x - w/2) + "," + (pts[0].y - h/2), {x: pts[0].x + 7, y: pts[0].y + 3}, offset); - api.text((pts[1].x - w/2) + "," + (pts[1].y - h/2), {x: pts[1].x + 7, y: pts[1].y + 3}, offset); - api.text((pts[2].x - w/2) + "," + (pts[2].y - h/2), {x: pts[2].x + 7, y: pts[2].y + 7}, offset); - api.text((pts[3].x - w/2) + "," + (pts[3].y - h/2), {x: pts[3].x, y: pts[3].y + 13}, offset); - - pts.forEach(p => { p.x = -(p.x - w); }); - api.setColor("blue"); - api.drawCurve(curve, offset); - api.drawLine(pts[2],pts[3],offset); - api.drawPoint(pts[2],offset); - api.setFill("blue"); - api.text("reflected", {x: pts[2].x - pad/2, y: pts[2].y + 13}, offset); - api.setColor("rgb(200,200,255)"); - api.drawLine(pts[1],pts[0],offset); - api.drawPoint(pts[1],offset); - - pts.forEach(p => { p.y = -(p.y - h); }); - api.setColor("green"); - api.drawCurve(curve, offset); - - pts.forEach(p => { p.x = -(p.x - w); }); - api.setColor("purple"); - api.drawCurve(curve, offset); - api.drawLine(pts[1],pts[0],offset); - api.drawPoint(pts[1],offset); - api.setFill("purple"); - api.text("reflected", {x: pts[1].x + 10, y: pts[1].y + 3}, offset); - api.setColor("rgb(200,200,255)"); - api.drawLine(pts[2],pts[3],offset); - api.drawPoint(pts[2],offset); - - - - api.setColor("black"); - api.setFill("black"); - api.drawLine({x:w/2, y:h/2}, {x:w/2 + r -2, y:h/2}, offset); - api.drawLine({x:w/2, y:h/2}, {x:w/2, y:h/2 + r -2}, offset); - api.text("r = " + r, {x:w/2 + r/3, y:h/2 + 10}, offset); - } -}; diff --git a/docs/images/chapters/abc/059000c5c8a37dcc8d7fa04154a05df3.svg b/docs/images/chapters/abc/059000c5c8a37dcc8d7fa04154a05df3.svg index c6effbaf..2fc89c93 100644 --- a/docs/images/chapters/abc/059000c5c8a37dcc8d7fa04154a05df3.svg +++ b/docs/images/chapters/abc/059000c5c8a37dcc8d7fa04154a05df3.svg @@ -1 +1,145 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/abc/12aaf0d7fd20b3c551a0ec76b18bd7d2.svg b/docs/images/chapters/abc/12aaf0d7fd20b3c551a0ec76b18bd7d2.svg index db2106d4..dbba3be7 100644 --- a/docs/images/chapters/abc/12aaf0d7fd20b3c551a0ec76b18bd7d2.svg +++ b/docs/images/chapters/abc/12aaf0d7fd20b3c551a0ec76b18bd7d2.svg @@ -1 +1,99 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/abc/385d1fd4aecbd2066e6e284a84408be6.svg b/docs/images/chapters/abc/385d1fd4aecbd2066e6e284a84408be6.svg index abd1a624..ab4a13a2 100644 --- a/docs/images/chapters/abc/385d1fd4aecbd2066e6e284a84408be6.svg +++ b/docs/images/chapters/abc/385d1fd4aecbd2066e6e284a84408be6.svg @@ -1 +1,157 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/abc/3c696e0364d61b1391695342707d6ccc.svg b/docs/images/chapters/abc/3c696e0364d61b1391695342707d6ccc.svg index c3acdb5b..f7787402 100644 --- a/docs/images/chapters/abc/3c696e0364d61b1391695342707d6ccc.svg +++ b/docs/images/chapters/abc/3c696e0364d61b1391695342707d6ccc.svg @@ -1 +1,141 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/abc/5484dc53e408a4259891a65212ef8636.svg b/docs/images/chapters/abc/5484dc53e408a4259891a65212ef8636.svg index 8dd175bd..cff608e5 100644 --- a/docs/images/chapters/abc/5484dc53e408a4259891a65212ef8636.svg +++ b/docs/images/chapters/abc/5484dc53e408a4259891a65212ef8636.svg @@ -1 +1,106 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/abc/63fbe4e666a7dad985ec4110e17c249f.svg b/docs/images/chapters/abc/63fbe4e666a7dad985ec4110e17c249f.svg index 7aa03beb..80664da6 100644 --- a/docs/images/chapters/abc/63fbe4e666a7dad985ec4110e17c249f.svg +++ b/docs/images/chapters/abc/63fbe4e666a7dad985ec4110e17c249f.svg @@ -1 +1,92 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/abc/b4987e9b77b0df604238b88596c5f7c3.svg b/docs/images/chapters/abc/b4987e9b77b0df604238b88596c5f7c3.svg index eb599048..955bcf28 100644 --- a/docs/images/chapters/abc/b4987e9b77b0df604238b88596c5f7c3.svg +++ b/docs/images/chapters/abc/b4987e9b77b0df604238b88596c5f7c3.svg @@ -1 +1,129 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/abc/bc245327e0b011712168bad1c48dfec4.svg b/docs/images/chapters/abc/bc245327e0b011712168bad1c48dfec4.svg index 2d3cf340..fa9e5a4b 100644 --- a/docs/images/chapters/abc/bc245327e0b011712168bad1c48dfec4.svg +++ b/docs/images/chapters/abc/bc245327e0b011712168bad1c48dfec4.svg @@ -1 +1,97 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/abc/cd2e47cdc2e23ec86cd1ca1cb4286645.svg b/docs/images/chapters/abc/cd2e47cdc2e23ec86cd1ca1cb4286645.svg index 9019dd86..302f2f94 100644 --- a/docs/images/chapters/abc/cd2e47cdc2e23ec86cd1ca1cb4286645.svg +++ b/docs/images/chapters/abc/cd2e47cdc2e23ec86cd1ca1cb4286645.svg @@ -1 +1,95 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/aligning/50679d61424222d7b6b97eb3aa663582.svg b/docs/images/chapters/aligning/50679d61424222d7b6b97eb3aa663582.svg index 32a04a8b..dae8174a 100644 --- a/docs/images/chapters/aligning/50679d61424222d7b6b97eb3aa663582.svg +++ b/docs/images/chapters/aligning/50679d61424222d7b6b97eb3aa663582.svg @@ -1 +1,311 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/aligning/a9af1c06a00bb3c4af816a138fb0a66d.svg b/docs/images/chapters/aligning/a9af1c06a00bb3c4af816a138fb0a66d.svg index 07de4738..dcdb4612 100644 --- a/docs/images/chapters/aligning/a9af1c06a00bb3c4af816a138fb0a66d.svg +++ b/docs/images/chapters/aligning/a9af1c06a00bb3c4af816a138fb0a66d.svg @@ -1 +1,302 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/aligning/c78b203ff33e5c1606728b552505d61c.svg b/docs/images/chapters/aligning/c78b203ff33e5c1606728b552505d61c.svg index 319c2e29..cd4e39d9 100644 --- a/docs/images/chapters/aligning/c78b203ff33e5c1606728b552505d61c.svg +++ b/docs/images/chapters/aligning/c78b203ff33e5c1606728b552505d61c.svg @@ -1 +1,231 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/aligning/d480a9aa41917e5230d432cdbd6899b1.svg b/docs/images/chapters/aligning/d480a9aa41917e5230d432cdbd6899b1.svg index 92e6ab59..177586a6 100644 --- a/docs/images/chapters/aligning/d480a9aa41917e5230d432cdbd6899b1.svg +++ b/docs/images/chapters/aligning/d480a9aa41917e5230d432cdbd6899b1.svg @@ -1 +1,327 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/arclength/0d7138b99f5986332a050a8479eefa57.png b/docs/images/chapters/arclength/0d7138b99f5986332a050a8479eefa57.png index dcccaa773294a2464fc6833ab0b05603d4e670b8..124e2dbdd1a6a40749356ebad1c4eac25a38e4c2 100644 GIT binary patch literal 10248 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 literal 10266 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

DoJMgBX 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 literal 10597 zcmdsd=Qmwn)U^~T_z}Gmo#?$2qSxr1Afgk!lSJntTA|BSAw!LHSQ!PD&jGaTI_T9wpBxfJGOR^nKr!91(vE{5Nks1%g5uKCkvr z`CnQHTaNB8=ftFp+t)@@go0_&0nqYkDft19v{YjoGO&u#=dX=4% zqa|0CnX4q#iieLceXw|Mdb0KPWKTFrBG6r<$yIBzmy?gL6XEiTlrQKNIl1EcfRE^1#yW^=JH&vEsx#S$mKCs zKl6bvm?VRc63b&hccSf{vGv{`2g-0y$X`D~WPP$zU&GQ-VJci`c&U-XUp{zwOf~mZ z4MsMM?PcugiIXnuLHA}yOiYY{$#6y+DMv(#+*%3{!Njz%p5E7(DqrgBrR4uLgfXnJ zZ$xZmM^(kZ#umN*#~>TQG?d{-WNW(@Nt<(Z+RWkk&wH-kadZgggK@@eT9q5U21Nz13xF>@;RgUG_=*->epNoeLVFLKOSMymwFG|2z=)L zzwL^T%u8wDagl?v7gzgce}66hG;EA)_CSmb@zSc(Q;&LGoiG_Sd79Z95s9}^a`5p% zk{WZ&?PVY{;9+AH6aVCRyi!~^ap%l{|PS zA!)K09Cvdx6CpH08q0<4HP8`!XV~mcK$*#!o4>PZNn5T_qOEat^72<_XJECZvrgICzvWtx1Qcdw=F-&`XtCD(>b_XosJLVQL0hjCIfDU!o%Uuo^hEai zsO8SKm6CFIQ*-kIw_J~W#<8qUj$+NC&aUuuInFOw?;mcxMwWBPMD6tT#gGa;e6S8)O%m!O>SvMJ(PZ%UMFpI${4*NOG zj*c3YcwQ!4)9-OmDym0U=adkrhTdE)X_i|qSr+35Ydr`tH{bCe4-@CxE8bEX3;6*l zqTFVW_FhZT=U8_Nn5wz4OhYsu?2VLMr(nM2RLRnjkvG5H8aW z88keOT^jz`_2uyxE(=2IZ*x!>2-Lg03VJ`xq$;o}czLIaxxjkMVY%6d}GlYIe zG4aLzwFtk43Az+4rUy`4P-Dob<1Dmcb%sRc=yF=7@LsDU@p6vYtr+gQB_uQ{ZBPu?egUHFLl0|n6 zy4;y$W)2NKAddZSZ$5^Biz~z$LEv)lKj#-vLl346DL;@iG)h%3Nlcwm<4H=kk{rz_ zfeB55#>6OWMY!c*+Uf z=dURL^<8N8_EH-q+?$nwcTyiI=iS|zBOZ}mVK-}5nj;5$aa(WJ&HuXyk(RBDX@fEQ3^gf2a3a0u>!pIsj?2)Nl0!hHft-05Pr5D{5GB-N@j1jAKQJ&(t&rm5xjL!_E)GxSlYcY;&V?SK~A^_-287 zEX~XYk~s%2?yeofAdug*fnX%X>GGuyz0rCYBqyTYpMP|`)+{=Dbc(DuJJ}jffv{Up zpG;&+2U^X$KgGnPtBE$_z(W;sPwS|&Z=Pwne0qMcxqqQfFL|)L&d2{dM$Nv&U%$Q> zlIsjeZABT>|1BwR&C@K3`RsZlCC2QfD3l(pmP7FB6-TUW48{6f1DMWnq1huc@cEN} zXBp8d1#Tpr+I4nXA|g#ItE*63^M}beZKoLZ>nT*mv*~K1&HiPGe9c$(dx5bqGLc8v z;KH!k8_$L9yYiw7 zKeUZnFqC~6q>%@ol(e%a${&MVh|=7=6tSkvYvZeMd8Cyr9)R87Z|%b(2vmxd&3LwT z%Y7^9`e3sSIo+s&+?T1+Hj9beqTN5F5}KML5E?KPE&)MLu~y{PM7If&(aSg-M+=Yv zD{@-3zmgLGXqlo)NZWmgX{WChBA=a)&zVtx|73r!w>_|=!3}vprq>2A*-bUGBbFxV zV!ObP$6iREz3gWO<;)yGj!|=#QZfgjZI`#_G{t2G06tT~Ud&XO@?&GG@mP&%Aq6fI!^4?wuT@tB$ zebm4hwq?f3rV9<6t_Nbl7oJ|*)N^u(5!W4_*gVDCMvsF(j;M?l)Xtg;XkA^j9M%)GS0}I^Ze)j# zb*5Dr)v~Ft&sYOC-Q;0mWNv3H7~~{x`{O9hKAn9voYulR-QtXOL((6w^+P@MALvl6 zvhr|uhBMF@ev>D6qS+lmsa|Qu`uOqUp3NDERn~r~HTjL!j(VNlf2BELER1Nb`yyYh z5uZL^yNgs-I@VKwl$e{Do9i{ZlNdE!02pbJw0Sc#^ZSSM`ZJ}phKo{mF;)=mP>a`b zp;ifYo}$jQP()vd|E=$AliRbyL&thsfVi53#4jyJWw>27$V5c_)~j)zEbkf;>r99I zG!niqO-$m#E{=>06m;1*zPlc-s4Au<4Ci}o)EsR&SuEJq)zxxX1-6JAC+GO?f?$%E zUr&GfC5BReTtbmS{mbLcw#&uv`0)3CBJhukv`UypMiM|$7ssFsV?SpF@|9CNGepO4 zj#bZ+62LqWk&)(?M_#UbLdHnO6+pP((v9$KrtBm?{C&K*rY#I6!jFhMlQgVh{1PMX zAlV;RrDIkIflP=A&o+Bd93DE&ny@|R4)>+y!g1e=*qnE?JlrlY4%-H z?oBiGQ!j1L0^qcb|BVwTV2qrP@`R;1FYs#|#S;(OGUa`Jed{(JURzGd7XTdh_V_z7 z=6+^{_`--1TceF3JtbG3a#0hx0jWZ>;S>waV$D?N^+kkG#Cv(k$2ZqY=77!UpJR$p zQ7um%gYDsw2$*l7acR5=x|^`Z3&>CP@~DhV@aPJeE(Z&%&u9F%g*}v74~f9H{kvFTZ0O(La=YNY1L?hn?0^tdJlS&!QLnAL&$!vltWZ zp$aC2VN|sXYOzi^;ELElA=iJV8$*sJUUWX-zfMt;E5;H`5ZOEn9Dkk!f>NQsK z1gvvXR#qFw4^h-vBV_FC$w8rHO{qy?M#en%IIkQ^6AW&<8@OTn@(@IBem1D6k*!J~%u^S5&lQ^F~QyDq&0S`z0 zY5mV-Q>7iD5&d_Kzt)zYfsPL5cYOvw5e4z}++D1qFfoPm*w4uz8L5-DU4?|)$$HoN z*$*C4#9!xqs@dd58mPjSlgK{#b2hr!gR;tbeRKhS-M0NOI+?hCS}4}RMBzB0zAQG0 zyb@2gVp6$o!)G)#wfj^y3+lx_ua_ zU>#1s6tHI#FFbYY9iCB81bSZm#-lqvPLvV@ z#E8XagtoHM9r*>^l8>Bbce*?Zu%0Z=oKg$Q;NWJKi=pUD7IJ&@+Jd^ux<9Vp(-Wh8 zVL<`OD5*+I`?l8RcDDJPu{)9F+*Mp}i)bKd?>VD1pP(`S}!YzIB z@|NFiN3->!gVYvD4c^py3#vMYO^Pn`R!jj`vV|Ke8N54N!xYreKs_@nktO;0k}IC= zKY97jo0##8vF={27oLpT7!+bpg_~;vOyFqJk>84#!0}5(#hSlNMJ42DefjRT<|`T5 z-znCLs>im-ns-s7J)Zwi6cQ8+4xkLy$9KnAy84o_)YgN7Lf>F|bDpC;athzLEG829 zxfD`2d;a6#S2f_{;n}+evz|N5dDGA!s%GaqS9`6GXJ_+<4Qj0Bh(;45!@m|XG8&V0 zbhgh3*pr)@TF>|QJo^@i=uuWsFz|qJy~2LP#PqK`pdIe>!8Df7SWa%vxu?e(F_@_A zL#CSXHWN+UvMXOGA?X^O9dgv-yl zGaHNS!R^)6=ZL_eD9X|?^K3ytFmITWEG|IC#$`QvUaXbF!5wM2+!0LDsubLc zj`cj}*?&S6rk!?zzZr~ih>1t?l@*Cay=%bIJmT1y+Ow^5G*MDl&t0fA7O@;m^lE6V z&5;Vnd03f|z84S?QN@X>JW>gXLB{uQk#dqIUA?_k=DlX#=M-6Pc%~@3yLa~@P{-EG zkjWBDX#9y3Qb|(PZt+I+0DkT`kWi8hZh8$t0Y{S_pMyz@>odxl5t@@PDoMYtPPvH% zK0ii9w@H^Fia3Ezd7qMWU!7KaUY$(x&tZF|hQCY`ZO)jhUFt<3f>*k0RcJA!yIE(i)G-yE?|=)eR1`7iN-B$^I?GWAz^+#$ z-sB$V4q$Dc?I%os*;{B7=6Ag71}o>n9MdPgu~A{(ODhv~m9jIbyuLtvsA8-~pP!!( zXeC0cguc~=&-91GAGDQ$1au6dztYPc0N6Z^=1LF&XL{^x#y5ea{3C;rtTDiMp?(+Q z`|eTW_o(;n%!9cfB!H}YO(O&O`?o#(XmiV}uhw?+#Y;i?=`v#wj8_-)U{@dG-s3Uw zRR3&sZ==hmy2Cn-pxxl`{POid-0T03W3^rCmyQ0pB{*2>#d z#;Vqn9)^*tJJ_0rH}h|fQf{2>{Y@L9aZaw~y}3ey%u;*}4MnZ1(`Uf(lCB%<>gb3| zWPM)!X;`X}HRKWcfAFD7bMfW9TRIsT=clrT4D%LdHfZF+nAD70uVN^l4@Qo?E!F3Z zHHJSkx3(?<^wj&YSt$ZPFp<@sh}Y&tD5i2;+brkXfO|g}q5x}ko%cN;0jvRcm?T1=$IQNw!F!JUH*p;UKS5jmApQ4?=|No@(&fF-A{r!2lLv8<0vqZTu{NbI#J=mZT_@*}(4qZKqn{&0DHXm`` z=vIB?0ebQSbu%q>Qi}`h?Oej{?G1f}`yNrFY-NwD(8XT;pRO*c@d{H0umrwR30#k? zrprVlvOk|}5!7lkEq*JtM>D8{v@Zpq@!A%jouD1+7sKZ!_SJ4!nRTLR=+=w$OYj}H z>X)X>932(U_gS4jj|oNfscPO%YE^$S-`z_WbhRRuIa1`DrlX^)`WVg*rT2S~HCRPw zG>&HABf%|olzV-*YA&>v_90$ zrgN^6Yg5hn;gjdyE~h(mcQ?n=X+-o(ips%y)z5%%6i-ZaUZ%+^B@-p>8XAIBnzxyc zXPW{+wz2m9GCCGJD98?Vg;-!r(Lt1&Cuy}Hv9UQIIw66z*`0NCJL@Rn_iqLklRNxJ zk6a2h`(KbY`UH>ZMkj@qR#2b4;ap+l<23A~$@^?!#s?725zcsEx{QQHQ(2aW4;hd4UhiSsyY4#X}`v zrwC7-M@dUluqKxcb8Xb7cXxL`+2M`$I$m33bsX$^N=@y*dbX$Gd;VuSo~_i4n(B^0 z=e}+lfk@rj>fQa*OvN8M%&o2gg^35C9B++5f*KG3UVigi?)UvJNQ6hGXqKN<8QUo|T@5=e|eb z|Mm3fZ(^@Z^04F5(9ncn8jVEY<2JZ#Hu?G=-D{UqNF(z1Yphp8YHLB%o}$C$1o}Tv zY8;F*WMh2w>V68Z_S_a@Rr0v){PrKo6z{+iPXl!QYBv8eBfOGxX1=pfZEV>JFlc70bt)W}%-D=Y%G}75b#>o<_~0nyx-}GV zcg(3hLD%tROBseDAaE0TciU!pwB|rdD`iX0Fuk`({?_xt{?lkiP~ekfn02~b*e;@k ztFk%}n?`?ie-RQz3O}C2(va)(N@P1-zdm@vIjD+dxJK-)MURU1HkP{L^D>LWVoTrM zt+*9Ala7cNPUpX66AsrcLm;9G-N>jGBaA8dIQjW4_ZNm;cQ0OQ6*rh!oW@SYIzuWs zSxgo~KMj){4fCh3Irw&b*q+RgmjRyrhraJ9JyFNBe0(CK839!mgBYNS`oE#NFug|+ z6jUZ+f!~VimXTdt`Kzc;SU-L&0uwxb_1)ucOj+$Ou#`R`r}Tar`^7y*MYAH85A(>b z_n{vJrpniEsH`wiAFzI!r(5H6pN4n(Pqs;mv`d4goPsZ_@@oNK}TXj}5u(i%BA>2XR+cHnO`2PnC&EF}1XOm#3gy8-3d2+C7%5qENk4s4bb>Z6C-X3q%OhDyvisuz2 zkq{n>eX@-R5_C!A^l`V{UlK2J%e9l2m+xL`!vZ_ur$Ie2t{_ZmP2$;U@znMYPp5xJ zHc^d&CkF@ZKlPd`s}W1kIS52OS-g!uHr7M0#)=^^5w$j&Rw|mKP!tMD;ddPFi&Z2R zTL?ra^q&H@a~u?!ELctR@}&o$2~tXbT@I65cx;~uMxD~nQq!&%SbX+#T?>urf=*`e zsn`r$eEhHV9_Dz`y>qqAl{GcLh2mZb4txNj=>-}=P`>j0a3ZUCwOKG$B!Mz5o%Fa6 z2^K{Vhr>cBkJbCo;nXLU)zClKvFF5gu#YE;J_!KnmR`QR48A-TXJFf}q!+|PJ=@jm z?Te-4{_x9_fGsULFc2Gc-5e(tYb~5hUKp!8BQs!8c6(x-h%1+%H->Ux5<_18@TVRk zmDPa0+N|5u`)oJ1WEDNDRz!_{G#LitblXw7xgn_j@RiVZ>V#fQ>`ia)?Or_`gG~2{ z`Ksnf#%+3?{ZeN?Q*S7~WcgYV*Q3ww&m0~3%M2UCqM}fZnl#M@6E8*lQgW|!`5g>D zE=yufm68su^`l=dhpx}e%oK`6zY2Lhn$XY9$H&K_#}xy#+VT04ERkpv^?cnh0~OU> z`ZPJo6~mI>bo!$wBx=p>G~WW*CrXl1Z`w2Zrd=bltpYA+Lg{FKHMudo#7G-1(g<~O zv+rlftjSY?(a+4n%q^d1WxWSyJ?XS}?*Mv-f%9Hr4emOdVZ%s2RQTfd{B3qN1()5- z=hmAEbVWr)NK`*=z%WZ!b048a-1z$7eZ_}%o4X5haVjba0paN%cC$Olse}bqY6cL9 zYgf;=goKXUYmbZT19U(;B%qN*!sl9`QQ-c&WcrI_Fk~GkQu5>Xg8|x{fIBZBkv1DX zQ-uvCy$cTye_Ifkn_J^EGczx&UZifZu(0#K$(0xa`TiK28vU{fG=_Kjt0{k>Q8_2Y zhrg1<2d>i#EnuWmX;N8G2fYve-@WKWueTK%ryL`O#}G&--xYn5ojov%_q z^~uLjifgyDwBRu?Fm#WMsBF*Im&YY17cxd<2L%N&Iyg8)z~S)6xt0SqSKLlcP70xz zuM)j&KiPhj)?jGh+ zlUpQcX@9;xvlnvP=}HrHF&4bNIz>K3MIFz2_q->Dax@H^<^=}E(;qIIBTAWK>555g zoX%@UzF!Bq=G`;CV<5y77-%TU#+m`5?B_WoiW~uXcX+QJ0m3}LZv|Q{tB!!nTRLH;I^@`@iwB&q)nwan*1duCOseD zSz~Vs=ewRwI$mC0zl@=bUczaZ6KU&(85w}jt2Rn8->}$N?6b48-P!6;kZdmhn~Tkj zQ5$a=OiavCzf#2ZXIIx;`}w+2<#Np;oM1G3Z-+U`fE$S-^}LB{F&`DTTlEvR&Ur+Y`q#DD$$J+t|inU9x zCZ6avxiS&58`JXgCV(tf0$BlyNDA1m-V&m=V<3K9Qc}g!oyo(~)9&eMegwUk-xUui z;LY;3yOn+@!_#Nasyq&iqsfJPiZlvln%tNzM>G7a1E)Zvr$ndRd1HuJT|)z~>+%qc z+Ys)ZU^7|#C^zPMWd;@nQ#;@PQ(0NrK0Y1`u)+M(CmByq&qM_GT&tfja3a82zI?k) znrra;p;td+_2yx>o7lB-!sI3ksIVwu7Go;r?>8q;r?9-c3rS5S4Y)m>W-j2jox%W7 zqI?Ssbn@`%ot=dNtu|3*p$Jm{^eqStw7UqFmzQg7CU^3Floz zLIuRl*URwgV&w0Mb!QxPcXe!vtc}e}L5Lj$uqu|%C zUqR30-}OP83+P%YB(bG~oO+*ZNz7JRIJvlVc6SH={rgvm`=hTh*TAmV(7sTn*V&W9 zzwJ-<7vY0oQ7fyfX@IDD@*MLsz{!V;DZI8-X&K`HeZnInY54dOfl4i-J5X(01paU2GjBP8FxMFCny^}f^{^sornjUm~LD7#B- znIL^m2aBSZWCGvs0-=+x=H{y>r#fYZf_|+P6&wHs0wW{QQ3exPbF@qKadzg~*w|Qr`y>^pX12P+BeMUltQ;+@&b9^I zD-Oa^Q_aoIJG0(}S}nDTW@KcL34Hz%ACI@YyPJ`E&|S$*%FPXSgi@M7EZF_}HCBgn z+bGhJ1QvU9wSa5Xvm}9dn}u43Kt>g1V4^XwQf}sl-S}_0bK9ILq62_}73et9)8G5( z0H}J8M>n`lEG;c9dj75qu^kp3z6{Dg3-FML@5T4dP%Hq_*XqD^wZ$bNNx3^k)&)bM zxS(H6_vTFmDZfJnun|!Vjf{#++Qb0R%HPj=9+tk<(?+ITWcN|-^Wb#-+=n3{eq zDA-hV99?v^yI3kK2@HG!&~>#hmIjoQg`jA)g}t3!gU0~{;NpNBjQ>e+iIF2eKR*GB z?iavqY;0@|O-&QEwmJietcpOx6ao?e?bjcgMe5r=A~5CAhC2#T?+@12;c&Pppb;?e zINZmBfK|Wi0gmhJNeKuD0C>qnk(?T40G2=exBLzV2dC=P*L8aW)y2hyjErn+u9lhC zcIxR5YXtCPmogr3EnOv4rNGDf@~3eC`+$v+9&2Xmyikc3$^-O*?F*LODL+QB;Nz(+ zCoa1`<7v~jmxPrSBPdr3;0o|qPe>sJ1mBd4#ejM#0KOW#-v{R3dD9G~*4wj=tH83K z$d!k(%>JFJm2$^jwTjep>~Nfdc$6{#}G58wVD D-#65& diff --git a/docs/images/chapters/arclength/5509919419288129322cfbd4c60d0a4f.svg b/docs/images/chapters/arclength/5509919419288129322cfbd4c60d0a4f.svg index edb473b5..7902edc7 100644 --- a/docs/images/chapters/arclength/5509919419288129322cfbd4c60d0a4f.svg +++ b/docs/images/chapters/arclength/5509919419288129322cfbd4c60d0a4f.svg @@ -1 +1,288 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/arclength/580c33f599b70de44b17c546098508aa.png b/docs/images/chapters/arclength/580c33f599b70de44b17c546098508aa.png index 12e5f42f0b830b0e38a60bed374b13ac36b3b261..5064860a90607fdf97fde1268460f74b296fbc75 100644 GIT binary patch literal 9830 zcmdsd^;6Yd)b9Zl4&B`$-62XUDXDY{(n?4-NOy^#0@5kcAV>%j!a=$oKolgTL}?JD z-gVx&f583m&YfqRXNI%)ckk7o^;tXafwn3k9vvP6fgn`7r=*KOV34E#A+g~vl;z9K z@IP#84OJz?75cyY_Odhtf(42pSsXg|m#QMh&2P64@e z?IkX2B>DeOe~hHtLPXYbP++dEHjaAkEXZm$!6*od)BspUlUABQk&g7Qg+Uq!W`h?CdMp|BlWGEQ3Ud^va$k-E^5V zGI6ai3{6fZsL4ni&&7Rm=;8U}%Iv`|5h^9dYG>ij#>V@e**eRm*Ons%p6g83Rb_AA zB5-lncTvo$q!d%ciZRJy?H6Q+JMt8WvC7Q%)nP&Tvg8vR7Z<)FL`>h~bEIdwr@R>K zM=gkggL|;68ft}^QOQx(qq#{N^MNc>f``4aq!;6L?5YK;BrkEFOljxICHWti?|$KG zUs_&HVUqpl-g^1sg|(8hi>mP~oo41fB_?K2epS`*Ce42MK%}^Ojpe7l7dJF^XDmak z_LhffgyKG*0ZEFu#2?j3Kn4BvbMkcFxRDhg=*{|NiqQ)9%T9t3)!R zbhJ*9iq&kbReyi~qgPQHhttA30lmGw84^xZXzPFethCYJ6(j2>!z3dkGu9sHn@A^t zheO2B*`La8f^sC86Ju5XGvDT0TVEgkfLqDgxze0M%}&f=Q%HX?MEF zfk^JE?rsImOwsE((!MITwj5Lc{b!>3E;Tcg*4o;7abqKvoJ+elSKYnWPEHAiRi>;Q9M^bx&8Q!KSmsKY3Si2|e3G()$MC80_TQN*LCmnE|r$1BH= z@w^MEAH^x)BTtxeq`YI=FGQzxic7t>j*-Y)*Iak5H;2flc{8NG)r{?y3iM%qk+!n< zt2M%#qFhXvCR{n;nsMtCwz6_m<;qkn7`piEuNVnU^Rz^Gj5PcL&ISzfun^7ltdL$WU6OI)2>-#)Yz z*`TU3MC~xPxJAoK{v*4*3}hi0LV+PoP~{M4-04m;m)$L%sczncc8pP(VOTLXaF(0z z71jRX7a}mLFdp7Q_sn1V=9Z{JgNmlg72(E5VK@uzfe{fn5hkkTckC1>`qqXAMf_^7 zM-v%zu(xTb8yFBe&20BgS6P5*iMDPbK=AN;_iiOcMozl9n~X}ue;=FNio1?4v$(Vr zy5Fju!H)%QyWJl68YkrH)VN)WAuDVDDoWC%zQGI$*^&CbFMQ(rwt!aSr^n{mL0vh>aXaw%R<2wyLb|P_vWPpIO2E|WYyHvgv5!h7 zM~v4B0`AFo{rdIYebe~W!4C>rT74)+eKK;+q0pu#qVVu=TPZ>GlFQ3WVNp6v_M%ZZ z#aM=kxWecPlbM4MzP4{2(T zsF^wlqN1W^TfHkZ`-)`A*(41sjl-CqonTy@If%_@U|?_!8+#eW9HOMA7N?IY6lK+H_dme4u&|h|x5MA!R(G0u ztFtj#M%?7`jq^YEx0*=3t?8-=uwY_hqOq!uBPhVQ%}2n))3f9z_Dfu=wWXez*(Miy z$V9Na=6;@BhLkt&`T2SA|Nh)JIZ1x7Hmvws@X)Z9-_PHF393tPd*I*V`ez`4lBp@3 zc8=6_Bcq!?+*}gpKDegb(0J83JgmjLRR(u!Zf&(*9e6o5J#EieqGR&W&%M_npjpLE z!FGGOH=+62g;aJ9*!ziBmZU2YF)?xZZ&KY%l1#HkM@qO*@SP-5RaMpRZN9|oqj~FI z?cngGg+)bs|Bjr7vLq6`(^V?e(l~dIj-o0m_{z$tOGH^k^$ZQMB_$XSpLG9YZ{`oV2!HhS=oxEC+TPEJnl z9VzN5i9$XGua;$FYrZWD%1Vu^trb4p7{_8)Nqoc@rN6wgf)#crba{ChyCwm0{=>U> zF@l1Fm;U@2mcl#jU(X9kzAt}4v9z>AXh99zTl4c-2$*DOBCrXq8Kb5;Q79az>B_rS zR#p+yigpUcyz=tQ^f#UJg$};dbw%Lx%+5A{XN89uC_V)Hia*?HUDF4_O1A}SKmxT09 zokPz2Qa-RgSbZ&rV*_NUt7rB~d7urLjlP>n!s1Njw;x@_RYBm>)Z9O9>4&snKX zev&(4D~sDiOD8kUN1g|L@lh?;M3zBHWfk=hV_=j8366@(W^k}@lDp!_KizxJ@Dg`P zUtgajnt)a@@CM$>NxJTJfhcP>5C0IVBN)TY%^1w`ghjSpjz;*AxOOhZ zl_wX3n3!tvwVtstiuu+fNat>k`V#+(jh~AxWZRRY)UZ>yrDJX$+a4%6;dDd2*lFh3 z#-u~WY#@3gIY7e#%TEPkGt8Y*cuQk3?P<%)t)Fx>?G)%Lo12kszE?_tH`L!cjE;`A zw~>zIR-O65zTz(JY^367ZuG`~PAps8N_h4ohn-y!TMtZ4b+>}x_q%{HY6Jh?KO{;f z+nWD&Eg&G+?eaX=bRE(O;r=(*w(*h#IRb*{x@3jo$7`DR8Dut6_C3Z`>%miw3@t38 zEklmV+Fz*T-_NspJX4K-d47=J?+>7?9bgcm%51B9b~e$Qf(^^Zr-GDrlWU(p6i&4m z7#ytgEMxAtcy+8!htFO#J~lPgw>pS&{FpruIi+F#UF2D1~Hp@p#S6^Eaj=p_YLw&&ku2roHJ z>mY3$9km`gtVai*1@V@`)#{X$oI4LU1s~`+bxYx;V%hW!-Ly}-Rdhu zI8%KQ#iO^@kgV`CvNb?VGqauohp6&8l)KLqOdZ%hJ_!Zo<-M?(eR>){^#xf%o39us zd47AoEk@(Dw$+@t0|=e{WKN$vfyzaBvUGSO@mcXxKz~t5Nn-CC&Cp*SizS^LD<|*7 zdT?Nbz-3j!bgVM_(3{Fm`}nKwzZ5AIl{>mGreZJWnUkUYGw-uYt zzk5dwclWUT5QT>{#?TrLa-MHB_!mJMRVwPgZ#3H``P`d`Ed~-j2_+?-k&zKx2J^w` zcH7HaUfeXU3m>g>qWUwzv3t6$>7;zOhotay5WH7smed(prpvQ+!qXeDt{1`;$Cme^xBX~m~0^CFPU*7oo8J4w-xi`@(NUmr7&)jS}JEk`*iJL z>*41wX{7uIBz@qLBuv{WEuNdt6O}{_`Fk3z_l~(NTcSUEf>0{^99{NW6-R zkH=$RoF}0(J$QnM^H9?~XB4tr>zsI@ZF%?C{hz7R`~sg8e0-?D>G=m`BEz0PmvHkk zS1zkzA!Mu9g!HzwSQ~$=oo?><%T6Z94`+J1!2~Q)J#EuzY7(3@G!*hYH6M~}gMrSC^` zu(Sb{e=LE^k8Lbfl)(cd*8y+|Oz&55;Qd3n?F6i>?|ln3p?zNJOH!KSW6dVr`gpsk z3IBOk0Iu&&shTu#YU*DF7g+5LMI77TTjHjs1~cS> z0c$A5#RjX$o0&PBU-;xOf)$S$d+9-NeV1o4@~1qmBJ! zl~vd4@3sI3$LH>mZD|MtGF_*6y2pZD5$SK<;A0bP#O?1BY;65~VIitpVOWLG!nNE7 zOws%Ihfr8pSd*7Rs*0A@L&gV2)FEM10`Kd*Hp#ACJ7Hl9Cz2cPZu14w!1jY#K!B8> zd93o|$HMR57r#ytw;+=pK3zQ9`GkU|I5jo3%bSTUdfEERYf|Jj<9b_M)Ax_Nf>{(E zjEas=OmxRn^0AO0n@1Fj7ylh?HM=cgnwy(LNU2v^*kK~@srWmi@TuKa`UnLNNO+*i zqc`L$kGjTE{MV)_E+J7Dbn4+35a5v+ku=Mn;-FR`IGW z+6N#iMC9^PpfkUtH}T;aGW9{kfRdsjR)tYbbW9A6kv}q~+Po#axR~RXv^40FE(~xF z;+B*Y8#_DJ-rk=1PgaKg!^6n7Ht8&hB3EqkO((a^w-psVlap!3+CMdef@HQA+VKIk zP3zoaA72#32>sgNu<|91D>f-<)!I7}tGc>+7e0`cMYqLWoVr-7sc&Eah=~v|o0MuD zLu_(#-_}fxh)o{>`U~A^nTXJ&B*I7qRw8D(q5pW*WYb^1>>3^>eD>_w1D&PcYd4Cu zv**8|Vcf;V()M;TFdWr}8XOd)q!^5hjK(G=P$ubUwV7LohKI)+os1%*qTE|d*-8rw z*>+EZPR`EIQnHTxjhLx^h!35>&-HcBc1PV9z-lzKv|UqE>E09*NOud)zP`Q_XqEP$ z#YQhk`1n!g{BZLA?!f`Ly11^cf7H|AED0n5!RH2t(c-!QT`YNddCd%AjNr3lNHDO1 zCk<-D%2v&%QbmgX{sRc_APgD*<@E)$uJ;qd}=|ZGVL62 zgrtnA0VP#c9MGO|qvOl>(JTlwad7f`RwmuZGAL0NoP_DAJ!$U`xW&N{X4SJu(${54Pw{H^z4Wq(u`aa5=Lc#I#Pb|D2 z!5^sH-BIpahGYp#loO>|2UbpP42)7k@O-u%nxXir}fk?}`AX>o~06BK&Ippvrk_1xSgB;iqC zPmHfIDwUpZ3nB zxS^7>hYn}wS($WJmMIed0E8@`sqrMC*@#>n^u4PXk({eS5%WDAHwA^2_lZ1)7-!|* zkp}P| zw3ovORslsz%gJd|=TjvHe2n+sr@THpYdymPWR8x%DpyF@L|XXB5hqJAi0|!zuZQ(q>IT)8(~ph&-axEW&H{9OA`o8nDYC62gwy6pmw z-`+BBP>{3xuc_POPuMQ0=cjC+4I|WuDMJ1oy2d6Gb@nF2ZA_Jy&kmNqQ>RHJpnT=C8!Ol2ij2H>Os8(YcE)T%BdJ|~Iyo^R>^Q{@hFXFw^IDr*!S>$M zytSbGckkja&i<}UlxWPpe?q=>D;rL~&Urrph3+c$e;K-&lK(TKj z>%VV{2nDJW8hR1iev-a8B|bjBh_p0vCi!QHE2xwrlLq@rc2YJO4@ZG5 zp+dk(;~)J!r&E!syitPSHp>Y@z~6^-LaLRMlY1UBx@c!>`)GHu3wZIn|H~I|nsq9j z@&sif?(8hIr#^ok3Mu)~Kst}#>Hdud{=mQ6z}m9|BNukGHKVAk%yUzO)mt|!FaT&b z@C+U_Spaq8mhX19CTetaGzP?*t~805oi!fH6jLo-A@9zb0AoM}wOQ#)LJ|>0M?_$K z|DL_OJ?~VW@+QNNEIK+G^0lgh0wy*A4a<=TZmOimmGY;5fQ=&(5~K@@h`UFgN^ojs zjGmGXLH}aCK4Jj!GcGNCLZeHKyL3V&0_2MqlF>FcS6$ol+s&TqbfsEm*cuwD;x6yL z<{vGz`7-M0&_7T2!k#Rv32!`NGd3Ads4RBZ`zLzph73YF!atNTQZQu#(T z3t+x3t~{>_?}xm+J0Zv?mFcaTNY;AAl#>59rfRG+cFU`)*M)?HqD*RT+4NgGt9`NI z6#VnG0SD$Bj~EqCag}LqI%l|Tj1?3L8gd88S@y3VtXey}*8^r@MX-iC9$@3(;J0~i zasHmJdLzuiQEWk5ytz8~S^*eDE1(afT;|@Bj=Yh)Zw$S|s#NgF*N^@UyRZP5>vh97 zS1acd0(_1EcB`wa-CN-Eo8wWDM_uSrlwmds!I-HAfps^PtSQLcjnu00AAXll9zx4b@TOAH8i9u zN|#88jSYnuoS2++-Q`V~C=i$NqGuNmHES6m}rLE#r(+D^}d@q`qIoa&P)4SXh-GhS~KMx0#hS^7& z3@dnk0{ywTxoNU@1&keH$91Z*lK*?NI~FmMOlKmkSS_%vre!}`JaN8!`Ev5Bq6Qto zFz#X%6(vJFa&=9CXl54>ARK%xgc>hW#Xwj-JH2u9>GxR07$O7Pfb$a(QBhI1gEcKQ z`U#R_)_5(bY;Vu0sj2C<*oh(Ty1)R0ED7@3*!XxC3|scTaOHK5juImP91cK4e3q(IoXrqbL~mlNfZcNvECeTb43j%xs?AsHE!qPLKvQfV?ylPPW?ugN5u$kiehu4J%(vodm%XI`gG*l^ zBGF{Dy1KeB)DnPa*Lisjm{a6Cu0SY!U_8r3qsz+5`n}^!Enc`Vl9NaH{F&?O=_wjG zFD%uNN_p$@&}EbZ9E^vDr?#OXA}5CtMqtt3zkiP(OiN31hinhmT85)h<$7g~InO|% zZ21r-s94ZFs5m?G3tDz0o}Bn)%lMOhx;UnXmMUhavMM${y5A^9gSGT z#VI6R7nFb|fOf0aVU(%3qy$Eu&4u}L;*UY`z>wl&VM)$gFTvvgV)R=8EQmkwbh8^x-9MpGd~vb(?^$O9pGV0}i>-wG}QCubP@As^9UDw_?-h z+%Jcjsa&aj1f4#ZQer@H1>ln~tx|tEcpdX@BN@hmyqoN^bDE~6Cbkb@=RxiLS9dapy9>D^tUKz=eZVo=Xnaprocg4FV=qe#T{@qO#m#ueC{M9}jK~60w zD~lmzSILJHPL991>gelpcm&uj53xI%8S$k-fTD$QbaZ^6r>6)L4xjDsChn&&`N)TT zU@;grlUVXd$ zb`tZ+%hd-F#33XwFzE%bQt|P`|8(CDUK$*NV_2KIyNj%i=B2=(1U-59kLiz-SyR&{ zBEP68B0D?V^uTa|N`|Rsz>fJ?{{^@-Y<>T9p3c{4*{g4Hd@COe_1Ru8Q@4fZeTUNe? zgQLhzfr&uBBl!K>89ny}$Uzx$tFW}<-8;j|PXG)l4`e}`A|fIi(32oo`1uLIUmwPFgQCqKZ1cd4CnJJD+!<`m5csB+02NS-cm_nN&>s<%cv&D#f4>N zn!NOf2MIB;vB>YALYV*k`xhG*S1zKs`mLls>nSR0nn&Hw@0PWV4PPG_UKBS!e`WLc z!9jeDSN!EC7Z5VSl9DLMcBJ(5_|W#JZe99)Z7s#>94kbTG?Zv zz*E+)sjT*Q{5EZ{{hz~VZd6m#&1gb;Ly=+dQUTNVolsg42nZY$1i@H?!~H}iSvqiz z8t(u!EQKqof|j6%4viz{vhI$=1tf%m`CHwyi-2>W7SQ?R&$kcCPnC2ywXdH@wn(FHn%*`1fC$LSM<%8lr!)u6f^cnP$M4+w5l-lf%Mfq zJ>4`nDW-o06`rYH>Xm|$!Rv@&rv;>@5)MwY&*qEA=Lr70g zA16BHB|ZIKTc>T|)vH%0tFJA`05~81`9=){JNlspViD$d{UamMEiL}N=YVzua zFyUwjf=c7M!nuD=rr`6;H1zc7haueD+=vH%|A=_5X+D1Z_>Pegb%XtIH#8O)2#8M* zvI~%O=gJ=M)3gDl`71e2$A^WlUVE8=n=*p)Db`rDkF|I@Y;0~C{C+qs-oF1&8C~qx zaC?J|m5!)Oeq~h?Z2$N~jE|2GL^!2QU!oPG>bvwK9|B@xRiO2Ry?^OX>!fFyhdfRy zAx`PL_;=KkA!4J{B$66JL`0;|A<6>pepn-86$1Y+-d=sa!jjD@mOya_9>K#ggqpIp KQnkXP@c#jc=8$m! literal 9838 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 \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/arclength/d0d93f1cc26b560309dade1f1aa012f2.svg b/docs/images/chapters/arclength/d0d93f1cc26b560309dade1f1aa012f2.svg index cb893878..98175601 100644 --- a/docs/images/chapters/arclength/d0d93f1cc26b560309dade1f1aa012f2.svg +++ b/docs/images/chapters/arclength/d0d93f1cc26b560309dade1f1aa012f2.svg @@ -1 +1,72 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/arclength/d3003177813309f88f58a1f515f5df9f.svg b/docs/images/chapters/arclength/d3003177813309f88f58a1f515f5df9f.svg index 1c0ea0b4..19ba43b7 100644 --- a/docs/images/chapters/arclength/d3003177813309f88f58a1f515f5df9f.svg +++ b/docs/images/chapters/arclength/d3003177813309f88f58a1f515f5df9f.svg @@ -1 +1,109 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/arclength/e168758d35b8f6781617eda5a32b20bf.svg b/docs/images/chapters/arclength/e168758d35b8f6781617eda5a32b20bf.svg index 694ba5c3..24e3722a 100644 --- a/docs/images/chapters/arclength/e168758d35b8f6781617eda5a32b20bf.svg +++ b/docs/images/chapters/arclength/e168758d35b8f6781617eda5a32b20bf.svg @@ -1 +1,404 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/arclength/e96dd431f6ef9433ccf25909dddd5bca.svg b/docs/images/chapters/arclength/e96dd431f6ef9433ccf25909dddd5bca.svg index 2a661888..f56976fe 100644 --- a/docs/images/chapters/arclength/e96dd431f6ef9433ccf25909dddd5bca.svg +++ b/docs/images/chapters/arclength/e96dd431f6ef9433ccf25909dddd5bca.svg @@ -1 +1,189 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplined/15f9e6eea05599fe6a5eac609ca42cfa.svg b/docs/images/chapters/bsplined/15f9e6eea05599fe6a5eac609ca42cfa.svg index 86df9bf7..80d644a6 100644 --- a/docs/images/chapters/bsplined/15f9e6eea05599fe6a5eac609ca42cfa.svg +++ b/docs/images/chapters/bsplined/15f9e6eea05599fe6a5eac609ca42cfa.svg @@ -1 +1,268 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplined/6aad9d1ec548943ee9e7c5ffc9ced9fd.svg b/docs/images/chapters/bsplined/6aad9d1ec548943ee9e7c5ffc9ced9fd.svg index 66cb8dac..5ef85de7 100644 --- a/docs/images/chapters/bsplined/6aad9d1ec548943ee9e7c5ffc9ced9fd.svg +++ b/docs/images/chapters/bsplined/6aad9d1ec548943ee9e7c5ffc9ced9fd.svg @@ -1 +1,110 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplined/b8c1ed97fb04474733b41daf2ac1a259.svg b/docs/images/chapters/bsplined/b8c1ed97fb04474733b41daf2ac1a259.svg index 37593e9f..3980bf4f 100644 --- a/docs/images/chapters/bsplined/b8c1ed97fb04474733b41daf2ac1a259.svg +++ b/docs/images/chapters/bsplined/b8c1ed97fb04474733b41daf2ac1a259.svg @@ -1 +1,66 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplined/c32c4cabe4193e4b4c5e1d0e46aacf72.svg b/docs/images/chapters/bsplined/c32c4cabe4193e4b4c5e1d0e46aacf72.svg index 3f43395f..b83af442 100644 --- a/docs/images/chapters/bsplined/c32c4cabe4193e4b4c5e1d0e46aacf72.svg +++ b/docs/images/chapters/bsplined/c32c4cabe4193e4b4c5e1d0e46aacf72.svg @@ -1 +1,1004 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplined/d17627b7f5db3f8a2be3422bbee4f2b7.svg b/docs/images/chapters/bsplined/d17627b7f5db3f8a2be3422bbee4f2b7.svg index 2ea5243b..73ea85dd 100644 --- a/docs/images/chapters/bsplined/d17627b7f5db3f8a2be3422bbee4f2b7.svg +++ b/docs/images/chapters/bsplined/d17627b7f5db3f8a2be3422bbee4f2b7.svg @@ -1 +1,92 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplines/0f3451c711c0fe5d0b018aa4aa77d855.svg b/docs/images/chapters/bsplines/0f3451c711c0fe5d0b018aa4aa77d855.svg index 4f8c574a..fc065693 100644 --- a/docs/images/chapters/bsplines/0f3451c711c0fe5d0b018aa4aa77d855.svg +++ b/docs/images/chapters/bsplines/0f3451c711c0fe5d0b018aa4aa77d855.svg @@ -1 +1,82 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplines/4c8f9814c50c708757eeb5a68afabb7f.svg b/docs/images/chapters/bsplines/4c8f9814c50c708757eeb5a68afabb7f.svg index 6614cb13..354cd5b9 100644 --- a/docs/images/chapters/bsplines/4c8f9814c50c708757eeb5a68afabb7f.svg +++ b/docs/images/chapters/bsplines/4c8f9814c50c708757eeb5a68afabb7f.svg @@ -1 +1,185 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplines/763838ea6f9e6c6aa63ea5f9c6d9542f.svg b/docs/images/chapters/bsplines/763838ea6f9e6c6aa63ea5f9c6d9542f.svg index 28e5baec..7cbd2dcb 100644 --- a/docs/images/chapters/bsplines/763838ea6f9e6c6aa63ea5f9c6d9542f.svg +++ b/docs/images/chapters/bsplines/763838ea6f9e6c6aa63ea5f9c6d9542f.svg @@ -1 +1,134 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplines/7962d6fea86da6f53a7269fba30f0138.svg b/docs/images/chapters/bsplines/7962d6fea86da6f53a7269fba30f0138.svg index 527aab36..859bdeae 100644 --- a/docs/images/chapters/bsplines/7962d6fea86da6f53a7269fba30f0138.svg +++ b/docs/images/chapters/bsplines/7962d6fea86da6f53a7269fba30f0138.svg @@ -1 +1,535 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplines/892209dad8fd1f839470dd061e870913.svg b/docs/images/chapters/bsplines/892209dad8fd1f839470dd061e870913.svg index 3b4f30f8..30df74d0 100644 --- a/docs/images/chapters/bsplines/892209dad8fd1f839470dd061e870913.svg +++ b/docs/images/chapters/bsplines/892209dad8fd1f839470dd061e870913.svg @@ -1 +1,135 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplines/adac18ea69cc58e01c8d5e15498e4aa6.svg b/docs/images/chapters/bsplines/adac18ea69cc58e01c8d5e15498e4aa6.svg index 39212ea7..eb651b31 100644 --- a/docs/images/chapters/bsplines/adac18ea69cc58e01c8d5e15498e4aa6.svg +++ b/docs/images/chapters/bsplines/adac18ea69cc58e01c8d5e15498e4aa6.svg @@ -1 +1,135 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/bsplines/cf45d1ea00d4866abc8a058b130299b4.svg b/docs/images/chapters/bsplines/cf45d1ea00d4866abc8a058b130299b4.svg index 4a06c171..23a877f0 100644 --- a/docs/images/chapters/bsplines/cf45d1ea00d4866abc8a058b130299b4.svg +++ b/docs/images/chapters/bsplines/cf45d1ea00d4866abc8a058b130299b4.svg @@ -1 +1,307 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/0430e8c7f7d4ec80e6527f96f3d56e5c.svg b/docs/images/chapters/canonical/0430e8c7f7d4ec80e6527f96f3d56e5c.svg index 12a16766..2d7eb65c 100644 --- a/docs/images/chapters/canonical/0430e8c7f7d4ec80e6527f96f3d56e5c.svg +++ b/docs/images/chapters/canonical/0430e8c7f7d4ec80e6527f96f3d56e5c.svg @@ -1 +1,82 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/10025fdab2b3fd20f5d389cbe7e3e3ce.svg b/docs/images/chapters/canonical/10025fdab2b3fd20f5d389cbe7e3e3ce.svg index 2dee57a9..f9868b3b 100644 --- a/docs/images/chapters/canonical/10025fdab2b3fd20f5d389cbe7e3e3ce.svg +++ b/docs/images/chapters/canonical/10025fdab2b3fd20f5d389cbe7e3e3ce.svg @@ -1 +1,119 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/13c09950363c33627fd3a20343f2f6ce.svg b/docs/images/chapters/canonical/13c09950363c33627fd3a20343f2f6ce.svg index e8e294b9..33d23877 100644 --- a/docs/images/chapters/canonical/13c09950363c33627fd3a20343f2f6ce.svg +++ b/docs/images/chapters/canonical/13c09950363c33627fd3a20343f2f6ce.svg @@ -1 +1,437 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/20684d22b3ddc52fd6abde8ce56608a9.svg b/docs/images/chapters/canonical/20684d22b3ddc52fd6abde8ce56608a9.svg index 991f58dd..b6ea6787 100644 --- a/docs/images/chapters/canonical/20684d22b3ddc52fd6abde8ce56608a9.svg +++ b/docs/images/chapters/canonical/20684d22b3ddc52fd6abde8ce56608a9.svg @@ -1 +1,75 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/2a411f175dcc987cdcc12e7df49ca272.svg b/docs/images/chapters/canonical/2a411f175dcc987cdcc12e7df49ca272.svg index 7dcc9ec0..c187eb92 100644 --- a/docs/images/chapters/canonical/2a411f175dcc987cdcc12e7df49ca272.svg +++ b/docs/images/chapters/canonical/2a411f175dcc987cdcc12e7df49ca272.svg @@ -1 +1,311 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/4230e959138d8400e04abf316360009a.svg b/docs/images/chapters/canonical/4230e959138d8400e04abf316360009a.svg index 664983a3..c8e3b79a 100644 --- a/docs/images/chapters/canonical/4230e959138d8400e04abf316360009a.svg +++ b/docs/images/chapters/canonical/4230e959138d8400e04abf316360009a.svg @@ -1 +1,52 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/63ccae0ebe0ca70dc2afb507ab32e4bd.svg b/docs/images/chapters/canonical/63ccae0ebe0ca70dc2afb507ab32e4bd.svg index 514e7561..2ac372fa 100644 --- a/docs/images/chapters/canonical/63ccae0ebe0ca70dc2afb507ab32e4bd.svg +++ b/docs/images/chapters/canonical/63ccae0ebe0ca70dc2afb507ab32e4bd.svg @@ -1 +1,58 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/8cbef24b8c3b26f9daf2f89d27d36e95.svg b/docs/images/chapters/canonical/8cbef24b8c3b26f9daf2f89d27d36e95.svg index 49ea6868..0e117a4b 100644 --- a/docs/images/chapters/canonical/8cbef24b8c3b26f9daf2f89d27d36e95.svg +++ b/docs/images/chapters/canonical/8cbef24b8c3b26f9daf2f89d27d36e95.svg @@ -1 +1,76 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/add5f7fb210a306fe9ff933113f6fb91.svg b/docs/images/chapters/canonical/add5f7fb210a306fe9ff933113f6fb91.svg index 2abaab00..264ee56e 100644 --- a/docs/images/chapters/canonical/add5f7fb210a306fe9ff933113f6fb91.svg +++ b/docs/images/chapters/canonical/add5f7fb210a306fe9ff933113f6fb91.svg @@ -1 +1,78 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/ba5f418452c3657f3c4dd4b319e59070.svg b/docs/images/chapters/canonical/ba5f418452c3657f3c4dd4b319e59070.svg index ab56e33e..055f9eb6 100644 --- a/docs/images/chapters/canonical/ba5f418452c3657f3c4dd4b319e59070.svg +++ b/docs/images/chapters/canonical/ba5f418452c3657f3c4dd4b319e59070.svg @@ -1 +1,294 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/ddee51855ef3a9ee7660c395b0a041c7.svg b/docs/images/chapters/canonical/ddee51855ef3a9ee7660c395b0a041c7.svg index 92196e39..c3fe0ff3 100644 --- a/docs/images/chapters/canonical/ddee51855ef3a9ee7660c395b0a041c7.svg +++ b/docs/images/chapters/canonical/ddee51855ef3a9ee7660c395b0a041c7.svg @@ -1 +1,263 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/canonical/f039b4e7cf0203df9fac48dad820b2b7.svg b/docs/images/chapters/canonical/f039b4e7cf0203df9fac48dad820b2b7.svg index 956d219e..7774b54c 100644 --- a/docs/images/chapters/canonical/f039b4e7cf0203df9fac48dad820b2b7.svg +++ b/docs/images/chapters/canonical/f039b4e7cf0203df9fac48dad820b2b7.svg @@ -1 +1,606 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/06ae1e3fdc660e59d618e0760e8e9ab5.svg b/docs/images/chapters/catmullconv/06ae1e3fdc660e59d618e0760e8e9ab5.svg index 05b1c458..d19039e0 100644 --- a/docs/images/chapters/catmullconv/06ae1e3fdc660e59d618e0760e8e9ab5.svg +++ b/docs/images/chapters/catmullconv/06ae1e3fdc660e59d618e0760e8e9ab5.svg @@ -1 +1,268 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/169fd85a95e4d16fe289a75583017a11.svg b/docs/images/chapters/catmullconv/169fd85a95e4d16fe289a75583017a11.svg index d3658c51..7b70ad64 100644 --- a/docs/images/chapters/catmullconv/169fd85a95e4d16fe289a75583017a11.svg +++ b/docs/images/chapters/catmullconv/169fd85a95e4d16fe289a75583017a11.svg @@ -1 +1,126 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/1811b59c5ab9233f08590396e5d03303.svg b/docs/images/chapters/catmullconv/1811b59c5ab9233f08590396e5d03303.svg index 592c6fe4..bbcff1fa 100644 --- a/docs/images/chapters/catmullconv/1811b59c5ab9233f08590396e5d03303.svg +++ b/docs/images/chapters/catmullconv/1811b59c5ab9233f08590396e5d03303.svg @@ -1 +1,194 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/1b8a782f7540503d38067317e4cd00b0.svg b/docs/images/chapters/catmullconv/1b8a782f7540503d38067317e4cd00b0.svg index 2623d93e..695ff1a9 100644 --- a/docs/images/chapters/catmullconv/1b8a782f7540503d38067317e4cd00b0.svg +++ b/docs/images/chapters/catmullconv/1b8a782f7540503d38067317e4cd00b0.svg @@ -1 +1,296 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/26363fc09f8cf2d41ea5b4256656bb6d.svg b/docs/images/chapters/catmullconv/26363fc09f8cf2d41ea5b4256656bb6d.svg index 02741d1f..be04b74f 100644 --- a/docs/images/chapters/catmullconv/26363fc09f8cf2d41ea5b4256656bb6d.svg +++ b/docs/images/chapters/catmullconv/26363fc09f8cf2d41ea5b4256656bb6d.svg @@ -1 +1,221 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/2844a4f4d222374a25b5f673c94679d9.svg b/docs/images/chapters/catmullconv/2844a4f4d222374a25b5f673c94679d9.svg index 1c3bff2f..5d577181 100644 --- a/docs/images/chapters/catmullconv/2844a4f4d222374a25b5f673c94679d9.svg +++ b/docs/images/chapters/catmullconv/2844a4f4d222374a25b5f673c94679d9.svg @@ -1 +1,240 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/3ea54fe939d076f8db605c5b480e7db0.svg b/docs/images/chapters/catmullconv/3ea54fe939d076f8db605c5b480e7db0.svg index 82a7eb32..ff106ec3 100644 --- a/docs/images/chapters/catmullconv/3ea54fe939d076f8db605c5b480e7db0.svg +++ b/docs/images/chapters/catmullconv/3ea54fe939d076f8db605c5b480e7db0.svg @@ -1 +1,294 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/4d524810417b4caffedd13af23135f5b.svg b/docs/images/chapters/catmullconv/4d524810417b4caffedd13af23135f5b.svg index bff03ed5..43dd3fa2 100644 --- a/docs/images/chapters/catmullconv/4d524810417b4caffedd13af23135f5b.svg +++ b/docs/images/chapters/catmullconv/4d524810417b4caffedd13af23135f5b.svg @@ -1 +1,585 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/5f2750de827497375d9a915f96686885.svg b/docs/images/chapters/catmullconv/5f2750de827497375d9a915f96686885.svg index 17e3d17f..bf11b2a0 100644 --- a/docs/images/chapters/catmullconv/5f2750de827497375d9a915f96686885.svg +++ b/docs/images/chapters/catmullconv/5f2750de827497375d9a915f96686885.svg @@ -1 +1,296 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/78ac9df086ec19147414359369b563fc.svg b/docs/images/chapters/catmullconv/78ac9df086ec19147414359369b563fc.svg index 4380339b..485f863b 100644 --- a/docs/images/chapters/catmullconv/78ac9df086ec19147414359369b563fc.svg +++ b/docs/images/chapters/catmullconv/78ac9df086ec19147414359369b563fc.svg @@ -1 +1,145 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/79e333cd0c569657eea033b04fb5e61b.svg b/docs/images/chapters/catmullconv/79e333cd0c569657eea033b04fb5e61b.svg index 534a46e7..13f87890 100644 --- a/docs/images/chapters/catmullconv/79e333cd0c569657eea033b04fb5e61b.svg +++ b/docs/images/chapters/catmullconv/79e333cd0c569657eea033b04fb5e61b.svg @@ -1 +1,274 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/841fb6a2a035c9bcf5a2d46f2a67709b.svg b/docs/images/chapters/catmullconv/841fb6a2a035c9bcf5a2d46f2a67709b.svg index 6d38d835..9c91c353 100644 --- a/docs/images/chapters/catmullconv/841fb6a2a035c9bcf5a2d46f2a67709b.svg +++ b/docs/images/chapters/catmullconv/841fb6a2a035c9bcf5a2d46f2a67709b.svg @@ -1 +1,288 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/8f56909fcb62b8eef18b9b9559575c13.svg b/docs/images/chapters/catmullconv/8f56909fcb62b8eef18b9b9559575c13.svg index 641dbadb..e6998b93 100644 --- a/docs/images/chapters/catmullconv/8f56909fcb62b8eef18b9b9559575c13.svg +++ b/docs/images/chapters/catmullconv/8f56909fcb62b8eef18b9b9559575c13.svg @@ -1 +1,216 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/9215d05705c8e8a7ebd718ae6f690371.svg b/docs/images/chapters/catmullconv/9215d05705c8e8a7ebd718ae6f690371.svg index 064ccf2c..612383e5 100644 --- a/docs/images/chapters/catmullconv/9215d05705c8e8a7ebd718ae6f690371.svg +++ b/docs/images/chapters/catmullconv/9215d05705c8e8a7ebd718ae6f690371.svg @@ -1 +1,238 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/a47b072a325812ac4f0ff52c22792588.svg b/docs/images/chapters/catmullconv/a47b072a325812ac4f0ff52c22792588.svg index 8c1629da..eb9a0533 100644 --- a/docs/images/chapters/catmullconv/a47b072a325812ac4f0ff52c22792588.svg +++ b/docs/images/chapters/catmullconv/a47b072a325812ac4f0ff52c22792588.svg @@ -1 +1,396 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/b21386f86bef8894f108c5441dad10de.svg b/docs/images/chapters/catmullconv/b21386f86bef8894f108c5441dad10de.svg index 8b20d3e4..3e32110b 100644 --- a/docs/images/chapters/catmullconv/b21386f86bef8894f108c5441dad10de.svg +++ b/docs/images/chapters/catmullconv/b21386f86bef8894f108c5441dad10de.svg @@ -1 +1,244 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/ba31c32eba62f1e3b15066cd5ddda597.svg b/docs/images/chapters/catmullconv/ba31c32eba62f1e3b15066cd5ddda597.svg index f1ffd3bf..bb9b7e9e 100644 --- a/docs/images/chapters/catmullconv/ba31c32eba62f1e3b15066cd5ddda597.svg +++ b/docs/images/chapters/catmullconv/ba31c32eba62f1e3b15066cd5ddda597.svg @@ -1 +1,223 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/cbdd46d5e2e1a6202ef46fb03711ebe4.svg b/docs/images/chapters/catmullconv/cbdd46d5e2e1a6202ef46fb03711ebe4.svg index ff0b3e57..462988ce 100644 --- a/docs/images/chapters/catmullconv/cbdd46d5e2e1a6202ef46fb03711ebe4.svg +++ b/docs/images/chapters/catmullconv/cbdd46d5e2e1a6202ef46fb03711ebe4.svg @@ -1 +1,492 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/cc1e2ff43350c32f0ae9ba9a7652b8fb.svg b/docs/images/chapters/catmullconv/cc1e2ff43350c32f0ae9ba9a7652b8fb.svg index 064ccf2c..612383e5 100644 --- a/docs/images/chapters/catmullconv/cc1e2ff43350c32f0ae9ba9a7652b8fb.svg +++ b/docs/images/chapters/catmullconv/cc1e2ff43350c32f0ae9ba9a7652b8fb.svg @@ -1 +1,238 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/e3d30ab368dcead1411532ce3814d3f3.svg b/docs/images/chapters/catmullconv/e3d30ab368dcead1411532ce3814d3f3.svg index 730f0ac2..456b35b7 100644 --- a/docs/images/chapters/catmullconv/e3d30ab368dcead1411532ce3814d3f3.svg +++ b/docs/images/chapters/catmullconv/e3d30ab368dcead1411532ce3814d3f3.svg @@ -1 +1,237 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/eae7f01976e511ee38b08b6edc8765d2.svg b/docs/images/chapters/catmullconv/eae7f01976e511ee38b08b6edc8765d2.svg index e2692743..ef02febb 100644 --- a/docs/images/chapters/catmullconv/eae7f01976e511ee38b08b6edc8765d2.svg +++ b/docs/images/chapters/catmullconv/eae7f01976e511ee38b08b6edc8765d2.svg @@ -1 +1,221 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/f08e34395ce2812276fd70548f805041.svg b/docs/images/chapters/catmullconv/f08e34395ce2812276fd70548f805041.svg index 96d6d824..94210444 100644 --- a/docs/images/chapters/catmullconv/f08e34395ce2812276fd70548f805041.svg +++ b/docs/images/chapters/catmullconv/f08e34395ce2812276fd70548f805041.svg @@ -1 +1,351 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/f2b2a16a41d134ce0dfd544ab77ff25e.svg b/docs/images/chapters/catmullconv/f2b2a16a41d134ce0dfd544ab77ff25e.svg index efd1b6ce..c0d2cad2 100644 --- a/docs/images/chapters/catmullconv/f2b2a16a41d134ce0dfd544ab77ff25e.svg +++ b/docs/images/chapters/catmullconv/f2b2a16a41d134ce0dfd544ab77ff25e.svg @@ -1 +1,331 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/f41487aff3e34fafd5d4ee5979f133f1.svg b/docs/images/chapters/catmullconv/f41487aff3e34fafd5d4ee5979f133f1.svg index 89aabbd7..9f5ffed9 100644 --- a/docs/images/chapters/catmullconv/f41487aff3e34fafd5d4ee5979f133f1.svg +++ b/docs/images/chapters/catmullconv/f41487aff3e34fafd5d4ee5979f133f1.svg @@ -1 +1,106 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/catmullconv/f814bb8d627f9c8f33b347c1cf13d4c7.svg b/docs/images/chapters/catmullconv/f814bb8d627f9c8f33b347c1cf13d4c7.svg index 4273506c..24c2ab1f 100644 --- a/docs/images/chapters/catmullconv/f814bb8d627f9c8f33b347c1cf13d4c7.svg +++ b/docs/images/chapters/catmullconv/f814bb8d627f9c8f33b347c1cf13d4c7.svg @@ -1 +1,211 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/6b6d06464219b8b0a046cfd99fe571d1.png b/docs/images/chapters/circles/6b6d06464219b8b0a046cfd99fe571d1.png new file mode 100644 index 0000000000000000000000000000000000000000..5030c9bfc8aefdbe7f9127d8281477afbcabf1f1 GIT binary patch literal 11076 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

-xgf6td;fz`4<>7EouvpN|NCk{8k6R$|I0@#%%BTI^<)Tx zQzPl4u;PKxHx&Cnr?v`wa@Aze?OUJ&B!Pwr6pO!P398)a`N$8PzLR=;-MuX0m3v9}wf?%{Tj&;jACN zsQ&29bZ#t?Fn8!iX~ZV!$oF~|MbUR~3}-14ZugJiix?%!IgMSaV%hAd!VkWijBS$)UjxL(#oz&%)+xQoqx zK>o&IBIIBgC)w_I=x zpKrKJ0R({n?BcH%H;ZD){5Mt=ngAXiTM-E zO^@6d2^yyA+NZsig0FNzS5WNzx4|c|W|h3CfSrWkeeFVnYqg_qShlDu-LtnhIzdiC zh`gfpq+5%U#tc#Gx+2F54TY+BMW_M@NdN_L&}kI2r;}Ooz<;MQ@1?!kgY#W!cL;-p zCKqf1uX?WvS^0eQ+MhS*PQeabeJsRMSL2@TO4$9SaTX2Su%&Fv6QfgO)fMX{yw9y+ zetri24VfOwAuS}D_zW?CD3aCVF5i^*zjs3q79~C%A_=;iti%?3-b=fb(@q!|g2WR& zT#9*pF0Zmw-H1^@c{=OJx?#{Qv_IW(AUKA5l(ho1i82$ctgLk! z`f?aRX$u~6vO49utDhoSyL<7X58u>Ov$Py?M9=Bx%;FVdv7`1Q=fU_QQ^^hY*+RGv zsj@ax9@CrdN>$^L*DSf`F;wKU>fD`T5+-gw5^%+xkuoF~K6B-e%o|W4@e*|6N&J=f zHUEJ|n|(y1M=aWr{soy&yKO{`;zdl1OiWS)gaJo~?@M{{!iBXhOOd=%RT(VtHtf%5 zgKt?inuzzy!-}{rhN(JtitJBt7O_Ys-hlS$nr^&G<@*>fv>2IpDh2am9*>jvXvbDl z=Y4p?86uGrrYd519UlT~<7J={3fnR^gTJ%CegFUOX3GC}+vw&gMPl5jLZ#_UJ_P(A M?(3*wRUe1_A4xk?9smFU literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles/7754bc3c96ae3c90162fec3bd46bedff.svg b/docs/images/chapters/circles/7754bc3c96ae3c90162fec3bd46bedff.svg index 0210144f..ad364132 100644 --- a/docs/images/chapters/circles/7754bc3c96ae3c90162fec3bd46bedff.svg +++ b/docs/images/chapters/circles/7754bc3c96ae3c90162fec3bd46bedff.svg @@ -1 +1,238 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/8374c4190d6213b0ac0621481afaa754.svg b/docs/images/chapters/circles/8374c4190d6213b0ac0621481afaa754.svg index 68e2155e..4c508f87 100644 --- a/docs/images/chapters/circles/8374c4190d6213b0ac0621481afaa754.svg +++ b/docs/images/chapters/circles/8374c4190d6213b0ac0621481afaa754.svg @@ -1 +1,75 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/9e4d886c372f916f6511c41245ceee39.svg b/docs/images/chapters/circles/9e4d886c372f916f6511c41245ceee39.svg index 3d3a0808..889eafa7 100644 --- a/docs/images/chapters/circles/9e4d886c372f916f6511c41245ceee39.svg +++ b/docs/images/chapters/circles/9e4d886c372f916f6511c41245ceee39.svg @@ -1 +1,196 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/a127f926eced2751a09c54bf7c361b4a.svg b/docs/images/chapters/circles/a127f926eced2751a09c54bf7c361b4a.svg index 119d9d87..6499f0f1 100644 --- a/docs/images/chapters/circles/a127f926eced2751a09c54bf7c361b4a.svg +++ b/docs/images/chapters/circles/a127f926eced2751a09c54bf7c361b4a.svg @@ -1 +1,106 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/adbd056f4b8fcd05b1d4f2fce27d7657.svg b/docs/images/chapters/circles/adbd056f4b8fcd05b1d4f2fce27d7657.svg index a09171f6..cb7e7491 100644 --- a/docs/images/chapters/circles/adbd056f4b8fcd05b1d4f2fce27d7657.svg +++ b/docs/images/chapters/circles/adbd056f4b8fcd05b1d4f2fce27d7657.svg @@ -1 +1,424 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/b5d864e9ed0c44c56d454fbaa4218d5e.svg b/docs/images/chapters/circles/b5d864e9ed0c44c56d454fbaa4218d5e.svg index ffacd873..078062ab 100644 --- a/docs/images/chapters/circles/b5d864e9ed0c44c56d454fbaa4218d5e.svg +++ b/docs/images/chapters/circles/b5d864e9ed0c44c56d454fbaa4218d5e.svg @@ -1 +1,146 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/c22f6d343ee0cce7bff6a617c946ca17.svg b/docs/images/chapters/circles/c22f6d343ee0cce7bff6a617c946ca17.svg index dc14b685..5d3d8374 100644 --- a/docs/images/chapters/circles/c22f6d343ee0cce7bff6a617c946ca17.svg +++ b/docs/images/chapters/circles/c22f6d343ee0cce7bff6a617c946ca17.svg @@ -1 +1,55 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/df87674db0f31fc3944aaeb6b890e196.svg b/docs/images/chapters/circles/df87674db0f31fc3944aaeb6b890e196.svg index d9535fe2..6c59c3cd 100644 --- a/docs/images/chapters/circles/df87674db0f31fc3944aaeb6b890e196.svg +++ b/docs/images/chapters/circles/df87674db0f31fc3944aaeb6b890e196.svg @@ -1 +1,110 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/e1059e611aa1e51db41f9ce0b4ebb95a.svg b/docs/images/chapters/circles/e1059e611aa1e51db41f9ce0b4ebb95a.svg index 6fbc06e1..909322b8 100644 --- a/docs/images/chapters/circles/e1059e611aa1e51db41f9ce0b4ebb95a.svg +++ b/docs/images/chapters/circles/e1059e611aa1e51db41f9ce0b4ebb95a.svg @@ -1 +1,82 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/ef3ab62bb896019c6157c85aae5d1ed3.svg b/docs/images/chapters/circles/ef3ab62bb896019c6157c85aae5d1ed3.svg index 37b0a458..115fb152 100644 --- a/docs/images/chapters/circles/ef3ab62bb896019c6157c85aae5d1ed3.svg +++ b/docs/images/chapters/circles/ef3ab62bb896019c6157c85aae5d1ed3.svg @@ -1 +1,449 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles/fe32474b4616ee9478e1308308f1b6bf.svg b/docs/images/chapters/circles/fe32474b4616ee9478e1308308f1b6bf.svg index 0a70cf4b..0cb6f006 100644 --- a/docs/images/chapters/circles/fe32474b4616ee9478e1308308f1b6bf.svg +++ b/docs/images/chapters/circles/fe32474b4616ee9478e1308308f1b6bf.svg @@ -1 +1,73 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/0364731626a530c8a9b30f424ada53c5.svg b/docs/images/chapters/circles_cubic/0364731626a530c8a9b30f424ada53c5.svg index 0d5aff0a..8bf7bc79 100644 --- a/docs/images/chapters/circles_cubic/0364731626a530c8a9b30f424ada53c5.svg +++ b/docs/images/chapters/circles_cubic/0364731626a530c8a9b30f424ada53c5.svg @@ -1 +1,204 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/05d36e051a38905dcb81e65db8261f24.svg b/docs/images/chapters/circles_cubic/05d36e051a38905dcb81e65db8261f24.svg index 4e7691f5..0296a068 100644 --- a/docs/images/chapters/circles_cubic/05d36e051a38905dcb81e65db8261f24.svg +++ b/docs/images/chapters/circles_cubic/05d36e051a38905dcb81e65db8261f24.svg @@ -1 +1,159 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/178a838274748439778e2a29f5a27d0b.svg b/docs/images/chapters/circles_cubic/178a838274748439778e2a29f5a27d0b.svg index e7a699df..b23ce2d7 100644 --- a/docs/images/chapters/circles_cubic/178a838274748439778e2a29f5a27d0b.svg +++ b/docs/images/chapters/circles_cubic/178a838274748439778e2a29f5a27d0b.svg @@ -1 +1,171 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/195790bae7de813aec342ea82b5d8781.svg b/docs/images/chapters/circles_cubic/195790bae7de813aec342ea82b5d8781.svg index e063afd3..14346660 100644 --- a/docs/images/chapters/circles_cubic/195790bae7de813aec342ea82b5d8781.svg +++ b/docs/images/chapters/circles_cubic/195790bae7de813aec342ea82b5d8781.svg @@ -1 +1,143 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/3189cac1ddac07c1487e1e51740ecc88.svg b/docs/images/chapters/circles_cubic/3189cac1ddac07c1487e1e51740ecc88.svg index 86a35ff5..71fc8fdf 100644 --- a/docs/images/chapters/circles_cubic/3189cac1ddac07c1487e1e51740ecc88.svg +++ b/docs/images/chapters/circles_cubic/3189cac1ddac07c1487e1e51740ecc88.svg @@ -1 +1,146 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/3c6f863c77cc2100573bf71adaabc12e.png b/docs/images/chapters/circles_cubic/3c6f863c77cc2100573bf71adaabc12e.png new file mode 100644 index 0000000000000000000000000000000000000000..f536960f524a216740eb63ee521645b93b48f961 GIT binary patch literal 12398 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 \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/877f9c217c51c0087be751a7580ed459.svg b/docs/images/chapters/circles_cubic/877f9c217c51c0087be751a7580ed459.svg index a8af5f84..244b12f6 100644 --- a/docs/images/chapters/circles_cubic/877f9c217c51c0087be751a7580ed459.svg +++ b/docs/images/chapters/circles_cubic/877f9c217c51c0087be751a7580ed459.svg @@ -1 +1,151 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/9c6b58f84913ca69f930a19ade6baf53.png b/docs/images/chapters/circles_cubic/9c6b58f84913ca69f930a19ade6baf53.png new file mode 100644 index 0000000000000000000000000000000000000000..90954f37c416be819914aaff1decba923d2fa0dd GIT binary patch literal 12409 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 literal 0 HcmV?d00001 diff --git a/docs/images/chapters/circles_cubic/a4f0dafbfe80c88723c3cc22277a9682.svg b/docs/images/chapters/circles_cubic/a4f0dafbfe80c88723c3cc22277a9682.svg index 68e2155e..4c508f87 100644 --- a/docs/images/chapters/circles_cubic/a4f0dafbfe80c88723c3cc22277a9682.svg +++ b/docs/images/chapters/circles_cubic/a4f0dafbfe80c88723c3cc22277a9682.svg @@ -1 +1,75 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/acbc5efb06bc34571ccc0322376e0b9b.svg b/docs/images/chapters/circles_cubic/acbc5efb06bc34571ccc0322376e0b9b.svg index c1684190..ae9d0bb5 100644 --- a/docs/images/chapters/circles_cubic/acbc5efb06bc34571ccc0322376e0b9b.svg +++ b/docs/images/chapters/circles_cubic/acbc5efb06bc34571ccc0322376e0b9b.svg @@ -1 +1,183 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/dfb83eec053c30e0a41b0a52aba24cd4.svg b/docs/images/chapters/circles_cubic/dfb83eec053c30e0a41b0a52aba24cd4.svg index 68fc6890..03c8a832 100644 --- a/docs/images/chapters/circles_cubic/dfb83eec053c30e0a41b0a52aba24cd4.svg +++ b/docs/images/chapters/circles_cubic/dfb83eec053c30e0a41b0a52aba24cd4.svg @@ -1 +1,35 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/e2258660a796dcd6189a6f5e14326dad.svg b/docs/images/chapters/circles_cubic/e2258660a796dcd6189a6f5e14326dad.svg index 2f3b3c46..cdc5b477 100644 --- a/docs/images/chapters/circles_cubic/e2258660a796dcd6189a6f5e14326dad.svg +++ b/docs/images/chapters/circles_cubic/e2258660a796dcd6189a6f5e14326dad.svg @@ -1 +1,79 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/e75a848f5f8aead495e35175e2955e06.svg b/docs/images/chapters/circles_cubic/e75a848f5f8aead495e35175e2955e06.svg index 5a149c4b..e2c9d532 100644 --- a/docs/images/chapters/circles_cubic/e75a848f5f8aead495e35175e2955e06.svg +++ b/docs/images/chapters/circles_cubic/e75a848f5f8aead495e35175e2955e06.svg @@ -1 +1,76 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/ee08d86b7497c7ab042ee899bf15d453.svg b/docs/images/chapters/circles_cubic/ee08d86b7497c7ab042ee899bf15d453.svg index 9d24dfb9..7efc65a7 100644 --- a/docs/images/chapters/circles_cubic/ee08d86b7497c7ab042ee899bf15d453.svg +++ b/docs/images/chapters/circles_cubic/ee08d86b7497c7ab042ee899bf15d453.svg @@ -1 +1,223 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/circles_cubic/fe32474b4616ee9478e1308308f1b6bf.svg b/docs/images/chapters/circles_cubic/fe32474b4616ee9478e1308308f1b6bf.svg index 0a70cf4b..0cb6f006 100644 --- a/docs/images/chapters/circles_cubic/fe32474b4616ee9478e1308308f1b6bf.svg +++ b/docs/images/chapters/circles_cubic/fe32474b4616ee9478e1308308f1b6bf.svg @@ -1 +1,73 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/control/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg b/docs/images/chapters/control/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg index 7e17c4e5..e20faa05 100644 --- a/docs/images/chapters/control/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg +++ b/docs/images/chapters/control/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg @@ -1 +1,267 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/control/2af72ea0c3517bc05f36a08cbbed6002.svg b/docs/images/chapters/control/2af72ea0c3517bc05f36a08cbbed6002.svg index 4f11ab77..cfd1485d 100644 --- a/docs/images/chapters/control/2af72ea0c3517bc05f36a08cbbed6002.svg +++ b/docs/images/chapters/control/2af72ea0c3517bc05f36a08cbbed6002.svg @@ -1 +1,216 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/control/2c5b710606f31ed8830397ad2a77d16e.png b/docs/images/chapters/control/2c5b710606f31ed8830397ad2a77d16e.png index 39aaa2f1441ba85e9eecf7d38358efba482c0ad8..7bc49082978adbc3c4afa7f095ffd9bf7e2fea6f 100644 GIT binary patch literal 16616 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 z z#-P#t`qS2vR0{HE70^KV{~q~A)*}UCUN9pH5L@4fribzd+yc9}fE7T93(E*q{L=OP EKfmGlegFUf diff --git a/docs/images/chapters/control/882ae425daeb3f449e5a4d649b8425e7.png b/docs/images/chapters/control/882ae425daeb3f449e5a4d649b8425e7.png index 9894b8c7cfca5f52b8021dcd9329815b0cf874a6..6359f53a123d0a827d3b90d70f741b36be97334d 100644 GIT binary patch literal 30204 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

iPvlSorR! zD2D?IM(Nag1Sr>Lbnbe+3o)JiOwIAni2TYW+Rf^NflHd3)4V%dg}+g(Ei5P?^%*MaH+bT|vCZ0p;Q(McxKfbpiFecc60}Rq0a!@$ecXCq7l9l2n Gq5lKT>ee>^ literal 30207 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 Qh^`-`#O1}RMGS!d4{|g9(EtDd diff --git a/docs/images/chapters/control/c0d4dbc07b8ec7c0a18ea43c8a386935.svg b/docs/images/chapters/control/c0d4dbc07b8ec7c0a18ea43c8a386935.svg index 972581e3..1a1ae43f 100644 --- a/docs/images/chapters/control/c0d4dbc07b8ec7c0a18ea43c8a386935.svg +++ b/docs/images/chapters/control/c0d4dbc07b8ec7c0a18ea43c8a386935.svg @@ -1 +1,327 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/control/c7cebd1c54c120c3a9513062e562f3a6.png b/docs/images/chapters/control/c7cebd1c54c120c3a9513062e562f3a6.png index 29e2128f971ebe8fe5ee636776f79db6c08534bc..8fa2d8b59aa8dd72c98a6619ac2f995394bb06b7 100644 GIT binary patch literal 13998 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 literal 13971 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 U&QA8=lo^Vch?H=VppN(d15@YJegFUf diff --git a/docs/images/chapters/curvature/6ed4fd2ead35c57984caddf9fe375a5f.svg b/docs/images/chapters/curvature/6ed4fd2ead35c57984caddf9fe375a5f.svg index 7d9c02ce..b8a848c8 100644 --- a/docs/images/chapters/curvature/6ed4fd2ead35c57984caddf9fe375a5f.svg +++ b/docs/images/chapters/curvature/6ed4fd2ead35c57984caddf9fe375a5f.svg @@ -1 +1,35 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvature/828333034b4fed8e248683760d6bc6f4.svg b/docs/images/chapters/curvature/828333034b4fed8e248683760d6bc6f4.svg index d9251b93..f82f3cab 100644 --- a/docs/images/chapters/curvature/828333034b4fed8e248683760d6bc6f4.svg +++ b/docs/images/chapters/curvature/828333034b4fed8e248683760d6bc6f4.svg @@ -1 +1,177 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvature/d9c893051586eb8d9de51c0ae1ef8fae.svg b/docs/images/chapters/curvature/d9c893051586eb8d9de51c0ae1ef8fae.svg index ce4e857c..8eb63e47 100644 --- a/docs/images/chapters/curvature/d9c893051586eb8d9de51c0ae1ef8fae.svg +++ b/docs/images/chapters/curvature/d9c893051586eb8d9de51c0ae1ef8fae.svg @@ -1 +1,74 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/03ec73258d5c95eed39a2ea8665e0b07.svg b/docs/images/chapters/curvefitting/03ec73258d5c95eed39a2ea8665e0b07.svg index 1eca1765..d93c8544 100644 --- a/docs/images/chapters/curvefitting/03ec73258d5c95eed39a2ea8665e0b07.svg +++ b/docs/images/chapters/curvefitting/03ec73258d5c95eed39a2ea8665e0b07.svg @@ -1 +1,205 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/08f4beaebf83dca594ad125bdca7e436.svg b/docs/images/chapters/curvefitting/08f4beaebf83dca594ad125bdca7e436.svg index ef635a3d..ed3449b9 100644 --- a/docs/images/chapters/curvefitting/08f4beaebf83dca594ad125bdca7e436.svg +++ b/docs/images/chapters/curvefitting/08f4beaebf83dca594ad125bdca7e436.svg @@ -1 +1,132 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/283bc9e8fe59a78d3c74860f62a66ecb.svg b/docs/images/chapters/curvefitting/283bc9e8fe59a78d3c74860f62a66ecb.svg index 600081ad..10891844 100644 --- a/docs/images/chapters/curvefitting/283bc9e8fe59a78d3c74860f62a66ecb.svg +++ b/docs/images/chapters/curvefitting/283bc9e8fe59a78d3c74860f62a66ecb.svg @@ -1 +1,63 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/2b8334727d3b004c6e87263fec6b32b7.svg b/docs/images/chapters/curvefitting/2b8334727d3b004c6e87263fec6b32b7.svg index 0067f321..639c85d0 100644 --- a/docs/images/chapters/curvefitting/2b8334727d3b004c6e87263fec6b32b7.svg +++ b/docs/images/chapters/curvefitting/2b8334727d3b004c6e87263fec6b32b7.svg @@ -1 +1,119 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/2bef3da3828d63d690460ce9947dbde2.svg b/docs/images/chapters/curvefitting/2bef3da3828d63d690460ce9947dbde2.svg index d1e4cbe5..48df36ce 100644 --- a/docs/images/chapters/curvefitting/2bef3da3828d63d690460ce9947dbde2.svg +++ b/docs/images/chapters/curvefitting/2bef3da3828d63d690460ce9947dbde2.svg @@ -1 +1,63 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/2d42758fba3370f52191306752c2705c.svg b/docs/images/chapters/curvefitting/2d42758fba3370f52191306752c2705c.svg index d0a2d5c8..ecf0d8be 100644 --- a/docs/images/chapters/curvefitting/2d42758fba3370f52191306752c2705c.svg +++ b/docs/images/chapters/curvefitting/2d42758fba3370f52191306752c2705c.svg @@ -1 +1,45 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/4ffad56e281ee79d0688e93033429f0a.svg b/docs/images/chapters/curvefitting/4ffad56e281ee79d0688e93033429f0a.svg index 2717e29e..701ae2d1 100644 --- a/docs/images/chapters/curvefitting/4ffad56e281ee79d0688e93033429f0a.svg +++ b/docs/images/chapters/curvefitting/4ffad56e281ee79d0688e93033429f0a.svg @@ -1 +1,217 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/5f7fcb86ae1c19612b9fe02e23229e31.svg b/docs/images/chapters/curvefitting/5f7fcb86ae1c19612b9fe02e23229e31.svg index 255d87f1..f1fd6c5b 100644 --- a/docs/images/chapters/curvefitting/5f7fcb86ae1c19612b9fe02e23229e31.svg +++ b/docs/images/chapters/curvefitting/5f7fcb86ae1c19612b9fe02e23229e31.svg @@ -1 +1,68 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/6202d7bd150c852b432d807c40fb1647.svg b/docs/images/chapters/curvefitting/6202d7bd150c852b432d807c40fb1647.svg index 510cb83d..6f80dd25 100644 --- a/docs/images/chapters/curvefitting/6202d7bd150c852b432d807c40fb1647.svg +++ b/docs/images/chapters/curvefitting/6202d7bd150c852b432d807c40fb1647.svg @@ -1 +1,187 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/78b8ba1aba2e4c9ad3f7890299c90152.svg b/docs/images/chapters/curvefitting/78b8ba1aba2e4c9ad3f7890299c90152.svg index 6895819c..a388f744 100644 --- a/docs/images/chapters/curvefitting/78b8ba1aba2e4c9ad3f7890299c90152.svg +++ b/docs/images/chapters/curvefitting/78b8ba1aba2e4c9ad3f7890299c90152.svg @@ -1 +1,157 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/7e5d59272621baf942bc722208ce70c2.svg b/docs/images/chapters/curvefitting/7e5d59272621baf942bc722208ce70c2.svg index 24a48dd5..2c9a6850 100644 --- a/docs/images/chapters/curvefitting/7e5d59272621baf942bc722208ce70c2.svg +++ b/docs/images/chapters/curvefitting/7e5d59272621baf942bc722208ce70c2.svg @@ -1 +1,76 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/7eada6f12045423de24d9a2ab8e293b1.svg b/docs/images/chapters/curvefitting/7eada6f12045423de24d9a2ab8e293b1.svg index e0c1ceec..fbec9520 100644 --- a/docs/images/chapters/curvefitting/7eada6f12045423de24d9a2ab8e293b1.svg +++ b/docs/images/chapters/curvefitting/7eada6f12045423de24d9a2ab8e293b1.svg @@ -1 +1,134 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/875ca8eea72e727ccb881b4c0b6a3224.svg b/docs/images/chapters/curvefitting/875ca8eea72e727ccb881b4c0b6a3224.svg index ab5b0a03..9cf04c55 100644 --- a/docs/images/chapters/curvefitting/875ca8eea72e727ccb881b4c0b6a3224.svg +++ b/docs/images/chapters/curvefitting/875ca8eea72e727ccb881b4c0b6a3224.svg @@ -1 +1,175 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/8d09f2be2c6db79ee966f170ffc25815.svg b/docs/images/chapters/curvefitting/8d09f2be2c6db79ee966f170ffc25815.svg index 21b32468..a6e7806e 100644 --- a/docs/images/chapters/curvefitting/8d09f2be2c6db79ee966f170ffc25815.svg +++ b/docs/images/chapters/curvefitting/8d09f2be2c6db79ee966f170ffc25815.svg @@ -1 +1,70 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/9151c0fdf9689ee598a2d029ab2ffe34.svg b/docs/images/chapters/curvefitting/9151c0fdf9689ee598a2d029ab2ffe34.svg index dd636864..4abaa870 100644 --- a/docs/images/chapters/curvefitting/9151c0fdf9689ee598a2d029ab2ffe34.svg +++ b/docs/images/chapters/curvefitting/9151c0fdf9689ee598a2d029ab2ffe34.svg @@ -1 +1,286 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/94acb5850778dcb16c2ba3cfa676f537.svg b/docs/images/chapters/curvefitting/94acb5850778dcb16c2ba3cfa676f537.svg index 06f1c69c..27c43394 100644 --- a/docs/images/chapters/curvefitting/94acb5850778dcb16c2ba3cfa676f537.svg +++ b/docs/images/chapters/curvefitting/94acb5850778dcb16c2ba3cfa676f537.svg @@ -1 +1,263 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/ab334858d3fa309cc1a5ba535a2ca168.svg b/docs/images/chapters/curvefitting/ab334858d3fa309cc1a5ba535a2ca168.svg index c160e8af..9c975278 100644 --- a/docs/images/chapters/curvefitting/ab334858d3fa309cc1a5ba535a2ca168.svg +++ b/docs/images/chapters/curvefitting/ab334858d3fa309cc1a5ba535a2ca168.svg @@ -1 +1,88 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/bd8e8e294eec10d2bf6ef857c7c0c2c2.svg b/docs/images/chapters/curvefitting/bd8e8e294eec10d2bf6ef857c7c0c2c2.svg index 202dc477..47a4b54e 100644 --- a/docs/images/chapters/curvefitting/bd8e8e294eec10d2bf6ef857c7c0c2c2.svg +++ b/docs/images/chapters/curvefitting/bd8e8e294eec10d2bf6ef857c7c0c2c2.svg @@ -1 +1,192 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curvefitting/d84d1c71a3ce1918f53eaf8f9fe98ac4.svg b/docs/images/chapters/curvefitting/d84d1c71a3ce1918f53eaf8f9fe98ac4.svg index 3f29b46c..cefe2408 100644 --- a/docs/images/chapters/curvefitting/d84d1c71a3ce1918f53eaf8f9fe98ac4.svg +++ b/docs/images/chapters/curvefitting/d84d1c71a3ce1918f53eaf8f9fe98ac4.svg @@ -1 +1,53 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/curveintersection/eae3bb142567d9e2b8c1e4d42e8ef505.png b/docs/images/chapters/curveintersection/eae3bb142567d9e2b8c1e4d42e8ef505.png index 4dc1ed9cd56276e697afbd3dea61e4a877c6cc57..c48f987fe0c01628ca8bb61d863a4049aaaa0a39 100644 GIT binary patch literal 30413 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

v;7^&fs6@&Zi2or!Kv) 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 y6bkUBgy?7 \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/offsetting/1d586b939b44ff9bdb42562a12ac2779.svg b/docs/images/chapters/offsetting/1d586b939b44ff9bdb42562a12ac2779.svg index 3aa2311b..47564ea1 100644 --- a/docs/images/chapters/offsetting/1d586b939b44ff9bdb42562a12ac2779.svg +++ b/docs/images/chapters/offsetting/1d586b939b44ff9bdb42562a12ac2779.svg @@ -1 +1,104 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/offsetting/5bfee4f2ae27304475673d0596e42f9a.svg b/docs/images/chapters/offsetting/5bfee4f2ae27304475673d0596e42f9a.svg index 3e6bee3e..35b3e794 100644 --- a/docs/images/chapters/offsetting/5bfee4f2ae27304475673d0596e42f9a.svg +++ b/docs/images/chapters/offsetting/5bfee4f2ae27304475673d0596e42f9a.svg @@ -1 +1,58 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/offsetting/b262e50c085815421d94e120fc17f1c8.svg b/docs/images/chapters/offsetting/b262e50c085815421d94e120fc17f1c8.svg index 82ca5a2b..e2cbbe20 100644 --- a/docs/images/chapters/offsetting/b262e50c085815421d94e120fc17f1c8.svg +++ b/docs/images/chapters/offsetting/b262e50c085815421d94e120fc17f1c8.svg @@ -1 +1,85 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/offsetting/fa6c243de2aa78b7451e0086848dfdfc.svg b/docs/images/chapters/offsetting/fa6c243de2aa78b7451e0086848dfdfc.svg index 16cd4517..32ec7aac 100644 --- a/docs/images/chapters/offsetting/fa6c243de2aa78b7451e0086848dfdfc.svg +++ b/docs/images/chapters/offsetting/fa6c243de2aa78b7451e0086848dfdfc.svg @@ -1 +1,76 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointcurves/3c7516c16a5dea95df741f4263cecd1c.svg b/docs/images/chapters/pointcurves/3c7516c16a5dea95df741f4263cecd1c.svg index 026650d3..c555410d 100644 --- a/docs/images/chapters/pointcurves/3c7516c16a5dea95df741f4263cecd1c.svg +++ b/docs/images/chapters/pointcurves/3c7516c16a5dea95df741f4263cecd1c.svg @@ -1 +1,147 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointcurves/55d4f7ed095dfea8f9772208abc83b51.svg b/docs/images/chapters/pointcurves/55d4f7ed095dfea8f9772208abc83b51.svg index 2c9b9d06..7ca55f78 100644 --- a/docs/images/chapters/pointcurves/55d4f7ed095dfea8f9772208abc83b51.svg +++ b/docs/images/chapters/pointcurves/55d4f7ed095dfea8f9772208abc83b51.svg @@ -1 +1,69 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointcurves/6f0e2b6494d7dae2ea79a46a499d7ed4.svg b/docs/images/chapters/pointcurves/6f0e2b6494d7dae2ea79a46a499d7ed4.svg index 8030f952..ac0f7973 100644 --- a/docs/images/chapters/pointcurves/6f0e2b6494d7dae2ea79a46a499d7ed4.svg +++ b/docs/images/chapters/pointcurves/6f0e2b6494d7dae2ea79a46a499d7ed4.svg @@ -1 +1,74 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointcurves/9203537b7dca98ebb2d7017c76100fde.svg b/docs/images/chapters/pointcurves/9203537b7dca98ebb2d7017c76100fde.svg index 68d0b578..e9a2c5c7 100644 --- a/docs/images/chapters/pointcurves/9203537b7dca98ebb2d7017c76100fde.svg +++ b/docs/images/chapters/pointcurves/9203537b7dca98ebb2d7017c76100fde.svg @@ -1 +1,175 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointvectors/009715fce01e46e7c07f87a8192a8c62.svg b/docs/images/chapters/pointvectors/009715fce01e46e7c07f87a8192a8c62.svg index 04e9edfa..d9f87d4c 100644 --- a/docs/images/chapters/pointvectors/009715fce01e46e7c07f87a8192a8c62.svg +++ b/docs/images/chapters/pointvectors/009715fce01e46e7c07f87a8192a8c62.svg @@ -1 +1,393 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointvectors/2a55cb2d23c25408aa10cfd8db13278b.svg b/docs/images/chapters/pointvectors/2a55cb2d23c25408aa10cfd8db13278b.svg index 2200181b..20985b3b 100644 --- a/docs/images/chapters/pointvectors/2a55cb2d23c25408aa10cfd8db13278b.svg +++ b/docs/images/chapters/pointvectors/2a55cb2d23c25408aa10cfd8db13278b.svg @@ -1 +1,134 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointvectors/2dd2f89d1c762991a86526490a3deef6.svg b/docs/images/chapters/pointvectors/2dd2f89d1c762991a86526490a3deef6.svg index 8abe2420..4c3c51fa 100644 --- a/docs/images/chapters/pointvectors/2dd2f89d1c762991a86526490a3deef6.svg +++ b/docs/images/chapters/pointvectors/2dd2f89d1c762991a86526490a3deef6.svg @@ -1 +1,414 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointvectors/6101b2f8b69ebabba4a2c88456a32aa0.svg b/docs/images/chapters/pointvectors/6101b2f8b69ebabba4a2c88456a32aa0.svg index 7654f406..e6711258 100644 --- a/docs/images/chapters/pointvectors/6101b2f8b69ebabba4a2c88456a32aa0.svg +++ b/docs/images/chapters/pointvectors/6101b2f8b69ebabba4a2c88456a32aa0.svg @@ -1 +1,124 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointvectors/d236b7b2ad46c8ced1b43bb2a496379a.svg b/docs/images/chapters/pointvectors/d236b7b2ad46c8ced1b43bb2a496379a.svg index 9022ac6e..4d240911 100644 --- a/docs/images/chapters/pointvectors/d236b7b2ad46c8ced1b43bb2a496379a.svg +++ b/docs/images/chapters/pointvectors/d236b7b2ad46c8ced1b43bb2a496379a.svg @@ -1 +1,131 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/pointvectors/deec095950fcd1f9c980be76a7093fe6.svg b/docs/images/chapters/pointvectors/deec095950fcd1f9c980be76a7093fe6.svg index 4c60abc7..009c5dfe 100644 --- a/docs/images/chapters/pointvectors/deec095950fcd1f9c980be76a7093fe6.svg +++ b/docs/images/chapters/pointvectors/deec095950fcd1f9c980be76a7093fe6.svg @@ -1 +1,138 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/polybezier/408dd95905a5f001179c4da6051e49c5.svg b/docs/images/chapters/polybezier/408dd95905a5f001179c4da6051e49c5.svg index a2e31452..fe58fffa 100644 --- a/docs/images/chapters/polybezier/408dd95905a5f001179c4da6051e49c5.svg +++ b/docs/images/chapters/polybezier/408dd95905a5f001179c4da6051e49c5.svg @@ -1 +1,51 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/polybezier/8c1b570b3efdfbbc39ddedb4adcaaff6.svg b/docs/images/chapters/polybezier/8c1b570b3efdfbbc39ddedb4adcaaff6.svg index 341af24b..19657ea1 100644 --- a/docs/images/chapters/polybezier/8c1b570b3efdfbbc39ddedb4adcaaff6.svg +++ b/docs/images/chapters/polybezier/8c1b570b3efdfbbc39ddedb4adcaaff6.svg @@ -1 +1,150 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/projections/c40ab9e3f3d1f53872dff30a7bcdb003.png b/docs/images/chapters/projections/c40ab9e3f3d1f53872dff30a7bcdb003.png index 9872628fbaa3007373c28be8bbdfededc426e9cc..9fc7c5a9da8a7c7f3320cb7a3992dbeea6a4a34c 100644 GIT binary patch literal 22211 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 diff --git a/docs/images/chapters/reordering/1244a85c1f9044b6f77cb709c682159c.svg b/docs/images/chapters/reordering/1244a85c1f9044b6f77cb709c682159c.svg index 0d07fa5a..081ebe51 100644 --- a/docs/images/chapters/reordering/1244a85c1f9044b6f77cb709c682159c.svg +++ b/docs/images/chapters/reordering/1244a85c1f9044b6f77cb709c682159c.svg @@ -1 +1,194 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/387f931043aabd6c467985c568482636.png b/docs/images/chapters/reordering/387f931043aabd6c467985c568482636.png index d3e4eee8aaed781b598efc1d886504802e5f39d3..c25bc276db7f82d7d897fcebac2a7c4935f018bb 100644 GIT binary patch literal 10207 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 AF8}}l diff --git a/docs/images/chapters/reordering/41e184228d85023abdadd6ce2acb54c7.svg b/docs/images/chapters/reordering/41e184228d85023abdadd6ce2acb54c7.svg index b01b2a61..75301c94 100644 --- a/docs/images/chapters/reordering/41e184228d85023abdadd6ce2acb54c7.svg +++ b/docs/images/chapters/reordering/41e184228d85023abdadd6ce2acb54c7.svg @@ -1 +1,233 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/483c89c8726f7fd0dca0b7de339b04bd.svg b/docs/images/chapters/reordering/483c89c8726f7fd0dca0b7de339b04bd.svg index 1f8906b2..3c1514db 100644 --- a/docs/images/chapters/reordering/483c89c8726f7fd0dca0b7de339b04bd.svg +++ b/docs/images/chapters/reordering/483c89c8726f7fd0dca0b7de339b04bd.svg @@ -1 +1,517 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/4debbed5922d2bd84fd322c616872d20.svg b/docs/images/chapters/reordering/4debbed5922d2bd84fd322c616872d20.svg index cb32a047..7dbdf08f 100644 --- a/docs/images/chapters/reordering/4debbed5922d2bd84fd322c616872d20.svg +++ b/docs/images/chapters/reordering/4debbed5922d2bd84fd322c616872d20.svg @@ -1 +1,429 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/773fdc86b686647c823b4f499aca3a35.svg b/docs/images/chapters/reordering/773fdc86b686647c823b4f499aca3a35.svg index aeaa5a49..4c32e64c 100644 --- a/docs/images/chapters/reordering/773fdc86b686647c823b4f499aca3a35.svg +++ b/docs/images/chapters/reordering/773fdc86b686647c823b4f499aca3a35.svg @@ -1 +1,20 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/7a9120997e4a4855ecda435553a7bbdf.svg b/docs/images/chapters/reordering/7a9120997e4a4855ecda435553a7bbdf.svg index 96ee5484..e23c2b56 100644 --- a/docs/images/chapters/reordering/7a9120997e4a4855ecda435553a7bbdf.svg +++ b/docs/images/chapters/reordering/7a9120997e4a4855ecda435553a7bbdf.svg @@ -1 +1,428 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/b2fda1dcce5bb13317aa42ebf5e7ea6c.svg b/docs/images/chapters/reordering/b2fda1dcce5bb13317aa42ebf5e7ea6c.svg index 31314e46..715fdea1 100644 --- a/docs/images/chapters/reordering/b2fda1dcce5bb13317aa42ebf5e7ea6c.svg +++ b/docs/images/chapters/reordering/b2fda1dcce5bb13317aa42ebf5e7ea6c.svg @@ -1 +1,123 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/d52f60b331c1b8d6733eb5217adfbc4d.svg b/docs/images/chapters/reordering/d52f60b331c1b8d6733eb5217adfbc4d.svg index b95d616a..c563155a 100644 --- a/docs/images/chapters/reordering/d52f60b331c1b8d6733eb5217adfbc4d.svg +++ b/docs/images/chapters/reordering/d52f60b331c1b8d6733eb5217adfbc4d.svg @@ -1 +1,241 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/dd8d8d98f66ce9f51b95cbf48225e97b.svg b/docs/images/chapters/reordering/dd8d8d98f66ce9f51b95cbf48225e97b.svg index 4b2f9ea8..89d79d5f 100644 --- a/docs/images/chapters/reordering/dd8d8d98f66ce9f51b95cbf48225e97b.svg +++ b/docs/images/chapters/reordering/dd8d8d98f66ce9f51b95cbf48225e97b.svg @@ -1 +1,737 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/reordering/faf29599c9307f930ec28065c96fde2a.svg b/docs/images/chapters/reordering/faf29599c9307f930ec28065c96fde2a.svg index 2375a041..dbc622db 100644 --- a/docs/images/chapters/reordering/faf29599c9307f930ec28065c96fde2a.svg +++ b/docs/images/chapters/reordering/faf29599c9307f930ec28065c96fde2a.svg @@ -1 +1,464 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/weightcontrol/02457b19087540dfb144978419524a85.svg b/docs/images/chapters/weightcontrol/02457b19087540dfb144978419524a85.svg index 415b342a..fe393e3f 100644 --- a/docs/images/chapters/weightcontrol/02457b19087540dfb144978419524a85.svg +++ b/docs/images/chapters/weightcontrol/02457b19087540dfb144978419524a85.svg @@ -1 +1,130 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/weightcontrol/3fd61ab3fe88f694e70f61e4f8ea056b.svg b/docs/images/chapters/weightcontrol/3fd61ab3fe88f694e70f61e4f8ea056b.svg index fff9cf18..d1cf5988 100644 --- a/docs/images/chapters/weightcontrol/3fd61ab3fe88f694e70f61e4f8ea056b.svg +++ b/docs/images/chapters/weightcontrol/3fd61ab3fe88f694e70f61e4f8ea056b.svg @@ -1 +1,280 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/whatis/4df088f01d0fd4de84a50bbc2e25f8a7.svg b/docs/images/chapters/whatis/4df088f01d0fd4de84a50bbc2e25f8a7.svg index 2c10a4b8..ceb25780 100644 --- a/docs/images/chapters/whatis/4df088f01d0fd4de84a50bbc2e25f8a7.svg +++ b/docs/images/chapters/whatis/4df088f01d0fd4de84a50bbc2e25f8a7.svg @@ -1 +1,243 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/whatis/b5aa26284ba3df74970a95cb047a841d.svg b/docs/images/chapters/whatis/b5aa26284ba3df74970a95cb047a841d.svg index a6c781c5..d6ef4cad 100644 --- a/docs/images/chapters/whatis/b5aa26284ba3df74970a95cb047a841d.svg +++ b/docs/images/chapters/whatis/b5aa26284ba3df74970a95cb047a841d.svg @@ -1 +1,408 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/yforx/61e43d68f6eb677d0fccd473c121e782.svg b/docs/images/chapters/yforx/61e43d68f6eb677d0fccd473c121e782.svg index 3bf98d3d..a274e34c 100644 --- a/docs/images/chapters/yforx/61e43d68f6eb677d0fccd473c121e782.svg +++ b/docs/images/chapters/yforx/61e43d68f6eb677d0fccd473c121e782.svg @@ -1 +1,157 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/yforx/9ab2b830fe7fb73350c19bde04e9441b.svg b/docs/images/chapters/yforx/9ab2b830fe7fb73350c19bde04e9441b.svg index ed271bb6..f2b436ec 100644 --- a/docs/images/chapters/yforx/9ab2b830fe7fb73350c19bde04e9441b.svg +++ b/docs/images/chapters/yforx/9ab2b830fe7fb73350c19bde04e9441b.svg @@ -1 +1,156 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/yforx/9df91c28af38c1ba2e2d38d2714c9446.svg b/docs/images/chapters/yforx/9df91c28af38c1ba2e2d38d2714c9446.svg index 5d1400ed..5cf7ad96 100644 --- a/docs/images/chapters/yforx/9df91c28af38c1ba2e2d38d2714c9446.svg +++ b/docs/images/chapters/yforx/9df91c28af38c1ba2e2d38d2714c9446.svg @@ -1 +1,128 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/index.html b/docs/index.html index fd0f04b7..2c1e6963 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2143,29 +2143,36 @@ for p = 1 to points.length-3 (inclusive):

We already know that Bézier curves cannot model all curves that we can think of, and this includes perfect circles, as well as ellipses, and their arc counterparts. However, we can certainly approximate them to a degree that is visually acceptable. Quadratic and cubic curves offer us different curvature control, so in order to approximate a circle we will first need to figure out what the error is if we try to approximate arcs of increasing degree with quadratic and cubic curves, and where the coordinates even lie.

Since arcs are mid-point-symmetrical, we need the control points to set up a symmetrical curve. For quadratic curves this means that the control point will be somewhere on a line that intersects the baseline at a right angle. And we don't get any choice on where that will be, since the derivatives at the start and end point have to line up, so our control point will lie at the intersection of the tangents at the start and end point.

First, let's try to fit the quadratic curve onto a circular arc. In the following sketch you can move the mouse around over a unit circle, to see how well, or poorly, a quadratic curve can approximate the arc from (1,0) to where your mouse cursor is:

- + + + Scripts are disabled. Showing fallback image. + + + + +

As you can see, things go horribly wrong quite quickly; even trying to approximate a quarter circle using a quadratic curve is a bad idea. An eighth of a turns might look okay, but how okay is okay? Let's apply some maths and find out. What we're interested in is how far off our on-curve coordinates are with respect to a circular arc, given a specific start and end angle. We'll be looking at how much space there is between the circular arc, and the quadratic curve's midpoint.

We start out with our start and end point, and for convenience we will place them on a unit circle (a circle around 0,0 with radius 1), at some angle φ:

- +

What we want to find is the intersection of the tangents, so we want a point C such that:

- +

i.e. we want a point that lies on the vertical line through S (at some distance a from S) and also lies on the tangent line through E (at some distance b from E). Solving this gives us:

- +

First we solve for b:

- +

which yields:

- +

which we can then substitute in the expression for a:

- +

A quick check shows that plugging these values for a and b into the expressions for Cx and Cy give the same x/y coordinates for both "a away from A" and "b away from B", so let's continue: now that we know the coordinate values for C, we know where our on-curve point T for t=0.5 (or angle φ/2) is, because we can just evaluate the Bézier polynomial, and we know where the circle arc's actual point P is for angle φ/2:

- +

We compute T, observing that if t=0.5, the polynomial values (1-t)², 2(1-t)t, and t² are 0.25, 0.5, and 0.25 respectively:

- +

Which, worked out for the x and y components, gives:

- +

And the distance between these two is the standard Euclidean distance:

- +

So, what does this distance function look like when we plot it for a number of ranges for the angle φ, such as a half circle, quarter circle and eighth circle?

@@ -2182,7 +2189,7 @@ for p = 1 to points.length-3 (inclusive):

We now see why the eighth circle arc looks decent, but the quarter circle arc doesn't: an error of roughly 0.06 at t=0.5 means we're 6% off the mark... we will already be off by one pixel on a circle with pixel radius 17. Any decent sized quarter circle arc, say with radius 100px, will be way off if approximated by a quadratic curve! For the eighth circle arc, however, the error is only roughly 0.003, or 0.3%, which explains why it looks so close to the actual eighth circle arc. In fact, if we want a truly tiny error, like 0.001, we'll have to contend with an angle of (rounded) 0.593667, which equates to roughly 34 degrees. We'd need 11 quadratic curves to form a full circle with that precision! (technically, 10 and ten seventeenth, but we can't do partial curves, so we have to round up). That's a whole lot of curves just to get a shape that can be drawn using a simple function!

In fact, let's flip the function around, so that if we plug in the precision error, labelled ε, we get back the maximum angle for that precision:

- +

And frankly, things are starting to look a bit ridiculous at this point, we're doing way more maths than we've ever done, but thankfully this is as far as we need the maths to take us: If we plug in the precisions 0.1, 0.01, 0.001 and 0.0001 we get the radians values 1.748, 1.038, 0.594 and 0.3356; in degrees, that means we can cover roughly 100 degrees (requiring four curves), 59.5 degrees (requiring six curves), 34 degrees (requiring 11 curves), and 19.2 degrees (requiring a whopping nineteen curves).

The bottom line? Quadratic curves are kind of lousy if you want circular (or elliptical, which are circles that have been squashed in one dimension) curves. We can do better, even if it's just by raising the order of our curve once. So let's try the same thing for cubic curves.

@@ -2193,7 +2200,14 @@ for p = 1 to points.length-3 (inclusive):

For cubic curves, we basically want the curve to pass through three points on the circle: the start point, the mid point at "angle/2", and the end point at "angle". We then also need to make sure the control points are such that the start and end tangent lines line up with the circle's tangent lines at the start and end point.

The first thing we can do is "guess" what the curve should look like, based on the previously outlined curve-through-three-points procedure. This will give use a curve with correct start, mid and end points, but possibly incorrect derivatives at the start and end, because the control points might not be in the right spot. We can then slide the control points along the lines that connect them to their respective end point, until they effect the corrected derivative at the start and end points. However, if you look back at the section on fitting curves through three points, the rules used were such that they optimized for a near perfect hemisphere, so using the same guess won't be all that useful: guessing the solution based on knowing the solution is not really guessing.

So have a graphical look at a "bad" guess versus the true fit, where we'll be using the bad guess and the description in the second paragraph to derive the maths for the true fit:

- + + + Scripts are disabled. Showing fallback image. + + + + +

We see two curves here; in blue, our "guessed" curve and its control points, and in grey/black, the true curve fit, with proper control points that were shifted in, along line between our guessed control points, such that the derivatives at the start and end points are correct.

We can already see that cubic curves are a lot better than quadratic curves, and don't look all that wrong until we go well past a quarter circle; ⅜th starts to hint at problems, and half a circle has an obvious "gap" between the real circle and the cubic approximation. Anything past that just looks plain ridiculous... but quarter curves actually look pretty okay!

@@ -2214,11 +2228,11 @@ for p = 1 to points.length-3 (inclusive):

We see that cubic Bézier curves are much better when it comes to approximating circular arcs, with an error of less than 0.027 at the two "bulge" points for a quarter circle (which had an error of 0.06 for quadratic curves at the mid point), and an error near 0.001 for an eighth of a circle, so we're getting less than half the error for a quarter circle, or: at a slightly lower error, we're getting twice the arc. This makes cubic curves quite useful!

In fact, the precision of a cubic curve at a quarter circle is considered "good enough" by so many people that it's generally considered "just fine" to use four cubic Bézier curves to fake a full circle when no circle primitives are available; generally, people won't notice that it's not a real circle unless you also happen to overlay an actual circle, so that the difference becomes obvious.

So with the error analysis out of the way, how do we actually compute the coordinates needed to get that "true fit" cubic curve? The first observation is that we already know the start and end points, because they're the same as for the quadratic attempt:

- +

But we now need to find two control points, rather than one. If we want the derivatives at the start and end point to match the circle, then the first control point can only lie somewhere on the vertical line through S, and the second control point can only lie somewhere on the line tangent to point E, which means:

- +

where "a" is some scaling factor, and:

- +

where "b" is also some scaling factor.

Starting with this information, we slowly maths our way to success, but I won't lie: the maths for this is pretty trig-heavy, and it's easy to get lost if you remember (or know!) some of the core trigonometric identities, so if you just want to see the final result just skip past the next section!

@@ -2227,31 +2241,36 @@ for p = 1 to points.length-3 (inclusive):

Unlike for the quadratic case, we need some more information in order to compute a and b, since they're no longer dependent variables. First, we observe that the curve is symmetrical, so whatever values we end up finding for C1 will apply to C2 as well (rotated along its tangent), so we'll focus on finding the location of C1 only. So here's where we do something that you might not expect: we're going to ignore for a moment, because we're going to have a much easier time if we just solve this problem with geometry first, then move to calculus to solve a much simpler problem.

If we look at the triangle that is formed between our starting point, or initial guess C1 and our real C1, there's something funny going on: if we treat the line {start,guess} as our opposite side, the line {guess,real} as our adjacent side, with {start,real} our hypotenuse, then the angle for the corner hypotenuse/adjacent is half that of the arc we're covering. Try it: if you place the end point at a quarter circle (pi/2, or 90 degrees), the angle in our triangle is half a quarter (pi/4, or 45 degrees). With that knowledge, and a knowledge of what the length of any of our lines segments are (as a function), we can determine where our control points are, and thus have everything we need to find the error distance function. Of the three lines, the one we can easiest determine is {start,guess}, so let's find out what the guessed control point is. Again geometrically, because we have the benefit of an on-curve t=0.5 value.

The distance from our guessed point to the start point is exactly the same as the projection distance we looked at earlier. Using t=0.5 as our point "B" in the "A,B,C" projection, then we know the length of the line segment {C,A}, since it's d1 = {A,B} + d2 = {B,C}:

- +

So that just leaves us to find the distance from t=0.5 to the baseline for an arbitrary angle φ, which is the distance from the centre of the circle to our t=0.5 point, minus the distance from the centre to the line that runs from start point to end point. The first is the same as the point P we found for the quadratic curve:

- +

And the distance from the origin to the line start/end is another application of angles, since the triangle {origin,start,C} has known angles, and two known sides. We can find the length of the line {origin,C}, which lets us trivially compute the coordinate for C:

- +

With the coordinate C, and knowledge of coordinate B, we can determine coordinate A, and get a vector that is identical to the vector {start,guess}:

- - + +

Which means we can now determine the distance {start,guessed}, which is the same as the distance {C,A}, and use that to determine the vertical distance from our start point to our C1:

- +

And after this tedious detour to find the coordinate for C1, we can find C2 fairly simply, since it's lies at distance -C1y along the end point's tangent:

- +

And that's it, we have all four points now for an approximation of an arbitrary circular arc with angle φ.

So, to recap, given an angle φ, the new control coordinates are:

- +

and

- +

And, because the "quarter curve" special case comes up so incredibly often, let's look at what these new control points mean for the curve coordinates of a quarter curve, by simply filling in φ = π/2:

- +

Which, in decimal values, rounded to six significant digits, is:

- +

Of course, this is for a circle with radius 1, so if you have a different radius circle, simply multiply the coordinate by the radius you need. And then finally, forming a full curve is now a simple a matter of mirroring these coordinates about the origin:

- + + + Scripts are disabled. Showing fallback image. + + +
diff --git a/docs/ja-JP/index.html b/docs/ja-JP/index.html index e34bed98..f4d6ce83 100644 --- a/docs/ja-JP/index.html +++ b/docs/ja-JP/index.html @@ -2139,29 +2139,36 @@ for p = 1 to points.length-3 (inclusive):

We already know that Bézier curves cannot model all curves that we can think of, and this includes perfect circles, as well as ellipses, and their arc counterparts. However, we can certainly approximate them to a degree that is visually acceptable. Quadratic and cubic curves offer us different curvature control, so in order to approximate a circle we will first need to figure out what the error is if we try to approximate arcs of increasing degree with quadratic and cubic curves, and where the coordinates even lie.

Since arcs are mid-point-symmetrical, we need the control points to set up a symmetrical curve. For quadratic curves this means that the control point will be somewhere on a line that intersects the baseline at a right angle. And we don't get any choice on where that will be, since the derivatives at the start and end point have to line up, so our control point will lie at the intersection of the tangents at the start and end point.

First, let's try to fit the quadratic curve onto a circular arc. In the following sketch you can move the mouse around over a unit circle, to see how well, or poorly, a quadratic curve can approximate the arc from (1,0) to where your mouse cursor is:

- + + + Scripts are disabled. Showing fallback image. + + + + +

As you can see, things go horribly wrong quite quickly; even trying to approximate a quarter circle using a quadratic curve is a bad idea. An eighth of a turns might look okay, but how okay is okay? Let's apply some maths and find out. What we're interested in is how far off our on-curve coordinates are with respect to a circular arc, given a specific start and end angle. We'll be looking at how much space there is between the circular arc, and the quadratic curve's midpoint.

We start out with our start and end point, and for convenience we will place them on a unit circle (a circle around 0,0 with radius 1), at some angle φ:

- +

What we want to find is the intersection of the tangents, so we want a point C such that:

- +

i.e. we want a point that lies on the vertical line through S (at some distance a from S) and also lies on the tangent line through E (at some distance b from E). Solving this gives us:

- +

First we solve for b:

- +

which yields:

- +

which we can then substitute in the expression for a:

- +

A quick check shows that plugging these values for a and b into the expressions for Cx and Cy give the same x/y coordinates for both "a away from A" and "b away from B", so let's continue: now that we know the coordinate values for C, we know where our on-curve point T for t=0.5 (or angle φ/2) is, because we can just evaluate the Bézier polynomial, and we know where the circle arc's actual point P is for angle φ/2:

- +

We compute T, observing that if t=0.5, the polynomial values (1-t)², 2(1-t)t, and t² are 0.25, 0.5, and 0.25 respectively:

- +

Which, worked out for the x and y components, gives:

- +

And the distance between these two is the standard Euclidean distance:

- +

So, what does this distance function look like when we plot it for a number of ranges for the angle φ, such as a half circle, quarter circle and eighth circle?

@@ -2178,7 +2185,7 @@ for p = 1 to points.length-3 (inclusive):

We now see why the eighth circle arc looks decent, but the quarter circle arc doesn't: an error of roughly 0.06 at t=0.5 means we're 6% off the mark... we will already be off by one pixel on a circle with pixel radius 17. Any decent sized quarter circle arc, say with radius 100px, will be way off if approximated by a quadratic curve! For the eighth circle arc, however, the error is only roughly 0.003, or 0.3%, which explains why it looks so close to the actual eighth circle arc. In fact, if we want a truly tiny error, like 0.001, we'll have to contend with an angle of (rounded) 0.593667, which equates to roughly 34 degrees. We'd need 11 quadratic curves to form a full circle with that precision! (technically, 10 and ten seventeenth, but we can't do partial curves, so we have to round up). That's a whole lot of curves just to get a shape that can be drawn using a simple function!

In fact, let's flip the function around, so that if we plug in the precision error, labelled ε, we get back the maximum angle for that precision:

- +

And frankly, things are starting to look a bit ridiculous at this point, we're doing way more maths than we've ever done, but thankfully this is as far as we need the maths to take us: If we plug in the precisions 0.1, 0.01, 0.001 and 0.0001 we get the radians values 1.748, 1.038, 0.594 and 0.3356; in degrees, that means we can cover roughly 100 degrees (requiring four curves), 59.5 degrees (requiring six curves), 34 degrees (requiring 11 curves), and 19.2 degrees (requiring a whopping nineteen curves).

The bottom line? Quadratic curves are kind of lousy if you want circular (or elliptical, which are circles that have been squashed in one dimension) curves. We can do better, even if it's just by raising the order of our curve once. So let's try the same thing for cubic curves.

@@ -2189,7 +2196,14 @@ for p = 1 to points.length-3 (inclusive):

For cubic curves, we basically want the curve to pass through three points on the circle: the start point, the mid point at "angle/2", and the end point at "angle". We then also need to make sure the control points are such that the start and end tangent lines line up with the circle's tangent lines at the start and end point.

The first thing we can do is "guess" what the curve should look like, based on the previously outlined curve-through-three-points procedure. This will give use a curve with correct start, mid and end points, but possibly incorrect derivatives at the start and end, because the control points might not be in the right spot. We can then slide the control points along the lines that connect them to their respective end point, until they effect the corrected derivative at the start and end points. However, if you look back at the section on fitting curves through three points, the rules used were such that they optimized for a near perfect hemisphere, so using the same guess won't be all that useful: guessing the solution based on knowing the solution is not really guessing.

So have a graphical look at a "bad" guess versus the true fit, where we'll be using the bad guess and the description in the second paragraph to derive the maths for the true fit:

- + + + Scripts are disabled. Showing fallback image. + + + + +

We see two curves here; in blue, our "guessed" curve and its control points, and in grey/black, the true curve fit, with proper control points that were shifted in, along line between our guessed control points, such that the derivatives at the start and end points are correct.

We can already see that cubic curves are a lot better than quadratic curves, and don't look all that wrong until we go well past a quarter circle; ⅜th starts to hint at problems, and half a circle has an obvious "gap" between the real circle and the cubic approximation. Anything past that just looks plain ridiculous... but quarter curves actually look pretty okay!

@@ -2210,11 +2224,11 @@ for p = 1 to points.length-3 (inclusive):

We see that cubic Bézier curves are much better when it comes to approximating circular arcs, with an error of less than 0.027 at the two "bulge" points for a quarter circle (which had an error of 0.06 for quadratic curves at the mid point), and an error near 0.001 for an eighth of a circle, so we're getting less than half the error for a quarter circle, or: at a slightly lower error, we're getting twice the arc. This makes cubic curves quite useful!

In fact, the precision of a cubic curve at a quarter circle is considered "good enough" by so many people that it's generally considered "just fine" to use four cubic Bézier curves to fake a full circle when no circle primitives are available; generally, people won't notice that it's not a real circle unless you also happen to overlay an actual circle, so that the difference becomes obvious.

So with the error analysis out of the way, how do we actually compute the coordinates needed to get that "true fit" cubic curve? The first observation is that we already know the start and end points, because they're the same as for the quadratic attempt:

- +

But we now need to find two control points, rather than one. If we want the derivatives at the start and end point to match the circle, then the first control point can only lie somewhere on the vertical line through S, and the second control point can only lie somewhere on the line tangent to point E, which means:

- +

where "a" is some scaling factor, and:

- +

where "b" is also some scaling factor.

Starting with this information, we slowly maths our way to success, but I won't lie: the maths for this is pretty trig-heavy, and it's easy to get lost if you remember (or know!) some of the core trigonometric identities, so if you just want to see the final result just skip past the next section!

@@ -2223,31 +2237,36 @@ for p = 1 to points.length-3 (inclusive):

Unlike for the quadratic case, we need some more information in order to compute a and b, since they're no longer dependent variables. First, we observe that the curve is symmetrical, so whatever values we end up finding for C1 will apply to C2 as well (rotated along its tangent), so we'll focus on finding the location of C1 only. So here's where we do something that you might not expect: we're going to ignore for a moment, because we're going to have a much easier time if we just solve this problem with geometry first, then move to calculus to solve a much simpler problem.

If we look at the triangle that is formed between our starting point, or initial guess C1 and our real C1, there's something funny going on: if we treat the line {start,guess} as our opposite side, the line {guess,real} as our adjacent side, with {start,real} our hypotenuse, then the angle for the corner hypotenuse/adjacent is half that of the arc we're covering. Try it: if you place the end point at a quarter circle (pi/2, or 90 degrees), the angle in our triangle is half a quarter (pi/4, or 45 degrees). With that knowledge, and a knowledge of what the length of any of our lines segments are (as a function), we can determine where our control points are, and thus have everything we need to find the error distance function. Of the three lines, the one we can easiest determine is {start,guess}, so let's find out what the guessed control point is. Again geometrically, because we have the benefit of an on-curve t=0.5 value.

The distance from our guessed point to the start point is exactly the same as the projection distance we looked at earlier. Using t=0.5 as our point "B" in the "A,B,C" projection, then we know the length of the line segment {C,A}, since it's d1 = {A,B} + d2 = {B,C}:

- +

So that just leaves us to find the distance from t=0.5 to the baseline for an arbitrary angle φ, which is the distance from the centre of the circle to our t=0.5 point, minus the distance from the centre to the line that runs from start point to end point. The first is the same as the point P we found for the quadratic curve:

- +

And the distance from the origin to the line start/end is another application of angles, since the triangle {origin,start,C} has known angles, and two known sides. We can find the length of the line {origin,C}, which lets us trivially compute the coordinate for C:

- +

With the coordinate C, and knowledge of coordinate B, we can determine coordinate A, and get a vector that is identical to the vector {start,guess}:

- - + +

Which means we can now determine the distance {start,guessed}, which is the same as the distance {C,A}, and use that to determine the vertical distance from our start point to our C1:

- +

And after this tedious detour to find the coordinate for C1, we can find C2 fairly simply, since it's lies at distance -C1y along the end point's tangent:

- +

And that's it, we have all four points now for an approximation of an arbitrary circular arc with angle φ.

So, to recap, given an angle φ, the new control coordinates are:

- +

and

- +

And, because the "quarter curve" special case comes up so incredibly often, let's look at what these new control points mean for the curve coordinates of a quarter curve, by simply filling in φ = π/2:

- +

Which, in decimal values, rounded to six significant digits, is:

- +

Of course, this is for a circle with radius 1, so if you have a different radius circle, simply multiply the coordinate by the radius you need. And then finally, forming a full curve is now a simple a matter of mirroring these coordinates about the origin:

- + + + Scripts are disabled. Showing fallback image. + + +
diff --git a/docs/js/custom-element/api/graphics-api.js b/docs/js/custom-element/api/graphics-api.js index 32396a72..0f69ca4d 100644 --- a/docs/js/custom-element/api/graphics-api.js +++ b/docs/js/custom-element/api/graphics-api.js @@ -514,9 +514,11 @@ class GraphicsAPI extends BaseAPI { /** * Draw a circular arc */ - arc(x, y, r, s, e) { + arc(x, y, r, s, e, cx = false, cy = false) { this.ctx.beginPath(); + if (cx !== false && cy != false) this.ctx.moveTo(cx, cy); this.ctx.arc(x, y, r, s, e); + if (cx !== false && cy != false) this.ctx.moveTo(cx, cy); this.ctx.fill(); this.ctx.stroke(); } diff --git a/docs/zh-CN/index.html b/docs/zh-CN/index.html index 61b42163..f7a8c269 100644 --- a/docs/zh-CN/index.html +++ b/docs/zh-CN/index.html @@ -2133,29 +2133,36 @@ for p = 1 to points.length-3 (inclusive):

We already know that Bézier curves cannot model all curves that we can think of, and this includes perfect circles, as well as ellipses, and their arc counterparts. However, we can certainly approximate them to a degree that is visually acceptable. Quadratic and cubic curves offer us different curvature control, so in order to approximate a circle we will first need to figure out what the error is if we try to approximate arcs of increasing degree with quadratic and cubic curves, and where the coordinates even lie.

Since arcs are mid-point-symmetrical, we need the control points to set up a symmetrical curve. For quadratic curves this means that the control point will be somewhere on a line that intersects the baseline at a right angle. And we don't get any choice on where that will be, since the derivatives at the start and end point have to line up, so our control point will lie at the intersection of the tangents at the start and end point.

First, let's try to fit the quadratic curve onto a circular arc. In the following sketch you can move the mouse around over a unit circle, to see how well, or poorly, a quadratic curve can approximate the arc from (1,0) to where your mouse cursor is:

- + + + Scripts are disabled. Showing fallback image. + + + + +

As you can see, things go horribly wrong quite quickly; even trying to approximate a quarter circle using a quadratic curve is a bad idea. An eighth of a turns might look okay, but how okay is okay? Let's apply some maths and find out. What we're interested in is how far off our on-curve coordinates are with respect to a circular arc, given a specific start and end angle. We'll be looking at how much space there is between the circular arc, and the quadratic curve's midpoint.

We start out with our start and end point, and for convenience we will place them on a unit circle (a circle around 0,0 with radius 1), at some angle φ:

- +

What we want to find is the intersection of the tangents, so we want a point C such that:

- +

i.e. we want a point that lies on the vertical line through S (at some distance a from S) and also lies on the tangent line through E (at some distance b from E). Solving this gives us:

- +

First we solve for b:

- +

which yields:

- +

which we can then substitute in the expression for a:

- +

A quick check shows that plugging these values for a and b into the expressions for Cx and Cy give the same x/y coordinates for both "a away from A" and "b away from B", so let's continue: now that we know the coordinate values for C, we know where our on-curve point T for t=0.5 (or angle φ/2) is, because we can just evaluate the Bézier polynomial, and we know where the circle arc's actual point P is for angle φ/2:

- +

We compute T, observing that if t=0.5, the polynomial values (1-t)², 2(1-t)t, and t² are 0.25, 0.5, and 0.25 respectively:

- +

Which, worked out for the x and y components, gives:

- +

And the distance between these two is the standard Euclidean distance:

- +

So, what does this distance function look like when we plot it for a number of ranges for the angle φ, such as a half circle, quarter circle and eighth circle?

@@ -2172,7 +2179,7 @@ for p = 1 to points.length-3 (inclusive):

We now see why the eighth circle arc looks decent, but the quarter circle arc doesn't: an error of roughly 0.06 at t=0.5 means we're 6% off the mark... we will already be off by one pixel on a circle with pixel radius 17. Any decent sized quarter circle arc, say with radius 100px, will be way off if approximated by a quadratic curve! For the eighth circle arc, however, the error is only roughly 0.003, or 0.3%, which explains why it looks so close to the actual eighth circle arc. In fact, if we want a truly tiny error, like 0.001, we'll have to contend with an angle of (rounded) 0.593667, which equates to roughly 34 degrees. We'd need 11 quadratic curves to form a full circle with that precision! (technically, 10 and ten seventeenth, but we can't do partial curves, so we have to round up). That's a whole lot of curves just to get a shape that can be drawn using a simple function!

In fact, let's flip the function around, so that if we plug in the precision error, labelled ε, we get back the maximum angle for that precision:

- +

And frankly, things are starting to look a bit ridiculous at this point, we're doing way more maths than we've ever done, but thankfully this is as far as we need the maths to take us: If we plug in the precisions 0.1, 0.01, 0.001 and 0.0001 we get the radians values 1.748, 1.038, 0.594 and 0.3356; in degrees, that means we can cover roughly 100 degrees (requiring four curves), 59.5 degrees (requiring six curves), 34 degrees (requiring 11 curves), and 19.2 degrees (requiring a whopping nineteen curves).

The bottom line? Quadratic curves are kind of lousy if you want circular (or elliptical, which are circles that have been squashed in one dimension) curves. We can do better, even if it's just by raising the order of our curve once. So let's try the same thing for cubic curves.

@@ -2183,7 +2190,14 @@ for p = 1 to points.length-3 (inclusive):

For cubic curves, we basically want the curve to pass through three points on the circle: the start point, the mid point at "angle/2", and the end point at "angle". We then also need to make sure the control points are such that the start and end tangent lines line up with the circle's tangent lines at the start and end point.

The first thing we can do is "guess" what the curve should look like, based on the previously outlined curve-through-three-points procedure. This will give use a curve with correct start, mid and end points, but possibly incorrect derivatives at the start and end, because the control points might not be in the right spot. We can then slide the control points along the lines that connect them to their respective end point, until they effect the corrected derivative at the start and end points. However, if you look back at the section on fitting curves through three points, the rules used were such that they optimized for a near perfect hemisphere, so using the same guess won't be all that useful: guessing the solution based on knowing the solution is not really guessing.

So have a graphical look at a "bad" guess versus the true fit, where we'll be using the bad guess and the description in the second paragraph to derive the maths for the true fit:

- + + + Scripts are disabled. Showing fallback image. + + + + +

We see two curves here; in blue, our "guessed" curve and its control points, and in grey/black, the true curve fit, with proper control points that were shifted in, along line between our guessed control points, such that the derivatives at the start and end points are correct.

We can already see that cubic curves are a lot better than quadratic curves, and don't look all that wrong until we go well past a quarter circle; ⅜th starts to hint at problems, and half a circle has an obvious "gap" between the real circle and the cubic approximation. Anything past that just looks plain ridiculous... but quarter curves actually look pretty okay!

@@ -2204,11 +2218,11 @@ for p = 1 to points.length-3 (inclusive):

We see that cubic Bézier curves are much better when it comes to approximating circular arcs, with an error of less than 0.027 at the two "bulge" points for a quarter circle (which had an error of 0.06 for quadratic curves at the mid point), and an error near 0.001 for an eighth of a circle, so we're getting less than half the error for a quarter circle, or: at a slightly lower error, we're getting twice the arc. This makes cubic curves quite useful!

In fact, the precision of a cubic curve at a quarter circle is considered "good enough" by so many people that it's generally considered "just fine" to use four cubic Bézier curves to fake a full circle when no circle primitives are available; generally, people won't notice that it's not a real circle unless you also happen to overlay an actual circle, so that the difference becomes obvious.

So with the error analysis out of the way, how do we actually compute the coordinates needed to get that "true fit" cubic curve? The first observation is that we already know the start and end points, because they're the same as for the quadratic attempt:

- +

But we now need to find two control points, rather than one. If we want the derivatives at the start and end point to match the circle, then the first control point can only lie somewhere on the vertical line through S, and the second control point can only lie somewhere on the line tangent to point E, which means:

- +

where "a" is some scaling factor, and:

- +

where "b" is also some scaling factor.

Starting with this information, we slowly maths our way to success, but I won't lie: the maths for this is pretty trig-heavy, and it's easy to get lost if you remember (or know!) some of the core trigonometric identities, so if you just want to see the final result just skip past the next section!

@@ -2217,31 +2231,36 @@ for p = 1 to points.length-3 (inclusive):

Unlike for the quadratic case, we need some more information in order to compute a and b, since they're no longer dependent variables. First, we observe that the curve is symmetrical, so whatever values we end up finding for C1 will apply to C2 as well (rotated along its tangent), so we'll focus on finding the location of C1 only. So here's where we do something that you might not expect: we're going to ignore for a moment, because we're going to have a much easier time if we just solve this problem with geometry first, then move to calculus to solve a much simpler problem.

If we look at the triangle that is formed between our starting point, or initial guess C1 and our real C1, there's something funny going on: if we treat the line {start,guess} as our opposite side, the line {guess,real} as our adjacent side, with {start,real} our hypotenuse, then the angle for the corner hypotenuse/adjacent is half that of the arc we're covering. Try it: if you place the end point at a quarter circle (pi/2, or 90 degrees), the angle in our triangle is half a quarter (pi/4, or 45 degrees). With that knowledge, and a knowledge of what the length of any of our lines segments are (as a function), we can determine where our control points are, and thus have everything we need to find the error distance function. Of the three lines, the one we can easiest determine is {start,guess}, so let's find out what the guessed control point is. Again geometrically, because we have the benefit of an on-curve t=0.5 value.

The distance from our guessed point to the start point is exactly the same as the projection distance we looked at earlier. Using t=0.5 as our point "B" in the "A,B,C" projection, then we know the length of the line segment {C,A}, since it's d1 = {A,B} + d2 = {B,C}:

- +

So that just leaves us to find the distance from t=0.5 to the baseline for an arbitrary angle φ, which is the distance from the centre of the circle to our t=0.5 point, minus the distance from the centre to the line that runs from start point to end point. The first is the same as the point P we found for the quadratic curve:

- +

And the distance from the origin to the line start/end is another application of angles, since the triangle {origin,start,C} has known angles, and two known sides. We can find the length of the line {origin,C}, which lets us trivially compute the coordinate for C:

- +

With the coordinate C, and knowledge of coordinate B, we can determine coordinate A, and get a vector that is identical to the vector {start,guess}:

- - + +

Which means we can now determine the distance {start,guessed}, which is the same as the distance {C,A}, and use that to determine the vertical distance from our start point to our C1:

- +

And after this tedious detour to find the coordinate for C1, we can find C2 fairly simply, since it's lies at distance -C1y along the end point's tangent:

- +

And that's it, we have all four points now for an approximation of an arbitrary circular arc with angle φ.

So, to recap, given an angle φ, the new control coordinates are:

- +

and

- +

And, because the "quarter curve" special case comes up so incredibly often, let's look at what these new control points mean for the curve coordinates of a quarter curve, by simply filling in φ = π/2:

- +

Which, in decimal values, rounded to six significant digits, is:

- +

Of course, this is for a circle with radius 1, so if you have a different radius circle, simply multiply the coordinate by the radius you need. And then finally, forming a full curve is now a simple a matter of mirroring these coordinates about the origin:

- + + + Scripts are disabled. Showing fallback image. + + +
diff --git a/package-lock.json b/package-lock.json index f812975a..0498e03e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -57,7 +57,8 @@ "@types/q": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "dev": true }, "a-sync-waterfall": { "version": "1.0.1", @@ -81,6 +82,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -115,6 +117,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -167,7 +170,8 @@ "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true }, "brace-expansion": { "version": "1.1.11", @@ -219,6 +223,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -308,6 +313,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, "requires": { "@types/q": "^1.5.1", "chalk": "^2.4.1", @@ -324,6 +330,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -331,7 +338,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "colors": { "version": "1.4.0", @@ -386,6 +394,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, "requires": { "boolbase": "^1.0.0", "css-what": "^3.2.1", @@ -396,12 +405,14 @@ "css-select-base-adapter": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true }, "css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, "requires": { "mdn-data": "2.0.4", "source-map": "^0.6.1" @@ -410,12 +421,14 @@ "css-what": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==" + "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "dev": true }, "csso": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "dev": true, "requires": { "css-tree": "1.0.0-alpha.39" }, @@ -424,6 +437,7 @@ "version": "1.0.0-alpha.39", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "dev": true, "requires": { "mdn-data": "2.0.6", "source-map": "^0.6.1" @@ -432,7 +446,8 @@ "mdn-data": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "dev": true } } }, @@ -488,6 +503,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -508,6 +524,7 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, "requires": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -516,19 +533,22 @@ "domelementtype": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true } } }, "domelementtype": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true }, "domutils": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, "requires": { "dom-serializer": "0", "domelementtype": "1" @@ -555,7 +575,8 @@ "entities": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true }, "error-ex": { "version": "1.3.2", @@ -570,6 +591,7 @@ "version": "1.17.6", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -588,6 +610,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -597,12 +620,14 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "eventemitter3": { "version": "4.0.7", @@ -684,7 +709,8 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "gauge": { "version": "2.7.4", @@ -753,6 +779,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -760,12 +787,14 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true }, "has-unicode": { "version": "2.0.1", @@ -883,12 +912,14 @@ "is-callable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true }, "is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true }, "is-docker": { "version": "2.1.1", @@ -936,6 +967,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -950,6 +982,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -991,6 +1024,7 @@ "version": "3.14.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1095,7 +1129,8 @@ "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true }, "memorystream": { "version": "0.3.1", @@ -1152,7 +1187,8 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "minimist-options": { "version": "4.1.0", @@ -1188,6 +1224,7 @@ "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, "requires": { "minimist": "^1.2.5" } @@ -1326,6 +1363,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, "requires": { "boolbase": "~1.0.0" } @@ -1357,17 +1395,20 @@ "object-inspect": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "dev": true }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, "object.assign": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, "requires": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", @@ -1379,6 +1420,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" @@ -1388,6 +1430,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1", @@ -1572,7 +1615,8 @@ "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true }, "qs": { "version": "6.9.4", @@ -1751,7 +1795,8 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true }, "secure-compare": { "version": "3.0.1", @@ -1818,7 +1863,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "spdx-correct": { "version": "3.1.1", @@ -1855,12 +1901,14 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "stable": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true }, "string-width": { "version": "1.0.2", @@ -1887,6 +1935,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" @@ -1896,6 +1945,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.5" @@ -1955,14 +2005,15 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } }, "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "version": "git://github.com/strarsis/svgo.git#59e277cc1412d648cbac2602e72820157b9b9a61", + "from": "git://github.com/strarsis/svgo.git#dereferenceUses-plugin", + "dev": true, "requires": { "chalk": "^2.4.1", "coa": "^2.0.2", @@ -2071,7 +2122,8 @@ "unquote": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true }, "url-join": { "version": "2.0.5", @@ -2089,6 +2141,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.2", diff --git a/package.json b/package.json index fc83ba5f..629109f5 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "watch:chapters": "chokidar \"./docs/chapters/**/*.*\" -c \"npm run build\"", "watch:customelement": "chokidar \"./docs/js/custom-element/**/*.js\" -c \"npm run build\"", "watch:src": "chokidar \"./src/**/*.*\" -c \"npm run build\"", + "svgo": "svgo --enable=derferenceUses --pretty", "time": "node ./src/mark.js" }, "keywords": [ @@ -52,6 +53,6 @@ "nunjucks": "^3.2.2", "open-cli": "^6.0.1", "prettier": "^2.0.5", - "svgo": "^1.3.2" + "svgo": "git://github.com/strarsis/svgo#dereferenceUses-plugin" } } diff --git a/src/build/latex/latex-to-svg.js b/src/build/latex/latex-to-svg.js index b6957c93..7f6d0d1a 100644 --- a/src/build/latex/latex-to-svg.js +++ b/src/build/latex/latex-to-svg.js @@ -94,7 +94,7 @@ export default async function latexToSVG(latex, chapter, localeStrings, block) { )}" "${TeXfilename}"`, crop: `pdfcrop "${PDFfilename}"`, svg: `pdf2svg "${PDFfilenameCropped}" "${SVGfilename}"`, - svgo: `npx svgo "${SVGfilename}"`, + svgo: `npm run svgo -- "${SVGfilename}"`, }; // Finally: run the conversion

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 _0 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 AO8@`> diff --git a/docs/images/chapters/derivatives/03967e3ecdbff78684995ca9c22a6106.svg b/docs/images/chapters/derivatives/03967e3ecdbff78684995ca9c22a6106.svg index a8bb0014..657773d1 100644 --- a/docs/images/chapters/derivatives/03967e3ecdbff78684995ca9c22a6106.svg +++ b/docs/images/chapters/derivatives/03967e3ecdbff78684995ca9c22a6106.svg @@ -1 +1,492 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg b/docs/images/chapters/derivatives/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg index cbaec892..af5c7dff 100644 --- a/docs/images/chapters/derivatives/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg +++ b/docs/images/chapters/derivatives/14cb9fbbaae9e7d87ae6bef3ea7a782e.svg @@ -1 +1,269 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/2622790efa97f1915e7998787d8ce977.svg b/docs/images/chapters/derivatives/2622790efa97f1915e7998787d8ce977.svg index ffcfd814..161f942d 100644 --- a/docs/images/chapters/derivatives/2622790efa97f1915e7998787d8ce977.svg +++ b/docs/images/chapters/derivatives/2622790efa97f1915e7998787d8ce977.svg @@ -1 +1,170 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/28991bba7c13698619f36b6261d91d68.svg b/docs/images/chapters/derivatives/28991bba7c13698619f36b6261d91d68.svg index ca6684fd..0dfbf84e 100644 --- a/docs/images/chapters/derivatives/28991bba7c13698619f36b6261d91d68.svg +++ b/docs/images/chapters/derivatives/28991bba7c13698619f36b6261d91d68.svg @@ -1 +1,655 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/514090a0fd6c64b7d85a9dc5721a0fa6.svg b/docs/images/chapters/derivatives/514090a0fd6c64b7d85a9dc5721a0fa6.svg index 302b1555..3558eace 100644 --- a/docs/images/chapters/derivatives/514090a0fd6c64b7d85a9dc5721a0fa6.svg +++ b/docs/images/chapters/derivatives/514090a0fd6c64b7d85a9dc5721a0fa6.svg @@ -1 +1,344 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/6770214cceeb0e13e371bd908867751f.svg b/docs/images/chapters/derivatives/6770214cceeb0e13e371bd908867751f.svg index 1062751e..e13e5c1e 100644 --- a/docs/images/chapters/derivatives/6770214cceeb0e13e371bd908867751f.svg +++ b/docs/images/chapters/derivatives/6770214cceeb0e13e371bd908867751f.svg @@ -1 +1,745 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/89ceb6024ead6f710e3e0f09d2864f43.svg b/docs/images/chapters/derivatives/89ceb6024ead6f710e3e0f09d2864f43.svg index 54f9887b..2b671ca3 100644 --- a/docs/images/chapters/derivatives/89ceb6024ead6f710e3e0f09d2864f43.svg +++ b/docs/images/chapters/derivatives/89ceb6024ead6f710e3e0f09d2864f43.svg @@ -1 +1,302 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/95a0cd4cc919a3fd5b192ffeb00c231e.svg b/docs/images/chapters/derivatives/95a0cd4cc919a3fd5b192ffeb00c231e.svg index 69973eb8..97cc2407 100644 --- a/docs/images/chapters/derivatives/95a0cd4cc919a3fd5b192ffeb00c231e.svg +++ b/docs/images/chapters/derivatives/95a0cd4cc919a3fd5b192ffeb00c231e.svg @@ -1 +1,159 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/b7815b1502029ed9d805b6ba0801a53f.svg b/docs/images/chapters/derivatives/b7815b1502029ed9d805b6ba0801a53f.svg index 30538ce1..17dce2d9 100644 --- a/docs/images/chapters/derivatives/b7815b1502029ed9d805b6ba0801a53f.svg +++ b/docs/images/chapters/derivatives/b7815b1502029ed9d805b6ba0801a53f.svg @@ -1 +1,438 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/bd3c740be364071c86ccf42b99d5eba4.svg b/docs/images/chapters/derivatives/bd3c740be364071c86ccf42b99d5eba4.svg index 4c0938c6..ad4928e3 100644 --- a/docs/images/chapters/derivatives/bd3c740be364071c86ccf42b99d5eba4.svg +++ b/docs/images/chapters/derivatives/bd3c740be364071c86ccf42b99d5eba4.svg @@ -1 +1,191 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/c010c0df4bb911b84da6e9d379617e4b.svg b/docs/images/chapters/derivatives/c010c0df4bb911b84da6e9d379617e4b.svg index 76d47968..b867bcbf 100644 --- a/docs/images/chapters/derivatives/c010c0df4bb911b84da6e9d379617e4b.svg +++ b/docs/images/chapters/derivatives/c010c0df4bb911b84da6e9d379617e4b.svg @@ -1 +1,397 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/c7b13e6507450b3da7dc4ce3c10c370f.svg b/docs/images/chapters/derivatives/c7b13e6507450b3da7dc4ce3c10c370f.svg index 0d82b2a7..9c52f2dd 100644 --- a/docs/images/chapters/derivatives/c7b13e6507450b3da7dc4ce3c10c370f.svg +++ b/docs/images/chapters/derivatives/c7b13e6507450b3da7dc4ce3c10c370f.svg @@ -1 +1,319 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/e755c2adfec5d266c50e064407ca369b.svg b/docs/images/chapters/derivatives/e755c2adfec5d266c50e064407ca369b.svg index 5d6d6555..1a242a65 100644 --- a/docs/images/chapters/derivatives/e755c2adfec5d266c50e064407ca369b.svg +++ b/docs/images/chapters/derivatives/e755c2adfec5d266c50e064407ca369b.svg @@ -1 +1,96 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/eb4442acc5bc17f4649eb04b2953ed9b.svg b/docs/images/chapters/derivatives/eb4442acc5bc17f4649eb04b2953ed9b.svg index 684d7ddb..f6b80ab4 100644 --- a/docs/images/chapters/derivatives/eb4442acc5bc17f4649eb04b2953ed9b.svg +++ b/docs/images/chapters/derivatives/eb4442acc5bc17f4649eb04b2953ed9b.svg @@ -1 +1,164 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/derivatives/fb823558e99662b24d46ae55ac93ce38.svg b/docs/images/chapters/derivatives/fb823558e99662b24d46ae55ac93ce38.svg index 40251733..6cb15fe1 100644 --- a/docs/images/chapters/derivatives/fb823558e99662b24d46ae55ac93ce38.svg +++ b/docs/images/chapters/derivatives/fb823558e99662b24d46ae55ac93ce38.svg @@ -1 +1,338 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/066a910ae6aba69c40a338320759cdd1.svg b/docs/images/chapters/explanation/066a910ae6aba69c40a338320759cdd1.svg index 88879670..a21e2c0f 100644 --- a/docs/images/chapters/explanation/066a910ae6aba69c40a338320759cdd1.svg +++ b/docs/images/chapters/explanation/066a910ae6aba69c40a338320759cdd1.svg @@ -1 +1,89 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/0f5cffd58e864fec6739a57664eb8cbd.svg b/docs/images/chapters/explanation/0f5cffd58e864fec6739a57664eb8cbd.svg index e6c14e3f..3a1d6d32 100644 --- a/docs/images/chapters/explanation/0f5cffd58e864fec6739a57664eb8cbd.svg +++ b/docs/images/chapters/explanation/0f5cffd58e864fec6739a57664eb8cbd.svg @@ -1 +1,80 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/1caef9931f954e32eae5067b732c1018.svg b/docs/images/chapters/explanation/1caef9931f954e32eae5067b732c1018.svg index c0225a5b..d5c4466e 100644 --- a/docs/images/chapters/explanation/1caef9931f954e32eae5067b732c1018.svg +++ b/docs/images/chapters/explanation/1caef9931f954e32eae5067b732c1018.svg @@ -1 +1,39 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/2adc12d0cff01d40d9e1702014a7dc19.svg b/docs/images/chapters/explanation/2adc12d0cff01d40d9e1702014a7dc19.svg index 30295b14..04e903e7 100644 --- a/docs/images/chapters/explanation/2adc12d0cff01d40d9e1702014a7dc19.svg +++ b/docs/images/chapters/explanation/2adc12d0cff01d40d9e1702014a7dc19.svg @@ -1 +1,269 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/4cf6fb369841e2c5d36e5567a8db4306.svg b/docs/images/chapters/explanation/4cf6fb369841e2c5d36e5567a8db4306.svg index 2b6f20ef..3d1e53da 100644 --- a/docs/images/chapters/explanation/4cf6fb369841e2c5d36e5567a8db4306.svg +++ b/docs/images/chapters/explanation/4cf6fb369841e2c5d36e5567a8db4306.svg @@ -1 +1,61 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/6e15c433dc2340271e007742009e3532.svg b/docs/images/chapters/explanation/6e15c433dc2340271e007742009e3532.svg index 79326f58..15893353 100644 --- a/docs/images/chapters/explanation/6e15c433dc2340271e007742009e3532.svg +++ b/docs/images/chapters/explanation/6e15c433dc2340271e007742009e3532.svg @@ -1 +1,220 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/741097d69c182e8742695af23980bd8f.svg b/docs/images/chapters/explanation/741097d69c182e8742695af23980bd8f.svg index 8d737d51..2c12fed7 100644 --- a/docs/images/chapters/explanation/741097d69c182e8742695af23980bd8f.svg +++ b/docs/images/chapters/explanation/741097d69c182e8742695af23980bd8f.svg @@ -1 +1,140 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/9a6d17c362980775f1425d0d2ad9a36a.svg b/docs/images/chapters/explanation/9a6d17c362980775f1425d0d2ad9a36a.svg index 965d6a79..a24cb1d9 100644 --- a/docs/images/chapters/explanation/9a6d17c362980775f1425d0d2ad9a36a.svg +++ b/docs/images/chapters/explanation/9a6d17c362980775f1425d0d2ad9a36a.svg @@ -1 +1,233 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/9c18f76e76cf684ecd217ad8facc2e93.svg b/docs/images/chapters/explanation/9c18f76e76cf684ecd217ad8facc2e93.svg index e3cf2d07..49662f3d 100644 --- a/docs/images/chapters/explanation/9c18f76e76cf684ecd217ad8facc2e93.svg +++ b/docs/images/chapters/explanation/9c18f76e76cf684ecd217ad8facc2e93.svg @@ -1 +1,180 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/bb06cb82d372f822a7b35e661502bd72.svg b/docs/images/chapters/explanation/bb06cb82d372f822a7b35e661502bd72.svg index 367d2825..debad091 100644 --- a/docs/images/chapters/explanation/bb06cb82d372f822a7b35e661502bd72.svg +++ b/docs/images/chapters/explanation/bb06cb82d372f822a7b35e661502bd72.svg @@ -1 +1,66 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/c605597fb629b964921c6a4bca7fa4c9.svg b/docs/images/chapters/explanation/c605597fb629b964921c6a4bca7fa4c9.svg index 47dadccb..00b59e86 100644 --- a/docs/images/chapters/explanation/c605597fb629b964921c6a4bca7fa4c9.svg +++ b/docs/images/chapters/explanation/c605597fb629b964921c6a4bca7fa4c9.svg @@ -1 +1,110 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/e107caca1577e44293cd207388ac939c.svg b/docs/images/chapters/explanation/e107caca1577e44293cd207388ac939c.svg index 067ba7f8..4a1f09eb 100644 --- a/docs/images/chapters/explanation/e107caca1577e44293cd207388ac939c.svg +++ b/docs/images/chapters/explanation/e107caca1577e44293cd207388ac939c.svg @@ -1 +1,193 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/explanation/f24fd5e27968d96957ba706b16d8e90b.svg b/docs/images/chapters/explanation/f24fd5e27968d96957ba706b16d8e90b.svg index f7f300ca..39041aba 100644 --- a/docs/images/chapters/explanation/f24fd5e27968d96957ba706b16d8e90b.svg +++ b/docs/images/chapters/explanation/f24fd5e27968d96957ba706b16d8e90b.svg @@ -1 +1,192 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extended/a75e84f0e7f92c2f3e8ef10b49744ba5.svg b/docs/images/chapters/extended/a75e84f0e7f92c2f3e8ef10b49744ba5.svg index 95d1b583..053e1c79 100644 --- a/docs/images/chapters/extended/a75e84f0e7f92c2f3e8ef10b49744ba5.svg +++ b/docs/images/chapters/extended/a75e84f0e7f92c2f3e8ef10b49744ba5.svg @@ -1 +1,70 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extended/b80a1cac1f9ec476d6f6646ce0e154e7.svg b/docs/images/chapters/extended/b80a1cac1f9ec476d6f6646ce0e154e7.svg index f61387f9..9f9d9c72 100644 --- a/docs/images/chapters/extended/b80a1cac1f9ec476d6f6646ce0e154e7.svg +++ b/docs/images/chapters/extended/b80a1cac1f9ec476d6f6646ce0e154e7.svg @@ -1 +1,91 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extended/d930dea961b40f4810708bd6746221a2.svg b/docs/images/chapters/extended/d930dea961b40f4810708bd6746221a2.svg index ec0121f2..7dc8ed29 100644 --- a/docs/images/chapters/extended/d930dea961b40f4810708bd6746221a2.svg +++ b/docs/images/chapters/extended/d930dea961b40f4810708bd6746221a2.svg @@ -1 +1,79 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extended/f41f553d448de8559d68fccd9c2f27d4.svg b/docs/images/chapters/extended/f41f553d448de8559d68fccd9c2f27d4.svg index 6c96e9ef..87780eaa 100644 --- a/docs/images/chapters/extended/f41f553d448de8559d68fccd9c2f27d4.svg +++ b/docs/images/chapters/extended/f41f553d448de8559d68fccd9c2f27d4.svg @@ -1 +1,82 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extremities/0ec5cc72a428d75defb480530b50d720.svg b/docs/images/chapters/extremities/0ec5cc72a428d75defb480530b50d720.svg index fcc72109..ca455c46 100644 --- a/docs/images/chapters/extremities/0ec5cc72a428d75defb480530b50d720.svg +++ b/docs/images/chapters/extremities/0ec5cc72a428d75defb480530b50d720.svg @@ -1 +1,149 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extremities/1c0367fad2a0d6946db1f55a8520793a.svg b/docs/images/chapters/extremities/1c0367fad2a0d6946db1f55a8520793a.svg index affde4e6..08eb87f9 100644 --- a/docs/images/chapters/extremities/1c0367fad2a0d6946db1f55a8520793a.svg +++ b/docs/images/chapters/extremities/1c0367fad2a0d6946db1f55a8520793a.svg @@ -1 +1,99 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extremities/6db78123d4b676ffdf85d53670c77468.svg b/docs/images/chapters/extremities/6db78123d4b676ffdf85d53670c77468.svg index 06834ca1..526785e4 100644 --- a/docs/images/chapters/extremities/6db78123d4b676ffdf85d53670c77468.svg +++ b/docs/images/chapters/extremities/6db78123d4b676ffdf85d53670c77468.svg @@ -1 +1,140 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extremities/997a8cc704c0ab0e364cb8b532df90b0.svg b/docs/images/chapters/extremities/997a8cc704c0ab0e364cb8b532df90b0.svg index 5fb54998..de9afe2e 100644 --- a/docs/images/chapters/extremities/997a8cc704c0ab0e364cb8b532df90b0.svg +++ b/docs/images/chapters/extremities/997a8cc704c0ab0e364cb8b532df90b0.svg @@ -1 +1,171 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extremities/c621cc41f6f22ee1beedbcb510fa5b6b.svg b/docs/images/chapters/extremities/c621cc41f6f22ee1beedbcb510fa5b6b.svg index a36c5fef..02a39031 100644 --- a/docs/images/chapters/extremities/c621cc41f6f22ee1beedbcb510fa5b6b.svg +++ b/docs/images/chapters/extremities/c621cc41f6f22ee1beedbcb510fa5b6b.svg @@ -1 +1,72 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extremities/d9e66caeb45b6643112ce3d971b17e5b.svg b/docs/images/chapters/extremities/d9e66caeb45b6643112ce3d971b17e5b.svg index e3872290..ba5efa08 100644 --- a/docs/images/chapters/extremities/d9e66caeb45b6643112ce3d971b17e5b.svg +++ b/docs/images/chapters/extremities/d9e66caeb45b6643112ce3d971b17e5b.svg @@ -1 +1,219 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extremities/ddc6f99a543afad25c55cf16b9deeed9.svg b/docs/images/chapters/extremities/ddc6f99a543afad25c55cf16b9deeed9.svg index 0e944e9f..eec49d7c 100644 --- a/docs/images/chapters/extremities/ddc6f99a543afad25c55cf16b9deeed9.svg +++ b/docs/images/chapters/extremities/ddc6f99a543afad25c55cf16b9deeed9.svg @@ -1 +1,509 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/extremities/e06ec558d99b53e559d24524f4201951.svg b/docs/images/chapters/extremities/e06ec558d99b53e559d24524f4201951.svg index f97d11ca..e966231c 100644 --- a/docs/images/chapters/extremities/e06ec558d99b53e559d24524f4201951.svg +++ b/docs/images/chapters/extremities/e06ec558d99b53e559d24524f4201951.svg @@ -1 +1,279 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/inflections/1679090a942a43d27f886f236fc8d62b.svg b/docs/images/chapters/inflections/1679090a942a43d27f886f236fc8d62b.svg index fed0b796..afdfd725 100644 --- a/docs/images/chapters/inflections/1679090a942a43d27f886f236fc8d62b.svg +++ b/docs/images/chapters/inflections/1679090a942a43d27f886f236fc8d62b.svg @@ -1 +1,192 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/inflections/2029bca9f4fa15739553636af99b70a8.svg b/docs/images/chapters/inflections/2029bca9f4fa15739553636af99b70a8.svg index 9202cac6..5ec0a60b 100644 --- a/docs/images/chapters/inflections/2029bca9f4fa15739553636af99b70a8.svg +++ b/docs/images/chapters/inflections/2029bca9f4fa15739553636af99b70a8.svg @@ -1 +1,184 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/inflections/4b5c7d0bf0fcd769db007dd98d4a024d.svg b/docs/images/chapters/inflections/4b5c7d0bf0fcd769db007dd98d4a024d.svg index db7ef2b3..6d195cef 100644 --- a/docs/images/chapters/inflections/4b5c7d0bf0fcd769db007dd98d4a024d.svg +++ b/docs/images/chapters/inflections/4b5c7d0bf0fcd769db007dd98d4a024d.svg @@ -1 +1,236 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/inflections/4d78ebcf8626f777725d67d3672fa480.svg b/docs/images/chapters/inflections/4d78ebcf8626f777725d67d3672fa480.svg index 4d4d0eeb..8e517502 100644 --- a/docs/images/chapters/inflections/4d78ebcf8626f777725d67d3672fa480.svg +++ b/docs/images/chapters/inflections/4d78ebcf8626f777725d67d3672fa480.svg @@ -1 +1,520 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/inflections/7c9762c0e04693eb743905cdc0487f8b.svg b/docs/images/chapters/inflections/7c9762c0e04693eb743905cdc0487f8b.svg index 09823965..c2d010aa 100644 --- a/docs/images/chapters/inflections/7c9762c0e04693eb743905cdc0487f8b.svg +++ b/docs/images/chapters/inflections/7c9762c0e04693eb743905cdc0487f8b.svg @@ -1 +1,177 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/inflections/97b34ad5920612574d1b2a1a9d22d571.svg b/docs/images/chapters/inflections/97b34ad5920612574d1b2a1a9d22d571.svg index 7ba90eca..bc1bf6b9 100644 --- a/docs/images/chapters/inflections/97b34ad5920612574d1b2a1a9d22d571.svg +++ b/docs/images/chapters/inflections/97b34ad5920612574d1b2a1a9d22d571.svg @@ -1 +1,339 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/inflections/b2433959e1f451fa3bf238fc37e04527.svg b/docs/images/chapters/inflections/b2433959e1f451fa3bf238fc37e04527.svg index 887401db..c55c2ef4 100644 --- a/docs/images/chapters/inflections/b2433959e1f451fa3bf238fc37e04527.svg +++ b/docs/images/chapters/inflections/b2433959e1f451fa3bf238fc37e04527.svg @@ -1 +1,786 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/inflections/bafdb6583323bda71d9a15c02d1fdec2.svg b/docs/images/chapters/inflections/bafdb6583323bda71d9a15c02d1fdec2.svg index ad307dec..be445d5a 100644 --- a/docs/images/chapters/inflections/bafdb6583323bda71d9a15c02d1fdec2.svg +++ b/docs/images/chapters/inflections/bafdb6583323bda71d9a15c02d1fdec2.svg @@ -1 +1,24 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/009c671bc526b5d75c30411c3c3a7e91.svg b/docs/images/chapters/matrix/009c671bc526b5d75c30411c3c3a7e91.svg index d7fb358c..54d6f75a 100644 --- a/docs/images/chapters/matrix/009c671bc526b5d75c30411c3c3a7e91.svg +++ b/docs/images/chapters/matrix/009c671bc526b5d75c30411c3c3a7e91.svg @@ -1 +1,203 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/24bdad213879407a35b23c18394293aa.svg b/docs/images/chapters/matrix/24bdad213879407a35b23c18394293aa.svg index fd97a72d..1397bf77 100644 --- a/docs/images/chapters/matrix/24bdad213879407a35b23c18394293aa.svg +++ b/docs/images/chapters/matrix/24bdad213879407a35b23c18394293aa.svg @@ -1 +1,127 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/5aea6d4d5855135051715fb1cc0ec531.svg b/docs/images/chapters/matrix/5aea6d4d5855135051715fb1cc0ec531.svg index a5a4cea4..a02a3f45 100644 --- a/docs/images/chapters/matrix/5aea6d4d5855135051715fb1cc0ec531.svg +++ b/docs/images/chapters/matrix/5aea6d4d5855135051715fb1cc0ec531.svg @@ -1 +1,156 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/6da69918482a0b6b84d90a72dbeae9dd.svg b/docs/images/chapters/matrix/6da69918482a0b6b84d90a72dbeae9dd.svg index acf7e3c9..d4f977f6 100644 --- a/docs/images/chapters/matrix/6da69918482a0b6b84d90a72dbeae9dd.svg +++ b/docs/images/chapters/matrix/6da69918482a0b6b84d90a72dbeae9dd.svg @@ -1 +1,307 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/77a11d65d7cffc4b84a85c4bec837792.svg b/docs/images/chapters/matrix/77a11d65d7cffc4b84a85c4bec837792.svg index 36cae683..5283f798 100644 --- a/docs/images/chapters/matrix/77a11d65d7cffc4b84a85c4bec837792.svg +++ b/docs/images/chapters/matrix/77a11d65d7cffc4b84a85c4bec837792.svg @@ -1 +1,148 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/9bc905d79bb22580b8c1cd75a791db73.svg b/docs/images/chapters/matrix/9bc905d79bb22580b8c1cd75a791db73.svg index f9a8f05f..d2a6c522 100644 --- a/docs/images/chapters/matrix/9bc905d79bb22580b8c1cd75a791db73.svg +++ b/docs/images/chapters/matrix/9bc905d79bb22580b8c1cd75a791db73.svg @@ -1 +1,316 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/c1f815481ad5132bebc1b1f0a3edf20f.svg b/docs/images/chapters/matrix/c1f815481ad5132bebc1b1f0a3edf20f.svg index dd63abc7..f2d5d15f 100644 --- a/docs/images/chapters/matrix/c1f815481ad5132bebc1b1f0a3edf20f.svg +++ b/docs/images/chapters/matrix/c1f815481ad5132bebc1b1f0a3edf20f.svg @@ -1 +1,117 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/e0d89b48cd11a726c00a2f689d48d57c.svg b/docs/images/chapters/matrix/e0d89b48cd11a726c00a2f689d48d57c.svg index 1ca78db6..772f1705 100644 --- a/docs/images/chapters/matrix/e0d89b48cd11a726c00a2f689d48d57c.svg +++ b/docs/images/chapters/matrix/e0d89b48cd11a726c00a2f689d48d57c.svg @@ -1 +1,227 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/e524525c62234ce616a1e51c9848c169.svg b/docs/images/chapters/matrix/e524525c62234ce616a1e51c9848c169.svg index 8f2916b0..8520f1e9 100644 --- a/docs/images/chapters/matrix/e524525c62234ce616a1e51c9848c169.svg +++ b/docs/images/chapters/matrix/e524525c62234ce616a1e51c9848c169.svg @@ -1 +1,120 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrix/e94ae04eb5732c05d38fa1c97a2a25b0.svg b/docs/images/chapters/matrix/e94ae04eb5732c05d38fa1c97a2a25b0.svg index 08fb7200..557908c2 100644 --- a/docs/images/chapters/matrix/e94ae04eb5732c05d38fa1c97a2a25b0.svg +++ b/docs/images/chapters/matrix/e94ae04eb5732c05d38fa1c97a2a25b0.svg @@ -1 +1,127 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/0d2e895e767c4cecb0fccafee1273152.svg b/docs/images/chapters/matrixsplit/0d2e895e767c4cecb0fccafee1273152.svg index d8bd4ad0..bdaddbff 100644 --- a/docs/images/chapters/matrixsplit/0d2e895e767c4cecb0fccafee1273152.svg +++ b/docs/images/chapters/matrixsplit/0d2e895e767c4cecb0fccafee1273152.svg @@ -1 +1,614 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/0f84dbf6e3ea7db732ceb9d71caf9b22.svg b/docs/images/chapters/matrixsplit/0f84dbf6e3ea7db732ceb9d71caf9b22.svg index 6bb1ac97..d0d7e7ca 100644 --- a/docs/images/chapters/matrixsplit/0f84dbf6e3ea7db732ceb9d71caf9b22.svg +++ b/docs/images/chapters/matrixsplit/0f84dbf6e3ea7db732ceb9d71caf9b22.svg @@ -1 +1,220 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/19049f556723a4f2d985a631a91ae290.svg b/docs/images/chapters/matrixsplit/19049f556723a4f2d985a631a91ae290.svg index 6c5365bf..b9aa345e 100644 --- a/docs/images/chapters/matrixsplit/19049f556723a4f2d985a631a91ae290.svg +++ b/docs/images/chapters/matrixsplit/19049f556723a4f2d985a631a91ae290.svg @@ -1 +1,207 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/278b67e9b908f4abcf2e9d069a6b29a4.svg b/docs/images/chapters/matrixsplit/278b67e9b908f4abcf2e9d069a6b29a4.svg index 2cb2e6c8..7b506192 100644 --- a/docs/images/chapters/matrixsplit/278b67e9b908f4abcf2e9d069a6b29a4.svg +++ b/docs/images/chapters/matrixsplit/278b67e9b908f4abcf2e9d069a6b29a4.svg @@ -1 +1,363 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/2f2bec1e77039a40c31220f5bf83641a.svg b/docs/images/chapters/matrixsplit/2f2bec1e77039a40c31220f5bf83641a.svg index b90e9f56..86ab89e5 100644 --- a/docs/images/chapters/matrixsplit/2f2bec1e77039a40c31220f5bf83641a.svg +++ b/docs/images/chapters/matrixsplit/2f2bec1e77039a40c31220f5bf83641a.svg @@ -1 +1,188 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/3ed7fa50bf68beef4c77d23e665063d2.svg b/docs/images/chapters/matrixsplit/3ed7fa50bf68beef4c77d23e665063d2.svg index 44d305e1..6c34efae 100644 --- a/docs/images/chapters/matrixsplit/3ed7fa50bf68beef4c77d23e665063d2.svg +++ b/docs/images/chapters/matrixsplit/3ed7fa50bf68beef4c77d23e665063d2.svg @@ -1 +1,111 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/4063d3462c179e91bb5f97c5e763560a.svg b/docs/images/chapters/matrixsplit/4063d3462c179e91bb5f97c5e763560a.svg index 574b4950..f54da697 100644 --- a/docs/images/chapters/matrixsplit/4063d3462c179e91bb5f97c5e763560a.svg +++ b/docs/images/chapters/matrixsplit/4063d3462c179e91bb5f97c5e763560a.svg @@ -1 +1,183 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/567c29ee78b49c700f54b17780682543.svg b/docs/images/chapters/matrixsplit/567c29ee78b49c700f54b17780682543.svg index 65f5ea0a..3ed62422 100644 --- a/docs/images/chapters/matrixsplit/567c29ee78b49c700f54b17780682543.svg +++ b/docs/images/chapters/matrixsplit/567c29ee78b49c700f54b17780682543.svg @@ -1 +1,393 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/5e3fae45d325d0f0681731fb606b6fbc.svg b/docs/images/chapters/matrixsplit/5e3fae45d325d0f0681731fb606b6fbc.svg index cc997f4a..74609550 100644 --- a/docs/images/chapters/matrixsplit/5e3fae45d325d0f0681731fb606b6fbc.svg +++ b/docs/images/chapters/matrixsplit/5e3fae45d325d0f0681731fb606b6fbc.svg @@ -1 +1,614 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/6aeb749eb26f5a9199c1b16d7d421dc0.svg b/docs/images/chapters/matrixsplit/6aeb749eb26f5a9199c1b16d7d421dc0.svg index e5025970..c2a6da41 100644 --- a/docs/images/chapters/matrixsplit/6aeb749eb26f5a9199c1b16d7d421dc0.svg +++ b/docs/images/chapters/matrixsplit/6aeb749eb26f5a9199c1b16d7d421dc0.svg @@ -1 +1,338 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/77a11d65d7cffc4b84a85c4bec837792.svg b/docs/images/chapters/matrixsplit/77a11d65d7cffc4b84a85c4bec837792.svg index 36cae683..5283f798 100644 --- a/docs/images/chapters/matrixsplit/77a11d65d7cffc4b84a85c4bec837792.svg +++ b/docs/images/chapters/matrixsplit/77a11d65d7cffc4b84a85c4bec837792.svg @@ -1 +1,148 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/7d629178a5fb985a35770002d1912535.svg b/docs/images/chapters/matrixsplit/7d629178a5fb985a35770002d1912535.svg index db09f78f..ad982ebb 100644 --- a/docs/images/chapters/matrixsplit/7d629178a5fb985a35770002d1912535.svg +++ b/docs/images/chapters/matrixsplit/7d629178a5fb985a35770002d1912535.svg @@ -1 +1,338 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/859b7bc7b78e8e297ae5fddd9be40ab7.svg b/docs/images/chapters/matrixsplit/859b7bc7b78e8e297ae5fddd9be40ab7.svg index aa9992f8..43e88e08 100644 --- a/docs/images/chapters/matrixsplit/859b7bc7b78e8e297ae5fddd9be40ab7.svg +++ b/docs/images/chapters/matrixsplit/859b7bc7b78e8e297ae5fddd9be40ab7.svg @@ -1 +1,292 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/8fb4faa046191480e89052102ecd3678.svg b/docs/images/chapters/matrixsplit/8fb4faa046191480e89052102ecd3678.svg index 6bd18183..58b06c7f 100644 --- a/docs/images/chapters/matrixsplit/8fb4faa046191480e89052102ecd3678.svg +++ b/docs/images/chapters/matrixsplit/8fb4faa046191480e89052102ecd3678.svg @@ -1 +1,162 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/a34473afe7a4160b45ce0f2a770fad99.svg b/docs/images/chapters/matrixsplit/a34473afe7a4160b45ce0f2a770fad99.svg index 93b2b311..fa6c19a2 100644 --- a/docs/images/chapters/matrixsplit/a34473afe7a4160b45ce0f2a770fad99.svg +++ b/docs/images/chapters/matrixsplit/a34473afe7a4160b45ce0f2a770fad99.svg @@ -1 +1,242 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/a56f198daab08d20ef666599af14f513.svg b/docs/images/chapters/matrixsplit/a56f198daab08d20ef666599af14f513.svg index 826425dd..654da52b 100644 --- a/docs/images/chapters/matrixsplit/a56f198daab08d20ef666599af14f513.svg +++ b/docs/images/chapters/matrixsplit/a56f198daab08d20ef666599af14f513.svg @@ -1 +1,156 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/abb3edce2229312f351d81092ba2145b.svg b/docs/images/chapters/matrixsplit/abb3edce2229312f351d81092ba2145b.svg index e0acfe12..b79bef02 100644 --- a/docs/images/chapters/matrixsplit/abb3edce2229312f351d81092ba2145b.svg +++ b/docs/images/chapters/matrixsplit/abb3edce2229312f351d81092ba2145b.svg @@ -1 +1,255 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/b5cf45e4b34fdd18f599b79549844d45.svg b/docs/images/chapters/matrixsplit/b5cf45e4b34fdd18f599b79549844d45.svg index ae19422f..c374891b 100644 --- a/docs/images/chapters/matrixsplit/b5cf45e4b34fdd18f599b79549844d45.svg +++ b/docs/images/chapters/matrixsplit/b5cf45e4b34fdd18f599b79549844d45.svg @@ -1 +1,204 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/c1fcb64541c09e6d180c3d4a5511858e.svg b/docs/images/chapters/matrixsplit/c1fcb64541c09e6d180c3d4a5511858e.svg index 862f26a2..a8523487 100644 --- a/docs/images/chapters/matrixsplit/c1fcb64541c09e6d180c3d4a5511858e.svg +++ b/docs/images/chapters/matrixsplit/c1fcb64541c09e6d180c3d4a5511858e.svg @@ -1 +1,121 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/c58330e12d25c678b593ddbd4afa7c52.svg b/docs/images/chapters/matrixsplit/c58330e12d25c678b593ddbd4afa7c52.svg index d7fb358c..54d6f75a 100644 --- a/docs/images/chapters/matrixsplit/c58330e12d25c678b593ddbd4afa7c52.svg +++ b/docs/images/chapters/matrixsplit/c58330e12d25c678b593ddbd4afa7c52.svg @@ -1 +1,203 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/c79b607a92c42789fde57c6a8c4259fd.svg b/docs/images/chapters/matrixsplit/c79b607a92c42789fde57c6a8c4259fd.svg index 9a0d7125..7c97a16b 100644 --- a/docs/images/chapters/matrixsplit/c79b607a92c42789fde57c6a8c4259fd.svg +++ b/docs/images/chapters/matrixsplit/c79b607a92c42789fde57c6a8c4259fd.svg @@ -1 +1,205 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/d0a2afc05a974e7e25ce0564505818be.svg b/docs/images/chapters/matrixsplit/d0a2afc05a974e7e25ce0564505818be.svg index 6c67a16c..9195eb21 100644 --- a/docs/images/chapters/matrixsplit/d0a2afc05a974e7e25ce0564505818be.svg +++ b/docs/images/chapters/matrixsplit/d0a2afc05a974e7e25ce0564505818be.svg @@ -1 +1,139 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/daaae36f13bb97f2a7ac21eec6903755.svg b/docs/images/chapters/matrixsplit/daaae36f13bb97f2a7ac21eec6903755.svg index 9b0cf1a8..85a8b44e 100644 --- a/docs/images/chapters/matrixsplit/daaae36f13bb97f2a7ac21eec6903755.svg +++ b/docs/images/chapters/matrixsplit/daaae36f13bb97f2a7ac21eec6903755.svg @@ -1 +1,189 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/dbdbbe9aed4dacb1c1c5ae29b4371870.svg b/docs/images/chapters/matrixsplit/dbdbbe9aed4dacb1c1c5ae29b4371870.svg index fec39dd4..5227dd62 100644 --- a/docs/images/chapters/matrixsplit/dbdbbe9aed4dacb1c1c5ae29b4371870.svg +++ b/docs/images/chapters/matrixsplit/dbdbbe9aed4dacb1c1c5ae29b4371870.svg @@ -1 +1,517 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/e16eba6dfb9f0b8d1abc3e1cd3ba63a2.svg b/docs/images/chapters/matrixsplit/e16eba6dfb9f0b8d1abc3e1cd3ba63a2.svg index 2c470207..9f02a38a 100644 --- a/docs/images/chapters/matrixsplit/e16eba6dfb9f0b8d1abc3e1cd3ba63a2.svg +++ b/docs/images/chapters/matrixsplit/e16eba6dfb9f0b8d1abc3e1cd3ba63a2.svg @@ -1 +1,338 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/e9f64464287d3d5c6a4cbe64e21746c8.svg b/docs/images/chapters/matrixsplit/e9f64464287d3d5c6a4cbe64e21746c8.svg index 60c93baa..8a8a2d25 100644 --- a/docs/images/chapters/matrixsplit/e9f64464287d3d5c6a4cbe64e21746c8.svg +++ b/docs/images/chapters/matrixsplit/e9f64464287d3d5c6a4cbe64e21746c8.svg @@ -1 +1,292 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/matrixsplit/f2695b6d6417c60343b4934dae8118f8.svg b/docs/images/chapters/matrixsplit/f2695b6d6417c60343b4934dae8118f8.svg index 376848fe..f17a85c3 100644 --- a/docs/images/chapters/matrixsplit/f2695b6d6417c60343b4934dae8118f8.svg +++ b/docs/images/chapters/matrixsplit/f2695b6d6417c60343b4934dae8118f8.svg @@ -1 +1,255 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/molding/079d318ad693b6b17413a91f5de06be8.svg b/docs/images/chapters/molding/079d318ad693b6b17413a91f5de06be8.svg index 3328f2d2..84888f7f 100644 --- a/docs/images/chapters/molding/079d318ad693b6b17413a91f5de06be8.svg +++ b/docs/images/chapters/molding/079d318ad693b6b17413a91f5de06be8.svg @@ -1 +1,95 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/molding/502de5e21415ee75ab5d2cffbc921a77.png b/docs/images/chapters/molding/502de5e21415ee75ab5d2cffbc921a77.png index 84cc7218c6fe2eeabd9c0fb8b3e8f1418ebb74d1..07b52bf4f9e17c3f84de789d533788631fbe896d 100644 GIT binary patch literal 20003 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 B&=UXv diff --git a/docs/images/chapters/molding/610251fd14e24cd1378590de87ce2a74.png b/docs/images/chapters/molding/610251fd14e24cd1378590de87ce2a74.png index 84cc7218c6fe2eeabd9c0fb8b3e8f1418ebb74d1..07b52bf4f9e17c3f84de789d533788631fbe896d 100644 GIT binary patch literal 20003 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 B&=UXv diff --git a/docs/images/chapters/molding/82a99caec5f84fb26dce28277377c041.svg b/docs/images/chapters/molding/82a99caec5f84fb26dce28277377c041.svg index a37ecc1c..955af690 100644 --- a/docs/images/chapters/molding/82a99caec5f84fb26dce28277377c041.svg +++ b/docs/images/chapters/molding/82a99caec5f84fb26dce28277377c041.svg @@ -1 +1,105 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/chapters/molding/9a214cd85a1f0857b1b57db5e9c37b9c.png b/docs/images/chapters/molding/9a214cd85a1f0857b1b57db5e9c37b9c.png index 9be106b15ae2f3d7c427b8c8b1b9d33472a3573c..0da8d01e35f92ed192f4f661655b7692ebd930b3 100644 GIT binary patch literal 17641 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