How to draw a logarithmic spiral intersecting two concentric circles

Back in December '15 I asked “How to draw an arc intersecting two concentric circles”. The help I received was, in a word, amazing, and I so appreciate it. Thanks!

Today I am writing to ask if anyone could help me do the same thing, this time using a logarithmic spiral instead of a circular arc.
The user would specify the radii of the concentric circles, say 5 inch and 6 inch and angles of intersection of the circles and the logarithmic spiral, say 15 deg and 20 deg, respectively.

I believe it would involve moving the origin of the spiral away from the center of the circles. I’ll look at the thread about the GH implementation of Archimedes Spiral which I saw before.

Thanks in advance,


The solution is to use grasshopper:
Series - Fibonacci - trigonometry function - points - interpolate.
Try a bit, later we’ll edit your file…

Best regards,

You must research online and try to do this in grasshopper. When it doesn’t work at all anymore, ask the forum by uploading what you’ve got.

Well, it’s later, much later, but as Confucius said long ago, perseverance furthers. The objective is to display the angles of intersection at the points of intersection of the spiral on the two concentric circles and then manipulate the spiral and/or the circles to hopefully get the desired, say 15 and 20 deg angles of intersection, respectively…
My failed attempt at showing points of intersection has me baffled. I’m assuming, perhaps in error, that they’re all on the xy plane and should intersect. Any help is appreciated. ~ David

MyLogcSpiralIntsectng2ConcntcCircl_04_28_22.3dm (33.8 KB) (11.2 KB)

Since a log spiral will make the same angle with all circles, you’re right about it having to be shifted from the origin. Here’s a possible method using the Galapagos solver. The sliders being considered are the y distance of the spiral from the origin and the pitch of the spiral. The Fitness function is (x-15)^2 + (y-20)^2, where x, and y are the two candidate angles of intersection. Minimize that sum. It takes some finagling to get nice starting values and their ranges, and I don’t know what circle radii or pitch you’re interested in, so you’ll probably have to play with both sliders before you run the solver or go back and forth as I did…
See you in four years! :grinning:

logspiral circles (232.8 KB)

Thank you sir! Unfortunately, I, having not upgraded to Rhino 7 from Rhino 5 (yet), could not open your Grasshopper file. I’ll try and decode the image and try to generate a grasshopper_0.9.76.0 version.
Much appreciated. ~ David


Your intersection points are not working because you need to flat the list before; tthe curves are in different branches.

I rebuilt your script too (7.5 KB)


Thank you! As soon as I can afford the upgrade, I’ll get a license for Rhino 7. I couldn’t load your definition.
Thanks again. ~ David

Oh, ok…

Try with your script and the flat list.

Otherwise here is another way to do it

And for the angles, I would use the same process that Ethan. Galapagos is useful to find the best parameters to have an specific angle, but you can also control them manually (without galapagos)

I don’t have Rhino 5 immediately accessible, but I don’t see anything in my def which is unique to V7.

Here’s an alternative approach that doesn’t use a solver, but fits the circles to a spiral of your specification. You can tweak the spiral parameters and the circles will reorganise.

I’ve tweaked my R7 GH back into R5 - that didn’t have relays so I’m afraid you’re stuck with some untidy wiring… (20.8 KB)
And here’s the R7 version: (34.0 KB)


Jeremy, man I can live with some untidy wiring! What you have shared is, in a word, amazing. I’ve played with it for an hour or two trying different radii approaching 6.0 and 6.5 and angles approaching 45 and 50 respectively. I lost track of time. Can I get it to preview the radii and angles? I haven’t figured that out yet.
Thanks a Billion! ~ David

Here’s an updated version which adds a rough and ready display of the angles and radii… (21.0 KB)

1 Like

Hi Jeremy,


Thank you. ~ David