POV-Ray : Newsgroups : povray.general : revolving isosurfaces Server Time
20 Nov 2024 00:22:44 EST (-0500)
  revolving isosurfaces (Message 1 to 4 of 4)  
From: Gail Shaw
Subject: revolving isosurfaces
Date: 20 Dec 2001 13:34:14
Message: <3c222f26@news.povray.org>
I'm trying to make a coil of rope by revolving the 3.5 function
f_helix1 around an axis  and I just can't seem to it right

Has anyone done this before?

#declare F_Helix=
 function {f_helix1(x-1,y,z, 2, 20, 0.06, 0.04, 1, 1, 0)}

isosurface {
 function {F_Helix(x,sqrt(y^2+z^2),z)}
 max_gradient 2
 contained_by {box {-3,3}}
 pigment {White}
 rotate y*45
}

Thanks
Gail
--
*************************************************************************
* gsh### [at] monotixcoza                *   Chaos, disorder and panic      *
* http://www.rucus.ru.ac.za/~gail/   *   My job here is done.           *
*************************************************************************
* Just think of me as the storm before the calm     Magic: The Gathering*
*************************************************************************


Post a reply to this message

From: Mike Williams
Subject: Re: revolving isosurfaces
Date: 20 Dec 2001 16:23:02
Message: <lOg+MBArZlI8Ew9o@econym.demon.co.uk>
Wasn't it Gail Shaw who wrote:
>I'm trying to make a coil of rope by revolving the 3.5 function
>f_helix1 around an axis  and I just can't seem to it right
>
>Has anyone done this before?
>

Is this anything like what you ware attempting?

#declare F_Helix=
 function{f_helix1(x,y,z, 2, 20, 0.06, 0.04, 1, 1, 0)}

isosurface {
 function {F_Helix(f_r(x,y,z)-1, f_ph(x,y,z), z)}
 max_gradient 10
 contained_by {box {-1.5,1.5}}
 pigment {rgb 1}
 rotate y*45
}





-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Gail Shaw
Subject: Re: revolving isosurfaces
Date: 21 Dec 2001 02:23:19
Message: <3c22e367@news.povray.org>
"Mike Williams" <mik### [at] nospamplease> wrote in message
news:lOg+MBA### [at] econymdemoncouk...

> Is this anything like what you ware attempting?
>
> #declare F_Helix=
>  function{f_helix1(x,y,z, 2, 20, 0.06, 0.04, 1, 1, 0)}
>
> isosurface {
>  function {F_Helix(f_r(x,y,z)-1, f_ph(x,y,z), z)}
>  max_gradient 10
>  contained_by {box {-1.5,1.5}}
>  pigment {rgb 1}
>  rotate y*45
> }

Perfect, Thank you.

I thought of polar, but didn't know about the functions for it.
Back to the docs...

Gail
--
*************************************************************************
* gsh### [at] monotixcoza                *   Chaos, disorder and panic      *
* http://www.rucus.ru.ac.za/~gail/   *   My job here is done.           *
*************************************************************************
* Just think of me as the storm before the calm     Magic: The Gathering*
*************************************************************************


Post a reply to this message

From: Mike Williams
Subject: Re: revolving isosurfaces
Date: 21 Dec 2001 13:10:27
Message: <c$8gACAZg0I8EwJO@econym.demon.co.uk>
It can be improved by adding some ripples to the surface, to look like
the effect of individual fibres. I've used "-sin(x*300)*0.001 -
cos(z*300)*0.001" (where x will later become the polar co-ordinate r).

I can stop the rope twisting the opposite way at the top and bottom, by
using "z*(1-2*(x>0))". That's my way of achieving z*sign(x).

The "y+0.127" factor nearly fixes the continuity at the top and bottom,
but not quite.


#include "functions.inc"

#declare F_Helix=
 function{f_helix1(x,y+0.127,z, 2, 20, 0.06, 0.04, 1, 1, 0)
 -sin(x*300)*0.001 -cos(z*300)*0.001
 }
 
#declare C1=<-1.2,-1.2,-0.15>;
#declare C2=< 1.2, 1.2, 0.15>;

isosurface {
 function {F_Helix(f_r(x,y,z)-1, f_ph(x,y,z), z*(1-2*(x>0)))}
 max_gradient 3
 contained_by {box {C1,C2}}
 pigment {rgb <1,.8,.5>}
 rotate y*45
}


-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.