Knowledge

Bounding sphere

Source 📝

1138:, used earlier in some heuristics. It starts with a large sphere that covers all points and gradually shrinks it until it cannot be shrunk further. The algorithm features correct termination rules in cases of degeneracies, overlooked by prior authors; and efficient handling of partial solutions, which produces a major speed-up. The authors verified that the algorithm is efficient in practice in low and moderately low (up to 10,000) dimensions and claim it does not exhibit numerical stability problems in its floating-point operations. A C++ implementation of the algorithm is available as an open-source project. 27: 132:, that is, the sphere with minimal radius among all bounding spheres. It may be proven that such a sphere is unique: If there are two of them, then the objects in question lie within their intersection. But an intersection of two non-coinciding spheres of equal radius is contained in a sphere of smaller radius. 175:
or natural (usually thermal) processes, in which case the cluster represents a perturbation of an ideal point. In some circumstances this ideal point may be used as a substitute for the points in the cluster, advantageous in reducing calculation time.
1119: 1129:
Fischer et al. (2003) proposed an exact solver, though the algorithm does not have a polynomial running time in the worst case. The algorithm is purely combinatorial and implements a pivoting scheme similar to the
467:
In 1990, Jack Ritter proposed a simple algorithm to find a non-minimal bounding sphere. It is widely used in various applications for its simplicity. The algorithm works in this way:
1041:
expansion of the solution on the subset is a bounding sphere of the whole set. The coreset is constructed incrementally by adding the farthest point into the set in each iteration.
1149:
proposed the "extremal points optimal sphere" method with controllable speed to accuracy approximation to solve the bounding sphere problem. This method works by taking a set of
986: 187:
problems in a reasonable time. The point chosen is not usually the center of the sphere, as this can be biased by outliers, but instead some form of average location such as a
287: 368: 1039: 951: 925: 1047: 1282: 851: 450: 397: 1230: 1250: 1207: 1187: 1167: 1006: 891: 871: 815: 795: 775: 755: 732: 712: 692: 672: 652: 632: 612: 592: 569: 549: 529: 509: 489: 417: 232: 96: 60: 117:. There are several fast and simple bounding sphere construction algorithms with a high practical value in real-time computer graphics applications. 1594:; Yıldırım, E. Alper (2003), "Computing core-sets and approximate smallest enclosing hyperspheres in high dimensions", in Ladner, Richard E. (ed.), 1232:
extremal points of these projections. The algorithm then iterates over the remaining points, if any, growing the sphere if necessary. For large
893:-dimensional space, which makes it very efficient. However, it gives only a coarse result which is usually 5% to 20% larger than the optimum. 419:. The paper provides experimental results demonstrating its practicality in higher dimensions. A more recent deterministic algorithm of 214:" algorithm which finds the optimum bounding sphere and runs in linear time if the dimension is fixed as a constant. When the dimension 456: 183:
the clustering of values to an ideal point may also be used to reduce the number of inputs in order to obtain approximate values for
1641: 1487: 1670: 1252:
this method is orders of magnitude faster than exact methods, while giving comparable results. It has a worst case time of
210:
studied the 1-center problem extensively and published on it at least five times in the 1980s. In 1983, he proposed a "
1512: 1465: 1536: 1596:
Proceedings of the Fifth Workshop on Algorithm Engineering and Experiments, Baltimore, MD, USA, January 11, 2003
1331:
SIGRAD 2008: The Annual SIGRAD Conference, Special Theme: Interaction, November 27-28, 2008, Stockholm, Sweden
1686: 135:
The problem of computing the center of a minimal bounding sphere is also known as the "unweighted Euclidean
1622:
Algorithms: ESA 2003, 11th Annual European Symposium, Budapest, Hungary, September 16-19, 2003, Proceedings
956: 237: 311: 1613: 1333:, Linköping Electronic Conference Proceedings, vol. 34, Linköping, Sweden: Linköping University 1018: 930: 904: 1673:– describes several algorithms for enclosing a point set, including Megiddo's linear-time algorithm 1620: 31: 1552: 1114:{\displaystyle O({\frac {nd}{\epsilon }}+{\frac {1}{\epsilon ^{4.5}}}\log {\frac {1}{\epsilon }})} 1452:, Lecture Notes in Computer Science, vol. 555, Berlin, Germany: Springer, pp. 359–370, 164: 1326: 1547: 110: 1447: 1591: 1449:
New Results and New Trends in Computer Science: Graz, Austria, June 20–21, 1991, Proceedings
1569: 1475: 1302: 1298: 1255: 824: 297: 160: 426: 373: 8: 1628:, Lecture Notes in Computer Science, vol. 2832, Springer, Berlin, pp. 630–641, 180: 125: 1212: 1573: 1425: 1384: 1235: 1192: 1172: 1152: 1135: 991: 876: 856: 800: 780: 760: 740: 717: 697: 677: 657: 637: 617: 597: 577: 554: 534: 514: 494: 474: 402: 301: 217: 81: 45: 1408:(2018). "Improved deterministic algorithms for linear programming in low dimensions". 1637: 1508: 1461: 1446:(1991), "Smallest enclosing disks (balls and ellipsoids)", in Maurer, Hermann (ed.), 172: 106: 1388: 199:
There are exact and approximate algorithms for the solving bounding sphere problem.
1691: 1629: 1577: 1557: 1528: 1503:
Ritter, Jack (1990), "An efficient bounding sphere", in Glassner, Andrew S. (ed.),
1453: 1429: 1417: 1374: 211: 153: 136: 1633: 1565: 1471: 1293: 1209:
serves as a speed-accuracy trade-off variable. An exact solver is applied to the
114: 20: 128:, the objects are typically points, and generally the sphere of interest is the 1358: 1344: 1131: 305: 207: 1680: 188: 1544:
Proceedings of the Thirty-Fourth Annual ACM Symposium on Theory of Computing
1405: 1044:
Kumar et al. improved this approximation algorithm so that it runs in time
420: 99: 1561: 1507:, San Diego, CA, US: Academic Press Professional, Inc., pp. 301–303, 452:
time, with a smaller (but still exponential) dependence on the dimension.
26: 1532: 168: 39: 1379: 1362: 1457: 797:
be a point outside the ball, constructs a new ball covering both point
121: 1443: 293: 1421: 953:
approximation means that the constructed sphere has radius at most
1655: 1012: 817:
and previous ball. Repeat this step until all points are covered.
184: 1169:
direction vectors and projecting all points onto each vector in
1363:"Linear programming in linear time when the dimension is fixed" 156:, where groups of similar data points are classified together. 1614:"Fast smallest-enclosing-ball computation in high dimensions" 63: 289:, which is impractical for high-dimensional applications. 42:, given a non-empty set of objects of finite extension in 459:(CGAL) contains an implementation of Welzl's algorithm. 234:
is taken into account, the execution time complexity is
1612:
Fischer, Kaspar; Gärtner, Bernd; Kutz, Martin (2003),
1008:
is the smallest possible radius of a bounding sphere.
927:
approximation to the bounding sphere problem, where a
1589: 1488:
CGAL 4.3 - Bounding Volumes - Min_sphere_of_spheres_d
1258: 1238: 1215: 1195: 1175: 1155: 1050: 1021: 994: 959: 933: 907: 879: 859: 827: 803: 783: 763: 743: 720: 700: 680: 660: 640: 620: 600: 580: 557: 537: 517: 497: 477: 429: 405: 376: 314: 308:. The expected running time of Welzl's algorithm is 240: 220: 84: 48: 1526: 1611: 1276: 1244: 1224: 1201: 1181: 1161: 1113: 1033: 1000: 980: 945: 919: 885: 865: 845: 809: 789: 769: 749: 726: 706: 686: 666: 646: 626: 606: 586: 563: 543: 523: 503: 483: 444: 411: 391: 362: 281: 226: 90: 54: 34:, the case of the bounding sphere in 2 dimensions. 1141: 1678: 777:, then we get a bounding sphere. Otherwise, let 1619:, in Battista, Giuseppe Di; Zwick, Uri (eds.), 896: 1607: 1605: 694:, the radius as half of the distance between 1598:, Philadelphia, PA, US: SIAM, pp. 45–55 1498: 1496: 191:point is computed to represent the cluster. 1602: 1546:, New York, NY, US: ACM, pp. 250–257, 462: 1345:"Nimrod Megiddo's resume and publications" 1551: 1520: 1493: 1378: 1327:"Fast and tight fitting bounding spheres" 1124: 457:Computational Geometry Algorithms Library 113:, a bounding sphere is a special type of 1583: 1400: 1398: 25: 1357: 1324: 1146: 1679: 1537:"Approximate clustering via core-sets" 1502: 1436: 1320: 1318: 614:, which has the largest distance from 551:, which has the largest distance from 1442: 1395: 654:, with its centre as the midpoint of 202: 171:within a sphere may be attributed to 16:Sphere that contains a set of objects 1404: 1351: 1315: 13: 14: 1703: 1671:Smallest Enclosing Circle Problem 1664: 981:{\displaystyle (1+\varepsilon )r} 102:containing all of these objects. 66:, for example a set of points, a 821:Ritter's algorithm runs in time 282:{\displaystyle O(2^{O(d^{2})}n)} 1649: 363:{\displaystyle O((d+1)(d+1)!n)} 142: 1481: 1410:ACM Transactions on Algorithms 1337: 1271: 1262: 1142:Extremal points optimal sphere 1108: 1054: 1034:{\displaystyle 1+\varepsilon } 972: 960: 946:{\displaystyle 1+\varepsilon } 920:{\displaystyle 1+\varepsilon } 840: 831: 439: 433: 386: 380: 357: 348: 336: 333: 321: 318: 276: 268: 255: 244: 1: 1308: 194: 147: 1656:miniball open-source project 1634:10.1007/978-3-540-39658-1_57 897:Core-set based approximation 300:, generalizing a randomized 19:For the planar problem, see 7: 1416:(3): Article 30, 10 pages. 1287: 152:Such spheres are useful in 10: 1708: 1015:is a small subset, that a 901:Bădoiu et al. presented a 18: 634:. Set up an initial ball 370:, which again reduces to 1325:Larsson, Thomas (2008), 853:on inputs consisting of 463:Ritter's bounding sphere 399:for any fixed dimension 296:proposed a much simpler 32:smallest bounding circle 1490:, retrieved 2014-03-30. 130:minimal bounding sphere 1592:Mitchell, Joseph S. B. 1278: 1246: 1226: 1203: 1183: 1163: 1125:Fischer's exact solver 1115: 1035: 1002: 982: 947: 921: 887: 867: 847: 811: 791: 771: 751: 728: 708: 688: 668: 648: 628: 608: 588: 565: 545: 525: 505: 485: 446: 413: 393: 364: 283: 228: 111:computational geometry 92: 56: 35: 30:Some instances of the 1562:10.1145/509907.509947 1279: 1277:{\displaystyle O(sn)} 1247: 1227: 1204: 1184: 1164: 1116: 1036: 1003: 983: 948: 922: 888: 868: 848: 846:{\displaystyle O(nd)} 812: 792: 772: 752: 729: 709: 689: 669: 649: 629: 609: 589: 566: 546: 526: 506: 486: 447: 414: 394: 365: 284: 229: 93: 57: 29: 1687:Geometric algorithms 1303:circumscribed circle 1299:Circumscribed sphere 1256: 1236: 1213: 1193: 1173: 1153: 1048: 1019: 992: 957: 931: 905: 877: 857: 825: 801: 781: 761: 741: 718: 698: 678: 658: 638: 618: 598: 578: 555: 535: 515: 495: 475: 445:{\displaystyle O(n)} 427: 403: 392:{\displaystyle O(n)} 374: 312: 298:randomized algorithm 238: 218: 161:statistical analysis 82: 46: 1380:10.1145/2422.322418 181:operations research 126:operations research 1458:10.1007/BFb0038202 1367:Journal of the ACM 1274: 1242: 1225:{\displaystyle 2s} 1222: 1199: 1179: 1159: 1136:linear programming 1111: 1031: 998: 978: 943: 917: 883: 863: 843: 807: 787: 767: 747: 724: 704: 684: 664: 644: 624: 604: 584: 561: 541: 521: 501: 481: 442: 409: 389: 360: 302:linear programming 279: 224: 203:Linear programming 88: 78:for that set is a 52: 36: 1643:978-3-540-20064-2 1529:Har-Peled, Sariel 1245:{\displaystyle n} 1202:{\displaystyle s} 1182:{\displaystyle s} 1162:{\displaystyle s} 1106: 1090: 1070: 1001:{\displaystyle r} 886:{\displaystyle d} 866:{\displaystyle n} 810:{\displaystyle p} 790:{\displaystyle p} 770:{\displaystyle B} 750:{\displaystyle P} 737:If all points in 727:{\displaystyle z} 707:{\displaystyle y} 687:{\displaystyle z} 667:{\displaystyle y} 647:{\displaystyle B} 627:{\displaystyle y} 607:{\displaystyle P} 587:{\displaystyle z} 564:{\displaystyle x} 544:{\displaystyle P} 524:{\displaystyle y} 511:, search a point 504:{\displaystyle P} 484:{\displaystyle x} 412:{\displaystyle d} 227:{\displaystyle d} 173:measurement error 107:computer graphics 91:{\displaystyle d} 55:{\displaystyle d} 1699: 1658: 1653: 1647: 1646: 1627: 1618: 1609: 1600: 1599: 1587: 1581: 1580: 1555: 1541: 1524: 1518: 1517: 1500: 1491: 1485: 1479: 1478: 1440: 1434: 1433: 1402: 1393: 1392: 1382: 1355: 1349: 1348: 1341: 1335: 1334: 1322: 1283: 1281: 1280: 1275: 1251: 1249: 1248: 1243: 1231: 1229: 1228: 1223: 1208: 1206: 1205: 1200: 1188: 1186: 1185: 1180: 1168: 1166: 1165: 1160: 1120: 1118: 1117: 1112: 1107: 1099: 1091: 1089: 1088: 1076: 1071: 1066: 1058: 1040: 1038: 1037: 1032: 1007: 1005: 1004: 999: 987: 985: 984: 979: 952: 950: 949: 944: 926: 924: 923: 918: 892: 890: 889: 884: 872: 870: 869: 864: 852: 850: 849: 844: 816: 814: 813: 808: 796: 794: 793: 788: 776: 774: 773: 768: 757:are within ball 756: 754: 753: 748: 733: 731: 730: 725: 713: 711: 710: 705: 693: 691: 690: 685: 673: 671: 670: 665: 653: 651: 650: 645: 633: 631: 630: 625: 613: 611: 610: 605: 593: 591: 590: 585: 570: 568: 567: 562: 550: 548: 547: 542: 530: 528: 527: 522: 510: 508: 507: 502: 490: 488: 487: 482: 455:The open-source 451: 449: 448: 443: 418: 416: 415: 410: 398: 396: 395: 390: 369: 367: 366: 361: 288: 286: 285: 280: 272: 271: 267: 266: 233: 231: 230: 225: 212:prune and search 137:1-center problem 97: 95: 94: 89: 72:enclosing sphere 61: 59: 58: 53: 1707: 1706: 1702: 1701: 1700: 1698: 1697: 1696: 1677: 1676: 1667: 1662: 1661: 1654: 1650: 1644: 1625: 1616: 1610: 1603: 1590:Kumar, Piyush; 1588: 1584: 1539: 1527:Bādoiu, Mihai; 1525: 1521: 1515: 1501: 1494: 1486: 1482: 1468: 1441: 1437: 1422:10.1145/3155312 1403: 1396: 1359:Megiddo, Nimrod 1356: 1352: 1343: 1342: 1338: 1323: 1316: 1311: 1294:Bounding volume 1290: 1257: 1254: 1253: 1237: 1234: 1233: 1214: 1211: 1210: 1194: 1191: 1190: 1174: 1171: 1170: 1154: 1151: 1150: 1144: 1127: 1098: 1084: 1080: 1075: 1059: 1057: 1049: 1046: 1045: 1020: 1017: 1016: 993: 990: 989: 958: 955: 954: 932: 929: 928: 906: 903: 902: 899: 878: 875: 874: 858: 855: 854: 826: 823: 822: 802: 799: 798: 782: 779: 778: 762: 759: 758: 742: 739: 738: 719: 716: 715: 699: 696: 695: 679: 676: 675: 659: 656: 655: 639: 636: 635: 619: 616: 615: 599: 596: 595: 579: 576: 575: 574:Search a point 556: 553: 552: 536: 533: 532: 516: 513: 512: 496: 493: 492: 476: 473: 472: 465: 428: 425: 424: 404: 401: 400: 375: 372: 371: 313: 310: 309: 262: 258: 251: 247: 239: 236: 235: 219: 216: 215: 205: 197: 150: 145: 115:bounding volume 83: 80: 79: 68:bounding sphere 47: 44: 43: 24: 21:Bounding circle 17: 12: 11: 5: 1705: 1695: 1694: 1689: 1675: 1674: 1666: 1665:External links 1663: 1660: 1659: 1648: 1642: 1601: 1582: 1519: 1513: 1492: 1480: 1466: 1435: 1394: 1373:(1): 114–147. 1350: 1336: 1313: 1312: 1310: 1307: 1306: 1305: 1296: 1289: 1286: 1273: 1270: 1267: 1264: 1261: 1241: 1221: 1218: 1198: 1178: 1158: 1147:Larsson (2008) 1143: 1140: 1132:simplex method 1126: 1123: 1110: 1105: 1102: 1097: 1094: 1087: 1083: 1079: 1074: 1069: 1065: 1062: 1056: 1053: 1030: 1027: 1024: 997: 977: 974: 971: 968: 965: 962: 942: 939: 936: 916: 913: 910: 898: 895: 882: 862: 842: 839: 836: 833: 830: 819: 818: 806: 786: 766: 746: 735: 723: 703: 683: 663: 643: 623: 603: 583: 572: 560: 540: 520: 500: 480: 464: 461: 441: 438: 435: 432: 408: 388: 385: 382: 379: 359: 356: 353: 350: 347: 344: 341: 338: 335: 332: 329: 326: 323: 320: 317: 306:Raimund Seidel 278: 275: 270: 265: 261: 257: 254: 250: 246: 243: 223: 208:Nimrod Megiddo 204: 201: 196: 193: 149: 146: 144: 141: 87: 76:enclosing ball 51: 15: 9: 6: 4: 3: 2: 1704: 1693: 1690: 1688: 1685: 1684: 1682: 1672: 1669: 1668: 1657: 1652: 1645: 1639: 1635: 1631: 1624: 1623: 1615: 1608: 1606: 1597: 1593: 1586: 1579: 1575: 1571: 1567: 1563: 1559: 1554: 1553:10.1.1.4.9395 1549: 1545: 1538: 1534: 1530: 1523: 1516: 1514:0-12-286166-3 1510: 1506: 1505:Graphics Gems 1499: 1497: 1489: 1484: 1477: 1473: 1469: 1467:3-540-54869-6 1463: 1459: 1455: 1451: 1450: 1445: 1439: 1431: 1427: 1423: 1419: 1415: 1411: 1407: 1406:Chan, Timothy 1401: 1399: 1390: 1386: 1381: 1376: 1372: 1368: 1364: 1360: 1354: 1346: 1340: 1332: 1328: 1321: 1319: 1314: 1304: 1300: 1297: 1295: 1292: 1291: 1285: 1268: 1265: 1259: 1239: 1219: 1216: 1196: 1176: 1156: 1148: 1139: 1137: 1133: 1122: 1103: 1100: 1095: 1092: 1085: 1081: 1077: 1072: 1067: 1063: 1060: 1051: 1042: 1028: 1025: 1022: 1014: 1009: 995: 975: 969: 966: 963: 940: 937: 934: 914: 911: 908: 894: 880: 860: 837: 834: 828: 804: 784: 764: 744: 736: 721: 701: 681: 661: 641: 621: 601: 581: 573: 558: 538: 518: 498: 478: 471:Pick a point 470: 469: 468: 460: 458: 453: 436: 430: 423:also runs in 422: 406: 383: 377: 354: 351: 345: 342: 339: 330: 327: 324: 315: 307: 304:algorithm by 303: 299: 295: 290: 273: 263: 259: 252: 248: 241: 221: 213: 209: 200: 192: 190: 189:least squares 186: 182: 177: 174: 170: 166: 162: 157: 155: 140: 138: 133: 131: 127: 123: 118: 116: 112: 108: 103: 101: 98:-dimensional 85: 77: 73: 69: 65: 62:-dimensional 49: 41: 33: 28: 22: 1651: 1621: 1595: 1585: 1543: 1533:Indyk, Piotr 1522: 1504: 1483: 1448: 1438: 1413: 1409: 1370: 1366: 1353: 1339: 1330: 1145: 1128: 1043: 1010: 900: 820: 466: 454: 421:Timothy Chan 291: 206: 198: 178: 158: 151: 143:Applications 134: 129: 119: 104: 100:solid sphere 75: 71: 67: 37: 169:data points 40:mathematics 1681:Categories 1444:Welzl, Emo 1309:References 873:points in 195:Algorithms 165:scattering 154:clustering 148:Clustering 122:statistics 1548:CiteSeerX 1104:ϵ 1096:⁡ 1082:ϵ 1068:ϵ 1029:ε 970:ε 941:ε 915:ε 294:Emo Welzl 292:In 1991, 1535:(2002), 1389:12686747 1361:(1988). 1288:See also 988:, where 105:Used in 1692:Spheres 1578:5409535 1570:2121149 1476:1254721 1430:9345339 1013:coreset 185:NP-hard 1640:  1576:  1568:  1550:  1511:  1474:  1464:  1428:  1387:  1626:(PDF) 1617:(PDF) 1574:S2CID 1540:(PDF) 1426:S2CID 1385:S2CID 491:from 64:space 1638:ISBN 1509:ISBN 1462:ISBN 1134:for 714:and 674:and 163:the 124:and 109:and 1630:doi 1558:doi 1454:doi 1418:doi 1375:doi 1284:. 1093:log 1086:4.5 594:in 531:in 179:In 167:of 159:In 139:". 120:In 74:or 38:In 1683:: 1636:, 1604:^ 1572:, 1566:MR 1564:, 1556:, 1542:, 1531:; 1495:^ 1472:MR 1470:, 1460:, 1424:. 1414:14 1412:. 1397:^ 1383:. 1371:33 1369:. 1365:. 1329:, 1317:^ 1301:, 1189:; 1121:. 1011:A 70:, 1632:: 1560:: 1456:: 1432:. 1420:: 1391:. 1377:: 1347:. 1272:) 1269:n 1266:s 1263:( 1260:O 1240:n 1220:s 1217:2 1197:s 1177:s 1157:s 1109:) 1101:1 1078:1 1073:+ 1064:d 1061:n 1055:( 1052:O 1026:+ 1023:1 996:r 976:r 973:) 967:+ 964:1 961:( 938:+ 935:1 912:+ 909:1 881:d 861:n 841:) 838:d 835:n 832:( 829:O 805:p 785:p 765:B 745:P 734:; 722:z 702:y 682:z 662:y 642:B 622:y 602:P 582:z 571:; 559:x 539:P 519:y 499:P 479:x 440:) 437:n 434:( 431:O 407:d 387:) 384:n 381:( 378:O 358:) 355:n 352:! 349:) 346:1 343:+ 340:d 337:( 334:) 331:1 328:+ 325:d 322:( 319:( 316:O 277:) 274:n 269:) 264:2 260:d 256:( 253:O 249:2 245:( 242:O 222:d 86:d 50:d 23:.

Index

Bounding circle

smallest bounding circle
mathematics
space
solid sphere
computer graphics
computational geometry
bounding volume
statistics
operations research
1-center problem
clustering
statistical analysis
scattering
data points
measurement error
operations research
NP-hard
least squares
Nimrod Megiddo
prune and search
Emo Welzl
randomized algorithm
linear programming
Raimund Seidel
Timothy Chan
Computational Geometry Algorithms Library
coreset
simplex method

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.