Given N points in a 3D space, how to find the smallest sphere that contains these N points?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
This problem is called minimal enclosing ball problem. (google this term to find tutorials and papers on it).
Here’s one implementation: http://www.inf.ethz.ch/personal/gaertner/miniball.html in c++.
Its 2d case (find a circle to enclose all points in a plane) is a classic example taught in computational geometry course. 3D is just a simple extension to the 2D case.
One algorithm for this problem is incremental style. You start with 4 points and they fix a sphere, and when you add 5-th point, there are two cases:
the point is in the sphere. no need to update.
outside the point. In this case, you need to update your sphere. Then a non-trivial property is that this new point must be on your new sphere!
Based on the above observation, your problem gets smaller. Read section 4.7 of this book. It is also available on google book.