Metlivi Blog

How to Construct a Filled Bridge That Meets Two Circles at Their Edges

To construct a filled bridge between two circles, find the four points where their two outer common tangents touch the circles, then connect those points into a closed quadrilateral. Merge that quadrilateral with the circles for one continuous silhouette, or subtract copies of the circles to leave a separate bridge with curved ends that fit their edges.

This tutorial uses Inkscape to build a precise connector for a flat character or virtual-toy illustration. The chosen construction has straight upper and lower sides that meet the circles smoothly. A worked example supplies exact coordinates, followed by a formula you can reuse for different circle sizes and positions.

October 29, 20267 min readBy Metlivi Editorial Team
Section 1

What makes the bridge meet both circles smoothly?

A bridge can touch a circle without joining its outline smoothly. Placing its corners anywhere on the circumference establishes contact, but the bridge’s side may still create a visible corner. For a smooth transition, that side must follow the circle’s tangent at the contact point.

For two separated circles, use the pair of outer common tangents: the lines running along the outside of both circles. Each contact point lies on its circle, and the radius through that point is perpendicular to the tangent. These are the conditions expressed in Wolfram MathWorld’s circle-circle tangent equations.

The four contact points define the construction quadrilateral. Its two long sides become the exposed bridge edges; its two closing sides pass through the circles. Those closing sides disappear when the shapes are merged or the circular overlap is removed.

This construction produces a straight-sided connector. An inward-curving, pinched connector would require a different curve design; the tangent points alone do not determine that shape.

Section 2

What should you prepare before drawing?

Start with two complete circles, a solid fill, and no stroke. Work in one coordinate unit throughout. A visible stroke can obscure the boundary you are trying to match, so add any final outline after constructing the filled geometry.

In Inkscape, select the Ellipse tool with E, then hold Ctrl while dragging to create a circle. For precise dimensions, set equal Rx and Ry values in the tool controls. If an object is an arc or segment, use Make ellipse whole before proceeding. These controls are documented in the Inkscape guide to circles, ellipses and arcs.

Open Object → Fill and Stroke. Set a solid fill and select the cross-shaped No paint control under Stroke paint. Keep opacity at 100% while inspecting the construction. See The Fill and Stroke Dialog for these settings.

Keep a spare copy of the two original circles outside the working area. The final Boolean operation changes the construction, and those originals make later adjustments easier.

Section 3

How do you build an exact bridge from sample coordinates?

Use the following illustrative dimensions. They deliberately create a strongly tapered connector, making the contact geometry easy to inspect. Coordinates use pixels, with x increasing rightward and y increasing downward.

Object Center Radius Bounding box
Circle A (100, 100) 70 x = 30–170; y = 30–170
Circle B (200, 100) 10 x = 190–210; y = 90–110

The centers are 100 units apart. Subtracting the radii leaves a 20-unit gap between the nearest circle edges. The bridge must span that gap while continuing smoothly into the circular outlines.

For these circles, the four tangent contact points are:

Point Location Coordinates
A upper Upper contact on Circle A (142, 44)
B upper Upper contact on Circle B (206, 92)
B lower Lower contact on Circle B (206, 108)
A lower Lower contact on Circle A (142, 156)

Select the Bézier/Pen tool and create a four-corner path in the order shown in the table. Click each corner without dragging, then click the starting point to close the path. Give it the same solid fill as the circles and remove its stroke.

For exact placement, draw the quadrilateral approximately first. Switch to the Node tool with N, select one node at a time, and enter its x and y coordinates in the tool controls. Set the coordinate unit to pixels. Inkscape documents these numeric fields in Node Tool Options.

Follow the perimeter when connecting the points: A upper → B upper → B lower → A lower → close. Connecting diagonally across the shape creates a crossing path instead of the intended filled bridge.

These sample coordinates were checked with a deterministic calculation: every contact point is the correct distance from its circle’s center, and each long bridge edge is perpendicular to the corresponding contact radii.

Section 4

Should you merge the bridge or keep it separate?

Choose the final structure according to how you want to edit or color the character.

Desired result Construction
One continuous, single-color silhouette Unite both circles and the quadrilateral
Separately colored bridge that stops at the circles Subtract circle copies from the quadrilateral
Editable construction for later adjustments Retain the original circles and quadrilateral before either operation

For a single silhouette, select both circles and the quadrilateral, then choose Path → Union. For a separate bridge, duplicate the circles, unite those duplicates into one cutter, and place that cutter above the quadrilateral. Select the cutter and quadrilateral, then choose Path → Difference. Keep the original circles outside this selection.

Difference removes the overlapping circular areas, leaving curved bridge ends that follow the facing circle boundaries. Union retains the overall filled outline. These operations and the importance of stacking order are explained in Inkscape’s Boolean Operations guide.

The quadrilateral’s straight closing sides are construction edges. Leaving the untrimmed quadrilateral visible in a different color exposes those chords inside the circles. Use the subtraction workflow when the bridge needs its own color and must end precisely at their circumferences.

Section 5

How do you calculate contact points for other circles?

The following formula is a derived decision aid based on the radius-length and perpendicularity conditions in MathWorld’s tangent equations. It works for circles at arbitrary positions, so horizontal alignment is unnecessary.

Let the centers be A = (ax, ay) and B = (bx, by), with positive radii rA and rB. First calculate the center distance and a unit vector pointing from A to B:

d = sqrt((bx − ax)² + (by − ay)²)

u = (ux, uy) = ((bx − ax) / d, (by − ay) / d)

Construct a perpendicular unit vector v = (−uy, ux). Then calculate:

q = (rA − rB) / d

s = sqrt(1 − q²)

n₁ = q·u + s·v

n₂ = q·u − s·v

Vector multiplication here means multiplying each component by the scalar. Each vector n points from a center toward a tangent contact point. The four points are:

  • A₁ = A + rA·n₁
  • B₁ = B + rB·n₁
  • A₂ = A + rA·n₂
  • B₂ = B + rB·n₂

Draw the perimeter A₁ → B₁ → B₂ → A₂ → close. Either normal may represent the upper side, depending on the circle arrangement and coordinate orientation.

For the worked example, u = (1, 0), q = 0.6, and s = 0.8. The two normals are (0.6, 0.8) and (0.6, −0.8). Multiplying them by each radius and adding the corresponding center gives the four coordinates listed earlier.

The construction follows directly from those vectors: each normal has length one, placing its contact point on the circle. Its dot product with the segment between matching contact points is zero, establishing tangency. For equal radii, q = 0, so the bridge sides run parallel to the line joining the centers.

Section 6

When does this construction need adjustment?

For the separated-circle task, require d > rA + rB. This gives a genuine gap for the bridge to fill. If the circles already overlap, joining them may still be useful, but the result addresses a different shape problem.

The formula itself requires d > |rA − rB| for two distinct outer tangent sides. At equality, the tangent construction collapses. Below that threshold, one circle lies inside the other and the square root has no real value. Coincident centers also make the unit-vector calculation undefined. These limits follow from the formula above.

Recalculate the contact points whenever you move or resize either circle. Repositioning a bridge corner by eye can preserve contact while losing tangency. Likewise, stretching one circle into an ellipse changes the geometry; this circle-specific formula no longer applies.

Section 7

How do you check the finished connection?

Inspect the result at both a close zoom and its intended display size. Use the following sequence to identify the cause of a visible defect:

  1. Check the fill. Confirm that the quadrilateral is closed, filled, and free of crossing segments.
  2. Check the circle geometry. Verify the centers, radii, and coordinate units against the calculation.
  3. Check the four contacts. Correct node coordinates before changing curve handles.
  4. Check the final structure. Confirm that Union or Difference produced the silhouette or separate bridge you intended.
  5. Check the outline. Add a stroke to the finished silhouette if the design calls for one; inspect any separately stroked pieces for unwanted internal boundaries.

For a numerical check, measure each contact point’s distance from its center: it should equal that circle’s radius. Then verify that each exposed bridge side is perpendicular to its contact radii. These tests distinguish an accurate connection from one that merely appears aligned.

Once the contacts are correct, the remaining choice is how the artwork should be organized: one unified silhouette or separate filled pieces. Preserve the source circles and the calculated points, and you can rebuild the same edge-fitting bridge whenever the character’s proportions change.

Section 8

Sources

Related reading

Keep exploring this topic