









 
 




 
 


Hey Folks,
I'm trying to code a cylinder, which is capped on one side by a 2dfunction. The
2dfunction I have in mind is running like a helix with the parameters (x,y,z)
of the form {x=r*Cos[a], y=r*Sin[a], z=a} with r and a, both running from 0 to
1.
How can I do that? I tried Isosurface, but I failed...
Could anyone help out?
Thanks in advance,
Kay
Post a reply to this message


 
 




 
 


"Kay" <uhu### [at] webde> wrote:
> Hey Folks,
>
> I'm trying to code a cylinder, which is capped on one side by a 2dfunction. The
> 2dfunction I have in mind is running like a helix with the parameters (x,y,z)
> of the form {x=r*Cos[a], y=r*Sin[a], z=a} with r and a, both running from 0 to
> 1.
>
> How can I do that? I tried Isosurface, but I failed...
> Could anyone help out?
See:
http://www.flohmueller.de/pov_tut/all_shapes/shapes910e.htm
And Mike Williams' Isosurface tutorial, as well as the POVRay docs.
I'd say you need to go from 0 to 2*pi to get a full wrap, and do the "cylinder"
and the cap in 2 parts...
Post a reply to this message


 
 




 
 


"Bald Eagle" <cre### [at] netscapenet> wrote:
> "Kay" <uhu### [at] webde> wrote:
> > Hey Folks,
> >
> > I'm trying to code a cylinder, which is capped on one side by a 2dfunction. The
> > 2dfunction I have in mind is running like a helix with the parameters (x,y,z)
> > of the form {x=r*Cos[a], y=r*Sin[a], z=a} with r and a, both running from 0 to
> > 1.
> >
> > How can I do that? I tried Isosurface, but I failed...
> > Could anyone help out?
>
> See:
> http://www.flohmueller.de/pov_tut/all_shapes/shapes910e.htm
>
> And Mike Williams' Isosurface tutorial, as well as the POVRay docs.
>
> I'd say you need to go from 0 to 2*pi to get a full wrap, and do the "cylinder"
> and the cap in 2 parts...
You're right, "a" should run from 0 to 2*pi, my bad.
Thanks for your hints! Actually, to my pitty, I already know these tutorials,
without success for me. I was hoping to rebuild this:
http://imgur.com/a/9cISt
with the help of an isosurface. But I do not know, how to get the golden
structure made out of this. I fear any boolean operations aren't accessable with
isosurface. Are they?
Thanks for help!
Post a reply to this message


 
 




 
 


It seems like the easiest thing to do there is just create a fornext loop and
increment the y position of a short cylinder as you alter the x and z values
with cos and sin functions.
#declare R1 = 5; // radius of spiral
#declare R2= 0.25; // radius of cylinders
#declare Y=0;
#for (t, 0, 2*pi, 0.1)
#declare X = R1*cos(t);
#declare Z = R1*sin(t);
cylinder {<X, Y, Z>, <X, Y+0.5, Z>, R2 pigment {Yellow}}
#declare Y = Y + 0.1;
#end // end for t
Post a reply to this message


 
 


From: Sherry K Shaw
Subject: Re: How to cap a cylinder by a 2dfunction?
Date: 7 Dec 2016 00:21:23
Message: <58475603@news.povray.org>



 
 


Kay wrote:
> I fear any boolean operations aren't accessable with
> isosurface. Are they?
>
You can't put an #if statement into a function, but you CAN use the
result of a comparison as a numeric value in a function. For example:
f_rounded_box( x*(1+((y/100)*(y>0))), y, z, 6, 36, 78, 12 )
In an isosurface, this creates a rounded box that's straightsided below
y=0 and tapers gently above. (Don't forget to include functions.inc.)
Hope this is useful.
Sherry Shaw

#macro T(E,N)sphere{x,.4rotate z*E*60translate y*N pigment{wrinkles scale
.3}finish{ambient 1}}#end#local I=0;#while(I<5)T(I,1)T(1I,1)#local I=I+
1;#end camera{location5*z}plane{z,37 pigment{granite color_map{[.7rgb 0]
[1rgb 1]}}finish{ambient 2}}// TenMoons
Post a reply to this message


 
 




 

