Arc Tangent to 3 Circles

How can I calculate the radius for the TangentArc component so that the tangent arc is tangent to all 3 circles?

Or is there a better way to create this arc?

The cyan group creates three random circles (use ‘Seed’ slider in blue group to change). The circle in yellow group is arbitrarily large, must surrounding everything. As I type this, I see that it doesn’t always work… :frowning: :thinking:


tangent_arcs_2024Apr2a.gh (21.3 KB)

3 Likes

I think the circle tangent to 3 other circles has up to 6 unique solutions in 2D. I need to verify this tho…
Edit: it’s 8. Still need to verify. I think all 8 cases can be computed with 8 systems of linear equations. Might be a fun coding challenge

1 Like

Try Fennec component: Circle TanTanTan

c_ttt.gh (10.4 KB)

1 Like

Thanks everyone for the replies.
I will check them out properly later.

I knew I’d seen TanTanTan somewhere!

Good to have a native components option too.

That’s the classic Apollonian problem. There’s 8 (max) Circles possible.

Notify if you want an entry level C# on that.


2 Likes

Yes plz

yes plz as well

Always interested to take a look and it looks like I’m not the only one!

I ended up using bi-arcs but each method produces different final outlines, which is interesting, so i’ll take inspiration from the ideas here and make some more.

I’m trying to create closed outlines around tangent circles but not with a tension.

Of all the curves or arcs made, I need to be able to select the ones I want and join them to make a closed curve.

I tried with extra circles: In the centre of each tip and in the centre of each side, but they’re not needed here.


OUTLINE.gh (22.0 KB)

This does the Apollonian circles (8 max) and gives you a hint about the Arc part. As a challenge finish the 2nd C# : for instance provide an option for finding the smallest Arc … if conditions permit that (BTW: take into account the orientation of a given Circle as well).

Circles_Apollonian_V1.gh (121.9 KB)

1 Like

Thank you Peter