

Actually
I use a while loop to make my spiral and I can make
as many as possible and it is rather simple
it is a translation and a rotation.
BUT with this method it is not easy to make the helix
follow a sine curve.
sigh!
"Grassblade" <nomail@nomail> wrote:
> "sahraoui" <sch### [at] uiucedu> wrote:
> > Hi
> >
> > I was wondering if there is a simple way
> > to draw a helix on a sinus. Instead of having a straigh helix
> > we should have a helix that would follow a sine function. It seems
> > hard but may be I am not optimising the code. so far it is not working
> >
> > regards
>
> I would turn to parametric objects, with them you can get pretty much
> anything that strikes your fancy, provided you know your way around them.
> I'm not too familiar with them myself, but I do know you can find pointers
> at Mike Williams page:
> http://www.econym.demon.co.uk/isotut/parametric.htm
>
> The helix isn't mentioned over there, at least I haven't found it with only
> a quick sweep, but its parametric equation is:
>
> #declare Fx = function {sin(5*v)}
> #declare Fy = function {v}
> #declare Fz = function {cos(5*v)}
>
> parametric {
> function {Fx(u,v,0)}
> function {Fy(u,v,0)}
> function {Fz(u,v,0)}
> <2*pi,pi>,<4*pi,2.1*pi>
> contained_by{box{2,2}}
> precompute 18, x,y,z
> pigment {rgb x}
> }
>
> If you render the above you'll only see a series of dots in a helix pattern,
> that is because the above formula implies 0 thickness. I do not know how to
> change it so that it becomes a sphere sweep of a given radius along the
> helix.
> Anyway, to address your question, simply modify Fy (the helix's axis) to
> accomodate for a sin(v) or whatnot.
>
> Parametric objects render exceedingly slowly, so you may want to use Ingo
> Janssen's param.inc. You can find more details at Mike Williams page.
Post a reply to this message

