Search code examples
geometrytrigonometrypacking

Simple circle packing problem with circles of different size


Is there an analytical solution to find the intersection point between the placed grain and grain 1 if the placed grain is lowered [in the reference frame of the image] along the dotted line? We know the radius of both circles. We have graphical figured out the intersection point and labelled it for reference in the image.

schematic for circle packing


Solution

  • Assuming

    • a right angle between the dotted line and the line through the center of g1 and g2
    • the dotted line is a tangent of g1

    you can use the following:

    Consider the situation when g1 and gp touch. In that case, the length of the line segment between center g1 and gp is equal to radius(g1) + radius(gp). Which is also the hypotenuse of a right-angled triangle for which radius(g1) is a cathetus. arccos(radius(g1)/(radius(g1) + radius(gp))) gives you then the angle between the hypotenuse and cathetus around the center of g1.

    This angle and the length radius(g1) are polar coordinates of the intersection point relative to the center of g1.