1 | "use strict";
|
---|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
---|
3 | exports.t2length = exports.getQuadraticArcLength = exports.getCubicArcLength = exports.binomialCoefficients = exports.cValues = exports.tValues = void 0;
|
---|
4 | exports.tValues = [
|
---|
5 | [],
|
---|
6 | [],
|
---|
7 | [
|
---|
8 | -0.5773502691896257645091487805019574556476,
|
---|
9 | 0.5773502691896257645091487805019574556476,
|
---|
10 | ],
|
---|
11 | [
|
---|
12 | 0, -0.7745966692414833770358530799564799221665,
|
---|
13 | 0.7745966692414833770358530799564799221665,
|
---|
14 | ],
|
---|
15 | [
|
---|
16 | -0.3399810435848562648026657591032446872005,
|
---|
17 | 0.3399810435848562648026657591032446872005,
|
---|
18 | -0.8611363115940525752239464888928095050957,
|
---|
19 | 0.8611363115940525752239464888928095050957,
|
---|
20 | ],
|
---|
21 | [
|
---|
22 | 0, -0.5384693101056830910363144207002088049672,
|
---|
23 | 0.5384693101056830910363144207002088049672,
|
---|
24 | -0.9061798459386639927976268782993929651256,
|
---|
25 | 0.9061798459386639927976268782993929651256,
|
---|
26 | ],
|
---|
27 | [
|
---|
28 | 0.6612093864662645136613995950199053470064,
|
---|
29 | -0.6612093864662645136613995950199053470064,
|
---|
30 | -0.2386191860831969086305017216807119354186,
|
---|
31 | 0.2386191860831969086305017216807119354186,
|
---|
32 | -0.9324695142031520278123015544939946091347,
|
---|
33 | 0.9324695142031520278123015544939946091347,
|
---|
34 | ],
|
---|
35 | [
|
---|
36 | 0, 0.4058451513773971669066064120769614633473,
|
---|
37 | -0.4058451513773971669066064120769614633473,
|
---|
38 | -0.7415311855993944398638647732807884070741,
|
---|
39 | 0.7415311855993944398638647732807884070741,
|
---|
40 | -0.9491079123427585245261896840478512624007,
|
---|
41 | 0.9491079123427585245261896840478512624007,
|
---|
42 | ],
|
---|
43 | [
|
---|
44 | -0.1834346424956498049394761423601839806667,
|
---|
45 | 0.1834346424956498049394761423601839806667,
|
---|
46 | -0.5255324099163289858177390491892463490419,
|
---|
47 | 0.5255324099163289858177390491892463490419,
|
---|
48 | -0.7966664774136267395915539364758304368371,
|
---|
49 | 0.7966664774136267395915539364758304368371,
|
---|
50 | -0.9602898564975362316835608685694729904282,
|
---|
51 | 0.9602898564975362316835608685694729904282,
|
---|
52 | ],
|
---|
53 | [
|
---|
54 | 0, -0.8360311073266357942994297880697348765441,
|
---|
55 | 0.8360311073266357942994297880697348765441,
|
---|
56 | -0.9681602395076260898355762029036728700494,
|
---|
57 | 0.9681602395076260898355762029036728700494,
|
---|
58 | -0.3242534234038089290385380146433366085719,
|
---|
59 | 0.3242534234038089290385380146433366085719,
|
---|
60 | -0.6133714327005903973087020393414741847857,
|
---|
61 | 0.6133714327005903973087020393414741847857,
|
---|
62 | ],
|
---|
63 | [
|
---|
64 | -0.1488743389816312108848260011297199846175,
|
---|
65 | 0.1488743389816312108848260011297199846175,
|
---|
66 | -0.4333953941292471907992659431657841622,
|
---|
67 | 0.4333953941292471907992659431657841622,
|
---|
68 | -0.6794095682990244062343273651148735757692,
|
---|
69 | 0.6794095682990244062343273651148735757692,
|
---|
70 | -0.8650633666889845107320966884234930485275,
|
---|
71 | 0.8650633666889845107320966884234930485275,
|
---|
72 | -0.9739065285171717200779640120844520534282,
|
---|
73 | 0.9739065285171717200779640120844520534282,
|
---|
74 | ],
|
---|
75 | [
|
---|
76 | 0, -0.2695431559523449723315319854008615246796,
|
---|
77 | 0.2695431559523449723315319854008615246796,
|
---|
78 | -0.5190961292068118159257256694586095544802,
|
---|
79 | 0.5190961292068118159257256694586095544802,
|
---|
80 | -0.7301520055740493240934162520311534580496,
|
---|
81 | 0.7301520055740493240934162520311534580496,
|
---|
82 | -0.8870625997680952990751577693039272666316,
|
---|
83 | 0.8870625997680952990751577693039272666316,
|
---|
84 | -0.9782286581460569928039380011228573907714,
|
---|
85 | 0.9782286581460569928039380011228573907714,
|
---|
86 | ],
|
---|
87 | [
|
---|
88 | -0.1252334085114689154724413694638531299833,
|
---|
89 | 0.1252334085114689154724413694638531299833,
|
---|
90 | -0.3678314989981801937526915366437175612563,
|
---|
91 | 0.3678314989981801937526915366437175612563,
|
---|
92 | -0.587317954286617447296702418940534280369,
|
---|
93 | 0.587317954286617447296702418940534280369,
|
---|
94 | -0.7699026741943046870368938332128180759849,
|
---|
95 | 0.7699026741943046870368938332128180759849,
|
---|
96 | -0.9041172563704748566784658661190961925375,
|
---|
97 | 0.9041172563704748566784658661190961925375,
|
---|
98 | -0.9815606342467192506905490901492808229601,
|
---|
99 | 0.9815606342467192506905490901492808229601,
|
---|
100 | ],
|
---|
101 | [
|
---|
102 | 0, -0.2304583159551347940655281210979888352115,
|
---|
103 | 0.2304583159551347940655281210979888352115,
|
---|
104 | -0.4484927510364468528779128521276398678019,
|
---|
105 | 0.4484927510364468528779128521276398678019,
|
---|
106 | -0.6423493394403402206439846069955156500716,
|
---|
107 | 0.6423493394403402206439846069955156500716,
|
---|
108 | -0.8015780907333099127942064895828598903056,
|
---|
109 | 0.8015780907333099127942064895828598903056,
|
---|
110 | -0.9175983992229779652065478365007195123904,
|
---|
111 | 0.9175983992229779652065478365007195123904,
|
---|
112 | -0.9841830547185881494728294488071096110649,
|
---|
113 | 0.9841830547185881494728294488071096110649,
|
---|
114 | ],
|
---|
115 | [
|
---|
116 | -0.1080549487073436620662446502198347476119,
|
---|
117 | 0.1080549487073436620662446502198347476119,
|
---|
118 | -0.3191123689278897604356718241684754668342,
|
---|
119 | 0.3191123689278897604356718241684754668342,
|
---|
120 | -0.5152486363581540919652907185511886623088,
|
---|
121 | 0.5152486363581540919652907185511886623088,
|
---|
122 | -0.6872929048116854701480198030193341375384,
|
---|
123 | 0.6872929048116854701480198030193341375384,
|
---|
124 | -0.8272013150697649931897947426503949610397,
|
---|
125 | 0.8272013150697649931897947426503949610397,
|
---|
126 | -0.928434883663573517336391139377874264477,
|
---|
127 | 0.928434883663573517336391139377874264477,
|
---|
128 | -0.986283808696812338841597266704052801676,
|
---|
129 | 0.986283808696812338841597266704052801676,
|
---|
130 | ],
|
---|
131 | [
|
---|
132 | 0, -0.2011940939974345223006283033945962078128,
|
---|
133 | 0.2011940939974345223006283033945962078128,
|
---|
134 | -0.3941513470775633698972073709810454683627,
|
---|
135 | 0.3941513470775633698972073709810454683627,
|
---|
136 | -0.5709721726085388475372267372539106412383,
|
---|
137 | 0.5709721726085388475372267372539106412383,
|
---|
138 | -0.7244177313601700474161860546139380096308,
|
---|
139 | 0.7244177313601700474161860546139380096308,
|
---|
140 | -0.8482065834104272162006483207742168513662,
|
---|
141 | 0.8482065834104272162006483207742168513662,
|
---|
142 | -0.9372733924007059043077589477102094712439,
|
---|
143 | 0.9372733924007059043077589477102094712439,
|
---|
144 | -0.9879925180204854284895657185866125811469,
|
---|
145 | 0.9879925180204854284895657185866125811469,
|
---|
146 | ],
|
---|
147 | [
|
---|
148 | -0.0950125098376374401853193354249580631303,
|
---|
149 | 0.0950125098376374401853193354249580631303,
|
---|
150 | -0.281603550779258913230460501460496106486,
|
---|
151 | 0.281603550779258913230460501460496106486,
|
---|
152 | -0.45801677765722738634241944298357757354,
|
---|
153 | 0.45801677765722738634241944298357757354,
|
---|
154 | -0.6178762444026437484466717640487910189918,
|
---|
155 | 0.6178762444026437484466717640487910189918,
|
---|
156 | -0.7554044083550030338951011948474422683538,
|
---|
157 | 0.7554044083550030338951011948474422683538,
|
---|
158 | -0.8656312023878317438804678977123931323873,
|
---|
159 | 0.8656312023878317438804678977123931323873,
|
---|
160 | -0.9445750230732325760779884155346083450911,
|
---|
161 | 0.9445750230732325760779884155346083450911,
|
---|
162 | -0.9894009349916499325961541734503326274262,
|
---|
163 | 0.9894009349916499325961541734503326274262,
|
---|
164 | ],
|
---|
165 | [
|
---|
166 | 0, -0.1784841814958478558506774936540655574754,
|
---|
167 | 0.1784841814958478558506774936540655574754,
|
---|
168 | -0.3512317634538763152971855170953460050405,
|
---|
169 | 0.3512317634538763152971855170953460050405,
|
---|
170 | -0.5126905370864769678862465686295518745829,
|
---|
171 | 0.5126905370864769678862465686295518745829,
|
---|
172 | -0.6576711592166907658503022166430023351478,
|
---|
173 | 0.6576711592166907658503022166430023351478,
|
---|
174 | -0.7815140038968014069252300555204760502239,
|
---|
175 | 0.7815140038968014069252300555204760502239,
|
---|
176 | -0.8802391537269859021229556944881556926234,
|
---|
177 | 0.8802391537269859021229556944881556926234,
|
---|
178 | -0.9506755217687677612227169578958030214433,
|
---|
179 | 0.9506755217687677612227169578958030214433,
|
---|
180 | -0.9905754753144173356754340199406652765077,
|
---|
181 | 0.9905754753144173356754340199406652765077,
|
---|
182 | ],
|
---|
183 | [
|
---|
184 | -0.0847750130417353012422618529357838117333,
|
---|
185 | 0.0847750130417353012422618529357838117333,
|
---|
186 | -0.2518862256915055095889728548779112301628,
|
---|
187 | 0.2518862256915055095889728548779112301628,
|
---|
188 | -0.4117511614628426460359317938330516370789,
|
---|
189 | 0.4117511614628426460359317938330516370789,
|
---|
190 | -0.5597708310739475346078715485253291369276,
|
---|
191 | 0.5597708310739475346078715485253291369276,
|
---|
192 | -0.6916870430603532078748910812888483894522,
|
---|
193 | 0.6916870430603532078748910812888483894522,
|
---|
194 | -0.8037049589725231156824174550145907971032,
|
---|
195 | 0.8037049589725231156824174550145907971032,
|
---|
196 | -0.8926024664975557392060605911271455154078,
|
---|
197 | 0.8926024664975557392060605911271455154078,
|
---|
198 | -0.9558239495713977551811958929297763099728,
|
---|
199 | 0.9558239495713977551811958929297763099728,
|
---|
200 | -0.9915651684209309467300160047061507702525,
|
---|
201 | 0.9915651684209309467300160047061507702525,
|
---|
202 | ],
|
---|
203 | [
|
---|
204 | 0, -0.1603586456402253758680961157407435495048,
|
---|
205 | 0.1603586456402253758680961157407435495048,
|
---|
206 | -0.3165640999636298319901173288498449178922,
|
---|
207 | 0.3165640999636298319901173288498449178922,
|
---|
208 | -0.4645707413759609457172671481041023679762,
|
---|
209 | 0.4645707413759609457172671481041023679762,
|
---|
210 | -0.6005453046616810234696381649462392798683,
|
---|
211 | 0.6005453046616810234696381649462392798683,
|
---|
212 | -0.7209661773352293786170958608237816296571,
|
---|
213 | 0.7209661773352293786170958608237816296571,
|
---|
214 | -0.8227146565371428249789224867127139017745,
|
---|
215 | 0.8227146565371428249789224867127139017745,
|
---|
216 | -0.9031559036148179016426609285323124878093,
|
---|
217 | 0.9031559036148179016426609285323124878093,
|
---|
218 | -0.960208152134830030852778840687651526615,
|
---|
219 | 0.960208152134830030852778840687651526615,
|
---|
220 | -0.9924068438435844031890176702532604935893,
|
---|
221 | 0.9924068438435844031890176702532604935893,
|
---|
222 | ],
|
---|
223 | [
|
---|
224 | -0.0765265211334973337546404093988382110047,
|
---|
225 | 0.0765265211334973337546404093988382110047,
|
---|
226 | -0.227785851141645078080496195368574624743,
|
---|
227 | 0.227785851141645078080496195368574624743,
|
---|
228 | -0.3737060887154195606725481770249272373957,
|
---|
229 | 0.3737060887154195606725481770249272373957,
|
---|
230 | -0.5108670019508270980043640509552509984254,
|
---|
231 | 0.5108670019508270980043640509552509984254,
|
---|
232 | -0.6360536807265150254528366962262859367433,
|
---|
233 | 0.6360536807265150254528366962262859367433,
|
---|
234 | -0.7463319064601507926143050703556415903107,
|
---|
235 | 0.7463319064601507926143050703556415903107,
|
---|
236 | -0.8391169718222188233945290617015206853296,
|
---|
237 | 0.8391169718222188233945290617015206853296,
|
---|
238 | -0.9122344282513259058677524412032981130491,
|
---|
239 | 0.9122344282513259058677524412032981130491,
|
---|
240 | -0.963971927277913791267666131197277221912,
|
---|
241 | 0.963971927277913791267666131197277221912,
|
---|
242 | -0.9931285991850949247861223884713202782226,
|
---|
243 | 0.9931285991850949247861223884713202782226,
|
---|
244 | ],
|
---|
245 | [
|
---|
246 | 0, -0.1455618541608950909370309823386863301163,
|
---|
247 | 0.1455618541608950909370309823386863301163,
|
---|
248 | -0.288021316802401096600792516064600319909,
|
---|
249 | 0.288021316802401096600792516064600319909,
|
---|
250 | -0.4243421202074387835736688885437880520964,
|
---|
251 | 0.4243421202074387835736688885437880520964,
|
---|
252 | -0.551618835887219807059018796724313286622,
|
---|
253 | 0.551618835887219807059018796724313286622,
|
---|
254 | -0.667138804197412319305966669990339162597,
|
---|
255 | 0.667138804197412319305966669990339162597,
|
---|
256 | -0.7684399634756779086158778513062280348209,
|
---|
257 | 0.7684399634756779086158778513062280348209,
|
---|
258 | -0.8533633645833172836472506385875676702761,
|
---|
259 | 0.8533633645833172836472506385875676702761,
|
---|
260 | -0.9200993341504008287901871337149688941591,
|
---|
261 | 0.9200993341504008287901871337149688941591,
|
---|
262 | -0.9672268385663062943166222149076951614246,
|
---|
263 | 0.9672268385663062943166222149076951614246,
|
---|
264 | -0.9937521706203895002602420359379409291933,
|
---|
265 | 0.9937521706203895002602420359379409291933,
|
---|
266 | ],
|
---|
267 | [
|
---|
268 | -0.0697392733197222212138417961186280818222,
|
---|
269 | 0.0697392733197222212138417961186280818222,
|
---|
270 | -0.2078604266882212854788465339195457342156,
|
---|
271 | 0.2078604266882212854788465339195457342156,
|
---|
272 | -0.3419358208920842251581474204273796195591,
|
---|
273 | 0.3419358208920842251581474204273796195591,
|
---|
274 | -0.4693558379867570264063307109664063460953,
|
---|
275 | 0.4693558379867570264063307109664063460953,
|
---|
276 | -0.5876404035069115929588769276386473488776,
|
---|
277 | 0.5876404035069115929588769276386473488776,
|
---|
278 | -0.6944872631866827800506898357622567712673,
|
---|
279 | 0.6944872631866827800506898357622567712673,
|
---|
280 | -0.7878168059792081620042779554083515213881,
|
---|
281 | 0.7878168059792081620042779554083515213881,
|
---|
282 | -0.8658125777203001365364256370193787290847,
|
---|
283 | 0.8658125777203001365364256370193787290847,
|
---|
284 | -0.9269567721871740005206929392590531966353,
|
---|
285 | 0.9269567721871740005206929392590531966353,
|
---|
286 | -0.9700604978354287271239509867652687108059,
|
---|
287 | 0.9700604978354287271239509867652687108059,
|
---|
288 | -0.994294585482399292073031421161298980393,
|
---|
289 | 0.994294585482399292073031421161298980393,
|
---|
290 | ],
|
---|
291 | [
|
---|
292 | 0, -0.1332568242984661109317426822417661370104,
|
---|
293 | 0.1332568242984661109317426822417661370104,
|
---|
294 | -0.264135680970344930533869538283309602979,
|
---|
295 | 0.264135680970344930533869538283309602979,
|
---|
296 | -0.390301038030290831421488872880605458578,
|
---|
297 | 0.390301038030290831421488872880605458578,
|
---|
298 | -0.5095014778460075496897930478668464305448,
|
---|
299 | 0.5095014778460075496897930478668464305448,
|
---|
300 | -0.6196098757636461563850973116495956533871,
|
---|
301 | 0.6196098757636461563850973116495956533871,
|
---|
302 | -0.7186613631319501944616244837486188483299,
|
---|
303 | 0.7186613631319501944616244837486188483299,
|
---|
304 | -0.8048884016188398921511184069967785579414,
|
---|
305 | 0.8048884016188398921511184069967785579414,
|
---|
306 | -0.8767523582704416673781568859341456716389,
|
---|
307 | 0.8767523582704416673781568859341456716389,
|
---|
308 | -0.9329710868260161023491969890384229782357,
|
---|
309 | 0.9329710868260161023491969890384229782357,
|
---|
310 | -0.9725424712181152319560240768207773751816,
|
---|
311 | 0.9725424712181152319560240768207773751816,
|
---|
312 | -0.9947693349975521235239257154455743605736,
|
---|
313 | 0.9947693349975521235239257154455743605736,
|
---|
314 | ],
|
---|
315 | [
|
---|
316 | -0.0640568928626056260850430826247450385909,
|
---|
317 | 0.0640568928626056260850430826247450385909,
|
---|
318 | -0.1911188674736163091586398207570696318404,
|
---|
319 | 0.1911188674736163091586398207570696318404,
|
---|
320 | -0.3150426796961633743867932913198102407864,
|
---|
321 | 0.3150426796961633743867932913198102407864,
|
---|
322 | -0.4337935076260451384870842319133497124524,
|
---|
323 | 0.4337935076260451384870842319133497124524,
|
---|
324 | -0.5454214713888395356583756172183723700107,
|
---|
325 | 0.5454214713888395356583756172183723700107,
|
---|
326 | -0.6480936519369755692524957869107476266696,
|
---|
327 | 0.6480936519369755692524957869107476266696,
|
---|
328 | -0.7401241915785543642438281030999784255232,
|
---|
329 | 0.7401241915785543642438281030999784255232,
|
---|
330 | -0.8200019859739029219539498726697452080761,
|
---|
331 | 0.8200019859739029219539498726697452080761,
|
---|
332 | -0.8864155270044010342131543419821967550873,
|
---|
333 | 0.8864155270044010342131543419821967550873,
|
---|
334 | -0.9382745520027327585236490017087214496548,
|
---|
335 | 0.9382745520027327585236490017087214496548,
|
---|
336 | -0.9747285559713094981983919930081690617411,
|
---|
337 | 0.9747285559713094981983919930081690617411,
|
---|
338 | -0.9951872199970213601799974097007368118745,
|
---|
339 | 0.9951872199970213601799974097007368118745,
|
---|
340 | ],
|
---|
341 | ];
|
---|
342 | exports.cValues = [
|
---|
343 | [],
|
---|
344 | [],
|
---|
345 | [1.0, 1.0],
|
---|
346 | [
|
---|
347 | 0.8888888888888888888888888888888888888888,
|
---|
348 | 0.5555555555555555555555555555555555555555,
|
---|
349 | 0.5555555555555555555555555555555555555555,
|
---|
350 | ],
|
---|
351 | [
|
---|
352 | 0.6521451548625461426269360507780005927646,
|
---|
353 | 0.6521451548625461426269360507780005927646,
|
---|
354 | 0.3478548451374538573730639492219994072353,
|
---|
355 | 0.3478548451374538573730639492219994072353,
|
---|
356 | ],
|
---|
357 | [
|
---|
358 | 0.5688888888888888888888888888888888888888,
|
---|
359 | 0.4786286704993664680412915148356381929122,
|
---|
360 | 0.4786286704993664680412915148356381929122,
|
---|
361 | 0.2369268850561890875142640407199173626432,
|
---|
362 | 0.2369268850561890875142640407199173626432,
|
---|
363 | ],
|
---|
364 | [
|
---|
365 | 0.3607615730481386075698335138377161116615,
|
---|
366 | 0.3607615730481386075698335138377161116615,
|
---|
367 | 0.4679139345726910473898703439895509948116,
|
---|
368 | 0.4679139345726910473898703439895509948116,
|
---|
369 | 0.1713244923791703450402961421727328935268,
|
---|
370 | 0.1713244923791703450402961421727328935268,
|
---|
371 | ],
|
---|
372 | [
|
---|
373 | 0.4179591836734693877551020408163265306122,
|
---|
374 | 0.3818300505051189449503697754889751338783,
|
---|
375 | 0.3818300505051189449503697754889751338783,
|
---|
376 | 0.2797053914892766679014677714237795824869,
|
---|
377 | 0.2797053914892766679014677714237795824869,
|
---|
378 | 0.1294849661688696932706114326790820183285,
|
---|
379 | 0.1294849661688696932706114326790820183285,
|
---|
380 | ],
|
---|
381 | [
|
---|
382 | 0.3626837833783619829651504492771956121941,
|
---|
383 | 0.3626837833783619829651504492771956121941,
|
---|
384 | 0.3137066458778872873379622019866013132603,
|
---|
385 | 0.3137066458778872873379622019866013132603,
|
---|
386 | 0.2223810344533744705443559944262408844301,
|
---|
387 | 0.2223810344533744705443559944262408844301,
|
---|
388 | 0.1012285362903762591525313543099621901153,
|
---|
389 | 0.1012285362903762591525313543099621901153,
|
---|
390 | ],
|
---|
391 | [
|
---|
392 | 0.3302393550012597631645250692869740488788,
|
---|
393 | 0.1806481606948574040584720312429128095143,
|
---|
394 | 0.1806481606948574040584720312429128095143,
|
---|
395 | 0.0812743883615744119718921581105236506756,
|
---|
396 | 0.0812743883615744119718921581105236506756,
|
---|
397 | 0.3123470770400028400686304065844436655987,
|
---|
398 | 0.3123470770400028400686304065844436655987,
|
---|
399 | 0.2606106964029354623187428694186328497718,
|
---|
400 | 0.2606106964029354623187428694186328497718,
|
---|
401 | ],
|
---|
402 | [
|
---|
403 | 0.295524224714752870173892994651338329421,
|
---|
404 | 0.295524224714752870173892994651338329421,
|
---|
405 | 0.2692667193099963550912269215694693528597,
|
---|
406 | 0.2692667193099963550912269215694693528597,
|
---|
407 | 0.2190863625159820439955349342281631924587,
|
---|
408 | 0.2190863625159820439955349342281631924587,
|
---|
409 | 0.1494513491505805931457763396576973324025,
|
---|
410 | 0.1494513491505805931457763396576973324025,
|
---|
411 | 0.0666713443086881375935688098933317928578,
|
---|
412 | 0.0666713443086881375935688098933317928578,
|
---|
413 | ],
|
---|
414 | [
|
---|
415 | 0.272925086777900630714483528336342189156,
|
---|
416 | 0.2628045445102466621806888698905091953727,
|
---|
417 | 0.2628045445102466621806888698905091953727,
|
---|
418 | 0.2331937645919904799185237048431751394317,
|
---|
419 | 0.2331937645919904799185237048431751394317,
|
---|
420 | 0.1862902109277342514260976414316558916912,
|
---|
421 | 0.1862902109277342514260976414316558916912,
|
---|
422 | 0.1255803694649046246346942992239401001976,
|
---|
423 | 0.1255803694649046246346942992239401001976,
|
---|
424 | 0.0556685671161736664827537204425485787285,
|
---|
425 | 0.0556685671161736664827537204425485787285,
|
---|
426 | ],
|
---|
427 | [
|
---|
428 | 0.2491470458134027850005624360429512108304,
|
---|
429 | 0.2491470458134027850005624360429512108304,
|
---|
430 | 0.2334925365383548087608498989248780562594,
|
---|
431 | 0.2334925365383548087608498989248780562594,
|
---|
432 | 0.2031674267230659217490644558097983765065,
|
---|
433 | 0.2031674267230659217490644558097983765065,
|
---|
434 | 0.160078328543346226334652529543359071872,
|
---|
435 | 0.160078328543346226334652529543359071872,
|
---|
436 | 0.1069393259953184309602547181939962242145,
|
---|
437 | 0.1069393259953184309602547181939962242145,
|
---|
438 | 0.047175336386511827194615961485017060317,
|
---|
439 | 0.047175336386511827194615961485017060317,
|
---|
440 | ],
|
---|
441 | [
|
---|
442 | 0.2325515532308739101945895152688359481566,
|
---|
443 | 0.2262831802628972384120901860397766184347,
|
---|
444 | 0.2262831802628972384120901860397766184347,
|
---|
445 | 0.2078160475368885023125232193060527633865,
|
---|
446 | 0.2078160475368885023125232193060527633865,
|
---|
447 | 0.1781459807619457382800466919960979955128,
|
---|
448 | 0.1781459807619457382800466919960979955128,
|
---|
449 | 0.1388735102197872384636017768688714676218,
|
---|
450 | 0.1388735102197872384636017768688714676218,
|
---|
451 | 0.0921214998377284479144217759537971209236,
|
---|
452 | 0.0921214998377284479144217759537971209236,
|
---|
453 | 0.0404840047653158795200215922009860600419,
|
---|
454 | 0.0404840047653158795200215922009860600419,
|
---|
455 | ],
|
---|
456 | [
|
---|
457 | 0.2152638534631577901958764433162600352749,
|
---|
458 | 0.2152638534631577901958764433162600352749,
|
---|
459 | 0.2051984637212956039659240656612180557103,
|
---|
460 | 0.2051984637212956039659240656612180557103,
|
---|
461 | 0.1855383974779378137417165901251570362489,
|
---|
462 | 0.1855383974779378137417165901251570362489,
|
---|
463 | 0.1572031671581935345696019386238421566056,
|
---|
464 | 0.1572031671581935345696019386238421566056,
|
---|
465 | 0.1215185706879031846894148090724766259566,
|
---|
466 | 0.1215185706879031846894148090724766259566,
|
---|
467 | 0.0801580871597602098056332770628543095836,
|
---|
468 | 0.0801580871597602098056332770628543095836,
|
---|
469 | 0.0351194603317518630318328761381917806197,
|
---|
470 | 0.0351194603317518630318328761381917806197,
|
---|
471 | ],
|
---|
472 | [
|
---|
473 | 0.2025782419255612728806201999675193148386,
|
---|
474 | 0.1984314853271115764561183264438393248186,
|
---|
475 | 0.1984314853271115764561183264438393248186,
|
---|
476 | 0.1861610000155622110268005618664228245062,
|
---|
477 | 0.1861610000155622110268005618664228245062,
|
---|
478 | 0.1662692058169939335532008604812088111309,
|
---|
479 | 0.1662692058169939335532008604812088111309,
|
---|
480 | 0.1395706779261543144478047945110283225208,
|
---|
481 | 0.1395706779261543144478047945110283225208,
|
---|
482 | 0.1071592204671719350118695466858693034155,
|
---|
483 | 0.1071592204671719350118695466858693034155,
|
---|
484 | 0.0703660474881081247092674164506673384667,
|
---|
485 | 0.0703660474881081247092674164506673384667,
|
---|
486 | 0.0307532419961172683546283935772044177217,
|
---|
487 | 0.0307532419961172683546283935772044177217,
|
---|
488 | ],
|
---|
489 | [
|
---|
490 | 0.1894506104550684962853967232082831051469,
|
---|
491 | 0.1894506104550684962853967232082831051469,
|
---|
492 | 0.1826034150449235888667636679692199393835,
|
---|
493 | 0.1826034150449235888667636679692199393835,
|
---|
494 | 0.1691565193950025381893120790303599622116,
|
---|
495 | 0.1691565193950025381893120790303599622116,
|
---|
496 | 0.1495959888165767320815017305474785489704,
|
---|
497 | 0.1495959888165767320815017305474785489704,
|
---|
498 | 0.1246289712555338720524762821920164201448,
|
---|
499 | 0.1246289712555338720524762821920164201448,
|
---|
500 | 0.0951585116824927848099251076022462263552,
|
---|
501 | 0.0951585116824927848099251076022462263552,
|
---|
502 | 0.0622535239386478928628438369943776942749,
|
---|
503 | 0.0622535239386478928628438369943776942749,
|
---|
504 | 0.0271524594117540948517805724560181035122,
|
---|
505 | 0.0271524594117540948517805724560181035122,
|
---|
506 | ],
|
---|
507 | [
|
---|
508 | 0.1794464703562065254582656442618856214487,
|
---|
509 | 0.1765627053669926463252709901131972391509,
|
---|
510 | 0.1765627053669926463252709901131972391509,
|
---|
511 | 0.1680041021564500445099706637883231550211,
|
---|
512 | 0.1680041021564500445099706637883231550211,
|
---|
513 | 0.1540457610768102880814315948019586119404,
|
---|
514 | 0.1540457610768102880814315948019586119404,
|
---|
515 | 0.1351363684685254732863199817023501973721,
|
---|
516 | 0.1351363684685254732863199817023501973721,
|
---|
517 | 0.1118838471934039710947883856263559267358,
|
---|
518 | 0.1118838471934039710947883856263559267358,
|
---|
519 | 0.0850361483171791808835353701910620738504,
|
---|
520 | 0.0850361483171791808835353701910620738504,
|
---|
521 | 0.0554595293739872011294401653582446605128,
|
---|
522 | 0.0554595293739872011294401653582446605128,
|
---|
523 | 0.0241483028685479319601100262875653246916,
|
---|
524 | 0.0241483028685479319601100262875653246916,
|
---|
525 | ],
|
---|
526 | [
|
---|
527 | 0.1691423829631435918406564701349866103341,
|
---|
528 | 0.1691423829631435918406564701349866103341,
|
---|
529 | 0.1642764837458327229860537764659275904123,
|
---|
530 | 0.1642764837458327229860537764659275904123,
|
---|
531 | 0.1546846751262652449254180038363747721932,
|
---|
532 | 0.1546846751262652449254180038363747721932,
|
---|
533 | 0.1406429146706506512047313037519472280955,
|
---|
534 | 0.1406429146706506512047313037519472280955,
|
---|
535 | 0.1225552067114784601845191268002015552281,
|
---|
536 | 0.1225552067114784601845191268002015552281,
|
---|
537 | 0.1009420441062871655628139849248346070628,
|
---|
538 | 0.1009420441062871655628139849248346070628,
|
---|
539 | 0.0764257302548890565291296776166365256053,
|
---|
540 | 0.0764257302548890565291296776166365256053,
|
---|
541 | 0.0497145488949697964533349462026386416808,
|
---|
542 | 0.0497145488949697964533349462026386416808,
|
---|
543 | 0.0216160135264833103133427102664524693876,
|
---|
544 | 0.0216160135264833103133427102664524693876,
|
---|
545 | ],
|
---|
546 | [
|
---|
547 | 0.1610544498487836959791636253209167350399,
|
---|
548 | 0.1589688433939543476499564394650472016787,
|
---|
549 | 0.1589688433939543476499564394650472016787,
|
---|
550 | 0.152766042065859666778855400897662998461,
|
---|
551 | 0.152766042065859666778855400897662998461,
|
---|
552 | 0.1426067021736066117757461094419029724756,
|
---|
553 | 0.1426067021736066117757461094419029724756,
|
---|
554 | 0.1287539625393362276755157848568771170558,
|
---|
555 | 0.1287539625393362276755157848568771170558,
|
---|
556 | 0.1115666455473339947160239016817659974813,
|
---|
557 | 0.1115666455473339947160239016817659974813,
|
---|
558 | 0.0914900216224499994644620941238396526609,
|
---|
559 | 0.0914900216224499994644620941238396526609,
|
---|
560 | 0.0690445427376412265807082580060130449618,
|
---|
561 | 0.0690445427376412265807082580060130449618,
|
---|
562 | 0.0448142267656996003328381574019942119517,
|
---|
563 | 0.0448142267656996003328381574019942119517,
|
---|
564 | 0.0194617882297264770363120414644384357529,
|
---|
565 | 0.0194617882297264770363120414644384357529,
|
---|
566 | ],
|
---|
567 | [
|
---|
568 | 0.1527533871307258506980843319550975934919,
|
---|
569 | 0.1527533871307258506980843319550975934919,
|
---|
570 | 0.1491729864726037467878287370019694366926,
|
---|
571 | 0.1491729864726037467878287370019694366926,
|
---|
572 | 0.1420961093183820513292983250671649330345,
|
---|
573 | 0.1420961093183820513292983250671649330345,
|
---|
574 | 0.1316886384491766268984944997481631349161,
|
---|
575 | 0.1316886384491766268984944997481631349161,
|
---|
576 | 0.118194531961518417312377377711382287005,
|
---|
577 | 0.118194531961518417312377377711382287005,
|
---|
578 | 0.1019301198172404350367501354803498761666,
|
---|
579 | 0.1019301198172404350367501354803498761666,
|
---|
580 | 0.0832767415767047487247581432220462061001,
|
---|
581 | 0.0832767415767047487247581432220462061001,
|
---|
582 | 0.0626720483341090635695065351870416063516,
|
---|
583 | 0.0626720483341090635695065351870416063516,
|
---|
584 | 0.040601429800386941331039952274932109879,
|
---|
585 | 0.040601429800386941331039952274932109879,
|
---|
586 | 0.0176140071391521183118619623518528163621,
|
---|
587 | 0.0176140071391521183118619623518528163621,
|
---|
588 | ],
|
---|
589 | [
|
---|
590 | 0.1460811336496904271919851476833711882448,
|
---|
591 | 0.1445244039899700590638271665537525436099,
|
---|
592 | 0.1445244039899700590638271665537525436099,
|
---|
593 | 0.1398873947910731547221334238675831108927,
|
---|
594 | 0.1398873947910731547221334238675831108927,
|
---|
595 | 0.132268938633337461781052574496775604329,
|
---|
596 | 0.132268938633337461781052574496775604329,
|
---|
597 | 0.1218314160537285341953671771257335983563,
|
---|
598 | 0.1218314160537285341953671771257335983563,
|
---|
599 | 0.1087972991671483776634745780701056420336,
|
---|
600 | 0.1087972991671483776634745780701056420336,
|
---|
601 | 0.0934444234560338615532897411139320884835,
|
---|
602 | 0.0934444234560338615532897411139320884835,
|
---|
603 | 0.0761001136283793020170516533001831792261,
|
---|
604 | 0.0761001136283793020170516533001831792261,
|
---|
605 | 0.0571344254268572082836358264724479574912,
|
---|
606 | 0.0571344254268572082836358264724479574912,
|
---|
607 | 0.0369537897708524937999506682993296661889,
|
---|
608 | 0.0369537897708524937999506682993296661889,
|
---|
609 | 0.0160172282577743333242246168584710152658,
|
---|
610 | 0.0160172282577743333242246168584710152658,
|
---|
611 | ],
|
---|
612 | [
|
---|
613 | 0.1392518728556319933754102483418099578739,
|
---|
614 | 0.1392518728556319933754102483418099578739,
|
---|
615 | 0.1365414983460151713525738312315173965863,
|
---|
616 | 0.1365414983460151713525738312315173965863,
|
---|
617 | 0.1311735047870623707329649925303074458757,
|
---|
618 | 0.1311735047870623707329649925303074458757,
|
---|
619 | 0.1232523768105124242855609861548144719594,
|
---|
620 | 0.1232523768105124242855609861548144719594,
|
---|
621 | 0.1129322960805392183934006074217843191142,
|
---|
622 | 0.1129322960805392183934006074217843191142,
|
---|
623 | 0.1004141444428809649320788378305362823508,
|
---|
624 | 0.1004141444428809649320788378305362823508,
|
---|
625 | 0.0859416062170677274144436813727028661891,
|
---|
626 | 0.0859416062170677274144436813727028661891,
|
---|
627 | 0.0697964684245204880949614189302176573987,
|
---|
628 | 0.0697964684245204880949614189302176573987,
|
---|
629 | 0.0522933351526832859403120512732112561121,
|
---|
630 | 0.0522933351526832859403120512732112561121,
|
---|
631 | 0.0337749015848141547933022468659129013491,
|
---|
632 | 0.0337749015848141547933022468659129013491,
|
---|
633 | 0.0146279952982722006849910980471854451902,
|
---|
634 | 0.0146279952982722006849910980471854451902,
|
---|
635 | ],
|
---|
636 | [
|
---|
637 | 0.1336545721861061753514571105458443385831,
|
---|
638 | 0.132462039404696617371642464703316925805,
|
---|
639 | 0.132462039404696617371642464703316925805,
|
---|
640 | 0.1289057221880821499785953393997936532597,
|
---|
641 | 0.1289057221880821499785953393997936532597,
|
---|
642 | 0.1230490843067295304675784006720096548158,
|
---|
643 | 0.1230490843067295304675784006720096548158,
|
---|
644 | 0.1149966402224113649416435129339613014914,
|
---|
645 | 0.1149966402224113649416435129339613014914,
|
---|
646 | 0.1048920914645414100740861850147438548584,
|
---|
647 | 0.1048920914645414100740861850147438548584,
|
---|
648 | 0.0929157660600351474770186173697646486034,
|
---|
649 | 0.0929157660600351474770186173697646486034,
|
---|
650 | 0.0792814117767189549228925247420432269137,
|
---|
651 | 0.0792814117767189549228925247420432269137,
|
---|
652 | 0.0642324214085258521271696151589109980391,
|
---|
653 | 0.0642324214085258521271696151589109980391,
|
---|
654 | 0.0480376717310846685716410716320339965612,
|
---|
655 | 0.0480376717310846685716410716320339965612,
|
---|
656 | 0.0309880058569794443106942196418845053837,
|
---|
657 | 0.0309880058569794443106942196418845053837,
|
---|
658 | 0.0134118594871417720813094934586150649766,
|
---|
659 | 0.0134118594871417720813094934586150649766,
|
---|
660 | ],
|
---|
661 | [
|
---|
662 | 0.1279381953467521569740561652246953718517,
|
---|
663 | 0.1279381953467521569740561652246953718517,
|
---|
664 | 0.1258374563468282961213753825111836887264,
|
---|
665 | 0.1258374563468282961213753825111836887264,
|
---|
666 | 0.121670472927803391204463153476262425607,
|
---|
667 | 0.121670472927803391204463153476262425607,
|
---|
668 | 0.1155056680537256013533444839067835598622,
|
---|
669 | 0.1155056680537256013533444839067835598622,
|
---|
670 | 0.1074442701159656347825773424466062227946,
|
---|
671 | 0.1074442701159656347825773424466062227946,
|
---|
672 | 0.0976186521041138882698806644642471544279,
|
---|
673 | 0.0976186521041138882698806644642471544279,
|
---|
674 | 0.086190161531953275917185202983742667185,
|
---|
675 | 0.086190161531953275917185202983742667185,
|
---|
676 | 0.0733464814110803057340336152531165181193,
|
---|
677 | 0.0733464814110803057340336152531165181193,
|
---|
678 | 0.0592985849154367807463677585001085845412,
|
---|
679 | 0.0592985849154367807463677585001085845412,
|
---|
680 | 0.0442774388174198061686027482113382288593,
|
---|
681 | 0.0442774388174198061686027482113382288593,
|
---|
682 | 0.0285313886289336631813078159518782864491,
|
---|
683 | 0.0285313886289336631813078159518782864491,
|
---|
684 | 0.0123412297999871995468056670700372915759,
|
---|
685 | 0.0123412297999871995468056670700372915759,
|
---|
686 | ],
|
---|
687 | ];
|
---|
688 | exports.binomialCoefficients = [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]];
|
---|
689 | const getCubicArcLength = (xs, ys, t) => {
|
---|
690 | let z;
|
---|
691 | let sum;
|
---|
692 | let correctedT;
|
---|
693 | const n = 20;
|
---|
694 | z = t / 2;
|
---|
695 | sum = 0;
|
---|
696 | for (let i = 0; i < n; i++) {
|
---|
697 | correctedT = z * exports.tValues[n][i] + z;
|
---|
698 | sum += exports.cValues[n][i] * BFunc(xs, ys, correctedT);
|
---|
699 | }
|
---|
700 | return z * sum;
|
---|
701 | };
|
---|
702 | exports.getCubicArcLength = getCubicArcLength;
|
---|
703 | const getQuadraticArcLength = (xs, ys, t) => {
|
---|
704 | if (t === undefined) {
|
---|
705 | t = 1;
|
---|
706 | }
|
---|
707 | const ax = xs[0] - 2 * xs[1] + xs[2];
|
---|
708 | const ay = ys[0] - 2 * ys[1] + ys[2];
|
---|
709 | const bx = 2 * xs[1] - 2 * xs[0];
|
---|
710 | const by = 2 * ys[1] - 2 * ys[0];
|
---|
711 | const A = 4 * (ax * ax + ay * ay);
|
---|
712 | const B = 4 * (ax * bx + ay * by);
|
---|
713 | const C = bx * bx + by * by;
|
---|
714 | if (A === 0) {
|
---|
715 | return (t * Math.sqrt(Math.pow(xs[2] - xs[0], 2) + Math.pow(ys[2] - ys[0], 2)));
|
---|
716 | }
|
---|
717 | const b = B / (2 * A);
|
---|
718 | const c = C / A;
|
---|
719 | const u = t + b;
|
---|
720 | const k = c - b * b;
|
---|
721 | const uuk = u * u + k > 0 ? Math.sqrt(u * u + k) : 0;
|
---|
722 | const bbk = b * b + k > 0 ? Math.sqrt(b * b + k) : 0;
|
---|
723 | const term = b + Math.sqrt(b * b + k) !== 0
|
---|
724 | ? k * Math.log(Math.abs((u + uuk) / (b + bbk)))
|
---|
725 | : 0;
|
---|
726 | return (Math.sqrt(A) / 2) * (u * uuk - b * bbk + term);
|
---|
727 | };
|
---|
728 | exports.getQuadraticArcLength = getQuadraticArcLength;
|
---|
729 | function BFunc(xs, ys, t) {
|
---|
730 | const xbase = getDerivative(1, t, xs);
|
---|
731 | const ybase = getDerivative(1, t, ys);
|
---|
732 | const combined = xbase * xbase + ybase * ybase;
|
---|
733 | return Math.sqrt(combined);
|
---|
734 | }
|
---|
735 | const getDerivative = (derivative, t, vs) => {
|
---|
736 | const n = vs.length - 1;
|
---|
737 | let _vs;
|
---|
738 | let value;
|
---|
739 | if (n === 0) {
|
---|
740 | return 0;
|
---|
741 | }
|
---|
742 | if (derivative === 0) {
|
---|
743 | value = 0;
|
---|
744 | for (let k = 0; k <= n; k++) {
|
---|
745 | value +=
|
---|
746 | exports.binomialCoefficients[n][k] *
|
---|
747 | Math.pow(1 - t, n - k) *
|
---|
748 | Math.pow(t, k) *
|
---|
749 | vs[k];
|
---|
750 | }
|
---|
751 | return value;
|
---|
752 | }
|
---|
753 | else {
|
---|
754 | _vs = new Array(n);
|
---|
755 | for (let k = 0; k < n; k++) {
|
---|
756 | _vs[k] = n * (vs[k + 1] - vs[k]);
|
---|
757 | }
|
---|
758 | return getDerivative(derivative - 1, t, _vs);
|
---|
759 | }
|
---|
760 | };
|
---|
761 | const t2length = (length, totalLength, func) => {
|
---|
762 | let error = 1;
|
---|
763 | let t = length / totalLength;
|
---|
764 | let step = (length - func(t)) / totalLength;
|
---|
765 | let numIterations = 0;
|
---|
766 | while (error > 0.001) {
|
---|
767 | const increasedTLength = func(t + step);
|
---|
768 | const increasedTError = Math.abs(length - increasedTLength) / totalLength;
|
---|
769 | if (increasedTError < error) {
|
---|
770 | error = increasedTError;
|
---|
771 | t += step;
|
---|
772 | }
|
---|
773 | else {
|
---|
774 | const decreasedTLength = func(t - step);
|
---|
775 | const decreasedTError = Math.abs(length - decreasedTLength) / totalLength;
|
---|
776 | if (decreasedTError < error) {
|
---|
777 | error = decreasedTError;
|
---|
778 | t -= step;
|
---|
779 | }
|
---|
780 | else {
|
---|
781 | step /= 2;
|
---|
782 | }
|
---|
783 | }
|
---|
784 | numIterations++;
|
---|
785 | if (numIterations > 500) {
|
---|
786 | break;
|
---|
787 | }
|
---|
788 | }
|
---|
789 | return t;
|
---|
790 | };
|
---|
791 | exports.t2length = t2length;
|
---|