spirals around cone

810 Views Asked by At

I have multiple spirals running around a cone. The spirals are

$$r_\Delta = r_b - r_t$$ $$x(z) = r_b \cos(z) - r_\Delta z \cos(z)$$ $$y(z) = r_b \sin(z) - r_\Delta z \sin(z)$$ $$d(z) = \text{diameter} \frac{r_\Delta (1-z) + r_t}{r_b}$$

While the diameter of the spirals is proportional to the diameter of the cone, the distance between the spirals is not. This is a desired attribute though.

I know I need to wrap the $z$ in $\sin z$ and $\cos z$ but I am not quite sure with what.

How do I need to adjust the equations to get a proportional diameter and distance of the spirals?

spirals cone

1

There are 1 best solutions below

4
On BEST ANSWER

First, let me rewrite the equations without changing the result:

$$\begin{eqnarray} r_t &=& r_b - r_\Delta \\ r(z) &=& r_b - r_\Delta z \\ x(z) &=& r(z) \cos(z) \\ y(z) &=& r(z) \sin(z) \\ d(z) &=& \frac{r_\Delta (1-z) + r_b - r_\Delta}{r_b} = \frac{r(z)}{r_b} \\ \end{eqnarray}$$

The equations for $x$ and $y$ show that $2r(z)$ is the diameter of the cone at the point $(x(z), y(z)),$ and the last equation shows that the diameter of the spiral is proportional to $2r(z)$, so that part works.

In order for the spirals to be spaced proportionally to the diameter of the cone, the projection of the spirals onto the $x,y$ plane will need to satisfy the same condition, that is, the distance to the next spiral from a any given point on any spiral needs to be proportional to the distance from the origin to the given point.

You wrote an equation for an Archimedean spiral in the $x,y$ plane; in polar coordinates, what you have is $r = r_b - r_\Delta \theta.$ The spiral you need in the $x,y$ plane is a logarithmic spiral, something of the form $r = r_0 e^{\kappa\theta}.$

Instead of making everything an explicit function of $z$, let's parameterize using the polar angle, $\theta$, and create a logarithmic spiral. That is, we want

$$\begin{eqnarray} r(\theta) &=& r_0 e^{\kappa\theta} \\ x(\theta) &=& r(\theta) \cos(\theta) \\ y(\theta) &=& r(\theta) \sin(\theta) \\ d(\theta) &=& \frac{r(\theta)}{r_b} \\ \end{eqnarray}$$

Now the only problem is to decide what the $z$ coordinate should be at each point on a spiral. In order to make the spiral follow the surface of a cone, we need $z$ to be a linear function of $r$ (but not proportional to $r$, as long as you require the vertex of the cone to be on the positive $z$-axis rather than at the origin). You have the vertex of the cone at $\left(0,0,\frac{r_b}{r_\Delta}\right)$ and you also have $r = r_b$ when $z = 0$; to preserve those measurements (that is, to maintain the same shape and position of the cone), we can put

$$z(\theta) = \frac{r_b}{r_\Delta} - \frac{1}{r_\Delta} r(\theta).$$

This fully defines the variables $x,$ $y,$ $z,$ and $d$ with which you describe your spirals.