Patent ID: 8218910

Claim:
A method of computing a continuous interpolation of a discrete set of three-dimensional (3D) balls, comprising: generating an initial skin using a processor of a computer, wherein the initial skin is generated by using machine code excutable by the processor to form a surface of the initial skin comprised of splines, wherein the splines touch each ball along a circle that is tangent to the ball; solving a first differential equation to minimize the initial skin's surface area or solving a second differential equation to minimize a squared mean curvature of the initial skin's surface, wherein the result of solving the first or second differential equations is an updated skin; and repeating the steps of solving the first or second differential equations for the updated skin, and then, repeating the steps of solving the first or second differential equations for each subsequently updated skin until a desired skin is realized, where a circle on a ball B i is in a plane with mormal N i =[cos θ i sin φ i , sin φ i sin φ i , cos φ i ] T that passes through the ball center c i and intersects the ball B i , q(u) is a point on the circle and is defined by q(u)={circumflex over (x)} cos u+ŷ sin u, and a point p i (u) on a circle through which spline passes is defined by p i (u)=c i +r i q(u), where r i is a radius of an i th ball, and R i is a rotation matrix specified by N i .