Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(552)

Side by Side Diff: tools/pathops_sorter.htm

Issue 1029993002: Revert of pathops version two (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/PathOpsTightBoundsTest.cpp ('k') | tools/pathops_visualizer.htm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 2
3 <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 3 <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
4 <head> 4 <head>
5 <meta charset="utf-8" /> 5 <meta charset="utf-8" />
6 <title></title> 6 <title></title>
7 <div style="height:0"> 7 <div style="height:0">
8 <div id="sect1"> 8
9 {{{1.80943513, 3.0778243500000002}, {1.66686702, 2.1680693600000001}, {1.6830127 2, 0}, {3, 0}}} id=1 9 <div id="quad1">
10 {{{0, 1}, {0, 2}, {0.75, 2.25}, {1.75, 2.25}}} id=2 10 {{3.13,2.74}, {1.08,4.62}, {3.71,0.94}}
11 {{{1.75, 2.25}, {2.75, 2.25}, {4, 2}, {5, 2}}} id=4 11 {{3.13,2.74}, {7.99,2.75}, {8.27,1.96}}
12 </div> 12 </div>
13 13
14 <div id="sect2"> 14 <div id="quad2">
15 {{{1.80943513, 3.0778243500000002}, {1.66686702, 2.1680693600000001}, {1.6830127 2, 0}, {3, 0}}} id=1 15 {{4.838888984361574,4.399276078363981}, {5.947577332875065,2.02910379790342}, {3 .8092258119951885,2.108659563498883}}
16 {{{0, 1}, {0, 2}, {0.75, 2.25}, {1.75, 2.25}}} id=2 16 {{4.838888984361574,4.399276078363981}, {6.192910293864926,1.7797920604914939}, {3.3638348513490293,1.4969462106891218}}
17 {{{1.75, 2.25}, {2.2500000000000018, 2.25}, {2.8124999999999991, 2.1875}, {3.375 , 2.125}}} id=4 17 </div>
18 </div> 18
19 19 <div id="quad3">
20 <div id="sect3"> 20 {{4.838888984361574,4.399276078363981}, {5.962263714769107,1.654601059605365}, { 3.8789861259918847,2.8650082310420126}}
21 {{{1.80943513, 3.0778243500000002}, {1.738151075, 2.6229468550000004}, {1.706545 4725, 1.8534907675000001}, {1.85738429375, 1.19775405375}}} id=1 21 {{4.838888984361574,4.399276078363981}, {6.192910293864926,1.7797920604914939}, {3.3638348513490293,1.4969462106891218}}
22 {{{0, 1}, {0, 2}, {0.75, 2.25}, {1.75, 2.25}}} id=2 22 </div>
23 {{{1.75, 2.25}, {2.2500000000000018, 2.25}, {2.8124999999999991, 2.1875}, {3.375 , 2.125}}} id=4 23
24 </div> 24 <div id="quad4">
25 25 {{4.838888984361574,4.399276078363981}, {5.77868394109359,1.852867215174923}, {3 .915702080726988,2.1820914729690903}}
26 <div id="sect4"> 26 {{4.838888984361574,4.399276078363981}, {6.681232491841801,2.5287975370876032}, {3.3638348513490293,1.4969462106891218}}
27 {{{1.80943513, 3.0778243500000002}, {1.7737931025, 2.8503856025000003}, {1.74807 06881249999, 2.5443022068750003}, {1.7501136332812499, 2.2131114089062502}}} id= 1 27 </div>
28 {{{0, 1}, {0, 2}, {0.75, 2.25}, {1.75, 2.25}}} id=2 28
29 {{{1.75, 2.25}, {2.2500000000000018, 2.25}, {2.8124999999999991, 2.1875}, {3.375 , 2.125}}} id=4 29 <div id="quad5">
30 </div> 30 {{4.838888984361574,4.399276078363981}, {6.082937568878361,1.9951156645288415}, {3.915702080726988,2.1820914729690903}}
31 31 {{4.838888984361574,4.399276078363981}, {6.681232491841801,2.5287975370876032}, {3.3638348513490293,1.4969462106891218}}
32 <div id="sect5"> 32 </div>
33 {{{1.80943513, 3.0778243500000002}, {1.7737931025, 2.8503856025000003}, {1.74807 06881249999, 2.5443022068750003}, {1.7501136332812499, 2.2131114089062502}}} id= 1 33
34 {{{0.5, 2}, {0.81249999999999956, 2.1874999999999987}, {1.2500000000000009, 2.25 00000000000013}, {1.75, 2.25}}} id=8 34 <div id="quad6">
35 {{{1.75, 2.25}, {2.2500000000000018, 2.25}, {2.8124999999999991, 2.1875}, {3.375 , 2.125}}} id=4 35 {{4.898159171592373,4.367665311840888}, {6.695396170263287,1.769888953051804}, { 3.6312051820191513,2.727377195492444}}
36 </div> 36 {{4.898159171592373,4.367665311840888}, {6.961778044734251,2.4813813873029633}, {3.3638348513490293,1.4969462106891218}}
37 37 </div>
38 <div id="sect6"> 38
39 {{{1.80943513, 3.0778243500000002}, {1.7737931025, 2.8503856025000003}, {1.74807 06881249999, 2.5443022068750003}, {1.7501136332812499, 2.2131114089062502}}} id= 1 39 <div id="quad7">
40 {{{0.5, 2}, {0.81249999999999956, 2.1874999999999987}, {1.2500000000000009, 2.25 00000000000013}, {1.75, 2.25}}} id=8 40 {{4.838888984361574,4.399276078363981}, {3.012741870322956,2.449520433298304}, { 5.140619283496844,2.110967248292131}}
41 {{{1.75, 2.25}, {1.9999999999999976, 2.25}, {2.2656250000000022, 2.234375}, {2.5 390625, 2.2109375}}} id=4 41 {{4.838888984361574,4.399276078363981}, {2.804962246947524,2.232446600933607}, { 6.60393841996606,2.077794045550955}}
42 </div> 42 </div>
43 43
44 <div id="sect7"> 44 <div id="quad8">
45 {{{1.80943513, 3.0778243500000002}, {1.7737931025, 2.8503856025000003}, {1.74807 06881249999, 2.5443022068750003}, {1.7501136332812499, 2.2131114089062502}}} id= 1 45 {{4.838888984361574,4.399276078363981}, {3.1707957029384213,2.607574265913769}, {4.626944327496585,2.2848264641691425}}
46 {{{1.0546875, 2.1953125}, {1.2656250000000009, 2.2343750000000009}, {1.499999999 9999996, 2.2499999999999996}, {1.75, 2.25}}} id=12 46 {{4.838888984361574,4.399276078363981}, {2.804962246947524,2.232446600933607}, { 6.60393841996606,2.077794045550955}}
47 {{{1.75, 2.25}, {1.9999999999999976, 2.25}, {2.2656250000000022, 2.234375}, {2.5 390625, 2.2109375}}} id=4 47 </div>
48 </div> 48
49 49 <div id="quad9">
50 <div id="sect8"> 50 {{4.838888984361574,4.399276078363981}, {3.463749932092156,2.935940544745428}, { 5.161344349908893,2.4940794849932386}}
51 {{{1.7656425168945311, 2.6843748983789064}, {1.7550120280078125, 2.5380253562890 633}, {1.7490921607031253, 2.3787068078906248}, {1.7501136332812499, 2.213111408 9062502}}} id=7 51 {{4.838888984361574,4.399276078363981}, {2.804962246947524,2.232446600933607}, { 6.60393841996606,2.077794045550955}}
52 {{{1.0546875, 2.1953125}, {1.2656250000000009, 2.2343750000000009}, {1.499999999 9999996, 2.2499999999999996}, {1.75, 2.25}}} id=12 52 </div>
53 {{{1.75, 2.25}, {1.9999999999999976, 2.25}, {2.2656250000000022, 2.234375}, {2.5 390625, 2.2109375}}} id=4 53
54 </div> 54 <div id="quad10">
55 55 {{4.838888984361574,4.399276078363981}, {5.82508561259808,2.495362604119041}, {3 .4377993053488463,2.7132154732530362}}
56 <div id="sect9"> 56 {{4.838888984361574,4.399276078363981}, {6.192910293864926,1.7797920604914939}, {2.435268584733173,1.817005221735438}}
57 {{{1.7656425168945311, 2.6843748983789064}, {1.7550120280078125, 2.5380253562890 633}, {1.7490921607031253, 2.3787068078906248}, {1.7501136332812499, 2.213111408 9062502}}} id=7 57 </div>
58 {{{1.0546875, 2.1953125}, {1.2656250000000009, 2.2343750000000009}, {1.499999999 9999996, 2.2499999999999996}, {1.75, 2.25}}} id=12 58
59 {{{1.75, 2.25}, {1.8750000000000016, 2.2499999999999991}, {2.0039062499999982, 2 .2460937500000004}, {2.1357421875, 2.2392578125}}} id=4 59 <div id="cubic1">
60 </div> 60 {{0,0}, {1,0}, {0,1}, {1,1}}
61 61 {{0,0}, {2,0}, {0,2}, {2,2}}
62 <div id="sect10"> 62 </div>
63 {{{1.7656425168945311, 2.6843748983789064}, {1.7550120280078125, 2.5380253562890 633}, {1.7490921607031253, 2.3787068078906248}, {1.7501136332812499, 2.213111408 9062502}}} id=7 63
64 {{{1.3876953125, 2.2373046875}, {1.50390625, 2.24609375}, {1.625, 2.25}, {1.75, 2.25}}} id=16 64 <div id="cubic2" >
65 {{{1.75, 2.25}, {1.8750000000000016, 2.2499999999999991}, {2.0039062499999982, 2 .2460937500000004}, {2.1357421875, 2.2392578125}}} id=4 65 {{0.4655213647959181,1.5608657525510201}, {0.6599868463010203,0.4290098852040817 }, {2.473652742346939,1.2464524872448977}, {1.8511738679846936,0.534478635204081 8}}
66 </div> 66 {{0.4655213647959181,1.5608657525510201}, {0.3250358737244896,0.819226323341837} , {1.4399214764030612,0.3318817761479596}, {1.2703414571528546,0.908146532214418 1}}
67 67 </div>
68 <div id="sect11"> 68
69 {{{1.7535085895385742, 2.4559603499780276}, {1.7508274956738286, 2.3771375952441 409}, {1.7496028969921869, 2.2959091083984369}, {1.7501136332812499, 2.213111408 9062502}}} id=9 69 <div id="quad11">
70 {{{1.3876953125, 2.2373046875}, {1.50390625, 2.24609375}, {1.625, 2.25}, {1.75, 2.25}}} id=16 70 {{-378.22698974609375, -987.8935546875}, {-47.53326416015625, 482.7139892578125} , {-626.4708251953125, -338.62969970703125}}
71 {{{1.75, 2.25}, {1.8750000000000016, 2.2499999999999991}, {2.0039062499999982, 2 .2460937500000004}, {2.1357421875, 2.2392578125}}} id=4 71 {{-378.22698974609375, -987.8935546875}, {-847.94854736328125, -861.422302246093 75}, {-390.9146728515625, 402.08740234375}}
72 </div> 72 </div>
73 73
74 <div id="sect12"> 74 <div id="quad12">
75 {{{1.7535085895385742, 2.4559603499780276}, {1.7508274956738286, 2.3771375952441 409}, {1.7496028969921869, 2.2959091083984369}, {1.7501136332812499, 2.213111408 9062502}}} id=9 75 {{-173.3448486328125, -962.89422607421875}, {-778.321533203125, -161.47637939453 125}, {-196.77374267578125, -736.40155029296875}}
76 {{{1.3876953125, 2.2373046875}, {1.50390625, 2.24609375}, {1.625, 2.25}, {1.75, 2.25}}} id=16 76 {{-173.3448486328125, -962.89422607421875}, {652.3017578125, -400.67816162109375 }, {-386.7855224609375, 361.1614990234375}}
77 {{{1.75, 2.25}, {1.8124999999999989, 2.2499999999999996}, {1.8759765625000011, 2 .2490234374999996}, {1.9403076171875, 2.2471923828125}}} id=4 77 </div>
78 </div> 78
79 79 <div id="quad13">
80 <div id="sect13"> 80 {{{-968.181396484375, 544.0128173828125}, {592.2825927734375, 870.552490234375}, {593.435302734375, 557.8828125}}}
81 {{{1.7535085895385742, 2.4559603499780276}, {1.7508274956738286, 2.3771375952441 409}, {1.7496028969921869, 2.2959091083984369}, {1.7501136332812499, 2.213111408 9062502}}} id=9 81 {{{-968.181396484375, 544.0128173828125}, {593.677001953125, 865.5810546875}, {- 66.57171630859375, -847.849853515625}}}
82 {{{1.5655517578125, 2.2469482421875}, {1.6259765625, 2.2490234375}, {1.6875, 2.2 5}, {1.75, 2.25}}} id=20 82 </div>
83 {{{1.75, 2.25}, {1.8124999999999989, 2.2499999999999996}, {1.8759765625000011, 2 .2490234374999996}, {1.9403076171875, 2.2471923828125}}} id=4 83
84 </div> 84 <div id="quad14">
85 85 {{{769.693115234375, -626.35089111328125}, {6.60491943359375, -210.4375610351562 5}, {-898.26654052734375, -17.76312255859375}}}
86 <div id="sect14"> 86 {{{769.693115234375, -626.35089111328125}, {192.8486328125, 609.8062744140625}, {888.317626953125, -551.27215576171875}}}
87 {{{1.7506141751022339, 2.3360264837265015}, {1.7500367307348632, 2.2955168052368 169}, {1.7498582651367187, 2.2545102586523438}, {1.7501136332812499, 2.213111408 9062502}}} id=11 87 </div>
88 {{{1.5655517578125, 2.2469482421875}, {1.6259765625, 2.2490234375}, {1.6875, 2.2 5}, {1.75, 2.25}}} id=20 88
89 {{{1.75, 2.25}, {1.8124999999999989, 2.2499999999999996}, {1.8759765625000011, 2 .2490234374999996}, {1.9403076171875, 2.2471923828125}}} id=4 89 <div id="quad15">
90 </div> 90 {{{187.410400390625, -343.557373046875}, {-752.7930908203125, 431.57177734375}, {387.663330078125, 701.281982421875}}}
91 91 {{{187.410400390625, -343.557373046875}, {-86.16302490234375, -366.027099609375} , {-468.3883056640625, -25.736572265625}}}
92 <div id="sect15"> 92 </div>
93 {{{1.7506141751022339, 2.3360264837265015}, {1.7500367307348632, 2.2955168052368 169}, {1.7498582651367187, 2.2545102586523438}, {1.7501136332812499, 2.213111408 9062502}}} id=11 93
94 {{{1.5655517578125, 2.2469482421875}, {1.6259765625, 2.2490234375}, {1.6875, 2.2 5}, {1.75, 2.25}}} id=20 94 <div id="quad16">
95 {{{1.75, 2.25}, {1.7812500000000011, 2.2500000000000004}, {1.8127441406249989, 2 .2497558593749991}, {1.8444671630859375, 2.2492828369140625}}} id=4 95 {{{-353.9388427734375, 76.8973388671875}, {-36.00189208984375, 282.289306640625} , {-531.37969970703125, 683.95751953125}}}
96 </div> 96 {{{-353.9388427734375, 76.8973388671875}, {-779.3529052734375, 509.6165771484375 }, {-662.34088134765625, 124.4027099609375}}}
97 97 </div>
98 <div id="sect16"> 98
99 {{{1.7506141751022339, 2.3360264837265015}, {1.7500367307348632, 2.2955168052368 169}, {1.7498582651367187, 2.2545102586523438}, {1.7501136332812499, 2.213111408 9062502}}} id=11 99 <div id="quad17">
100 {{{1.6569976806640625, 2.2492523193359375}, {1.687744140625, 2.249755859375}, {1 .71875, 2.25}, {1.75, 2.25}}} id=24 100 {{{-657.0289306640625, 681.611083984375}, {-991.8365478515625, 964.4644775390625 }, {-843.3585205078125, 904.47998046875}}}
101 {{{1.75, 2.25}, {1.7812500000000011, 2.2500000000000004}, {1.8127441406249989, 2 .2497558593749991}, {1.8444671630859375, 2.2492828369140625}}} id=4 101 {{{-657.0289306640625, 681.611083984375}, {-763.1571044921875, 39.1097412109375} , {618.2041015625, 840.6429443359375}}}
102 </div> 102 </div>
103 103
104 <div id="sect17"> 104 <div id="quad18">
105 {{{1.7500515994997787, 2.274902385537529}, {1.7499667235723877, 2.25441218286193 79}, {1.7499859492089846, 2.2338108337792986}, {1.7501136332812499, 2.2131114089 062502}}} id=13 105 {{{-609.406005859375, -684.37506103515625}, {766.4923095703125, 583.657958984375 }, {-912.6832275390625, -949.553466796875}}}
106 {{{1.6569976806640625, 2.2492523193359375}, {1.687744140625, 2.249755859375}, {1 .71875, 2.25}, {1.75, 2.25}}} id=24 106 {{{-609.406005859375, -684.37506103515625}, {774.140380859375, 82.2415771484375} , {540.9007568359375, -136.982666015625}}}
107 {{{1.75, 2.25}, {1.7812500000000011, 2.2500000000000004}, {1.8127441406249989, 2 .2497558593749991}, {1.8444671630859375, 2.2492828369140625}}} id=4 107 </div>
108 </div> 108
109 109 <div id="quad19">
110 <div id="sect18"> 110 {{{-657.0289306640625, 681.611083984375}, {-991.8365478515625, 964.4644775390625 }, {-843.3585205078125, 904.47998046875}}}
111 {{{1.7500515994997787, 2.274902385537529}, {1.7499667235723877, 2.25441218286193 79}, {1.7499859492089846, 2.2338108337792986}, {1.7501136332812499, 2.2131114089 062502}}} id=13 111 {{{-657.0289306640625, 681.611083984375}, {-763.1571044921875, 39.1097412109375} , {618.2041015625, 840.6429443359375}}}
112 {{{1.6569976806640625, 2.2492523193359375}, {1.687744140625, 2.249755859375}, {1 .71875, 2.25}, {1.75, 2.25}}} id=24 112 </div>
113 {{{1.75, 2.25}, {1.7656249999999989, 2.25}, {1.7813110351562511, 2.2499389648437 5}, {1.7970561981201172, 2.2498188018798828}}} id=4 113
114 </div> 114 <div id="quad20">
115 115 {{{123.2955322265625, -577.799560546875}, {-491.892578125, 704.91748046875}, {47 8.03759765625, -951.92333984375}}}
116 <div id="sect19"> 116 {{{123.2955322265625, -577.799560546875}, {-550.6966552734375, 812.216796875}, { -816.3184814453125, -705.0025634765625}}}
117 {{{1.7500515994997787, 2.274902385537529}, {1.7499667235723877, 2.25441218286193 79}, {1.7499859492089846, 2.2338108337792986}, {1.7501136332812499, 2.2131114089 062502}}} id=13 117 </div>
118 {{{1.7033100128173828, 2.2498149871826172}, {1.7188110351562504, 2.2499389648437 504}, {1.7343749999999991, 2.2499999999999991}, {1.75, 2.25}}} id=28 118
119 {{{1.75, 2.25}, {1.7656249999999989, 2.25}, {1.7813110351562511, 2.2499389648437 5}, {1.7970561981201172, 2.2498188018798828}}} id=4 119 <div id="quad21">
120 </div> 120 {{{123.2955322265625, -577.799560546875}, {-481.892578125, 704.91748046875}, {47 8.03759765625, -951.92333984375}}}
121 121 {{{123.2955322265625, -577.799560546875}, {-550.6966552734375, 812.216796875}, { -816.3184814453125, -705.0025634765625}}}
122 <div id="sect20"> 122 </div>
123 {{{1.7500515994997787, 2.274902385537529}, {1.7500091615360831, 2.26465728419973 37}, {1.7499927489633849, 2.2543843962601757}, {1.7500029063906433, 2.2440853555 459359}}} id=13 123
124 {{{1.7033100128173828, 2.2498149871826172}, {1.7188110351562504, 2.2499389648437 504}, {1.7343749999999991, 2.2499999999999991}, {1.75, 2.25}}} id=28 124 <div id="quad22">
125 {{{1.75, 2.25}, {1.7656249999999989, 2.25}, {1.7813110351562511, 2.2499389648437 5}, {1.7970561981201172, 2.2498188018798828}}} id=4 125 {{{187.410400390625, -343.557373046875}, {-752.7930908203125, 431.57177734375}, {387.663330078125, 701.281982421875}}}
126 </div> 126 {{{187.410400390625, -343.557373046875}, {-86.16302490234375, -366.027099609375} , {-468.3883056640625, -25.736572265625}}}
127 127 </div>
128 <div id="sect21"> 128
129 {{{1.7500515994997787, 2.274902385537529}, {1.7500091615360831, 2.26465728419973 37}, {1.7499927489633849, 2.2543843962601757}, {1.7500029063906433, 2.2440853555 459359}}} id=13 129 <div id="quad23">
130 {{{1.7033100128173828, 2.2498149871826172}, {1.7188110351562504, 2.2499389648437 504}, {1.7343749999999991, 2.2499999999999991}, {1.75, 2.25}}} id=28 130 {{{-341.26922607421875, 964.1964111328125}, {883.2567138671875, 812.730102539062 5}, {286.0372314453125, 94.979248046875}}}
131 {{{1.75, 2.25}, {1.7578125000000004, 2.25}, {1.7656402587890616, 2.2499847412109 375}, {1.7734830379486084, 2.2499544620513916}}} id=4 131 {{{-341.26922607421875, 964.1964111328125}, {-158.90765380859375, 597.1875}, {-2 82.2255859375, 262.430908203125}}}
132 </div> 132 </div>
133 133
134 <div id="sect22"> 134 <div id="quad24">
135 {{{1.7500515994997787, 2.274902385537529}, {1.7500091615360831, 2.26465728419973 37}, {1.7499927489633849, 2.2543843962601757}, {1.7500029063906433, 2.2440853555 459359}}} id=13 135 {{{123.2955322265625, -577.799560546875}, {-481.892578125, 704.91748046875}, {47 8.03759765625, -951.92333984375}}}
136 {{{1.7266085147857666, 2.2499539852142334}, {1.7343902587890614, 2.2499847412109 362}, {1.7421875000000011, 2.2500000000000013}, {1.75, 2.25}}} id=32 136 {{{123.2955322265625, -577.799560546875}, {-550.6966552734375, 812.216796875}, { -816.3184814453125, -705.0025634765625}}}
137 {{{1.75, 2.25}, {1.7578125000000004, 2.25}, {1.7656402587890616, 2.2499847412109 375}, {1.7734830379486084, 2.2499544620513916}}} id=4 137 {{{417.3499131065152, -577.799560546875}, {417.3499131065152, -699.6008748290115 6}, {331.22337542585541, -785.72740374616797}}}
138 </div> 138 </div>
139 139
140 <div id="sect23"> 140 <div id="quad25">
141 {{{1.7500075296736033, 2.2595140978078994}, {1.749999391463374, 2.25437785806650 53}, {1.7499978276770138, 2.2492348759030554}, {1.7500029063906433, 2.2440853555 459359}}} id=17 141 {{{922.6107177734375, 291.412109375}, {-939.361572265625, 589.8492431640625}, {- 515.70941162109375, 120.2764892578125}}}
142 {{{1.7266085147857666, 2.2499539852142334}, {1.7343902587890614, 2.2499847412109 362}, {1.7421875000000011, 2.2500000000000013}, {1.75, 2.25}}} id=32 142 {{{922.6107177734375, 291.412109375}, {148.5115966796875, -751.42095947265625}, {-347.47503662109375, 331.1798095703125}}}
143 {{{1.75, 2.25}, {1.7578125000000004, 2.25}, {1.7656402587890616, 2.2499847412109 375}, {1.7734830379486084, 2.2499544620513916}}} id=4 143 {{{922.6107177734375, -143.9114969433939}, {742.29377357777753, -143.91149694339 39}, {614.79044900323777, -16.408159395199732}}}
144 </div> 144 {{{487.2871114550436, 291.412109375}, {487.2871114550436, 471.72905357065997}, { 614.79044900323777, 599.23237814519973}}}
145 145 </div>
146 <div id="sect24"> 146
147 {{{1.7500075296736033, 2.2595140978078994}, {1.749999391463374, 2.25437785806650 53}, {1.7499978276770138, 2.2492348759030554}, {1.7500029063906433, 2.2440853555 459359}}} id=17 147 <div id="quad26">
148 {{{1.7266085147857666, 2.2499539852142334}, {1.7343902587890614, 2.2499847412109 362}, {1.7421875000000011, 2.2500000000000013}, {1.75, 2.25}}} id=32 148 {{{187.410400390625, -343.557373046875}, {-752.7930908203125, 431.57177734375}, {387.663330078125, 701.281982421875}}}
149 {{{1.75, 2.25}, {1.7539062499999991, 2.25}, {1.7578163146972661, 2.2499961853027 344}, {1.7617301642894745, 2.2499885857105255}}} id=4 149 {{{187.410400390625, -343.557373046875}, {-86.16302490234375, -366.027099609375} , {-468.3883056640625, -25.736572265625}}}
150 </div> 150 {{{33.221887415632978, -343.557373046875}, {33.221887415632978, -279.69039894717 827}, {78.38265915086852, -234.52963180711851}}}
151 151 </div>
152 <div id="sect25"> 152
153 {{{1.7500075296736033, 2.2595140978078994}, {1.749999391463374, 2.25437785806650 53}, {1.7499978276770138, 2.2492348759030554}, {1.7500029063906433, 2.2440853555 459359}}} id=17 153 <div id="quad27">
154 {{{1.7382927238941193, 2.2499885261058807}, {1.7421913146972665, 2.2499961853027 353}, {1.7460937499999996, 2.2499999999999996}, {1.75, 2.25}}} id=36 154 {{{-173.3448486328125, -962.89422607421875}, {-778.321533203125, -161.4763793945 3125}, {-196.77374267578125, -736.40155029296875}}}
155 {{{1.75, 2.25}, {1.7539062499999991, 2.25}, {1.7578163146972661, 2.2499961853027 344}, {1.7617301642894745, 2.2499885857105255}}} id=4 155 {{{-173.3448486328125, -962.89422607421875}, {652.3017578125, -400.6781616210937 5}, {-386.7855224609375, 361.1614990234375}}}
156 </div> 156 {{{-270.84959533883426, -865.38947936819704}, {-230.46180860703427, -825.0016885 2687921}, {-173.3448486328125, -825.00168852687921}}}
157 157 {{{-75.840101926790737, -865.38947936819704}, {-35.4523110854729, -905.777266099 99695}, {-35.4523110854729, -962.89422607421875}}}
158 <div id="sect26"> 158 </div>
159 {{{1.7500002616856762, 2.2518047069078144}, {1.7499994883020116, 2.2492332413546 396}, {1.7500003670338282, 2.2466601157244943}, {1.7500029063906433, 2.244085355 5459359}}} id=19 159
160 {{{1.75, 2.25}, {1.7539062499999991, 2.25}, {1.7578163146972661, 2.2499961853027 344}, {1.7617301642894745, 2.2499885857105255}}} id=4 160 <div id="quad28">
161 </div> 161 {{{344.2755126953125, -689.900390625}, {743.6728515625, 512.8448486328125}, {928 .598388671875, 111.946044921875}}}
162 162 {{{344.2755126953125, -689.900390625}, {-950.03106689453125, -511.25741577148437 }, {850.8173828125, 798.4874267578125}}}
163 <div id="sect27"> 163 {{{344.2755126953125, -689.900390625}, {850.8173828125, 798.4874267578125}}}
164 {{{1.7500002616856762, 2.2518047069078144}, {1.7499994883020116, 2.2492332413546 396}, {1.7500003670338282, 2.2466601157244943}, {1.7500029063906433, 2.244085355 5459359}}} id=19 164 {{{344.2755126953125, -689.900390625}, {391.39917554828793, -551.43545842779145} }}
165 {{{1.75, 2.25}, {1.7519531250000011, 2.2499999999999991}, {1.7539072036743153, 2 .249999046325684}, {1.7558622322976589, 2.2499971427023411}}} id=4 165 </div>
166 </div> 166
167 167 <div id="quad29">
168 <div id="sect28"> 168 {{{351.8946533203125, 512.8131103515625}, {-294.22332763671875, 183.220092773437 5}, {624.4842529296875, 862.0753173828125}}}
169 {{{1.7500002616856762, 2.2518047069078144}, {1.749999874993843, 2.25051897413122 73}, {1.7499999013308822, 2.2492328263353962}, {1.7500003417604797, 2.2479462667 113941}}} id=19 169 {{{351.8946533203125, 512.8131103515625}, {489.1907958984375, -543.4212646484375 }, {-432.7445068359375, 812.5205078125}}}
170 {{{1.75, 2.25}, {1.7519531250000011, 2.2499999999999991}, {1.7539072036743153, 2 .249999046325684}, {1.7558622322976589, 2.2499971427023411}}} id=4 170 </div>
171 </div> 171
172 172 <div id="quad30">
173 <div id="sect29"> 173 {{{627.6910400390625, 81.144287109375}, {168.9248046875, -211.72735595703125}, { -61.57086181640625, 915.171875}}}
174 {{{1.7500002616856762, 2.2518047069078144}, {1.749999874993843, 2.25051897413122 73}, {1.7499999013308822, 2.2492328263353962}, {1.7500003417604797, 2.2479462667 113941}}} id=19 174 {{{627.6910400390625, 81.144287109375}, {918.159423828125, -325.468994140625}, { 359.0523681640625, 817.4888916015625}}}
175 {{{1.75, 2.25}, {1.7509765624999989, 2.2499999999999996}, {1.7519533634185802, 2 .2499997615814205}, {1.752930402290076, 2.249999285209924}}} id=4 175 {{{235.78221371860315, 81.144287109375}, {235.78221371860315, 243.47824037936314 }, {350.56965608373537, 358.26567106470213}}},
176 </div> 176 </div>
177 177
178 <div id="sect30"> 178 <div id="quad31">
179 {{{1.7500002616856762, 2.2518047069078144}, {1.7500000683397601, 2.2511618405195 208}, {1.7499999782510609, 2.2505188703764163}, {1.7499999915525417, 2.249875796 8773848}}} id=19 179 {{{178.1549072265625, 62.724609375}, {541.3643798828125, 223.823486328125}, {-44 6.77471923828125, -15.990478515625}}}
180 {{{1.75, 2.25}, {1.7509765624999989, 2.2499999999999996}, {1.7519533634185802, 2 .2499997615814205}, {1.752930402290076, 2.249999285209924}}} id=4 180 {{{178.1549072265625, 62.724609375}, {-347.14031982421875, -834.27191162109375}, {-495.13888549804687, 96.476806640625}}}
181 </div> 181 </div>
182 182
183 <div id="sect31"> 183 <div id="quad32">
184 {{{1.7500002616856762, 2.2518047069078144}, {1.7500000683397601, 2.2511618405195 208}, {1.7499999782510609, 2.2505188703764163}, {1.7499999915525417, 2.249875796 8773848}}} id=19 184 {{{-809.41009521484375, 370.4566650390625}, {622.44677734375, -166.97119140625}, {-285.6748046875, 333.81005859375}}},
185 {{{1.75, 2.25}, {1.7504882812500011, 2.2500000000000004}, {1.7509766221046437, 2 .2499999403953543}, {1.7514650225057267, 2.2499998212442733}}} id=4 185 {{{-809.41009521484375, 370.4566650390625}, {-110.36346435546875, -656.960449218 75}, {906.4796142578125, 530.2061767578125}}}
186 </div> 186 </div>
187 187
188 <div id="sect32"> 188 <div id="quad33">
189 {{{1.7500000491263352, 2.2508403295591259}, {1.7500000040986061, 2.2505188445374 351}, {1.7499999849018013, 2.2501973336269003}, {1.7499999915525417, 2.249875796 8773848}}} id=25 189 {{{-918.58624267578125, 653.6695556640625}, {-639.37548828125, 61.493896484375}, {-198.9605712890625, 243.704345703125}}},
190 {{{1.75, 2.25}, {1.7504882812500011, 2.2500000000000004}, {1.7509766221046437, 2 .2499999403953543}, {1.7514650225057267, 2.2499998212442733}}} id=4 190 {{{-918.58624267578125, 653.6695556640625}, {-302.093505859375, -107.10955810546 875}, {696.4962158203125, 600.738525390625}}}
191 </div> 191 </div>
192 192
193 <div id="sect33"> 193 <div id="quad34">
194 {{{1.7500000491263352, 2.2508403295591259}, {1.7500000040986061, 2.2505188445374 351}, {1.7499999849018013, 2.2501973336269003}, {1.7499999915525417, 2.249875796 8773848}}} id=25 194 {{{-610.4193115234375, 861.173095703125}, {403.3203125, 215.3988037109375}, {-37 3.5546875, 179.88134765625}}},
195 {{{1.75, 2.25}, {1.7502441406249989, 2.25}, {1.7504882961511623, 2.2499999850988 388}, {1.7507324665712076, 2.2499999553037924}}} id=4 195 {{{-610.4193115234375, 861.173095703125}, {-757.244140625, -222.137451171875}, { 705.892822265625, 87.4090576171875}}}
196 </div> 196 </div>
197 197
198 <div id="sect34"> 198 <div id="quad35">
199 {{{1.7500000009600125, 2.2503580826161893}, {1.7499999913636877, 2.2501973271671 556}, {1.7499999882271713, 2.2500365652521426}, {1.7499999915525417, 2.249875796 8773848}}} id=27 199 {{{282.5767822265625, -529.4022216796875}, {392.0968017578125, 768.1014404296875 }, {712.11572265625, 189.19677734375}}},
200 {{{1.75, 2.25}, {1.7502441406249989, 2.25}, {1.7504882961511623, 2.2499999850988 388}, {1.7507324665712076, 2.2499999553037924}}} id=4 200 {{{282.5767822265625, -529.4022216796875}, {699.360595703125, 465.6171875}, {438 .5755615234375, 125.5230712890625}}}
201 </div> 201 </div>
202 202
203 <div id="sect35"> 203 <div id="quad36">
204 {{{1.7500000009600125, 2.2503580826161893}, {1.7499999913636877, 2.2501973271671 556}, {1.7499999882271713, 2.2500365652521426}, {1.7499999915525417, 2.249875796 8773848}}} id=27 204 {{{-170.1510009765625, -184.905517578125}, {654.734130859375, 120.339599609375}, {-470.98443603515625, -69.4737548828125}}},
205 {{{1.75, 2.25}, {1.7501220703125004, 2.25}, {1.7502441443502894, 2.2499999962747 097}, {1.7503662221124614, 2.2499999888250386}}} id=4 205 {{{-170.1510009765625, -184.905517578125}, {-500.9822998046875, -148.40911865234 375}, {-446.35821533203125, -840.5694580078125}}}
206 </div> 206 </div>
207 207
208 <div id="sect36"> 208 <div id="quad37">
209 {{{-119.55023193359375, -39.2008056640625}, {-618.14306640625, -620.141967773437 5}, {-779.53790283203125, -681.9923095703125}}},
210 {{{-119.55023193359375, -39.2008056640625}, {365.968994140625, 55.4974365234375} , {98.1297607421875, -192.474609375}}}
211 </div>
212
213 <div id="quad38">
214 {{{607.9136962890625, 484.1448974609375}, {280.619140625, 982.736572265625}, {-5 77.5596923828125, 798.9134521484375}}},
215 {{{607.9136962890625, 484.1448974609375}, {374.318115234375, -590.5146484375}, { -258.30438232421875, 592.958984375}}}
216 </div>
217
218 <div id="quad39">
219 {{{-491.48846435546875, -470.9105224609375}, {109.7149658203125, -989.5384521484 375}, {-275.900390625, 657.1920166015625}}},
220 {{{-491.48846435546875, -470.9105224609375}, {-796.935791015625, 191.326171875}, {-852.120849609375, 62.06005859375}}}
221 </div>
222
223 <div id="quad40">
224 {{{-872.76458740234375, -163.30078125}, {723.6697998046875, 177.8204345703125}, {206.470703125, 147.9564208984375}}},
225 {{{-872.76458740234375, -163.30078125}, {556.937744140625, 715.4345703125}, {627 .348388671875, 77.0643310546875}}}
226 </div>
227
228 <div id="quad108">
229 {{{282.5767822265625, -529.4022216796875}, {392.0968017578125, 768.1014404296875 }, {712.11572265625, 189.19677734375}}},
230 {{{282.5767822265625, -529.4022216796875}, {699.360595703125, 465.6171875}, {438 .5755615234375, 125.5230712890625}}}
231 </div>
232
233 <div id="quad159">
234 {{{-868.3076171875, -212.74591064453125}, {-208.84014892578125, -57.353515625}, {393.79736328125, -986.03607177734375}}},
235 {{{-868.3076171875, -212.74591064453125}, {371.0980224609375, -960.9017333984375 }, {-236.2821044921875, -441.20074462890625}}}
236 </div>
237
238 <div id="quad212">
239 {{{-610.4193115234375, 861.173095703125}, {403.3203125, 215.3988037109375}, {-37 3.5546875, 179.88134765625}}},
240 {{{-610.4193115234375, 861.173095703125}, {-757.244140625, -222.137451171875}, { 705.892822265625, 87.4090576171875}}}
241 </div>
242
243 <div id="quad232">
244 {{{766.497802734375, 675.660400390625}, {639.0235595703125, 351.4776611328125}, {345.9315185546875, 624.685791015625}}},
245 {{{766.497802734375, 675.660400390625}, {-901.72650146484375, 923.99169921875}, {755.665283203125, 416.728759765625}}}
246 </div>
247
248 <div id="quad379">
249 {{{-872.76458740234375, -163.30078125}, {723.6697998046875, 177.8204345703125}, {206.470703125, 147.9564208984375}}},
250 {{{-872.76458740234375, -163.30078125}, {556.937744140625, 715.4345703125}, {627 .348388671875, 77.0643310546875}}}
251 </div>
252
253 <div id="quad413">
254 {{{-127.60784912109375, 384.614990234375}, {-184.46685791015625, 717.57287597656 25}, {-981.56524658203125, -827.18109130859375}}},
255 {{{-127.60784912109375, 384.614990234375}, {-125.78131103515625, 751.18774414062 5}, {562.529541015625, -277.5535888671875}}}
256 </div>
257
258 <div id="quad179">
259 {{{-595.956298828125, -113.24383544921875}, {-730.611572265625, 481.532348632812 5}, {505.58447265625, -504.9130859375}}},
260 {{{-595.956298828125, -113.24383544921875}, {-971.0836181640625, -849.7390747070 3125}, {-32.39227294921875, -906.3277587890625}}}
261 </div>
262
263 <div id="quad584">
264 {{{-406.65435791015625, 599.96630859375}, {-566.71881103515625, -400.65362548828 125}, {-486.0682373046875, 100.34326171875}}},
265 {{{-406.65435791015625, 599.96630859375}, {799.783935546875, 992.77783203125}, { 180.6688232421875, -490.0054931640625}}}
266 </div>
267
268 <div id="quad653">
269 {{{-46.6143798828125, 164.224853515625}, {-161.7724609375, 327.61376953125}, {16 8.5106201171875, -948.4150390625}}},
270 {{{-46.6143798828125, 164.224853515625}, {412.9364013671875, -199.26715087890625 }, {-278.044677734375, 472.3961181640625}}}
271 </div>
272
273 <div id="quad809">
274 {{{-176.8541259765625, -275.9761962890625}, {-723.969482421875, -7.4718017578125 }, {931.6959228515625, 231.6737060546875}}},
275 {{{-176.8541259765625, -275.9761962890625}, {-250.86737060546875, -748.814331054 6875}, {-96.77099609375, -287.76336669921875}}}
276 </div>
277
278 <div id="quad14a">
279 {{{-609.406005859375, -684.37506103515625}, {766.4923095703125, 583.657958984375 }, {-912.6832275390625, -949.553466796875}}},
280 {{{-609.406005859375, -684.37506103515625}, {774.140380859375, 82.2415771484375} , {540.9007568359375, -136.982666015625}}}
281 </div>
282
283 <div id="quad22a">
284 {{{-728.5626220703125, 141.134521484375}, {749.9122314453125, -645.93359375}, {6 7.1751708984375, -285.85528564453125}}},
285 {{{-728.5626220703125, 141.134521484375}, {-841.0341796875, -988.058349609375}, {34.87939453125, -489.359130859375}}}
286 {{{276.48354206343231, -395.24293552482953}, {-728.5626220703125, 141.1345214843 75}}}
287 {{{fX=97.702285839737073, -301.95147049201717}, {-728.5626220703125, 141.1345214 84375}}}
288 {{{fX=-52.525628917174856, -536.31069276053427}, {-728.5626220703125, 141.134521 484375}}}
289 {{{fX=-5.2463328209585285, -511.63085965304060}, {-728.5626220703125, 141.134521 484375}}}
290 </div>
291
292 <div id="quad77">
293 {{{383.7933349609375, -397.5057373046875}, {480.7408447265625, 92.927490234375}, {690.7930908203125, -267.44964599609375}}},
294 {{{383.7933349609375, -397.5057373046875}, {83.3685302734375, 619.781005859375}, {688.14111328125, 416.241455078125}}}
295 </div>
296
297 <div id="quad94">
298 {{{627.6910400390625, 81.144287109375}, {168.9248046875, -211.72735595703125}, { -61.57086181640625, 915.171875}}},
299 {{{627.6910400390625, 81.144287109375}, {918.159423828125, -325.468994140625}, { 359.0523681640625, 817.4888916015625}}}
300 {{{564.43435948662466, 47.034527772832369}, {627.6910400390625, 81.144287109375} }}
301 {{{699.34014109378302, 79.147174806567705}, {627.6910400390625, 81.144287109375} }}
302 </div>
303
304 <div id="quad4a">
305 {{{187.410400390625, -343.557373046875}, {-752.7930908203125, 431.57177734375}, {387.663330078125, 701.281982421875}}},
306 {{{187.410400390625, -343.557373046875}, {-86.16302490234375, -366.027099609375} , {-468.3883056640625, -25.736572265625}}}
307 </div>
308
309 <div id="quad0">
310 {{{-708.0077926931004413, -154.6166947224404566}, {-701.0429781735874712, -128.8 517387364408933}, {505.58447265625, -504.9130859375}}},
311 {{{-708.0077926931004413, -154.6166947224404566}, {-721.5125661899801344, -174.4 028951148648048}, {-32.39227294921875, -906.3277587890625}}}
312 {{{-707.8363172079705237, -154.25350453766481}, {-708.0077926931004413, -154.616 6947224404566}}}
313 {{{-708.1792267111628689, -154.9799046892118213}, {-708.0077926931004413, -154.6 166947224404566}}}
314 </div>
315
316 <div id="quad999">
317 {{{-708.00779269310044, -154.61669472244046}, {-707.92342686353186, -154.3045999 9551294}, {505.58447265625, -504.9130859375}}},
318 {{{-708.00779269310044, -154.61669472244046}, {-708.1713780141481, -154.85636789 757655}, {-32.39227294921875, -906.3277587890625}}}
319 {{{-708.0077672218041, -154.61664072892336}, {-708.00779269310044, -154.61669472 244046}}}
320 {{{-708.00781827681976, -154.61674895426012}, {-708.00779269310044, -154.6166947 2244046}}}
321 </div>
322
323 <div id="quad113">
324 {{{425.018310546875, -866.61865234375}, {-918.76531982421875, 209.05322265625}, {964.34716796875, 199.52587890625}}},
325 {{{425.018310546875, -866.61865234375}, {703.10693359375, -955.0738525390625}, { -952.24664306640625, -717.94775390625}}}
326 </div>
327
328 <div id="quad136">
329 {{{178.1549072265625, 62.724609375}, {541.3643798828125, 223.823486328125}, {-44 6.77471923828125, -15.990478515625}}},
330 {{{178.1549072265625, 62.724609375}, {-347.14031982421875, -834.27191162109375}, {-495.138885498046875, 96.476806640625}}}
331 </div>
332
333 <div id="quad206">
334 {{{-503.007415771484375, -318.59490966796875}, {-798.330810546875, -881.21630859 375}, {-127.2027587890625, 769.6160888671875}}},
335 {{{-503.007415771484375, -318.59490966796875}, {-153.6217041015625, -776.8967285 15625}, {-378.43701171875, -296.3197021484375}}}
336 {{{-468.9176053311167607, -89.39573455985038208}, {-503.007415771484375, -318.59 490966796875}}}
337 {{{-356.1573846604815685, -497.6768266540607328}, {-503.007415771484375, -318.59 490966796875}}}
338 {{{-559.0376987487186398, -420.2054253473417589}, {-503.007415771484375, -318.59 490966796875}}}
339 {{{-431.6586315464865606, -409.8353728177644371}, {-503.007415771484375, -318.59 490966796875}}}
340 </div>
341
342 <div id="quad640">
343 {{{412.260498046875, 49.193603515625}, {838.97900390625, 86.9951171875}, {427.78 96728515625, -605.6881103515625}}},
344 {{{412.260498046875, 49.193603515625}, {-995.54583740234375, 990.032470703125}, {-881.18670654296875, 461.211669921875}}}
345 </div>
346
347 <div id="quad3160">
348 {{{426.645751953125, 813.79150390625}, {-387.23828125, -588.89483642578125}, {79 2.4261474609375, -704.4637451171875}}},
349 {{{426.645751953125, 813.79150390625}, {19.24896240234375, -416.09906005859375}, {233.8497314453125, 350.778564453125}}}
350 </div>
351
352 <div id="quad35237">
353 {{{-770.8492431640625, 948.2369384765625}, {-853.37066650390625, 972.03015136718 75}, {-200.62042236328125, -26.7174072265625}}},
354 {{{-770.8492431640625, 948.2369384765625}, {513.602783203125, 578.8681640625}, { 960.641357421875, -813.69757080078125}}}
355 </div>
356
357 <div id="quad37226">
358 {{{563.8267822265625, -107.4566650390625}, {-44.67724609375, -136.57452392578125 }, {492.3856201171875, -268.79644775390625}}},
359 {{{563.8267822265625, -107.4566650390625}, {708.049072265625, -100.7778930664062 5}, {-48.88226318359375, 967.9022216796875}}}
360 </div>
361
362 <div id="quad67242">
363 {{{598.857421875, 846.345458984375}, {-644.095703125, -316.12921142578125}, {-97 .64599609375, 20.6158447265625}}},
364 {{{598.857421875, 846.345458984375}, {715.7142333984375, 955.3599853515625}, {-9 19.9478759765625, 691.611328125}}}
365 </div>
366
367 <div id="quad208">
368 {{{481.1463623046875, -687.09613037109375}, {643.64697265625, -951.9462890625}, {162.5869140625, 698.7342529296875}}},
369 {{{481.1463623046875, -687.09613037109375}, {171.8175048828125, -919.07977294921 875}, {153.3433837890625, -587.43072509765625}}}
370 </div>
371
372 <div id="quad8a">
373 {{{344.2755126953125, -689.900390625}, {743.6728515625, 512.8448486328125}, {928 .598388671875, 111.946044921875}}},
374 {{{344.2755126953125, -689.900390625}, {-950.03106689453125, -511.25741577148437 }, {850.8173828125, 798.4874267578125}}}
375 </div>
376
377 <div id="quad8b">
378 {{{344.2755126953125, -689.900390625}, {928.598388671875, 111.946044921875}, {74 3.6728515625, 512.8448486328125}}},
379 {{{344.2755126953125, -689.900390625}, {-950.03106689453125, -511.25741577148437 }, {850.8173828125, 798.4874267578125}}}
380 </div>
381
382 <div id="quad8741">
383 {{{944.9024658203125, 939.454345703125}, {-971.06219482421875, -914.243957519531 25}, {-878.764404296875, -297.61602783203125}}},
384 {{{944.9024658203125, 939.454345703125}, {-838.96612548828125, -785.837646484375 }, {-126.80029296875, 921.1981201171875}}}
385 {{{107.03238931174118, 218.460612766889}, {944.9024658203125, 939.454345703125}} }
386 {{{-292.72752350740279, 99.917575976335598}, {944.9024658203125, 939.45434570312 5}}}
387 </div>
388
389 <div id="quad89987">
390 {{{939.4808349609375, 914.355224609375}, {-357.7921142578125, 590.842529296875}, {736.8936767578125, -350.717529296875}}},
391 {{{939.4808349609375, 914.355224609375}, {-182.85418701171875, 634.4552001953125 }, {-509.62615966796875, 576.1182861328125}}}
392 </div>
393
394 <div id="simplifyQuadratic36">
395 {{{1.9474306106567383, 2.3777823448181152}, {1.9234547048814592, 2.2418855043499 213}, {1.8885438442230225, 2.1114561557769775}}}
396 {{{1.9474306106567383, 2.3777823448181152}, {2.0764266380046235, 2.2048800651418 379}, {1.8888888359069824, 2.1111111640930176}}}
397 </div>
398
399 <div id="simplifyQuadratic58">
400 {{326.236786,205.854996}, {329.104431,231.663818}, {351.512085,231.663818}}
401 {{303.12088,141.299606}, {330.463562,217.659027}}
402 </div>
403
404 <div id="simplifyQuadratic58a">
405 {{{326.23678588867188, 205.85499572753906}, {328.04376176056422, 222.11778818951 981}, {337.6092529296875, 228.13298034667969}
406 {{{303.12088012695312, 141.29960632324219}, {330.46356201171875, 217.65902709960 937}
407 </div>
408
409 <div id="quadratic58again">
410 {{322.935669,231.030273}, {312.832214,220.393295}, {312.832214,203.454178}}
411 {{322.12738,233.397751}, {295.718353,159.505829}}
412 </div>
413
414 <div id="simplifyQuadratic56">
415 {{{380.29449462890625, 140.44486999511719}, {387.29080200195312, 136.67460632324 219}, {396.0399169921875, 136.67460632324219}}}
416 {{{380.29449462890625, 140.44486999511719}, {388.29925537109375, 136.67460632324 219}, {398.16494750976562, 136.67460632324219}}}
417 {{{380.29449462890625, 140.44486999511719}, {387.692810, 137.858429}}}
418 </div>
419
420 <div id="simplifyQuadratic56a">
421 {{{380.29449462890625, 140.44486999511719}, {387.29079954793264, 136.67460632324 219}, {396.0399169921875, 136.67460632324219}}}
422 {{{380.29449462890625, 140.44486999511719}, {388.29925767018653, 136.67460632324 219}, {398.16494750976562, 136.67460632324219}}}
423 {{fX=380.29449462890625 fY=140.44486999511719 }, {fX=398.16494750976562 fY=136.6 7460632324219 }} }
424 {{fX=380.29449462890625 fY=140.44486999511719 }, {fX=396.03991699218750 fY=136.6 7460632324219 }}
425 </div>
426
427 <div id="simplifyQuadratic27">
428 {{{1, 1}, {1, 0.666666687f}, {0.888888896f, 0.444444448f}}}
429 {{{1, 1}, {1, 0.5f}, {0, 0}}}
430 {{fX=1.0000000000000000 fY=1.0000000000000000 }, {fX=0.00000000000000000 fY=0.00 000000000000000 }} }
431 {{fX=1.0000000000000000 fY=1.0000000000000000 }, {fX=0.88888889551162720 fY=0.44 444444775581360 }} }
432 </div>
433
434 <div id="cubicOp7d">
435 {{{0.7114982008934021, 1.6617077589035034}, {0.51239079236984253, 1.495265722274 7803}, {0.27760171890258789, 1.2776017189025879}, {0, 1}}}
436 {{{0.7114982008934021, 1.6617077589035034}, {0.20600014925003052, 1.785488843917 8467}, {9.8686491813063348e-017, 1.9077447652816772}, {0, 1}}}
437 </div>
438
439 <div id="cubicOp25i">
440 {{{3.3856770992279053, 1.6298094987869263}, {3.777235186270762, 1.27447162372771 14}, {3.7191683314895783, 1.4127666421509713}, {3.3995792865753174, 1.6371387243 270874}}}
441 {{{3.3856770992279053, 1.6298094987869263}, {3.3902986605112582, 1.6322361865810 757}, {3.3949326825525121, 1.6346792563210237}, {3.3995792865753174, 1.637138724 3270874}}}
442 {{3.3856770992279053, 1.6298094987869263 }, {3.3995792865753174, 1.6371387243270 874 }}
443 </div>
444
445 <div id="eldorado1">
446 {{{1006.69513f, 291}, {1023.26367f, 291}, {1033.84021f, 304.431458f}, {1030.3183 6f, 321}}}
447 {{{1030.318359375, 321}, {1036.695068359375, 291}}}
448 {{fX=1030.3183593750000 fY=321.00000000000000 }, {fX=1006.6951293945312 fY=291.0 0000000000000 }} }
449 </div>
450
451 <div id="carpetplanet1">
452 {{fX=67.000000000000000, 913.00000000000000 }, {194.00000000000000, 1041.0000000 000000 }} }
453 {{fX=67.000000000000000, 913.00000000000000 }, {67.662002563476562, 926.00000000 000000 }} }
454 {{{67, 913}, {67, 917.388977f}, {67.223999f, 921.726013f}, {67.6620026f, 926}}}
455 {{{67, 913}, {67, 983.692017f}, {123.860001f, 1041}, {194, 1041}}}
456 {{{67, 913}, {67.17070902440698, 919.69443917507760}}}
457 </div>
458
459 <div id="cubicOp104">
460 {{{2.25, 2.5}, {4.5, 1}}}
461 {{{2.25, 2.5}, {3.0833333333333321, 1.9999999999999973}, {4.0277778307596899, 1. 2777777777777759}, {4.8611111640930176, 1}}}
462 {{{2.25, 2.5}, {1.9476099234472042, 2.6814340459316774}, {1.6598502000264239, 2. 8336073904096661}, {1.3973386287689209, 2.9246666431427002}}}
463 {{{2.25, 2.5}, {1.2674896717071533, 3.1550068855285645}}}
464 </div>
465
466 <div id="cubicOp105">
467 {{{2.4060275554656982, 3.4971563816070557}, {2.9702522134213849, 4.2195279679982 622}, {3.8172613958721247, 5.0538091166976979}, {5, 6}}}
468 {{{2.4060275554656982, 3.4971563816070557}, {3.4194286958002023, 3.5574883660881 684}, {4.0077197935900575, 2.6628073781813661}, {2.2602717876434326, 0.335456222 29576111}}}
469 </div>
470
471 <div id="cubicOp106">
472 {{{0.80825299024581909, 1.9691258668899536}, {0.8601454496383667, 1.988554120063 7817}, {0.92434978485107422, 2}, {1, 2}}}
473 {{{0.80825299024581909, 1.9691258668899536}, {2.2400102615356445, 3.596683740615 8447}, {2.5486805438995361, 3.362929105758667}, {2.494147777557373, 2.5976591110 229492}}}
474 {{{0.80825299024581909, 1.9691258668899536}, {2.494147777557373, 2.5976591110229 492}}}
475 {{{0.80825299024581909, 1.9691258668899536}, {1, 2}}}
476 </div>
477
478 <div id="cubicOp109">
479 {{{5, 4}, {5.443139240552143931, 3.556860759447856069}, {5.297161243696338673, 3 .702838775882067335}, {4.649086475372314453, 3.654751062393188477}}}
480 {{{5, 4}, {4.876459521889748849, 3.876459521889748849}, {4.759596556247283949, 3 .761504502886134915}, {4.649086475372314453, 3.654751062393188477}}}
481 </div>
482
483 <div id="skpwww_joomla_org_23">
484 {{{421, 378}, {421, 380.209137f}, {418.761414f, 382}, {416, 382}}}
485 {{{320, 378}, {421, 378.000031f}}}
486 {{{421, 378.000031f}, {421, 383}}}
487 {{{416, 383}, {418.761414f, 383}, {421, 380.761414f}, {421, 378}}}
488 </div>
489
490 <div id="xop1i">
491 {{5.000,1.000}, {5.191,0.809}, {5.163,0.837}, {4.993,1.000}}
492 {{5.000,1.000}, {4.968,1.024}}
493 {{5.000,1.000}, {4.998,1.000}, {4.995,1.000}, {4.993,1.000}}
494 </div>
495
496 <div id="xop1u">
497 {{3.500,3.500}, {3.000,4.000}, {2.500,4.500}, {1.000,4.000}}
498 {{3.500,3.500}, {3.113,3.887}, {2.725,4.275}, {2.338,3.732}}
499 </div>
500
501 <div id="xOp2i">
502 {{{2, 3}, {1.3475509011665685, 4.9573472965002949}, {2.8235509286078759, 3.50917 59365574173}, {3.6505906581878662, 1.9883773326873779}}}
503 {{{2, 3}, {2.4604574005585795, 2.654656949581065}, {3.0269255632437986, 2.309313 7214344743}, {3.6505906581878662, 1.9883773326873779}}}
504 {{{2, 3}, {1.0000000000000013, 3.7500000000000004}, {0.500000000000001, 4.5}, {1 , 5}}}
505 </div>
506
507 <div id="testQuadratic56">
508 {{{380.29449462890625, 140.44486999511719}, {379.59701460635523, 140.82073748821 79}, {378.91729736328125, 141.23385620117187}}}
509 {{{380.29449462890625, 140.44486999511719}, {387.29079954793264, 136.67460632324 219}, {396.0399169921875, 136.67460632324219}}}
510 {{{380.29449462890625, 140.44486999511719}, {388.29925767018653, 136.67460632324 219}, {398.16494750976562, 136.67460632324219}}}
511 </div>
512
513 <div id="testQuad15">
514 {{{1, 3}, {1, 1}}}
515 {{{1, 3}, {0, 0}}}
516 {{{1, 3}, {2, 0}, {0, 0}}}
517 </div>
518
519 <div id="testQuad21">
520 {{{0, 0}, {1, 1}}}
521 {{{0, 0}, {3, 0}, {2, 3}}}
522 {{{0, 0}, {2, 3}}}
523 {{{0, 0}, {2, 1}}}
524 </div>
525
526 <div id="testQuad22">
527 {{{0, 0}, {1.2000000476837158, 0.80000001192092896}}}
528 {{{0, 0}, {2, 0}}}
529 {{{0, 0}, {0, 1}, {3, 2}}}
530 {{{0, 0}, {1, 1}}}
531 </div>
532
533 <div id="testQuad23">
534 {{{1, 3}, {1.9090908914804459, 1.1818182170391081}, {0.33884298801422119, 1.0165 289640426636}}}
535 {{{1, 3}, {0.33884298801422119, 1.0165289640426636}}}
536 {{{1, 3}, {3, 0}}}
537 </div>
538
539 <div id="cubicOp35d">
540 {{{2.211416482925415, 1.6971458196640015}, {1.2938009262874868, 2.82736192888300 05}, {0.64690048634813535, 3.5876019453925414}, {0, 1}}}
541 {{{2.211416482925415, 1.6971458196640015}, {1.0082962512969971, 1.99792587757110 6}}}
542 {{{2.211416482925415, 1.6971458196640015}, {5, 1}}}
543 </div>
544
545 <div id="skpnational_com_au81">
546 {{{1110.7071533203125, 817.29290771484375}, {1110.9998779296875, 817.58587646484 375}, {1111, 818}}}
547 {{{1110.7071533203125, 817.29290771484375}, {1110.526180767307778, 817.111921450 8684081}, {1110.276144384999725, 817}, {1110, 817}}}
548 {{{1110.7071533203125, 817.29290771484375}, {1110.888097894721341, 817.473866007 1997174}, {1111, 817.7238677851287321}, {1111, 818}}}
549 {{{1110.7071533203125, 817.29290771484375}, {1110.4140625, 817.0001220703125}, { 1110, 817}}}
550 </div>
551
552 <div id="cubicOp85d">
553 {{{1.0648664236068726, 2.9606373310089111}, {0.80208036362614099, 2.793648418027 2374}, {0.49170560730211144, 2.2292640182552783}, {0, 1}}}
554 {{{1.0648664236068726, 2.9606373310089111}, {0.6261905430171294, 3.2248910899179 175}, {0.38860045191888659, 2.9430022595944321}, {0, 1}}}
555 {{{1.0648664236068726, 2.9606373310089111}, {1.4282355765013004, 3.1915423487916 69}, {1.7006143409852195, 2.6626209548338378}, {2.2355968952178955, 2.0810616016 387939}}}
556 {{{1.0648664236068726, 2.9606373310089111}, {1.3437142856601656, 2.7926622975690 494}, {1.7038131304059798, 2.4040122748806132}, {2.2355968952178955, 2.081061601 6387939}}}
557 </div>
558
559 <div id="testQuads22">
560 {{{0, 0}, {1.20000004768371582, 0.8000000119209289551}}}
561 {{{0, 0}, {2, 0}}}
562 {{{0, 0}, {0, 1}, {3, 2}}}
563 {{{0, 0}, {1, 1}}}
564 </div>
565
566 <div id="cubicOp59d">
567 {{{4, 1}, {4, 0.37698365082686142}, {4.3881493046286568, 2.4710128800004547}, {3 .4716842174530029, 2.9292664527893066}}}
568 {{{4, 1}, {0, 1}}}
569 </div>
570
571 <div id="findFirst1">
572 {{{2.5767931938171387, 0.88524383306503296}, {2.4235948002142855, 0.886925014903 84834}, {2.2328897699358898, 0.92237007668803672}, {2, 1}}}
573 {{{2.5767931938171387, 0.88524383306503296}, {1.6008643534817426, 1.160901590746 3158}, {1.1200849961943122, 1.8138386966264941}, {0.75343161821365356, 2.7170474 529266357}}}
574 {{{2.5767931938171387, 0.88524383306503296}, {4.0492746201577932, 0.869084988486 19054}, {2.0567957107800288, 3.9721309710522448}, {0.75343161821365356, 2.717047 4529266357}}}
575 {{{2.5767931938171387, 0.88524383306503296}, {3.3470152174198557, 0.667689368878 79282}, {4.4256496583071421, 0.68512993166142844}, {6, 1}}}
576 {{{2.57679319, 0.885243833}, {5.15358639, 0.885243833}}}
577 </div>
578
579 <div id="testQuads54">
580 {{1.000,1.000}, {1.500,0.500}, {1.500,0.250}}
581 {{1.000,1.000}, {1.667,0.333}}
582 {{1.000,1.000}, {2.000,3.000}}
583 </div>
584
585 <div id="testQuads45">
586 {{{3, 3}, {3, 2.7999999523162842}, {2.880000114440918, 2.6400001049041748}}}
587 {{{3, 3}, {3, 2}, {2, 0}}}
588 {{{3, 3}, {2, 0}}}
589 {{{3, 3}, {2.880000114440918, 2.6400001049041748}}}
590 </div>
591
592 <div id="testQuads59">
593 {{{3, 1}, {3, 0}}}
594 {{{3, 1}, {2.6666667461395264, 0.66666668653488159}}}
595 {{{3, 1}, {2.8000003099441542, 1.1999996900558463}, {2.6800000667572021, 1.36000 00143051147}}}
596 {{{3, 1}, {2.6666667461395264, 1.3333333730697632}}}
597 </div>
598
599 <div id="skpcarrot_is24">
600 {{{1020.08099, 672.161987}, {1020.08051, 651.450988}, {1011.68576, 632.700988}, {998.113511, 619.128738}}}
601 {{{1020.08099, 672.161987}, {1019.27607, 640.291301}, {998.113511, 619.128738}}}
602 {{{1020, 672}, {1020, 651.289307}, {1012.67767, 633.611633}, {998.03302, 618.966 98}}}
603 {{{1020, 672}, {1020, 640.93396}, {998.03302, 618.96698}}}
604 </div>
605
606 <div id="skpcarrot_is24a">
607 {{{1020, 672}, {1020, 651.289307}, {1012.67767, 633.611633}, {998.03302, 618.966 98}}}
608 {{{1020, 672}, {1020, 640.93396}, {998.03302, 618.96698}}}
609 </div>
610
611 <div id="skpcarrot_is24b">
612 {{{1020.08099, 672.161987}, {1020.08051, 651.450988}, {1011.68576, 632.700988}, {998.113511, 619.128738}}}
613 {{{1020.08099, 672.161987}, {1019.27607, 640.291301}, {998.113511, 619.128738}}}
614 </div>
615
616 <div id="skpcarrot_is24c">
617 {{{{1020.08099,672.161987}, {1020.08002,630.73999}, {986.502014,597.161987}, {94 5.080994,597.161987}}},
618 {{{1020,672}, {1020,640.93396}, {998.03302,618.96698}}},
619 </div>
620
621 <div id="skpcarrot_is24d">
622 {{{1020.08099, 672.161987}, {1019.27607, 640.291301}, {998.113511, 619.128738}}}
623 {{{1020, 672}, {1020, 640.93396}, {998.03302, 618.96698}}}
624 </div>
625
626 <div id="skpcarrot_is24e">
627 {{{{1020.08099,672.161987}, {1020.08002,630.73999}, {986.502014,597.161987}, {94 5.080994,597.161987}}},
628 {{{1020.08099, 672.161987}, {1019.27607, 640.291301}, {998.113511, 619.128738}}}
629 {{{1020, 672}, {1020, 640.93396}, {998.03302, 618.96698}}}
630 </div>
631
632 <div id="slop1">
633 {{{-378.22698974609375, -987.8935546875}, {-47.53326416015625, 482.7139892578125 }, {-626.4708251953125, -338.62969970703125}, {-847.94854736328125, -861.4223022 4609375}}}
634 {{{-378.61790442466736, -987.49146723747253}, {-282.51787429804051, -556.3906528 6764685}, {-278.55106873374694, -364.17984985308294}}}
635 {{{-305.5273847156202, -615.99979442705023}, {-305.04071954345704, -612.87932617 187505}}}
636 </div>
637
638 qT=0.98917687 cT=0.788725084 dist=312.188493 cross=-40759.4852
639 <div id="slop2">
640 {{{79.5137939,-249.867188}, {260.778931,-561.349854}, {343.375977,-472.657898}, {610.251465,97.8208008}}}
641 {{{312.993284,-406.178762}, {418.053808,-326.9483}, {610.036929,97.2408578}}}
642 {{{463.107827,-200.015424}, {602.008878,79.5702581}}}
643 </div>
644
645 qT=0.0192863061 cT=0.241285225 dist=652.007881 cross=528435.665
646 <div id="slop3">
647 {{{-895.015015,-523.545288}, {223.166992,-999.644531}, {615.428711,-767.162109}, {605.479736,480.355713}}}
648 {{{-894.932414,-523.605499}, {-66.4040558,-889.938889}, {278.515212,-667.684158} }}
649 {{{-207.851881,-740.109296}, {-831.819002,-550.955104}}}
650 </div>
651
652 qT=0.0245724525 cT=0.231316637 dist=407.103004 cross=-46286.5686
653 <div id="slop4">
654 {{{876.492798,-849.716187}, {519.430908,-288.374207}, {187.2771,314.324341}, {33 5.363403,533.086548}}}
655 {{{876.323133,-849.535824}, {594.868958,-415.229224}, {416.667192,-30.0277669}}}
656 {{{638.343827,-458.798274}, {849.023879,-807.14691}}}
657 </div>
658
659 qT=0.000316393778 cT=0.248252634 dist=489.678412 cross=-57352.7653
660 <div id="slop5">
661 {{{876.492798,-849.716187}, {519.430908,-288.374207}, {187.2771,314.324341}, {33 5.363403,533.086548}}}
662 {{{876.147506,-849.184429}, {593.963775,-414.437342}, {416.842819,-30.3791618}}}
663 {{{622.139843,-430.512844}, {876.135915,-849.166571}}}
664 </div>
665
666 qT=0.989562776 cT=0.760518485 dist=211.50589 cross=134901.42
667 <div id="slop6">
668 {{{876.492798,-849.716187}, {519.430908,-288.374207}, {187.2771,314.324341}, {33 5.363403,533.086548}}}
669 {{{416.141554,-30.4534414}, {237.846068,356.664216}, {335.719378,533.692585}}}
670 {{{305.345404,315.701195}, {331.440368,525.591152}}}
671 </div>
672
673 qT=0.0978245708 cT=0.397465904 dist=959.737748 cross=158093.403
674 <div id="slop7">
675 {{{895.800171,-222.213013}, {-528.78833,526.47644}, {-967.299927,776.05603}, {-6 11.228027,319.934814}}}
676 {{{629.666617,-82.159942}, {-661.943328,620.81113}, {-723.44072,537.121833}}}
677 {{{-347.560585,421.003177}, {507.062151,-15.707855}}}
678 </div>
679
680 qT=0.169803964 cT=0.389326872 dist=658.039939 cross=107865.424
681 <div id="slop8">
682 {{{895.800171,-222.213013}, {-528.78833,526.47644}, {-967.299927,776.05603}, {-6 11.228027,319.934814}}}
683 {{{629.536617,-81.7990275}, {-662.457623,620.485316}, {-723.31072,536.760918}}}
684 {{{-330.996421,413.091598}, {257.080063,117.824582}}}
685 </div>
686
687 qT=0.0863836955 cT=0.387901231 dist=986.24777 cross=157348.113
688 <div id="slop9">
689 {{{895.800171,-222.213013}, {-528.78833,526.47644}, {-967.299927,776.05603}, {-6 11.228027,319.934814}}}
690 {{{629.248316,-81.8984216}, {-662.339696,620.351182}, {-723.022419,536.860313}}}
691 {{{-328.058099,411.68229}, {549.399512,-38.5985162}}}
692 </div>
693
694 qT=0.175359403 cT=0.390420692 dist=640.051938 cross=105488.084
695 <div id="slop10">
696 {{{895.800171,-222.213013}, {-528.78833,526.47644}, {-967.299927,776.05603}, {-6 11.228027,319.934814}}}
697 {{{629.760605,-81.9577046}, {-661.301606,620.029216}, {-723.534707,536.919596}}}
698 {{{-333.243516,414.168229}, {238.961251,127.37878}}}
699 </div>
700
701 qT=0.0986412358 cT=0.382365595 dist=921.951857 cross=145651.761
702 <div id="slop11">
703 {{{895.800171,-222.213013}, {-528.78833,526.47644}, {-967.299927,776.05603}, {-6 11.228027,319.934814}}}
704 {{{629.919588,-82.1841825}, {-662.488256,620.04494}, {-723.693691,537.146073}}}
705 {{{-316.541641,406.142013}, {504.067361,-14.0913644}}}
706 </div>
707
708 qT=0.146746849 cT=0.391456086 dist=750.006927 cross=123679.094
709 <div id="slop12">
710 {{{895.800171,-222.213013}, {-528.78833,526.47644}, {-967.299927,776.05603}, {-6 11.228027,319.934814}}}
711 {{{629.712675,-82.0366321}, {-661.487948,620.191832}, {-723.486777,536.998523}}}
712 {{{-335.364605,415.183549}, {334.079508,77.0194322}}}
713 </div>
714
715 qT=0.00196158131 cT=0.20357489 dist=466.080185 cross=241741.95
716 <div id="slop13">
717 {{{-627.671509,-359.277039}, {222.414551,-791.598328}, {390.603027,-581.903687}, {-21.7962036,560.33728}}}
718 {{{-627.675958,-359.282959}, {-52.012535,-659.029798}, {116.967835,-524.756101}} }
719 {{{-192.427848,-541.033993}, {-622.696937,-361.871356}}}
720 </div>
721
722 qT=0.948725598 cT=0.744200608 dist=699.694313 cross=179509.878
723 <div id="slop14">
724 {{{-362.331848,427.292603}, {634.418701,-661.946533}, {438.438599,-626.147278}, {-893.060425,214.243408}}}
725 {{{259.978301,-393.549091}, {181.692599,-474.452437}, {-892.389834,213.689096}}}
726 {{{-95.1310032,-267.365579}, {-696.89984,89.6307768}}}
727 </div>
728
729 qT=0.971677129 cT=0.755306143 dist=771.998962 cross=189468.817
730 <div id="slop15">
731 {{{-362.331848,427.292603}, {634.418701,-661.946533}, {438.438599,-626.147278}, {-893.060425,214.243408}}}
732 {{{259.662278,-393.355886}, {181.612843,-473.935297}, {-892.073812,213.495892}}}
733 {{{-120.438346,-253.451518}, {-782.461182,143.673352}}}
734 </div>
735
736 qT=0.571797795 cT=0.773951562 dist=495.560209 cross=221091.889
737 <div id="slop16">
738 {{{447.192383,-883.210205}, {359.794678,-987.765808}, {755.427612,-754.328735}, {963.672119,746.545776}}}
739 {{{635.795655,-580.726915}, {810.704547,-228.491534}, {963.345162,745.921688}}}
740 {{{801.470356,-87.7105789}, {646.551495,-558.433498}}}
741 </div>
742
743 qT=0.579236693 cT=0.782683167 dist=281.750564 cross=65125.1655
744 <div id="slop17">
745 {{{-931.259155,-883.589966}, {-485.682007,-615.793701}, {-68.5913696,-928.695923 }, {431.499268,-810.584778}}}
746 {{{-177.087049,-804.265618}, {110.452267,-866.525236}, {430.718323,-810.414444}} }
747 {{{116.080189,-836.904702}, {-164.080748,-807.017753}}}
748 </div>
749
750 qT=0.0102075348 cT=0.2448024 dist=855.408492 cross=463614.179
751 <div id="slop18">
752 {{{-867.011292,844.139282}, {-136.156799,-281.244263}, {583.27771,-926.761414}, {998.710205,6.19244385}}}
753 {{{-866.7221,843.65105}, {-308.756317,-34.8353977}, {183.843514,-346.222431}}}
754 {{{-336.612013,120.039627}, {-844.283739,808.5112}}}
755 </div>
756
757 qT=0.473968306 cT=0.266805943 dist=567.851844 cross=-461509.104
758 <div id="slop19">
759 {{{-867.011292,844.139282}, {-136.156799,-281.244263}, {583.27771,-926.761414}, {998.710205,6.19244385}}}
760 {{{-867.218781,844.133445}, {-310.496711,-35.0458119}, {184.340195,-346.704825}} }
761 {{{-290.018097,66.7065093}, {132.536746,-312.639141}}}
762 </div>
763
764 qT=0.0232589401 cT=0.241085469 dist=789.989464 cross=428119.544
765 <div id="slop20">
766 {{{-867.011292,844.139282}, {-136.156799,-281.244263}, {583.27771,-926.761414}, {998.710205,6.19244385}}}
767 {{{-866.942271,843.928587}, {-309.178151,-34.0018497}, {184.063685,-346.499968}} }
768 {{{-344.507162,129.265381}, {-815.30119,763.644082}}}
769 </div>
770
771 <div id="skpnamecheap_405">
772 {{{141.008835f, 837.9646f}, {141.235291f, 1109.05884f}}}
773 {{{141, 842}, {141.14502f, 1000}}}
774 {{{141.14502f, 1000}, {140, 1000}}}
775 </div>
776
777 <div id="skpwww_dealnews_com_315">
778 {{{969.87066650390625, 4279.810546875}, {967.7166748046875, 4260}}}
779 {{{969.87066650390625, 4279.810546875}, {969.866972698829386, 4279.8092338892847 69}, {969.88751220703125, 4279.81640625}}}
780 {{{969.87066650390625, 4279.810546875}, {970, 4281}}}
781 {{{969.87066650390625, 4279.810546875}, {968.9217161046863112, 4279.473236623693 992}, {968.17156982421875, 4278.53564453125}}}
782 {{{969.8706626470486754, 4279.810469740555163}, {969.8790796016525064, 4279.8134 61598796493}, {969.88751220703125, 4279.81640625}}}
783 </div>
784
785 <div id="skpwww_dealnews_com_315_a">
786 {{{969.8706626470486754, 4279.810469740555163}, {969.8790796016525064, 4279.8134 61598796493}, {969.88751220703125, 4279.81640625}}}
787 {{{969.87066650390625, 4279.810546875}, {969.8790834585100811, 4279.813538733241 33}}}
788 {{{969.88751220703125, 4279.81640625}, {969.8790796016525064, 4279.8134615987964 93}}}
789 </div>
790
791 <div id="testQuads60">
792 {{{2, 2}, {1.977731304590550021, 1.97773134708404541}, {1.95645439624786377, 1.9 5546269416809082}}}
793 {{{2, 2}, {2, 3}}}
794 {{{2, 2}, {2, 1.960000038146972656}}}
795 {{{2, 2}, {1.955341815948486328, 1.955341815948486328}}}
796 </div>
797
798 <div id="testQuads60_a">
799 {{{2, 0}, {1, 1}, {2, 2}}}
800 {{{2, 2}, {0, 0}}}
801 </div>
802
803 <div id="testQuads60_b">
804 {{2,1}, {0,2}, {3,2}},
805 {{3,2}, {2,3}},
806 {{2,3}, {2,1}},
807 {{0,0}, {2,0}},
808 {{2,0}, {1,1}, {2,2}},
809 {{2,2}, {0,0}},
810 </div>
811
812 <div id="skpelpais_com_18">
813 {{183,8507}, {552,8506.99023}},
814 {{552,8506.99023}, {552,8508}},
815 {{552,8508}, {183,8508}},
816 {{183,8508}, {183,8507}},
817 op intersect
818 {{183,8508}, {183,8506.99023}},
819 {{183,8506.99023}, {552,8507}},
820 {{552,8507}, {552,8508}},
821 </div>
822
823 <div id="skpwww_cityads_ru_249">
824 {{{1000, 10.4003992f}, {1000, 13.3527431f}}}
825 {{{1000, 13.3527431f}, {999.917603f, 13.2607508f}, {999.82843f, 13.1715727f}}}
826 {{{1000, 13}, {999.969971f, 37.0299988f}}}
827 </div>
828
829 <div id="skpwww_maturesupertube_com_21">
830 {{{{3.87867975f, 11831.8789f}, {4.7573595f, 11831}, {6, 11831}}},
831 {{{2, 11830}, {4.5f, 11832.5f}}}},
832 </div>
833
834 <div id="loop1">
835 {{1, 4, 2, 6, 0, 5, 4.5f, 4.33333302f
836 {{2, 6, 0, 5, 4.5f, 4.33333302f, 1, 4
837 {{{3, 5}, {2.33333325f, 4.33333349f}, {3.83333325f, 3.83333349f}, {2, 4}}}
838 {{{2, 4}, {3, 5}, {2.33333325f, 4.33333349f}, {3.83333325f, 3.83333349f}}}
839 </div>
840
841 <div id="serp1">
842 {{{0.55431359440952721, 2.1086271888190544}, {0.1588954256872922, 2.307831598814 1811}, {0.57446808656344528, 2.1489361731268914}, {0, 1}}}
843 {{{0.55431359440952721, 2.1086271888190544}, {0.1588954256872922, 2.307831598814 1811}, {0.57446808656344528, 2.1489361731268914}, {0, 1}}}
844 </div>
845 <div id="serp2">
846 {{{4.0946656649135988, 3.283996994740797}, {4.1983471074380168, 2.10743801652892 59}, {4.5454545454545459, 1.3636363636363635}, {4, 3}}}
847 {{{4.0946656649135988, 3.283996994740797}, {4.1983471074380168, 2.10743801652892 59}, {4.5454545454545459, 1.3636363636363635}, {4, 3}}}
848 </div>
849 <div id="serp3">
850 {{{2.2015477442471254, 1.1371488033013577}, {2.3167674423028526, 0.6832325576971 4741}, {2.4076432497431028, 0.59235675025689716}, {2, 1}}}
851 {{{2.2015477442471254, 1.1371488033013577}, {2.3167674423028526, 0.6832325576971 4741}, {2.4076432497431028, 0.59235675025689716}, {2, 1}}}
852 </div>
853
854 <div id="skpwww_seopack_blogspot_com_2153">
855 {{{924, 245.472672f}, {1143, 247}}}
856 {{{1000, 246}, {927.340759f, 245.505722f}}}
857 {{{999.892212f, 246}, {927.340759f, 245.505722f}}}
858 </div>
859
860 <div id="self1">
861 {{{2, 3}, {0, 4}, {3, 2}, {5, 3}}}
862 {{{2, 3}, {0, 4}, {3, 2}, {5, 3}}}
863 </div>
864
865 <div id="skpwww_pindosiya_com_99">
866 {{{901.0869140625, 547}, {899, 556}}}
867 {{{900.0235595703125, 551.60284423828125}, {900.06072998046875, 551.297058105468 75}, {900.15655517578125, 551.0157470703125}}}
868 </div>
869
870 <div id="cubicLineMiss1">
871 {{{-634.60540771484375, -481.262939453125}, {266.2696533203125, -752.70867919921 875}, {-751.8370361328125, -317.37921142578125}, {-969.7427978515625, 824.725585 9375}}}
872 {{{-287.9506133720805678, -557.1376476615772617}, {-285.9506133720805678, -557.1 376476615772617}}}
873 </div>
874
875 <div id="cubicLineMiss2">
876 {{{-818.4456787109375, 248.218017578125}, {944.18505859375, -252.2330322265625}, {957.3946533203125, -45.43280029296875}, {-591.766357421875, 868.6187744140625} }}
877 {{{435.1963493079119871, -16.42683763243891093}, {437.1963493079119871, -16.4268 3763243891093}}}
878 </div>
879
880 <div id="cubicLineMiss3">
881 {{{-818.4456787109375, 248.218017578125}, {944.18505859375, -252.2330322265625}, {957.3946533203125, -45.43280029296875}, {-591.766357421875, 868.6187744140625} }}
882 {{{397.5007682490800676, -17.35020084021140008}, {399.5007682490800676, -17.3502 0084021140008}}}
883 </div>
884
885 <div id="cubicLineMiss4">
886 {{{-652.660888671875, -384.6475830078125}, {-551.7723388671875, -925.50256347656 25}, {-321.06658935546875, -813.10345458984375}, {142.6982421875, -47.4503173828 125}}}
887 {{{-478.4372049758064236, -717.868282575075682}, {-476.4372049758064236, -717.86 8282575075682}}}
888 </div>
889
890 <div id="cubicLineErr1">
891 {{{-954.4322509765625, 827.2216796875}, {-420.24017333984375, -7.80560302734375} , {799.134765625, -971.4295654296875}, {-556.23486328125, 344.400146484375}}}
892
893 {{{58.57411390280688579, -302.8879316712078662}, {60.57411390280688579, -302.887 9316712078662}}}
894 </div>
895
896 <div id="cubicLineErr2">
897 {{{-634.60540771484375, -481.262939453125}, {266.2696533203125, -752.70867919921 875}, {-751.8370361328125, -317.37921142578125}, {-969.7427978515625, 824.725585 9375}}}
898 {{{-287.95061337208057, -557.13764766157726}, {-285.95061337208057, -557.1376476 6157726}}}
899 {{{-308.65463091760211, -549.4520029924679} -308.65463091760211, -569.4520029924 679
900 </div>
901
902 <div id="skpwww_educationalcraft_com_4">
903 {{{974.91998291015625, 1481.7769775390625}, {974.91998291015625, 1481.7760009765 625}, {977.3189697265625, 1484.6190185546875}, {975.10699462890625, 1486.9780273 4375}}}
904 {{fX=974.91998291015625 fY=1481.7769775390625 }, {fX=974.92071342468262 fY=1481. 7972941398621 }} }
905 </div>
906
907 <div id="skpwww_educationalcraft_com_4a">
908 {{{962.10699462890625, 1485.654052734375}, {962.10699462890625, 1485.65405273437 5}, {960.58502197265625, 1483.595947265625}, {957.53900146484375, 1482.097045898 4375}}}
909 {{{963.21502685546875, 1486.6700439453125}, {962.7449951171875, 1486.67004394531 25}, {962.10699462890625, 1485.654052734375}, {962.10699462890625, 1485.65405273 4375}}}
910 </div>
911
912 <div id="skpwww_educationalcraft_com_4b">
913 {{{980.9000244140625, 1474.3280029296875}, {980.9000244140625, 1474.328002929687 5}, {978.89300537109375, 1471.95703125}, {981.791015625, 1469.487060546875}}}
914 {{{981.791015625, 1469.487060546875}, {981.791015625, 1469.4859619140625}, {983. 3580322265625, 1472.72900390625}, {980.9000244140625, 1474.3280029296875}}}
915 </div>
916
917 <div id="skpwww_aceinfographics_com_106">
918 {{{168, 29.6722088f}, {166, 29.6773338f}}}
919 {{{166.878677f, 29.6750813f}, {167.388f, 29.6763878f}, {168.019989f, 29.6769352f }}}
920 </div>
921
922 <div id="skpwww_tcmevents_org_13">
923 {{{465.84668f, 547.288391f}, {467.274506f, 552.852356f}, {468.506836f, 560.71856 7f}}}
924 {{{468.506836f, 560.718567f}, {467.336121f, 553.24585f}, {465.951904f, 547.96014 4f}}
925 </div>
926
927 <div id="skpwww_kitcheninspirations_wordpress_com_66">
928 {{{60.8333359f, 27820.498f}, {47.1666679f, 27820.5f}}}
929 {{{60.8333359f, 27820.668f}, {60.8333359f, 27820.498f}}}
930 {{{47.1666679f, 27820.498f}, {60.8333359f, 27820.5f}}}
931 {{{60.8333359f, 27820.5f}, {60.8333359f, 27820.668f}}}
932 </div>
933
934 <div id="skpwww_galaxystwo_com_4">
935 {{{10105, 2510}, {10123, 2509.98999f}}}
936 {{{10105, 2509.98999f}, {10123, 2510}}}
937 </div>
938
939 <div id="skpwww_wartepop_blogspot_com_br_6">
940 {{{124.666672f, 152.333344f}, {125.909309f, 152.333344f}, {126.787994f, 153.3096 62f}}}
941 {{fX=124.66666412353516 fY=152.33334350585937 }, {fX=126.78799438476562 fY=153.3 0966186523437 }} }
942 {{fX=124.66666412353516 fY=152.33334350585937 }, {fX=127.02368927001953 fY=153.3 0966186523437 }} }
943 </div>
944
945 <div id="skpwww_wartepop_blogspot_com_br_6a">
946 {{{124.666672f, 152.333344f}, {125.909309f, 152.333344f}, {126.787994f, 153.3096 62f}}}
947 {{fX=124.66667175292969 fY=152.33334350585937 }, {fX=126.78799438476562 fY=153.3 0966186523437 }} }
948 {{fX=124.66667175292969 fY=152.33334350585937 }, {fX=127.02368927001953 fY=153.3 0966186523437 }} }
949 </div>
950
951 <div id="skpcarrot_is24x">
952 {{{1020.08099, 672.16198699999995}, {1020.08002, 630.73999000000003}, {986.50201 400000003, 597.16198699999995}, {945.08099400000003, 597.16198699999995}}}
953 {{{1020, 672}, {1020, 640.93395999999996}, {998.03301999999996, 618.966980000000 04}}}
954 </div>
955
956 <div id="skpwww_9to5mac_com_64">
957 {{{{365.848175,5081.15186}, {368,5103}}},
958 {{{367.967712,5102.61084}, {368.278717,5105.71045}}}},
959 </div>
960
961 <div id="issue2753">
962 {{50.6,117.001}, {50.6,117.001}, {164.601,85.2}, {188.201,117.601}},
963 {{188.201,117.601}, {188.201,117.601}, {174.801,93}, {39,124.001}},
964 computed quadratics set
965 {{50.6,117.001}, {52.4926111,116.112083}, {81.0298889,109.956333}},
966 {{81.0298889,109.956333}, {109.567167,103.800583}, {142.037778,103.045}},
967 {{142.037778,103.045}, {174.508389,102.289417}, {188.201,117.601}},
968 computed quadratics set
969 {{188.201,117.601}, {189.210269,116.85838}, {179.697259,112.371148}},
970 {{179.697259,112.371148}, {170.18425,107.883917}, {138.037741,108.563519}},
971 {{138.037741,108.563519}, {105.891231,109.24312}, {39,124.001}},
972 </div>
973
974 <div id="battle6001">
975 {{{0.111722f, -59.999897f}, {0.0895366594f, -59.999939f}, {0.0673542097f, -59.99 99695f}, {0.0451717526f, -59.9999847f}}}
976 {{{0.0451734141f, -59.9999847f}, {0.0438041016f, -59.9999886f}, {0.0424379632f, -59.9999886f}, {0.0410718247f, -59.9999886f}}}
977 </div>
978
979 <div id="fuzz763_3084">
980 {{{38.6568527f, 27.3431454f}, {41, 29.6862907f}, {41, 33}}}
981 {{{39.131218f, 27.8554096f}, {41, 30.0406685f}, {41, 33}}}
982 {{{44.6041069f, 27.9369583f}, {41.8078537f, 28.9057903f}, {39.131218f, 27.855409 6f}}}
983 </div>
984
985 <div id="fuzz763_378">
986 {{{-52.8062439,14.1493912}, {-53.6638947,10.948595}, {-52.0070419,8.07883835}}
987 {{-52.8054848,14.1522331}, {-53.6633072,10.9514809}, {-52.0066071,8.08163643}}
988 </div>
989
990 <div id="fuzz763_378d">
991 {{{-37.351398500000002, 10.0082998}, {-36.493801099999999, 13.209099800000001}, {-38.150600400000002, 16.0788002}}
992 {{-37.350898700000002, 10.010299699999999}, {-36.493099200000003, 13.2110004}, { -38.149799299999998, 16.080900199999999}}}
993 {{-37.320497331221297, 10.126736679362402}, {-37.320543141534543 fY=10.126556206 903867 }}
994 {{-37.514829818825397, 14.722977321623326}, {=-37.514249241879924 fY=14.72546489 2492159 }}
995 </div>
996
997 <div id="fuzz763_6411089">
998 {{38.5810318, 38.7318115}, {38.5877266, 38.7252655}, {38.5931816, 38.7199173}}
999 {{38.5931816, 38.7199173}, {38.5880508, 38.7249527}, {38.5810318, 38.7318115}}
209 </div> 1000 </div>
210 1001
211 </div> 1002 </div>
212 1003
213 <script type="text/javascript"> 1004 <script type="text/javascript">
214 1005
215 var testDivs = [ 1006 var testDivs = [
216 sect1, 1007 fuzz763_6411089,
217 sect2, 1008 fuzz763_378d,
218 sect3, 1009 fuzz763_378,
219 sect4, 1010 fuzz763_3084,
220 sect5, 1011 battle6001,
221 sect6, 1012 issue2753,
222 sect7, 1013 skpwww_9to5mac_com_64,
223 sect8, 1014 skpcarrot_is24x,
224 sect9, 1015 skpwww_wartepop_blogspot_com_br_6,
225 sect10, 1016 skpwww_wartepop_blogspot_com_br_6a,
226 sect11, 1017 skpwww_galaxystwo_com_4,
227 sect12, 1018 skpwww_kitcheninspirations_wordpress_com_66,
228 sect13, 1019 skpwww_tcmevents_org_13,
229 sect14, 1020 skpwww_aceinfographics_com_106,
230 sect15, 1021 skpwww_educationalcraft_com_4b,
231 sect16, 1022 skpwww_educationalcraft_com_4a,
232 sect17, 1023 skpwww_educationalcraft_com_4,
233 sect18, 1024 cubicLineErr2,
234 sect19, 1025 cubicLineErr1,
235 sect20, 1026 cubicLineMiss1,
236 sect21, 1027 cubicLineMiss2,
237 sect22, 1028 cubicLineMiss3,
238 sect23, 1029 cubicLineMiss4,
239 sect24, 1030 skpwww_pindosiya_com_99,
240 sect25, 1031 self1,
241 sect26, 1032 skpwww_seopack_blogspot_com_2153,
242 sect27, 1033 serp1,
243 sect28, 1034 serp2,
244 sect29, 1035 serp3,
245 sect30, 1036 loop1,
246 sect31, 1037 skpwww_maturesupertube_com_21,
247 sect32, 1038 skpwww_cityads_ru_249,
248 sect33, 1039 skpelpais_com_18,
249 sect34, 1040 testQuads60_b,
250 sect35, 1041 testQuads60_a,
251 sect36, 1042 testQuads60,
252 1043 skpwww_dealnews_com_315_a,
253 1044 skpwww_dealnews_com_315,
1045 skpnamecheap_405,
1046 slop1,
1047 slop2,
1048 slop3,
1049 slop4,
1050 slop5,
1051 slop6,
1052 slop7,
1053 slop8,
1054 slop9,
1055 slop10,
1056 slop11,
1057 slop12,
1058 slop13,
1059 slop14,
1060 slop15,
1061 slop16,
1062 slop17,
1063 slop18,
1064 slop19,
1065 slop20,
1066 skpcarrot_is24e,
1067 skpcarrot_is24d,
1068 skpcarrot_is24c,
1069 skpcarrot_is24b,
1070 skpcarrot_is24a,
1071 skpcarrot_is24,
1072 testQuads59,
1073 testQuads45,
1074 testQuads54,
1075 findFirst1,
1076 cubicOp59d,
1077 testQuads22,
1078 cubicOp85d,
1079 cubicOp104,
1080 skpnational_com_au81,
1081 cubicOp35d,
1082 testQuad23,
1083 testQuad22,
1084 testQuad21,
1085 testQuad15,
1086 testQuadratic56,
1087 xop1i,
1088 xOp2i,
1089 xop1u,
1090 skpwww_joomla_org_23,
1091 cubicOp109,
1092 cubicOp106,
1093 cubicOp105,
1094 carpetplanet1,
1095 eldorado1,
1096 cubicOp25i,
1097 cubicOp7d,
1098 simplifyQuadratic27,
1099 simplifyQuadratic56a,
1100 simplifyQuadratic56,
1101 quadratic58again,
1102 simplifyQuadratic58a,
1103 simplifyQuadratic58,
1104 simplifyQuadratic36,
1105 quad89987,
1106 quad8741,
1107 quad8b,
1108 quad8a,
1109 quad208,
1110 quad67242,
1111 quad37226,
1112 quad35237,
1113 quad108,
1114 quad212,
1115 quad3160,
1116 quad640,
1117 quad206,
1118 quad136,
1119 quad113,
1120 quad999,
1121 quad0,
1122 quad179,
1123 quad4a,
1124 quad94,
1125 quad77,
1126 quad22a,
1127 quad14a,
1128 quad809,
1129 quad653,
1130 quad584,
1131 quad413,
1132 quad379,
1133 quad159,
1134 quad232,
1135 quad40,
1136 quad39,
1137 quad38,
1138 quad37,
1139 quad36,
1140 quad35,
1141 quad34,
1142 quad33,
1143 quad32,
1144 quad31,
1145 quad30,
1146 quad29,
1147 quad28,
1148 quad27,
1149 quad26,
1150 quad25,
1151 quad24,
1152 quad23,
1153 quad22,
1154 quad21,
1155 quad20,
1156 quad19,
1157 quad18,
1158 quad17,
1159 quad16,
1160 quad15,
1161 quad14,
1162 quad13,
1163 quad12,
1164 quad11,
1165 cubic2,
1166 cubic1,
1167 quad1,
1168 quad2,
1169 quad3,
1170 quad4,
1171 quad5,
1172 quad6,
1173 quad7,
1174 quad8,
1175 quad9,
1176 quad10,
254 ]; 1177 ];
255 1178
256 var decimal_places = 3;
257
258 var tests = []; 1179 var tests = [];
259 var testTitles = []; 1180 var testTitles = [];
260 var testIndex = 0; 1181 var testIndex = 0;
261 var ctx; 1182 var ctx;
262
263 var subscale = 1; 1183 var subscale = 1;
264 var xmin, xmax, ymin, ymax; 1184 var xmin, xmax, ymin, ymax;
265 var scale; 1185 var scale;
266 var initScale; 1186 var initScale;
267 var mouseX, mouseY; 1187 var mouseX, mouseY;
268 var mouseDown = false; 1188 var mouseDown = false;
269 var srcLeft, srcTop; 1189 var srcLeft, srcTop;
270 var screenWidth, screenHeight; 1190 var screenWidth, screenHeight;
271 var drawnPts; 1191 var drawnPts;
272 var curveT = 0; 1192 var curveT = 0;
273 1193
274 var lastX, lastY; 1194 var lastX, lastY;
275 var activeCurve = []; 1195 var activeCurve = [];
276 var activePt; 1196 var activePt;
277 var ids = [];
278 1197
279 var focus_on_selection = 0; 1198 var decimal_places = 3;
1199
280 var draw_t = false; 1200 var draw_t = false;
281 var draw_closest_t = false; 1201 var draw_closest_t = false;
282 var draw_cubic_red = false; 1202 var draw_cubic_red = false;
283 var draw_derivative = false; 1203 var draw_derivative = false;
284 var draw_endpoints = 2; 1204 var draw_endpoints = true;
285 var draw_id = false;
286 var draw_midpoint = 0; 1205 var draw_midpoint = 0;
287 var draw_mouse_xy = false; 1206 var draw_mouse_xy = false;
288 var draw_order = false; 1207 var draw_order = false;
289 var draw_point_xy = false; 1208 var draw_point_xy = false;
290 var draw_ray_intersect = false; 1209 var draw_ray_intersect = false;
291 var draw_quarterpoint = 0; 1210 var draw_quarterpoint = 0;
292 var draw_tangents = 1; 1211 var draw_tangents = 1;
293 var draw_sortpoint = 0; 1212 var draw_sortpoint = 0;
294 var retina_scale = !!window.devicePixelRatio; 1213 var retina_scale = !!window.devicePixelRatio;
295 1214
296 function parse(test, title) { 1215 function parse(test, title) {
297 var curveStrs = test.split("{{"); 1216 var curveStrs = test.split("{{");
298 var pattern = /-?\d+\.*\d*e?-?\d*/g; 1217 var pattern = /-?\d+\.*\d*e?-?\d*/g;
299 var curves = []; 1218 var curves = [];
300 for (var c in curveStrs) { 1219 for (var c in curveStrs) {
301 var curveStr = curveStrs[c]; 1220 var curveStr = curveStrs[c];
302 var idPart = curveStr.split("id=");
303 var id = -1;
304 if (idPart.length == 2) {
305 id = parseInt(idPart[1]);
306 curveStr = idPart[0];
307 }
308 var points = curveStr.match(pattern); 1221 var points = curveStr.match(pattern);
309 var pts = []; 1222 var pts = [];
310 for (var wd in points) { 1223 for (var wd in points) {
311 var num = parseFloat(points[wd]); 1224 var num = parseFloat(points[wd]);
312 if (isNaN(num)) continue; 1225 if (isNaN(num)) continue;
313 pts.push(num); 1226 pts.push(num);
314 } 1227 }
315 if (pts.length > 2) { 1228 if (pts.length > 2)
316 curves.push(pts); 1229 curves.push(pts);
317 }
318 if (id >= 0) {
319 ids.push(id);
320 ids.push(pts);
321 }
322 } 1230 }
323 if (curves.length >= 1) { 1231 if (curves.length >= 1) {
324 tests.push(curves); 1232 tests.push(curves);
325 testTitles.push(title); 1233 testTitles.push(title);
326 } 1234 }
327 } 1235 }
328 1236
329 function init(test) { 1237 function init(test) {
330 var canvas = document.getElementById('canvas'); 1238 var canvas = document.getElementById('canvas');
331 if (!canvas.getContext) return; 1239 if (!canvas.getContext) return;
(...skipping 17 matching lines...) Expand all
349 for (var curves in test) { 1257 for (var curves in test) {
350 var curve = test[curves]; 1258 var curve = test[curves];
351 var last = curve.length; 1259 var last = curve.length;
352 for (var idx = 0; idx < last; idx += 2) { 1260 for (var idx = 0; idx < last; idx += 2) {
353 xmin = Math.min(xmin, curve[idx]); 1261 xmin = Math.min(xmin, curve[idx]);
354 xmax = Math.max(xmax, curve[idx]); 1262 xmax = Math.max(xmax, curve[idx]);
355 ymin = Math.min(ymin, curve[idx + 1]); 1263 ymin = Math.min(ymin, curve[idx + 1]);
356 ymax = Math.max(ymax, curve[idx + 1]); 1264 ymax = Math.max(ymax, curve[idx + 1]);
357 } 1265 }
358 } 1266 }
359 xmin -= Math.min(1, Math.max(xmax - xmin, ymax - ymin)); 1267 xmin -= 1;
360 var testW = xmax - xmin; 1268 var testW = xmax - xmin;
361 var testH = ymax - ymin; 1269 var testH = ymax - ymin;
362 subscale = 1; 1270 subscale = 1;
363 while (testW * subscale < 0.1 && testH * subscale < 0.1) { 1271 while (testW * subscale < 0.1 && testH * subscale < 0.1) {
364 subscale *= 10; 1272 subscale *= 10;
365 } 1273 }
366 while (testW * subscale > 10 && testH * subscale > 10) { 1274 while (testW * subscale > 10 && testH * subscale > 10) {
367 subscale /= 10; 1275 subscale /= 10;
368 } 1276 }
369 setScale(xmin, xmax, ymin, ymax); 1277 setScale(xmin, xmax, ymin, ymax);
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 (curve[2] - srcLeft) * scale, (curve[3] - srcTop) * scale, 1789 (curve[2] - srcLeft) * scale, (curve[3] - srcTop) * scale,
882 (curve[4] - srcLeft) * scale, (curve[5] - srcTop) * scale, 1790 (curve[4] - srcLeft) * scale, (curve[5] - srcTop) * scale,
883 (curve[6] - srcLeft) * scale, (curve[7] - srcTop) * scale); 1791 (curve[6] - srcLeft) * scale, (curve[7] - srcTop) * scale);
884 } 1792 }
885 if (draw_cubic_red ? curve.length == 8 : firstInside == curves) { 1793 if (draw_cubic_red ? curve.length == 8 : firstInside == curves) {
886 ctx.strokeStyle = "rgba(255,0,0, 1)"; 1794 ctx.strokeStyle = "rgba(255,0,0, 1)";
887 } else { 1795 } else {
888 ctx.strokeStyle = "rgba(0,0,255, 1)"; 1796 ctx.strokeStyle = "rgba(0,0,255, 1)";
889 } 1797 }
890 ctx.stroke(); 1798 ctx.stroke();
891 if (draw_endpoints > 0) { 1799 if (draw_endpoints) {
892 drawPoint(curve[0], curve[1]); 1800 drawPoint(curve[0], curve[1]);
893 if (draw_endpoints > 1 || curve.length == 4) { 1801 drawPoint(curve[2], curve[3]);
894 drawPoint(curve[2], curve[3]); 1802 if (curve.length > 4) drawPoint(curve[4], curve[5]);
895 } 1803 if (curve.length > 6) drawPoint(curve[6], curve[7]);
896 if (curve.length == 6 || (draw_endpoints > 1 && curve.length == 8)) {
897 drawPoint(curve[4], curve[5]);
898 }
899 if (curve.length == 8) drawPoint(curve[6], curve[7]);
900 } 1804 }
901 if (draw_midpoint != 0) { 1805 if (draw_midpoint != 0) {
902 if ((curves == 0) == (midLeft == 0)) { 1806 if ((curves == 0) == (midLeft == 0)) {
903 ctx.strokeStyle = "rgba(0,180,127, 0.6)"; 1807 ctx.strokeStyle = "rgba(0,180,127, 0.6)";
904 } else { 1808 } else {
905 ctx.strokeStyle = "rgba(127,0,127, 0.6)"; 1809 ctx.strokeStyle = "rgba(127,0,127, 0.6)";
906 } 1810 }
907 var midX = x_at_t(curve, 0.5); 1811 var midX = x_at_t(curve, 0.5);
908 var midY = y_at_t(curve, 0.5); 1812 var midY = y_at_t(curve, 0.5);
909 drawPointSolid(midX, midY); 1813 drawPointSolid(midX, midY);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
991 if (!approximately_zero(scale - initScale)) { 1895 if (!approximately_zero(scale - initScale)) {
992 ctx.font = "normal 20px Arial"; 1896 ctx.font = "normal 20px Arial";
993 ctx.fillStyle = "rgba(0,0,0, 0.3)"; 1897 ctx.fillStyle = "rgba(0,0,0, 0.3)";
994 ctx.textAlign = "right"; 1898 ctx.textAlign = "right";
995 ctx.fillText(scale.toFixed(decimal_places) + 'x', 1899 ctx.fillText(scale.toFixed(decimal_places) + 'x',
996 screenWidth - 10, screenHeight - 5); 1900 screenWidth - 10, screenHeight - 5);
997 } 1901 }
998 if (draw_t) { 1902 if (draw_t) {
999 drawPointAtT(curve); 1903 drawPointAtT(curve);
1000 } 1904 }
1001 if (draw_id) {
1002 var id = -1;
1003 for (var i = 0; i < ids.length; i += 2) {
1004 if (ids[i + 1] == curve) {
1005 id = ids[i];
1006 break;
1007 }
1008 }
1009 if (id >= 0) {
1010 var px = x_at_t(curve, 0.5);
1011 var py = y_at_t(curve, 0.5);
1012 var _px = (px - srcLeft) * scale;
1013 var _py = (py - srcTop) * scale;
1014 ctx.beginPath();
1015 ctx.arc(_px, _py, 15, 0, Math.PI * 2, true);
1016 ctx.closePath();
1017 ctx.fillStyle = "white";
1018 ctx.fill();
1019 ctx.strokeStyle = "rgba(255,0,0, 1)";
1020 ctx.fillStyle = "rgba(255,0,0, 1)";
1021 ctx.stroke();
1022 ctx.font = "normal 16px Arial";
1023 ctx.textAlign = "center";
1024 ctx.fillText(id, _px, _py + 5);
1025 }
1026 }
1027 } 1905 }
1028 if (draw_t) { 1906 if (draw_t) {
1029 drawCurveTControl(); 1907 drawCurveTControl();
1030 } 1908 }
1031 } 1909 }
1032 1910
1033 function drawCurveTControl() { 1911 function drawCurveTControl() {
1034 ctx.lineWidth = 2; 1912 ctx.lineWidth = 2;
1035 ctx.strokeStyle = "rgba(0,0,0, 0.3)"; 1913 ctx.strokeStyle = "rgba(0,0,0, 0.3)";
1036 ctx.beginPath(); 1914 ctx.beginPath();
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1069 } 1947 }
1070 return true; 1948 return true;
1071 } 1949 }
1072 1950
1073 function drawTop() { 1951 function drawTop() {
1074 init(tests[testIndex]); 1952 init(tests[testIndex]);
1075 redraw(); 1953 redraw();
1076 } 1954 }
1077 1955
1078 function redraw() { 1956 function redraw() {
1079 if (focus_on_selection > 0) {
1080 var focusXmin = focusYmin = Infinity;
1081 var focusXmax = focusYmax = -Infinity;
1082 var choice = 0;
1083 for (var curves in tests[testIndex]) {
1084 if (++choice != focus_on_selection) {
1085 continue;
1086 }
1087 var curve = tests[testIndex][curves];
1088 var last = curve.length;
1089 for (var idx = 0; idx < last; idx += 2) {
1090 focusXmin = Math.min(focusXmin, curve[idx]);
1091 focusXmax = Math.max(focusXmax, curve[idx]);
1092 focusYmin = Math.min(focusYmin, curve[idx + 1]);
1093 focusYmax = Math.max(focusYmax, curve[idx + 1]);
1094 }
1095 }
1096 focusXmin -= Math.min(1, Math.max(focusXmax - focusXmin, focusYmax - focusYmin));
1097 if (focusXmin < focusXmax && focusYmin < focusYmax) {
1098 setScale(focusXmin, focusXmax, focusYmin, focusYmax);
1099 }
1100 }
1101 ctx.beginPath(); 1957 ctx.beginPath();
1102 ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height); 1958 ctx.rect(0, 0, ctx.canvas.width, ctx.canvas.height);
1103 ctx.fillStyle = "white"; 1959 ctx.fillStyle = "white";
1104 ctx.fill(); 1960 ctx.fill();
1105 draw(tests[testIndex], testTitles[testIndex]); 1961 draw(tests[testIndex], testTitles[testIndex]);
1106 } 1962 }
1107 1963
1108 function doKeyPress(evt) { 1964 function doKeyPress(evt) {
1109 var char = String.fromCharCode(evt.charCode); 1965 var char = String.fromCharCode(evt.charCode);
1110 var focusWasOn = false;
1111 switch (char) { 1966 switch (char) {
1112 case '0': 1967 case '0':
1113 case '1': 1968 case '1':
1114 case '2': 1969 case '2':
1115 case '3': 1970 case '3':
1116 case '4': 1971 case '4':
1117 case '5': 1972 case '5':
1118 case '6': 1973 case '6':
1119 case '7': 1974 case '7':
1120 case '8': 1975 case '8':
1121 case '9': 1976 case '9':
1122 decimal_places = char - '0'; 1977 decimal_places = char - '0';
1123 redraw(); 1978 redraw();
1124 break; 1979 break;
1125 case '-': 1980 case '-':
1126 focusWasOn = focus_on_selection; 1981 scale /= 2;
1127 if (focusWasOn) {
1128 focus_on_selection = false;
1129 scale /= 1.2;
1130 } else {
1131 scale /= 2;
1132 }
1133 calcLeftTop(); 1982 calcLeftTop();
1134 redraw(); 1983 redraw();
1135 focus_on_selection = focusWasOn;
1136 break; 1984 break;
1137 case '=': 1985 case '=':
1138 case '+': 1986 case '+':
1139 focusWasOn = focus_on_selection; 1987 scale *= 2;
1140 if (focusWasOn) {
1141 focus_on_selection = false;
1142 scale *= 1.2;
1143 } else {
1144 scale *= 2;
1145 }
1146 calcLeftTop(); 1988 calcLeftTop();
1147 redraw(); 1989 redraw();
1148 focus_on_selection = focusWasOn;
1149 break; 1990 break;
1150 case 'b': 1991 case 'b':
1151 draw_cubic_red ^= true; 1992 draw_cubic_red ^= true;
1152 redraw(); 1993 redraw();
1153 break; 1994 break;
1154 case 'c': 1995 case 'c':
1155 drawTop(); 1996 drawTop();
1156 break; 1997 break;
1157 case 'd': 1998 case 'd':
1158 var test = tests[testIndex]; 1999 var test = tests[testIndex];
1159 var testClone = []; 2000 var testClone = [];
1160 for (var curves in test) { 2001 for (var curves in test) {
1161 var c = test[curves]; 2002 var c = test[curves];
1162 var cClone = []; 2003 var cClone = [];
1163 for (var index = 0; index < c.length; ++index) { 2004 for (var index = 0; index < c.length; ++index) {
1164 cClone.push(c[index]); 2005 cClone.push(c[index]);
1165 } 2006 }
1166 testClone.push(cClone); 2007 testClone.push(cClone);
1167 } 2008 }
1168 tests.push(testClone); 2009 tests.push(testClone);
1169 testTitles.push(testTitles[testIndex] + " copy"); 2010 testTitles.push(testTitles[testIndex] + " copy");
1170 testIndex = tests.length - 1; 2011 testIndex = tests.length - 1;
1171 redraw(); 2012 redraw();
1172 break; 2013 break;
1173 case 'e': 2014 case 'e':
1174 draw_endpoints = (draw_endpoints + 1) % 3; 2015 draw_endpoints ^= true;
1175 redraw(); 2016 redraw();
1176 break; 2017 break;
1177 case 'f': 2018 case 'f':
1178 draw_derivative ^= true; 2019 draw_derivative ^= true;
1179 redraw(); 2020 redraw();
1180 break; 2021 break;
1181 case 'i': 2022 case 'i':
1182 draw_ray_intersect = (draw_ray_intersect + 1) % 3; 2023 draw_ray_intersect = (draw_ray_intersect + 1) % 3;
1183 redraw(); 2024 redraw();
1184 break; 2025 break;
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 redraw(); 2101 redraw();
1261 break; 2102 break;
1262 case 'y': 2103 case 'y':
1263 draw_mouse_xy ^= true; 2104 draw_mouse_xy ^= true;
1264 redraw(); 2105 redraw();
1265 break; 2106 break;
1266 case '\\': 2107 case '\\':
1267 retina_scale ^= true; 2108 retina_scale ^= true;
1268 drawTop(); 2109 drawTop();
1269 break; 2110 break;
1270 case '`':
1271 ++focus_on_selection;
1272 if (focus_on_selection >= tests[testIndex].length) {
1273 focus_on_selection = 0;
1274 }
1275 setScale(xmin, xmax, ymin, ymax);
1276 redraw();
1277 break;
1278 case '.':
1279 draw_id ^= true;
1280 redraw();
1281 break;
1282 } 2111 }
1283 } 2112 }
1284 2113
1285 function doKeyDown(evt) { 2114 function doKeyDown(evt) {
1286 var char = evt.keyCode; 2115 var char = evt.keyCode;
1287 var preventDefault = false; 2116 var preventDefault = false;
1288 switch (char) { 2117 switch (char) {
1289 case 37: // left arrow 2118 case 37: // left arrow
1290 if (evt.shiftKey) { 2119 if (evt.shiftKey) {
1291 testIndex -= 9; 2120 testIndex -= 9;
1292 } 2121 }
1293 if (--testIndex < 0) 2122 if (--testIndex < 0)
1294 testIndex = tests.length - 1; 2123 testIndex = tests.length - 1;
1295 if (evt.ctrlKey) { 2124 drawTop();
1296 redraw();
1297 } else {
1298 drawTop();
1299 }
1300 preventDefault = true; 2125 preventDefault = true;
1301 break; 2126 break;
1302 case 39: // right arrow 2127 case 39: // right arrow
1303 if (evt.shiftKey) { 2128 if (evt.shiftKey) {
1304 testIndex += 9; 2129 testIndex += 9;
1305 } 2130 }
1306 if (++testIndex >= tests.length) 2131 if (++testIndex >= tests.length)
1307 testIndex = 0; 2132 testIndex = 0;
1308 if (evt.ctrlKey) { 2133 drawTop();
1309 redraw();
1310 } else {
1311 drawTop();
1312 }
1313 preventDefault = true; 2134 preventDefault = true;
1314 break; 2135 break;
1315 } 2136 }
1316 if (preventDefault) { 2137 if (preventDefault) {
1317 evt.preventDefault(); 2138 evt.preventDefault();
1318 return false; 2139 return false;
1319 } 2140 }
1320 return true; 2141 return true;
1321 } 2142 }
1322 2143
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1430 <body onLoad="start();"> 2251 <body onLoad="start();">
1431 2252
1432 <canvas id="canvas" width="750" height="500" 2253 <canvas id="canvas" width="750" height="500"
1433 onmousedown="mouseDown = true" 2254 onmousedown="mouseDown = true"
1434 onmouseup="mouseDown = false" 2255 onmouseup="mouseDown = false"
1435 onmousemove="handleMouseOver()" 2256 onmousemove="handleMouseOver()"
1436 onclick="handleMouseClick()" 2257 onclick="handleMouseClick()"
1437 ></canvas > 2258 ></canvas >
1438 </body> 2259 </body>
1439 </html> 2260 </html>
OLDNEW
« no previous file with comments | « tests/PathOpsTightBoundsTest.cpp ('k') | tools/pathops_visualizer.htm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698