WISH: add "logarithmic spiral"

You could be added between the various commands of the curves “logarithmic spiral”?
Currently there is only one whose distances between the arms are straight (Archimede spiral).

This kind of spiral is diffused in nature…


The present one might assume the name of the constant spiral, and the other, logarithmic spiral, to differentiate …

Have you tried following plugin for sketching curves and surfaces based on parametric equations?

No, but I would like it to be added natively in Rhino 6, as the spiral of Archimede.

Why does it have to be native??? Working with plugins is a pretty common thing to do in Rhino…

Well, it is fairly regularly requested here, that argues for it being “native” --Mitch

1 Like

Well, the Rhino Plugin listed above is from a real Rhino native and it creates parametric spirals which i guess you won`t find in a native solution :wink:


Here: I was adopted formula from Juergen Meier (Old C4D user) website (German): http://www.3d-meier.de/
This can be used with MathPlugin
Directory from MathPlugin must be have Read, Execute, Write permission.
Copy,paste and save this in MathCurve.ini :

[Logarithmic Spiral (JM)]
Minimum t=3
Maximum t=15
Function X(t)=a * cos(t * pi)/scalar * exp(b * t)
Function Y(t)=a * sin(t * pi)/scalar * exp(b * t)
Function Z(t)=0
Variables=a= 10, b=0.4, scalar=200

Save this image as Logarithmic Spiral (JM).jpg in to MathPlugin directory / images

New, you can load this function from MathPlugin library…

Well, do I need to list the plug-ins that have become “native” in the last few years? Let’s see… Technical display, Curve piping/edge softening, Gumball, Block editor, and, yes, Grasshopper in the current WIP… Not to mention uncountable commands now native that you used to need scripts for…


(i could see this as a native capability… done ‘right’ and maybe with a nice preview style UI)

one of the first python scripts i made was for this kind of spiral (or- i think it’s this kind of spiral? )

it does this:

…then strikes a curve through the points:

import rhinoscriptsyntax as rs
import math

ptlist = []
cPt= rs.coerce3dpoint([0,0,0])
angle = math.radians(15)
angleD = 15

ptlist.append(rs.AddPoint (x,y,z))
x= math.tan(angle)*y  

for i in range(1,102):
    y= x/math.sin(angle)
    x= math.tan(angle)*y
    rs.RotateObject(point,cPt,-angleD * i)


1 Like

how many stories to implement natively an important function! Rhino if it is to be different from each other cad, it should perform certain tasks in a simple and immediate, you can not always look for the shortcut with scripts and plug-ins that go into oblivion.

Rhino is different and exceptional by its modularity. What is an important function- log spiral isn’t, at least for me.
I use Rhino, together with Surfcam, as freeform modeler for making tools for automotive industry.
Rhino covers 90% of my needs, the rest 10% I solve by using of plugins (labsarray, arraycrvplus, boltgen, section tools, paneling tools, explodedview, iris, math_3de). I really don’t want pay more for functions, which I’ll never use.
If You use Rhino, you will always ask for scripts and plugins and this is exactly the reason why I like Rhino.

That’s the important point. It might be important for someone else.

What makes you think this particular function will cost something?


Any function that is part of plain vanilla Rhino will need:

  • to be written by McNeel staff
  • to have a user inteface written by McNeel staff
  • to be tested by McNeel staff
  • to be documented properly by McNeel staff (both in help file and change logs)

No matter how trivial the first step might be, all in all there is always an opportunity cost of any function.

Cost to develop, certainly (although the algorithms exist already, since there are plug-ins). Cost to the user - no. Just like any other base Rhino command that has been added in the past without making the program cost more. It’s simply a matter of choice what to put in and what to leave out.


Yes, and that represents an opportunity cost that does get transferred to a user that is waiting for a function that was put on hold for that one other function to be written.

BTW, I’m not arguing with the way the system works.

Correct me if i wrong, but i think rhino is not develloped only for you and your needs .

That always the same problem, If request are not in some users direct needs, it necessarily useless.

Everyone have particular needs, what will be useless for you , can be usefull for someone else, can you just see that ?

And , you already paid for many functions you never used , who use Rhino or others programs at 100 % ?

My speech goes beyond the individual user, if needed or not.
Since there is the command “constant spiral”, I believe that it is spontaneously create a variable “Spiral command” (logarithmic).
It is like saying there is a circle command but lacks the ellipse, or, there is the square but not the rectangle.
It is nonsense, not to create some kind of special tool. It would be a small addition, we do not do unnecessary questions.

The spiral as a native command has always been present from the earliest versions of Rhino? or it was introduced later?
Even the command “tween curves” did not exist before, and then appeared in Rhino 5 … and yet not at all used, it is not critical, but now exists natively, with no script or various things. (This is just an example)