1 /************************************************************************/
2 /*                                                                      */
3 /*                Copyright 2011 by Ullrich Koethe                      */
4 /*                                                                      */
5 /*    This file is part of the VIGRA computer vision library.           */
6 /*    The VIGRA Website is                                              */
7 /*        http://hci.iwr.uni-heidelberg.de/vigra/                       */
8 /*    Please direct questions, bug reports, and contributions to        */
9 /*        ullrich.koethe@iwr.uni-heidelberg.de    or                    */
10 /*        vigra@informatik.uni-hamburg.de                               */
11 /*                                                                      */
12 /*    Permission is hereby granted, free of charge, to any person       */
13 /*    obtaining a copy of this software and associated documentation    */
14 /*    files (the "Software"), to deal in the Software without           */
15 /*    restriction, including without limitation the rights to use,      */
16 /*    copy, modify, merge, publish, distribute, sublicense, and/or      */
17 /*    sell copies of the Software, and to permit persons to whom the    */
18 /*    Software is furnished to do so, subject to the following          */
19 /*    conditions:                                                       */
20 /*                                                                      */
21 /*    The above copyright notice and this permission notice shall be    */
22 /*    included in all copies or substantial portions of the             */
23 /*    Software.                                                         */
24 /*                                                                      */
25 /*    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND    */
26 /*    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES   */
27 /*    OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND          */
28 /*    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT       */
29 /*    HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,      */
30 /*    WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING      */
31 /*    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR     */
32 /*    OTHER DEALINGS IN THE SOFTWARE.                                   */
33 /*                                                                      */
34 /************************************************************************/
35 
36 #ifndef VIGRA_CONVEX_HULL_TEST_HXX
37 #define VIGRA_CONVEX_HULL_TEST_HXX
38 
39 #include <vigra/tinyvector.hxx>
40 
41 typedef vigra::TinyVector<double, 2> P;
42 
43 P convexHullReference[] = {
44     P(141.0,   5.0),
45     P(128.0,  16.0),
46     P(127.0,  17.0),
47     P(125.0,  20.0),
48     P(124.0,  23.0),
49     P(178.0, 476.0),
50     P(188.0, 511.0),
51     P(455.0, 511.0),
52     P(455.0, 510.0),
53     P(297.0,  88.0),
54     P(293.0,  84.0),
55     P(254.0,  49.0),
56     P(251.0,  47.0),
57     P(186.0,  15.0),
58     P(176.0,  11.0),
59     P(159.0,   5.0),
60     P(141.0,   5.0)
61 };
62 
63 P convexHullInputs[] = {
64     P(124.0, 23.0), P(125.0, 20.0), P(125.0, 23.0), P(126.0, 19.0),
65     P(126.0, 20.0), P(127.0, 17.0), P(127.0, 18.0), P(127.0, 35.0),
66     P(127.0, 36.0), P(127.0, 37.0), P(127.0, 38.0), P(128.0, 16.0),
67     P(128.0, 33.0), P(128.0, 40.0), P(128.0, 41.0), P(128.0, 42.0),
68     P(128.0, 43.0), P(128.0, 44.0), P(128.0, 45.0), P(128.0, 46.0),
69     P(128.0, 47.0), P(128.0, 48.0), P(129.0, 16.0), P(129.0, 29.0),
70     P(129.0, 30.0), P(129.0, 31.0), P(130.0, 16.0), P(130.0, 50.0),
71     P(131.0, 50.0), P(132.0, 15.0), P(134.0, 52.0), P(134.0, 53.0),
72     P(134.0, 54.0), P(134.0, 55.0), P(136.0, 12.0), P(137.0, 11.0),
73     P(137.0, 58.0), P(138.0, 58.0), P(140.0, 6.0), P(140.0, 7.0),
74     P(141.0, 5.0), P(141.0, 60.0), P(142.0, 5.0), P(144.0, 6.0),
75     P(145.0, 6.0), P(147.0, 7.0), P(148.0, 66.0), P(149.0, 8.0),
76     P(150.0, 8.0), P(150.0, 67.0), P(151.0, 8.0), P(153.0, 8.0),
77     P(153.0, 9.0), P(154.0, 71.0), P(155.0, 73.0), P(155.0, 74.0),
78     P(156.0, 7.0), P(156.0, 76.0), P(156.0, 77.0), P(157.0, 77.0),
79     P(157.0, 78.0), P(159.0, 5.0), P(159.0, 6.0), P(159.0, 78.0),
80     P(160.0, 78.0), P(161.0, 6.0), P(161.0, 78.0), P(163.0, 8.0),
81     P(163.0, 78.0), P(163.0, 79.0), P(164.0, 9.0), P(164.0, 85.0),
82     P(164.0, 86.0), P(164.0, 87.0), P(165.0, 78.0), P(165.0, 84.0),
83     P(165.0, 89.0), P(165.0, 90.0), P(165.0, 91.0), P(166.0, 10.0),
84     P(167.0, 10.0), P(167.0, 82.0), P(167.0, 94.0), P(167.0, 97.0),
85     P(167.0, 98.0), P(168.0, 10.0), P(168.0, 95.0), P(168.0, 96.0),
86     P(169.0, 99.0), P(169.0, 100.0), P(170.0, 50.0), P(170.0, 51.0),
87     P(171.0, 12.0), P(171.0, 49.0), P(171.0, 99.0), P(172.0, 12.0),
88     P(172.0, 49.0), P(172.0, 53.0), P(172.0, 99.0), P(172.0, 105.0),
89     P(173.0, 12.0), P(173.0, 53.0), P(173.0, 100.0), P(173.0, 101.0),
90     P(173.0, 102.0), P(173.0, 103.0), P(173.0, 105.0), P(174.0, 51.0),
91     P(174.0, 52.0), P(175.0, 11.0), P(175.0, 109.0), P(175.0, 110.0),
92     P(175.0, 111.0), P(175.0, 113.0), P(175.0, 114.0), P(175.0, 115.0),
93     P(175.0, 116.0), P(175.0, 117.0), P(175.0, 118.0), P(175.0, 119.0),
94     P(175.0, 120.0), P(175.0, 121.0), P(175.0, 122.0), P(175.0, 132.0),
95     P(175.0, 133.0), P(175.0, 134.0), P(175.0, 135.0), P(175.0, 142.0),
96     P(175.0, 143.0), P(175.0, 147.0), P(175.0, 148.0), P(176.0, 11.0),
97     P(176.0, 123.0), P(176.0, 145.0), P(176.0, 173.0), P(176.0, 224.0),
98     P(176.0, 227.0), P(176.0, 228.0), P(176.0, 236.0), P(176.0, 237.0),
99     P(176.0, 238.0), P(176.0, 239.0), P(176.0, 240.0), P(176.0, 241.0),
100     P(177.0, 124.0), P(177.0, 129.0), P(177.0, 150.0), P(177.0, 173.0),
101     P(177.0, 221.0), P(177.0, 222.0), P(177.0, 224.0), P(177.0, 230.0),
102     P(177.0, 234.0), P(177.0, 243.0), P(177.0, 248.0), P(177.0, 249.0),
103     P(177.0, 250.0), P(177.0, 251.0), P(178.0, 126.0), P(178.0, 127.0),
104     P(178.0, 150.0), P(178.0, 182.0), P(178.0, 183.0), P(178.0, 184.0),
105     P(178.0, 185.0), P(178.0, 186.0), P(178.0, 187.0), P(178.0, 188.0),
106     P(178.0, 189.0), P(178.0, 190.0), P(178.0, 205.0), P(178.0, 206.0),
107     P(178.0, 207.0), P(178.0, 208.0), P(178.0, 209.0), P(178.0, 210.0),
108     P(178.0, 218.0), P(178.0, 219.0), P(178.0, 232.0), P(178.0, 245.0),
109     P(178.0, 246.0), P(178.0, 252.0), P(178.0, 253.0), P(178.0, 254.0),
110     P(178.0, 255.0), P(178.0, 473.0), P(178.0, 474.0), P(178.0, 475.0),
111     P(178.0, 476.0), P(179.0, 13.0), P(179.0, 168.0), P(179.0, 169.0),
112     P(179.0, 177.0), P(179.0, 179.0), P(179.0, 180.0), P(179.0, 192.0),
113     P(179.0, 200.0), P(179.0, 201.0), P(179.0, 204.0), P(179.0, 212.0),
114     P(179.0, 213.0), P(179.0, 214.0), P(179.0, 215.0), P(179.0, 216.0),
115     P(179.0, 257.0), P(179.0, 258.0), P(179.0, 259.0), P(179.0, 260.0),
116     P(180.0, 13.0), P(180.0, 155.0), P(180.0, 156.0), P(180.0, 166.0),
117     P(180.0, 194.0), P(180.0, 196.0), P(180.0, 197.0), P(180.0, 198.0),
118     P(180.0, 203.0), P(180.0, 262.0), P(180.0, 263.0), P(180.0, 264.0),
119     P(180.0, 265.0), P(180.0, 275.0), P(180.0, 276.0), P(180.0, 372.0),
120     P(180.0, 373.0), P(180.0, 471.0), P(180.0, 478.0), P(181.0, 153.0),
121     P(181.0, 156.0), P(181.0, 157.0), P(181.0, 158.0), P(181.0, 159.0),
122     P(181.0, 160.0), P(181.0, 161.0), P(181.0, 162.0), P(181.0, 163.0),
123     P(181.0, 164.0), P(181.0, 267.0), P(181.0, 268.0), P(181.0, 269.0),
124     P(181.0, 270.0), P(181.0, 272.0), P(181.0, 273.0), P(181.0, 471.0),
125     P(181.0, 478.0), P(182.0, 14.0), P(182.0, 58.0), P(182.0, 59.0),
126     P(182.0, 277.0), P(182.0, 278.0), P(182.0, 370.0), P(182.0, 375.0),
127     P(182.0, 448.0), P(182.0, 449.0), P(182.0, 450.0), P(182.0, 451.0),
128     P(182.0, 471.0), P(183.0, 14.0), P(183.0, 278.0), P(183.0, 285.0),
129     P(183.0, 286.0), P(183.0, 287.0), P(183.0, 288.0), P(183.0, 289.0),
130     P(183.0, 453.0), P(183.0, 454.0), P(183.0, 455.0), P(183.0, 456.0),
131     P(183.0, 457.0), P(183.0, 458.0), P(183.0, 459.0), P(183.0, 460.0),
132     P(183.0, 461.0), P(183.0, 462.0), P(183.0, 463.0), P(183.0, 471.0),
133     P(183.0, 480.0), P(184.0, 57.0), P(184.0, 280.0), P(184.0, 281.0),
134     P(184.0, 282.0), P(184.0, 283.0), P(184.0, 291.0), P(184.0, 292.0),
135     P(184.0, 319.0), P(184.0, 320.0), P(184.0, 369.0), P(184.0, 376.0),
136     P(184.0, 439.0), P(184.0, 440.0), P(184.0, 445.0), P(184.0, 465.0),
137     P(184.0, 468.0), P(184.0, 469.0), P(184.0, 470.0), P(184.0, 482.0),
138     P(184.0, 483.0), P(184.0, 484.0), P(185.0, 15.0), P(185.0, 294.0),
139     P(185.0, 295.0), P(185.0, 307.0), P(185.0, 308.0), P(185.0, 309.0),
140     P(185.0, 316.0), P(185.0, 317.0), P(185.0, 336.0), P(185.0, 337.0),
141     P(185.0, 338.0), P(185.0, 339.0), P(185.0, 369.0), P(185.0, 376.0),
142     P(185.0, 437.0), P(185.0, 442.0), P(185.0, 443.0), P(185.0, 485.0),
143     P(186.0, 15.0), P(186.0, 297.0), P(186.0, 298.0), P(186.0, 299.0),
144     P(186.0, 303.0), P(186.0, 304.0), P(186.0, 305.0), P(186.0, 311.0),
145     P(186.0, 312.0), P(186.0, 313.0), P(186.0, 314.0), P(186.0, 334.0),
146     P(186.0, 340.0), P(186.0, 369.0), P(186.0, 419.0), P(186.0, 420.0),
147     P(187.0, 60.0), P(187.0, 301.0), P(187.0, 328.0), P(187.0, 329.0),
148     P(187.0, 330.0), P(187.0, 331.0), P(187.0, 332.0), P(187.0, 375.0),
149     P(187.0, 389.0), P(187.0, 398.0), P(187.0, 399.0), P(187.0, 400.0),
150     P(187.0, 487.0), P(187.0, 488.0), P(188.0, 65.0), P(188.0, 325.0),
151     P(188.0, 326.0), P(188.0, 367.0), P(188.0, 387.0), P(188.0, 389.0),
152     P(188.0, 391.0), P(188.0, 392.0), P(188.0, 395.0), P(188.0, 408.0),
153     P(188.0, 409.0), P(188.0, 410.0), P(188.0, 411.0), P(188.0, 412.0),
154     P(188.0, 413.0), P(188.0, 414.0), P(188.0, 415.0), P(188.0, 416.0),
155     P(188.0, 431.0), P(188.0, 432.0), P(188.0, 433.0), P(188.0, 490.0),
156     P(188.0, 491.0), P(188.0, 492.0), P(188.0, 493.0), P(188.0, 494.0),
157     P(188.0, 495.0), P(188.0, 503.0), P(188.0, 504.0), P(188.0, 510.0),
158     P(188.0, 511.0), P(189.0, 19.0), P(189.0, 62.0), P(189.0, 343.0),
159     P(189.0, 365.0), P(189.0, 375.0), P(189.0, 384.0), P(189.0, 385.0),
160     P(189.0, 395.0), P(189.0, 402.0), P(189.0, 423.0), P(189.0, 429.0),
161     P(189.0, 500.0), P(189.0, 501.0), P(189.0, 506.0), P(189.0, 507.0),
162     P(189.0, 508.0), P(190.0, 19.0), P(190.0, 20.0), P(190.0, 345.0),
163     P(190.0, 346.0), P(190.0, 376.0), P(190.0, 377.0), P(190.0, 380.0),
164     P(190.0, 381.0), P(190.0, 382.0), P(190.0, 403.0), P(190.0, 404.0),
165     P(190.0, 405.0), P(190.0, 423.0), P(190.0, 498.0), P(191.0, 21.0),
166     P(191.0, 68.0), P(191.0, 348.0), P(191.0, 349.0), P(191.0, 362.0),
167     P(191.0, 424.0), P(191.0, 425.0), P(191.0, 426.0), P(192.0, 23.0),
168     P(192.0, 64.0), P(192.0, 70.0), P(192.0, 71.0), P(192.0, 351.0),
169     P(192.0, 352.0), P(192.0, 353.0), P(192.0, 355.0), P(192.0, 360.0),
170     P(193.0, 73.0), P(193.0, 355.0), P(193.0, 357.0), P(193.0, 358.0),
171     P(195.0, 26.0), P(195.0, 67.0), P(195.0, 507.0), P(196.0, 68.0),
172     P(196.0, 77.0), P(196.0, 78.0), P(196.0, 79.0), P(196.0, 80.0),
173     P(196.0, 81.0), P(196.0, 82.0), P(196.0, 508.0), P(196.0, 511.0),
174     P(197.0, 26.0), P(197.0, 68.0), P(198.0, 26.0), P(198.0, 68.0),
175     P(198.0, 85.0), P(199.0, 26.0), P(199.0, 68.0), P(199.0, 86.0),
176     P(200.0, 68.0), P(200.0, 86.0), P(201.0, 28.0), P(201.0, 29.0),
177     P(201.0, 30.0), P(201.0, 68.0), P(202.0, 88.0), P(202.0, 89.0),
178     P(202.0, 92.0), P(202.0, 93.0), P(202.0, 94.0), P(203.0, 32.0),
179     P(203.0, 96.0), P(204.0, 32.0), P(204.0, 70.0), P(205.0, 99.0),
180     P(205.0, 101.0), P(205.0, 103.0), P(205.0, 104.0), P(205.0, 105.0),
181     P(205.0, 106.0), P(205.0, 107.0), P(205.0, 108.0), P(206.0, 33.0),
182     P(206.0, 71.0), P(206.0, 101.0), P(206.0, 110.0), P(206.0, 111.0),
183     P(207.0, 33.0), P(207.0, 71.0), P(207.0, 113.0), P(207.0, 114.0),
184     P(207.0, 115.0), P(207.0, 116.0), P(207.0, 119.0), P(208.0, 71.0),
185     P(209.0, 32.0), P(209.0, 121.0), P(210.0, 32.0), P(210.0, 72.0),
186     P(210.0, 121.0), P(211.0, 32.0), P(211.0, 122.0), P(211.0, 130.0),
187     P(211.0, 131.0), P(211.0, 132.0), P(211.0, 133.0), P(211.0, 134.0),
188     P(211.0, 135.0), P(211.0, 136.0), P(211.0, 137.0), P(211.0, 138.0),
189     P(211.0, 139.0), P(211.0, 140.0), P(212.0, 32.0), P(212.0, 124.0),
190     P(212.0, 125.0), P(212.0, 126.0), P(212.0, 127.0), P(212.0, 128.0),
191     P(212.0, 142.0), P(212.0, 143.0), P(212.0, 144.0), P(213.0, 33.0),
192     P(213.0, 34.0), P(213.0, 75.0), P(213.0, 166.0), P(213.0, 167.0),
193     P(213.0, 168.0), P(214.0, 35.0), P(214.0, 147.0), P(214.0, 161.0),
194     P(214.0, 162.0), P(214.0, 163.0), P(214.0, 164.0), P(214.0, 170.0),
195     P(214.0, 171.0), P(215.0, 77.0), P(215.0, 148.0), P(215.0, 155.0),
196     P(215.0, 156.0), P(215.0, 157.0), P(215.0, 158.0), P(215.0, 159.0),
197     P(215.0, 173.0), P(215.0, 181.0), P(215.0, 182.0), P(215.0, 183.0),
198     P(215.0, 184.0), P(215.0, 185.0), P(215.0, 186.0), P(215.0, 187.0),
199     P(215.0, 188.0), P(215.0, 215.0), P(215.0, 216.0), P(216.0, 148.0),
200     P(216.0, 179.0), P(216.0, 192.0), P(216.0, 193.0), P(216.0, 194.0),
201     P(216.0, 195.0), P(216.0, 213.0), P(216.0, 218.0), P(216.0, 219.0),
202     P(216.0, 220.0), P(216.0, 221.0), P(216.0, 228.0), P(216.0, 229.0),
203     P(216.0, 230.0), P(216.0, 231.0), P(216.0, 233.0), P(217.0, 37.0),
204     P(217.0, 148.0), P(217.0, 153.0), P(217.0, 176.0), P(217.0, 177.0),
205     P(217.0, 197.0), P(217.0, 198.0), P(217.0, 223.0), P(217.0, 224.0),
206     P(217.0, 225.0), P(217.0, 226.0), P(217.0, 235.0), P(217.0, 236.0),
207     P(217.0, 237.0), P(217.0, 239.0), P(217.0, 240.0), P(217.0, 241.0),
208     P(218.0, 149.0), P(218.0, 150.0), P(218.0, 151.0), P(218.0, 152.0),
209     P(218.0, 200.0), P(218.0, 201.0), P(218.0, 243.0), P(218.0, 244.0),
210     P(218.0, 245.0), P(218.0, 246.0), P(218.0, 247.0), P(218.0, 248.0),
211     P(218.0, 261.0), P(219.0, 210.0), P(219.0, 250.0), P(219.0, 251.0),
212     P(219.0, 252.0), P(219.0, 254.0), P(219.0, 256.0), P(219.0, 257.0),
213     P(219.0, 259.0), P(219.0, 260.0), P(219.0, 263.0), P(219.0, 264.0),
214     P(219.0, 265.0), P(220.0, 39.0), P(220.0, 204.0), P(220.0, 254.0),
215     P(220.0, 259.0), P(220.0, 266.0), P(221.0, 206.0), P(221.0, 207.0),
216     P(221.0, 208.0), P(222.0, 40.0), P(222.0, 83.0), P(222.0, 286.0),
217     P(222.0, 287.0), P(222.0, 288.0), P(223.0, 40.0), P(223.0, 290.0),
218     P(224.0, 40.0), P(224.0, 84.0), P(224.0, 270.0), P(224.0, 271.0),
219     P(224.0, 272.0), P(224.0, 273.0), P(224.0, 274.0), P(224.0, 275.0),
220     P(224.0, 280.0), P(224.0, 287.0), P(224.0, 288.0), P(225.0, 40.0),
221     P(225.0, 84.0), P(225.0, 277.0), P(225.0, 278.0), P(225.0, 282.0),
222     P(225.0, 286.0), P(225.0, 287.0), P(225.0, 293.0), P(225.0, 302.0),
223     P(226.0, 40.0), P(226.0, 282.0), P(226.0, 304.0), P(226.0, 318.0),
224     P(226.0, 319.0), P(226.0, 320.0), P(226.0, 321.0), P(226.0, 322.0),
225     P(226.0, 323.0), P(226.0, 324.0), P(226.0, 325.0), P(227.0, 40.0),
226     P(227.0, 85.0), P(227.0, 296.0), P(227.0, 297.0), P(227.0, 298.0),
227     P(227.0, 299.0), P(227.0, 306.0), P(227.0, 327.0), P(228.0, 306.0),
228     P(228.0, 314.0), P(228.0, 315.0), P(228.0, 329.0), P(229.0, 86.0),
229     P(229.0, 306.0), P(229.0, 312.0), P(229.0, 356.0), P(229.0, 357.0),
230     P(229.0, 358.0), P(230.0, 306.0), P(230.0, 333.0), P(230.0, 335.0),
231     P(230.0, 361.0), P(231.0, 87.0), P(231.0, 307.0), P(231.0, 308.0),
232     P(231.0, 309.0), P(231.0, 333.0), P(231.0, 353.0), P(231.0, 361.0),
233     P(231.0, 363.0), P(232.0, 44.0), P(232.0, 335.0), P(232.0, 336.0),
234     P(232.0, 351.0), P(232.0, 352.0), P(232.0, 365.0), P(232.0, 394.0),
235     P(232.0, 395.0), P(232.0, 399.0), P(232.0, 413.0), P(232.0, 414.0),
236     P(232.0, 415.0), P(232.0, 428.0), P(232.0, 429.0), P(232.0, 430.0),
237     P(232.0, 431.0), P(232.0, 450.0), P(233.0, 336.0), P(233.0, 337.0),
238     P(233.0, 338.0), P(233.0, 340.0), P(233.0, 350.0), P(233.0, 351.0),
239     P(233.0, 391.0), P(233.0, 392.0), P(233.0, 397.0), P(233.0, 398.0),
240     P(233.0, 402.0), P(233.0, 403.0), P(233.0, 404.0), P(233.0, 405.0),
241     P(233.0, 411.0), P(233.0, 412.0), P(233.0, 416.0), P(233.0, 420.0),
242     P(233.0, 421.0), P(233.0, 422.0), P(233.0, 424.0), P(233.0, 425.0),
243     P(233.0, 433.0), P(233.0, 450.0), P(233.0, 452.0), P(234.0, 43.0),
244     P(234.0, 340.0), P(234.0, 341.0), P(234.0, 350.0), P(234.0, 368.0),
245     P(234.0, 381.0), P(234.0, 382.0), P(234.0, 383.0), P(234.0, 384.0),
246     P(234.0, 385.0), P(234.0, 388.0), P(234.0, 389.0), P(234.0, 407.0),
247     P(234.0, 408.0), P(234.0, 417.0), P(234.0, 418.0), P(234.0, 434.0),
248     P(234.0, 452.0), P(235.0, 43.0), P(235.0, 369.0), P(235.0, 378.0),
249     P(235.0, 379.0), P(235.0, 434.0), P(235.0, 453.0), P(235.0, 465.0),
250     P(235.0, 471.0), P(235.0, 473.0), P(235.0, 474.0), P(236.0, 43.0),
251     P(236.0, 92.0), P(236.0, 349.0), P(236.0, 370.0), P(236.0, 371.0),
252     P(236.0, 372.0), P(236.0, 373.0), P(236.0, 374.0), P(236.0, 375.0),
253     P(236.0, 376.0), P(236.0, 435.0), P(236.0, 446.0), P(237.0, 338.0),
254     P(237.0, 455.0), P(237.0, 471.0), P(238.0, 44.0), P(238.0, 94.0),
255     P(238.0, 468.0), P(238.0, 469.0), P(238.0, 470.0), P(238.0, 474.0),
256     P(238.0, 475.0), P(239.0, 95.0), P(239.0, 336.0), P(239.0, 439.0),
257     P(239.0, 441.0), P(239.0, 443.0), P(239.0, 473.0), P(240.0, 336.0),
258     P(240.0, 337.0), P(240.0, 346.0), P(240.0, 441.0), P(240.0, 466.0),
259     P(240.0, 473.0), P(240.0, 474.0), P(241.0, 46.0), P(241.0, 98.0),
260     P(241.0, 337.0), P(241.0, 339.0), P(241.0, 340.0), P(241.0, 345.0),
261     P(241.0, 458.0), P(241.0, 466.0), P(241.0, 474.0), P(241.0, 475.0),
262     P(242.0, 99.0), P(242.0, 342.0), P(242.0, 343.0), P(243.0, 48.0),
263     P(243.0, 459.0), P(243.0, 465.0), P(243.0, 474.0), P(244.0, 48.0),
264     P(244.0, 460.0), P(244.0, 461.0), P(244.0, 462.0), P(244.0, 463.0),
265     P(244.0, 464.0), P(244.0, 474.0), P(245.0, 48.0), P(245.0, 102.0),
266     P(245.0, 474.0), P(246.0, 104.0), P(246.0, 105.0), P(246.0, 106.0),
267     P(246.0, 107.0), P(246.0, 108.0), P(246.0, 474.0), P(247.0, 110.0),
268     P(247.0, 475.0), P(247.0, 483.0), P(247.0, 484.0), P(247.0, 485.0),
269     P(247.0, 486.0), P(247.0, 487.0), P(247.0, 488.0), P(247.0, 489.0),
270     P(247.0, 490.0), P(248.0, 477.0), P(248.0, 478.0), P(248.0, 480.0),
271     P(248.0, 481.0), P(249.0, 47.0), P(249.0, 112.0), P(249.0, 493.0),
272     P(250.0, 47.0), P(250.0, 494.0), P(251.0, 47.0), P(251.0, 494.0),
273     P(252.0, 114.0), P(252.0, 502.0), P(252.0, 503.0), P(253.0, 114.0),
274     P(253.0, 496.0), P(253.0, 497.0), P(253.0, 498.0), P(253.0, 499.0),
275     P(253.0, 500.0), P(253.0, 503.0), P(254.0, 49.0), P(254.0, 115.0),
276     P(254.0, 507.0), P(254.0, 509.0), P(254.0, 511.0), P(255.0, 117.0),
277     P(255.0, 118.0), P(255.0, 509.0), P(256.0, 52.0), P(256.0, 54.0),
278     P(256.0, 55.0), P(256.0, 56.0), P(256.0, 57.0), P(256.0, 58.0),
279     P(257.0, 52.0), P(257.0, 60.0), P(257.0, 121.0), P(257.0, 122.0),
280     P(257.0, 123.0), P(257.0, 124.0), P(257.0, 193.0), P(257.0, 194.0),
281     P(257.0, 195.0), P(257.0, 196.0), P(258.0, 126.0), P(258.0, 127.0),
282     P(258.0, 190.0), P(258.0, 191.0), P(258.0, 197.0), P(259.0, 129.0),
283     P(259.0, 166.0), P(259.0, 167.0), P(259.0, 168.0), P(259.0, 169.0),
284     P(259.0, 170.0), P(259.0, 171.0), P(260.0, 64.0), P(260.0, 131.0),
285     P(260.0, 163.0), P(260.0, 164.0), P(260.0, 173.0), P(260.0, 188.0),
286     P(260.0, 197.0), P(260.0, 198.0), P(261.0, 65.0), P(261.0, 144.0),
287     P(261.0, 161.0), P(261.0, 188.0), P(262.0, 65.0), P(262.0, 142.0),
288     P(262.0, 144.0), P(262.0, 146.0), P(262.0, 147.0), P(262.0, 148.0),
289     P(262.0, 149.0), P(262.0, 150.0), P(262.0, 151.0), P(262.0, 152.0),
290     P(262.0, 158.0), P(262.0, 159.0), P(262.0, 188.0), P(262.0, 206.0),
291     P(262.0, 207.0), P(262.0, 208.0), P(263.0, 135.0), P(263.0, 136.0),
292     P(263.0, 154.0), P(263.0, 155.0), P(263.0, 156.0), P(263.0, 176.0),
293     P(263.0, 188.0), P(263.0, 195.0), P(264.0, 138.0), P(264.0, 139.0),
294     P(264.0, 176.0), P(264.0, 203.0), P(265.0, 67.0), P(265.0, 177.0),
295     P(265.0, 186.0), P(265.0, 193.0), P(265.0, 194.0), P(265.0, 201.0),
296     P(265.0, 212.0), P(266.0, 67.0), P(266.0, 181.0), P(266.0, 182.0),
297     P(266.0, 183.0), P(266.0, 184.0), P(266.0, 194.0), P(266.0, 196.0),
298     P(266.0, 198.0), P(266.0, 199.0), P(266.0, 214.0), P(266.0, 215.0),
299     P(267.0, 67.0), P(268.0, 67.0), P(268.0, 218.0), P(268.0, 219.0),
300     P(268.0, 220.0), P(268.0, 221.0), P(268.0, 222.0), P(268.0, 247.0),
301     P(268.0, 248.0), P(268.0, 249.0), P(268.0, 250.0), P(268.0, 251.0),
302     P(270.0, 69.0), P(270.0, 70.0), P(270.0, 244.0), P(270.0, 253.0),
303     P(270.0, 258.0), P(271.0, 71.0), P(271.0, 226.0), P(271.0, 227.0),
304     P(271.0, 228.0), P(271.0, 230.0), P(271.0, 231.0), P(271.0, 232.0),
305     P(271.0, 233.0), P(271.0, 237.0), P(271.0, 238.0), P(271.0, 239.0),
306     P(271.0, 240.0), P(271.0, 241.0), P(271.0, 242.0), P(271.0, 253.0),
307     P(271.0, 256.0), P(271.0, 258.0), P(272.0, 234.0), P(272.0, 236.0),
308     P(272.0, 253.0), P(272.0, 261.0), P(272.0, 319.0), P(273.0, 72.0),
309     P(273.0, 262.0), P(273.0, 319.0), P(274.0, 262.0), P(274.0, 284.0),
310     P(274.0, 317.0), P(274.0, 321.0), P(275.0, 262.0), P(275.0, 279.0),
311     P(275.0, 281.0), P(275.0, 282.0), P(275.0, 284.0), P(275.0, 286.0),
312     P(275.0, 317.0), P(275.0, 321.0), P(275.0, 324.0), P(275.0, 325.0),
313     P(275.0, 326.0), P(275.0, 327.0), P(276.0, 74.0), P(276.0, 262.0),
314     P(276.0, 277.0), P(276.0, 279.0), P(276.0, 287.0), P(276.0, 322.0),
315     P(277.0, 276.0), P(277.0, 287.0), P(277.0, 318.0), P(277.0, 329.0),
316     P(278.0, 276.0), P(278.0, 287.0), P(278.0, 319.0), P(278.0, 320.0),
317     P(278.0, 329.0), P(279.0, 76.0), P(279.0, 262.0), P(279.0, 263.0),
318     P(279.0, 287.0), P(279.0, 321.0), P(279.0, 329.0), P(280.0, 76.0),
319     P(280.0, 263.0), P(280.0, 321.0), P(281.0, 265.0), P(281.0, 266.0),
320     P(281.0, 267.0), P(281.0, 274.0), P(281.0, 328.0), P(282.0, 78.0),
321     P(282.0, 269.0), P(282.0, 270.0), P(282.0, 271.0), P(282.0, 272.0),
322     P(282.0, 273.0), P(282.0, 290.0), P(282.0, 291.0), P(283.0, 78.0),
323     P(283.0, 79.0), P(283.0, 293.0), P(283.0, 294.0), P(283.0, 299.0),
324     P(283.0, 300.0), P(283.0, 303.0), P(283.0, 323.0), P(283.0, 329.0),
325     P(284.0, 79.0), P(284.0, 296.0), P(284.0, 297.0), P(284.0, 303.0),
326     P(284.0, 305.0), P(284.0, 306.0), P(284.0, 307.0), P(284.0, 323.0),
327     P(285.0, 309.0), P(285.0, 310.0), P(285.0, 311.0), P(285.0, 312.0),
328     P(285.0, 313.0), P(286.0, 80.0), P(286.0, 81.0), P(286.0, 315.0),
329     P(286.0, 322.0), P(286.0, 332.0), P(286.0, 333.0), P(287.0, 316.0),
330     P(287.0, 317.0), P(287.0, 335.0), P(287.0, 336.0), P(287.0, 337.0),
331     P(287.0, 338.0), P(287.0, 339.0), P(287.0, 340.0), P(288.0, 82.0),
332     P(288.0, 317.0), P(288.0, 319.0), P(288.0, 320.0), P(288.0, 342.0),
333     P(289.0, 83.0), P(289.0, 344.0), P(289.0, 345.0), P(289.0, 346.0),
334     P(289.0, 347.0), P(289.0, 348.0), P(289.0, 349.0), P(289.0, 350.0),
335     P(289.0, 351.0), P(289.0, 373.0), P(289.0, 376.0), P(289.0, 377.0),
336     P(289.0, 378.0), P(289.0, 379.0), P(289.0, 380.0), P(289.0, 381.0),
337     P(289.0, 382.0), P(289.0, 383.0), P(290.0, 352.0), P(290.0, 373.0),
338     P(291.0, 84.0), P(291.0, 353.0), P(291.0, 371.0), P(291.0, 385.0),
339     P(292.0, 84.0), P(292.0, 355.0), P(292.0, 356.0), P(292.0, 371.0),
340     P(293.0, 84.0), P(293.0, 358.0), P(293.0, 386.0), P(294.0, 85.0),
341     P(294.0, 360.0), P(294.0, 386.0), P(295.0, 93.0), P(295.0, 94.0),
342     P(295.0, 95.0), P(295.0, 98.0), P(295.0, 374.0), P(295.0, 386.0),
343     P(296.0, 87.0), P(296.0, 100.0), P(296.0, 101.0), P(296.0, 363.0),
344     P(297.0, 88.0), P(297.0, 89.0), P(297.0, 90.0), P(297.0, 103.0),
345     P(297.0, 365.0), P(297.0, 387.0), P(298.0, 387.0), P(299.0, 105.0),
346     P(299.0, 368.0), P(299.0, 369.0), P(299.0, 370.0), P(299.0, 371.0),
347     P(299.0, 373.0), P(299.0, 387.0), P(300.0, 373.0), P(300.0, 387.0),
348     P(301.0, 107.0), P(301.0, 108.0), P(301.0, 376.0), P(301.0, 377.0),
349     P(301.0, 395.0), P(301.0, 396.0), P(302.0, 110.0), P(302.0, 389.0),
350     P(302.0, 392.0), P(302.0, 393.0), P(302.0, 398.0), P(303.0, 112.0),
351     P(303.0, 400.0), P(304.0, 411.0), P(304.0, 418.0), P(304.0, 419.0),
352     P(304.0, 420.0), P(305.0, 410.0), P(305.0, 411.0), P(305.0, 413.0),
353     P(305.0, 414.0), P(305.0, 415.0), P(305.0, 416.0), P(305.0, 421.0),
354     P(306.0, 116.0), P(306.0, 117.0), P(306.0, 118.0), P(306.0, 119.0),
355     P(306.0, 121.0), P(306.0, 123.0), P(306.0, 196.0), P(306.0, 410.0),
356     P(306.0, 421.0), P(307.0, 121.0), P(307.0, 124.0), P(307.0, 125.0),
357     P(307.0, 126.0), P(307.0, 127.0), P(307.0, 187.0), P(307.0, 188.0),
358     P(307.0, 189.0), P(307.0, 190.0), P(307.0, 191.0), P(307.0, 193.0),
359     P(307.0, 405.0), P(307.0, 407.0), P(307.0, 408.0), P(307.0, 409.0),
360     P(308.0, 129.0), P(308.0, 130.0), P(308.0, 131.0), P(308.0, 133.0),
361     P(308.0, 193.0), P(308.0, 212.0), P(308.0, 421.0), P(308.0, 422.0),
362     P(309.0, 133.0), P(309.0, 165.0), P(309.0, 183.0), P(309.0, 184.0),
363     P(309.0, 207.0), P(309.0, 209.0), P(309.0, 210.0), P(309.0, 211.0),
364     P(310.0, 136.0), P(310.0, 137.0), P(310.0, 160.0), P(310.0, 161.0),
365     P(310.0, 162.0), P(310.0, 172.0), P(310.0, 173.0), P(310.0, 174.0),
366     P(310.0, 176.0), P(310.0, 180.0), P(310.0, 181.0), P(310.0, 201.0),
367     P(310.0, 202.0), P(310.0, 203.0), P(310.0, 204.0), P(310.0, 205.0),
368     P(310.0, 215.0), P(310.0, 216.0), P(310.0, 217.0), P(310.0, 218.0),
369     P(310.0, 219.0), P(310.0, 220.0), P(310.0, 221.0), P(310.0, 222.0),
370     P(310.0, 223.0), P(311.0, 138.0), P(311.0, 144.0), P(311.0, 145.0),
371     P(311.0, 146.0), P(311.0, 147.0), P(311.0, 148.0), P(311.0, 149.0),
372     P(311.0, 150.0), P(311.0, 151.0), P(311.0, 152.0), P(311.0, 153.0),
373     P(311.0, 158.0), P(311.0, 167.0), P(311.0, 176.0), P(311.0, 225.0),
374     P(311.0, 226.0), P(311.0, 227.0), P(311.0, 230.0), P(311.0, 231.0),
375     P(311.0, 232.0), P(311.0, 419.0), P(312.0, 155.0), P(312.0, 156.0),
376     P(312.0, 168.0), P(312.0, 169.0), P(312.0, 234.0), P(312.0, 235.0),
377     P(312.0, 237.0), P(312.0, 239.0), P(312.0, 240.0), P(312.0, 242.0),
378     P(312.0, 419.0), P(313.0, 140.0), P(313.0, 141.0), P(313.0, 237.0),
379     P(313.0, 242.0), P(313.0, 420.0), P(313.0, 421.0), P(313.0, 422.0),
380     P(313.0, 423.0), P(313.0, 424.0), P(313.0, 425.0), P(313.0, 426.0),
381     P(313.0, 427.0), P(313.0, 428.0), P(314.0, 245.0), P(314.0, 263.0),
382     P(314.0, 264.0), P(314.0, 429.0), P(315.0, 246.0), P(315.0, 262.0),
383     P(315.0, 264.0), P(316.0, 246.0), P(316.0, 262.0), P(316.0, 264.0),
384     P(317.0, 260.0), P(317.0, 261.0), P(317.0, 264.0), P(317.0, 432.0),
385     P(318.0, 248.0), P(318.0, 258.0), P(318.0, 264.0), P(318.0, 434.0),
386     P(318.0, 435.0), P(319.0, 250.0), P(319.0, 251.0), P(319.0, 256.0),
387     P(320.0, 253.0), P(320.0, 254.0), P(321.0, 267.0), P(321.0, 268.0),
388     P(321.0, 269.0), P(321.0, 294.0), P(322.0, 296.0), P(322.0, 297.0),
389     P(322.0, 298.0), P(322.0, 299.0), P(322.0, 439.0), P(323.0, 272.0),
390     P(323.0, 292.0), P(323.0, 293.0), P(323.0, 299.0), P(324.0, 273.0),
391     P(324.0, 281.0), P(324.0, 282.0), P(324.0, 290.0), P(324.0, 292.0),
392     P(324.0, 299.0), P(324.0, 441.0), P(325.0, 280.0), P(325.0, 282.0),
393     P(325.0, 283.0), P(325.0, 300.0), P(325.0, 301.0), P(325.0, 443.0),
394     P(325.0, 444.0), P(325.0, 445.0), P(325.0, 446.0), P(325.0, 447.0),
395     P(325.0, 448.0), P(325.0, 449.0), P(325.0, 451.0), P(325.0, 454.0),
396     P(326.0, 275.0), P(326.0, 277.0), P(326.0, 279.0), P(326.0, 290.0),
397     P(326.0, 451.0), P(326.0, 454.0), P(326.0, 456.0), P(327.0, 277.0),
398     P(327.0, 285.0), P(327.0, 287.0), P(327.0, 289.0), P(328.0, 287.0),
399     P(328.0, 305.0), P(328.0, 307.0), P(328.0, 309.0), P(328.0, 312.0),
400     P(328.0, 313.0), P(328.0, 314.0), P(329.0, 307.0), P(329.0, 316.0),
401     P(329.0, 460.0), P(330.0, 317.0), P(330.0, 462.0), P(331.0, 317.0),
402     P(332.0, 317.0), P(332.0, 464.0), P(333.0, 328.0), P(333.0, 329.0),
403     P(333.0, 330.0), P(333.0, 331.0), P(333.0, 332.0), P(333.0, 333.0),
404     P(333.0, 334.0), P(333.0, 335.0), P(333.0, 336.0), P(333.0, 337.0),
405     P(333.0, 339.0), P(333.0, 464.0), P(334.0, 317.0), P(334.0, 327.0),
406     P(334.0, 340.0), P(334.0, 341.0), P(334.0, 342.0), P(334.0, 464.0),
407     P(335.0, 317.0), P(335.0, 464.0), P(336.0, 317.0), P(336.0, 344.0),
408     P(337.0, 317.0), P(338.0, 324.0), P(338.0, 346.0), P(338.0, 361.0),
409     P(338.0, 362.0), P(338.0, 363.0), P(338.0, 364.0), P(339.0, 318.0),
410     P(339.0, 348.0), P(339.0, 358.0), P(339.0, 359.0), P(340.0, 319.0),
411     P(340.0, 320.0), P(340.0, 321.0), P(340.0, 322.0), P(340.0, 468.0),
412     P(340.0, 469.0), P(341.0, 350.0), P(341.0, 367.0), P(341.0, 471.0),
413     P(341.0, 472.0), P(341.0, 473.0), P(342.0, 351.0), P(342.0, 352.0),
414     P(342.0, 353.0), P(342.0, 354.0), P(342.0, 368.0), P(342.0, 475.0),
415     P(343.0, 369.0), P(343.0, 476.0), P(344.0, 369.0), P(344.0, 376.0),
416     P(344.0, 377.0), P(344.0, 378.0), P(344.0, 380.0), P(344.0, 391.0),
417     P(344.0, 392.0), P(344.0, 476.0), P(345.0, 369.0), P(345.0, 375.0),
418     P(345.0, 380.0), P(345.0, 383.0), P(345.0, 384.0), P(345.0, 385.0),
419     P(345.0, 386.0), P(345.0, 391.0), P(345.0, 394.0), P(346.0, 395.0),
420     P(347.0, 372.0), P(347.0, 396.0), P(347.0, 477.0), P(348.0, 372.0),
421     P(348.0, 395.0), P(348.0, 477.0), P(349.0, 394.0), P(349.0, 395.0),
422     P(350.0, 478.0), P(351.0, 395.0), P(351.0, 479.0), P(352.0, 395.0),
423     P(352.0, 481.0), P(352.0, 482.0), P(353.0, 484.0), P(353.0, 485.0),
424     P(353.0, 486.0), P(353.0, 487.0), P(353.0, 488.0), P(353.0, 489.0),
425     P(354.0, 396.0), P(354.0, 490.0), P(355.0, 397.0), P(355.0, 403.0),
426     P(356.0, 399.0), P(356.0, 400.0), P(356.0, 401.0), P(356.0, 405.0),
427     P(356.0, 491.0), P(357.0, 416.0), P(357.0, 491.0), P(358.0, 408.0),
428     P(358.0, 416.0), P(358.0, 418.0), P(358.0, 419.0), P(358.0, 491.0),
429     P(359.0, 410.0), P(359.0, 411.0), P(359.0, 412.0), P(359.0, 419.0),
430     P(359.0, 420.0), P(359.0, 492.0), P(360.0, 421.0), P(360.0, 493.0),
431     P(361.0, 423.0), P(361.0, 424.0), P(361.0, 426.0), P(361.0, 428.0),
432     P(362.0, 426.0), P(363.0, 430.0), P(363.0, 495.0), P(364.0, 432.0),
433     P(365.0, 497.0), P(366.0, 434.0), P(367.0, 435.0), P(367.0, 498.0),
434     P(367.0, 499.0), P(367.0, 500.0), P(368.0, 499.0), P(368.0, 500.0),
435     P(369.0, 438.0), P(369.0, 502.0), P(370.0, 440.0), P(370.0, 502.0),
436     P(371.0, 441.0), P(372.0, 442.0), P(372.0, 443.0), P(372.0, 444.0),
437     P(372.0, 447.0), P(372.0, 503.0), P(373.0, 449.0), P(373.0, 503.0),
438     P(374.0, 503.0), P(375.0, 451.0), P(375.0, 503.0), P(376.0, 504.0),
439     P(377.0, 449.0), P(377.0, 450.0), P(377.0, 505.0), P(378.0, 507.0),
440     P(378.0, 508.0), P(379.0, 451.0), P(379.0, 509.0), P(380.0, 452.0),
441     P(381.0, 452.0), P(381.0, 510.0), P(382.0, 511.0), P(384.0, 454.0),
442     P(385.0, 454.0), P(387.0, 455.0), P(388.0, 455.0), P(391.0, 466.0),
443     P(391.0, 467.0), P(391.0, 468.0), P(392.0, 463.0), P(392.0, 464.0),
444     P(393.0, 460.0), P(393.0, 461.0), P(393.0, 471.0), P(394.0, 471.0),
445     P(397.0, 473.0), P(398.0, 473.0), P(400.0, 474.0), P(403.0, 477.0),
446     P(404.0, 479.0), P(406.0, 482.0), P(406.0, 483.0), P(407.0, 484.0),
447     P(407.0, 485.0), P(408.0, 486.0), P(409.0, 484.0), P(409.0, 485.0),
448     P(410.0, 484.0), P(413.0, 486.0), P(414.0, 487.0), P(414.0, 488.0),
449     P(414.0, 489.0), P(414.0, 490.0), P(414.0, 491.0), P(416.0, 494.0),
450     P(417.0, 494.0), P(418.0, 494.0), P(420.0, 495.0), P(423.0, 497.0),
451     P(424.0, 497.0), P(425.0, 497.0), P(426.0, 498.0), P(427.0, 499.0),
452     P(428.0, 499.0), P(430.0, 498.0), P(430.0, 499.0), P(436.0, 503.0),
453     P(438.0, 504.0), P(440.0, 504.0), P(440.0, 505.0), P(442.0, 503.0),
454     P(442.0, 505.0), P(444.0, 501.0), P(445.0, 501.0), P(448.0, 499.0),
455     P(448.0, 500.0), P(450.0, 501.0), P(450.0, 502.0), P(452.0, 504.0),
456     P(453.0, 505.0), P(453.0, 506.0), P(454.0, 508.0), P(455.0, 510.0),
457     P(455.0, 511.0)
458 };
459 
460 #endif // VIGRA_CONVEX_HULL_TEST_HXX
461