0
$\begingroup$

I am trying to figure out the equation of a specific curve. This is for a CAD model that I am trying to generate. Essentially, I am trying to model a curve that would essentially look like a cross section of corrugated sheet metal, similar to a sinewave shape, that has been rolled up into a spiral. Essentially a sinewave of constant period and amplitude that is imposed on a larger spiral curve. Could someone help me figure this one out?

The program will accept an explicit form or parametric form of the equation.

The parametric spiral equation that gives me the correct shape I am looking at has the form:

$$x(t) = a\cdot t\cdot \cos(t)$$ $$y(t) = a\cdot t\cdot\sin(t)$$

Then I am trying to impose a sinewave of constant amplitude and period over this curve. I have forgotten the math to do this but I can see that the secondary sine term I want to overlay has to have some sort of logarithmic decay as t increases so the period can remain constant.

  • 0
    $f(t) = t e^{i t} + A(\cos(bt)e^{it}+\sin(bt)i e^{it})$2017-01-28
  • 0
    I'm having a hard time trying to get that one to generate the right curve. I just reworded my question to hopefully clarify what I'm after.2017-01-30

1 Answers 1

1

You can get this result:

enter image description here

with this MATLAB/Octave code:

radius = @(t,a,b) a * t + sin(b*t.*t);
r = @(t) radius(t,2,pi);
t = linspace(0,20*pi,50000);
plot(r(t).*cos(t), r(t).*sin(t))
axis equal

This can be written in cleaner notation as

$$\begin{align} x(t) &= (at + \sin(bt^2)) \cos(t) \\ y(t) &= (at + \sin(bt^2)) \sin(t) \enspace. \end{align}$$

Why does $t^2$ seem to work? Think of $t$ as time. Then the spiral is traced at constant angular speed, but the radius also grows at constant rate. Therefore the linear speed of the point that traces the curve grows approximately linearly with $t$. To keep the stride of the sine wave (approximately) constant, its frequency has to scale linearly too. Said otherwise, we want $\sin((bt)t)$, where $bt$ is the linearly increasing angular frequency.

To get rid of the "approximately," we need to account for the fact that the actual linear speeed is $v(t) = a\sqrt{1+t^2}$ and solve

$$ \frac{d}{dt}\,f(t) = v(t) $$

for $f(t)$ and let the sine wave be $\sin(b f(t))$. We get

$$ f(t) = \frac{a}{2}(\sinh^{-1}(t) + t \sqrt{1+t^2}) + C \enspace. $$

If instead of an Archimedean spiral, the supporting curve were, say, a logarithmic spiral, the sine wave would need adjustment, but the process is the same: integrate $v(t)$ to obtain $f(t)$.

enter image description here