POV-Ray : Newsgroups : povray.newusers : Curving cylinders and cones? Server Time
12 Oct 2026 14:07:07 EDT (-0400)
  Curving cylinders and cones? (Message 1 to 23 of 23)  
From: Simon Lemieux
Subject: Curving cylinders and cones?
Date: 1 Oct 2000 16:25:21
Message: <39D79DE8.C3F35E29@yahoo.com>
Hi,
	I was wondering if there were a command for bending/curving/etc a cylinder or a
cone?  Where should i look in the manual for such command?  I'm currently
putting a lot of little cylinders/cones and rotate them all with a script to
give a good curving effect... but this slows the render a bit since there is
like 200 cylinders for one...

Any help will be greatly apreciated!
	Simon
-- 
+-------------------------+----------------------------------+
| Simon Lemieux           | Website : http://www.666Mhz.net  |
| Email : Sin### [at] 666Mhznet | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Curving cylinders and cones?
Date: 1 Oct 2000 17:46:06
Message: <39d7b09e@news.povray.org>
In article <39D79DE8.C3F35E29@yahoo.com> , Simon Lemieux 
<lem### [at] yahoocom>  wrote:

> I was wondering if there were a command for bending/curving/etc a cylinder or
> a cone?  Where should i look in the manual for such command?  I'm currently
> putting a lot of little cylinders/cones and rotate them all with a script to
> give a good curving effect... but this slows the render a bit since there is
> like 200 cylinders for one...

Did you consider using torii for this?  You can cut them into smaller pieces
using CSG.


     Thorsten


Post a reply to this message

From: Simon Lemieux
Subject: Re: Curving cylinders and cones?
Date: 1 Oct 2000 18:01:00
Message: <39D7B454.2C3CC9E4@yahoo.com>
> Did you consider using torii for this?  You can cut them into smaller pieces
> using CSG.

The donut-like object?  nah... It would be a bit complicated to calculate the
scales in every dimension to get the exact curve I want, cut the segment I want
and translate it where I want...

I guess this means there are no such command as "curve" or "bend" or "twist"... 
I'll have to experiment with a few methods and see which is the best...

Thanks,
	Simon

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           | Website : http://www.666Mhz.net  |
| Email : Sin### [at] 666Mhznet | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: Alan Kong
Subject: Re: Curving cylinders and cones?
Date: 1 Oct 2000 22:27:38
Message: <kgsfts8tajhrdkcgij66j9njmq6acnc281@4ax.com>
On Sun, 01 Oct 2000 18:01:56 -0400 Simon Lemieux wrote:

>I guess this means there are no such command as "curve" or "bend" or "twist"... 
>I'll have to experiment with a few methods and see which is the best...

  This is correct. Try Chris Colefax's Object Bender include file, which
can be found at:

http://www.geocities.com/ccolefax/

-- 
Alan - ako### [at] povrayorg - a k o n g <at> p o v r a y <dot> o r g
http://www.povray.org - Home of the Persistence of Vision Ray Tracer


Post a reply to this message

From: Margus Ramst
Subject: Re: Curving cylinders and cones?
Date: 1 Oct 2000 22:37:38
Message: <39D7E753.FAB61044@tag.povray.org>
Simon Lemieux wrote:
> 
> Hi,
>         I was wondering if there were a command for bending/curving/etc a cylinder
or a
> cone?

You could try the sphere_sweep object in the unofficial version of POV-Ray
called MegaPOV. I think it should do what you need (see MegaPOV docs for more
info)
Windows version is available at http://nathan.kopp.com/patched.htm
Unix/Linux version at http://www.mailbag.com/users/mtgordon/megapov.html

-- 
Margus Ramst

Personal e-mail: mar### [at] peakeduee
TAG (Team Assistance Group) e-mail: mar### [at] tagpovrayorg


Post a reply to this message

From: Simon Lemieux
Subject: Re: Curving cylinders and cones?
Date: 1 Oct 2000 23:13:33
Message: <39D7FD98.D9271191@yahoo.com>
>   This is correct. Try Chris Colefax's Object Bender include file, which
> can be found at:
> 
> http://www.geocities.com/ccolefax/

Woa, thanks a lot!

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           | Website : http://www.666Mhz.net  |
| Email : Sin### [at] 666Mhznet | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: Warp
Subject: Re: Curving cylinders and cones?
Date: 2 Oct 2000 11:02:42
Message: <39d8a391@news.povray.org>
Simon Lemieux <lem### [at] yahoocom> wrote:
:>   This is correct. Try Chris Colefax's Object Bender include file, which
:> can be found at:
:> 
:> http://www.geocities.com/ccolefax/

: Woa, thanks a lot!

  Don't get too excited. Since the include file uses the same technique as
you do, it will be as slow (if not even slower) than yours.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Simon Lemieux
Subject: Re: Curving cylinders and cones?
Date: 2 Oct 2000 13:48:59
Message: <39D8CACB.41513ED4@yahoo.com>
>   Don't get too excited. Since the include file uses the same technique as
> you do, it will be as slow (if not even slower) than yours.

Oh really?  I haven't examined it yet...  I was wondering, but this might go in
"povray.programation" or "povray.advanced-users", I was wondering how to
implement a new object algorithm in povray...  I mean I just can't create an
object with multiple objects...  that would be too much work and too slow to
render, I was looking to add my own object library to povray, such as cylindered
infinite spirals that can move, etc...
For this I could use many cylinders (many many for an almost-infinite), but I
could simply design an algorithm like for the sphere; does the ray touches the
sphere (center+radius), yes, good what color is it?... etc...  Well it could be
does the ray passes through the algorithm given for the spiral, yes, good what
color is it... etc...

How could I do this?

Thanks

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           | Website : http://www.666Mhz.net  |
| Email : Sin### [at] 666Mhznet | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: Steve
Subject: Re: Curving cylinders and cones?
Date: 2 Oct 2000 15:19:46
Message: <slrn8the23.f4i.steve@zero-pps.localdomain>
On 2 Oct 2000 11:02:42 -0400, Warp wrote:
>Simon Lemieux <lem### [at] yahoocom> wrote:
>:>   This is correct. Try Chris Colefax's Object Bender include file, which
>:> can be found at:
>:> 
>:> http://www.geocities.com/ccolefax/
>
>: Woa, thanks a lot!
>
>  Don't get too excited. Since the include file uses the same technique as
>you do, it will be as slow (if not even slower) than yours.

I bet you're really happy when Christmas comes to an end;-)

-- 
Cheers
Steve              email mailto:ste### [at] zeroppsuklinuxnet

%HAV-A-NICEDAY Error not enough coffee  0 pps. 

web http://www.zeropps.uklinux.net/

or  http://start.at/zero-pps

  5:29pm  up 3 days, 19:48,  2 users,  load average: 2.12, 2.20, 2.12


Post a reply to this message

From: ingo
Subject: Re: Curving cylinders and cones?
Date: 2 Oct 2000 15:25:18
Message: <8FC1D53A0seed7@204.213.191.228>
Simon Lemieux wrote:

>> Did you consider using torii for this?  You can cut them into smaller
>> pieces using CSG.
>
>The donut-like object?  nah... It would be a bit complicated to
>calculate the scales in every dimension to get the exact curve I want,
>cut the segment I want and translate it where I want...
>
>I guess this means there are no such command as "curve" or "bend" or
>"twist"... I'll have to experiment with a few methods and see which is
>the best... 

If triangles are ok, you could have a look at the Striscia macro.
http://members.nbci.com/dvarrazzo/


Ingo

-- 
Photography: http://members.home.nl/ingoogni/
Pov-Ray    : http://members.home.nl/seed7/


Post a reply to this message

From: Simon Lemieux
Subject: Re: Curving cylinders and cones?
Date: 2 Oct 2000 20:41:17
Message: <39D92B73.D3269DF5@yahoo.com>
> If triangles are ok, you could have a look at the Striscia macro.
> http://members.nbci.com/dvarrazzo/

As long as the "triangles" are not visible, but only a curved cylinder, cuz if
the triangles would be visible, I would simply use a 3d modeler and bingo... but
no, I want to use povray... would the smooth triangles do it?

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           | Website : http://www.666Mhz.net  |
| Email : Sin### [at] 666Mhznet | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: Warp
Subject: Re: Curving cylinders and cones?
Date: 3 Oct 2000 04:51:36
Message: <39d99e18@news.povray.org>
A bending transformation (which is a nonlinear transformation) is not
possible for mathematical and technical reasons (see
http://www.students.tut.fi/~warp/povVFAQ/languageVFAQ.html#bending).

  You have many choices:

  You can use a torus section for a bended cylinder. A bended cone is harder
(can't be done with existing primitives, at least not perfectly).

  You can make isosurfaces. All those objects should be possible with them,
but it will require quite a lot of math knowledge.

  You can make them with a mesh of smooth triangles. You still need some
math, but probably not as much as with isosurfaces.
  This solution is not as bad is it might sound. You can use LOTS of triangles
to make the shape (so that you don't get visible straight line segments in
the silhouette of the object) without the rendering slowing down (but of
course memory usage will increase).

  You can make them with bicubic patches. The result is exactly the same
as with the mesh of smooth triangles, but the advantage is that you can
more easily control the resolution of the mesh.
  The disadvantage is that you need more complicated math than with the mesh
(if it can be used as a reference, I myself know enough math to make the mesh
but not the bicubic patches for bended cylinders and cones).

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: David Fontaine
Subject: Re: Curving cylinders and cones?
Date: 3 Oct 2000 18:03:30
Message: <39DA555D.19189124@faricy.net>
I'd say make a script to generate triangle meshes, use isosurfaces (requires MegaPOV
from
nathan.kopp.com), or (for the cylinders only) a torical section; if you need math help
let
me know.

--
David Fontaine  <dav### [at] faricynet>  ICQ 55354965
My raytracing gallery:  http://davidf.faricy.net/


Post a reply to this message

From: Simon Lemieux
Subject: Re: Curving cylinders and cones?
Date: 3 Oct 2000 21:12:39
Message: <39DA845A.C594FF0@yahoo.com>
> I'd say make a script to generate triangle meshes, use isosurfaces (requires MegaPOV
from
> nathan.kopp.com), or (for the cylinders only) a torical section; if you need math
help let
> me know.

Yes this is good, I would actually make a C++ program for this, as I usually
do...

But,  I forgot to say about interior...  it is being discussed in
povray.advanced-user and as I know a bunch of triangles togheter won't have a
proper interior... which will be important as soon as I get a curver cylinder,
this is my next step, I forgot to mention it...

I think the best way to do it is still to put a few cylinders togheter and curve
them myself...  the junction could be made with an intersection of the two
segments and the union of the two segments themselves, etc...

What do you think?

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           | Website : http://www.666Mhz.net  |
| Email : Sin### [at] 666Mhznet | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: David Fontaine
Subject: Re: Curving cylinders and cones?
Date: 3 Oct 2000 23:51:27
Message: <39DAA6ED.79B2344D@faricy.net>
Simon Lemieux wrote:

> I think the best way to do it is still to put a few cylinders togheter and curve
> them myself...  the junction could be made with an intersection of the two
> segments and the union of the two segments themselves, etc...

You mean paste together cylinder sections? Tori section would have infinite resolution
and
render fast... and isosurfaces give you the ultimate control, you give it a function
and it
renders the implicit surface...

--
David Fontaine  <dav### [at] faricynet>  ICQ 55354965
My raytracing gallery:  http://davidf.faricy.net/


Post a reply to this message

From: Simon Lemieux
Subject: Re: Curving cylinders and cones?
Date: 4 Oct 2000 13:31:43
Message: <39DB69DB.1ACD94@yahoo.com>
> You mean paste together cylinder sections? Tori section would have infinite
resolution and
> render fast... and isosurfaces give you the ultimate control, you give it a function
and it
> renders the implicit surface...

Tori sections is a good idea, but what for a cone?  There I would need cone
sections...

But I've never used/read-about isosurface before, do they have interior?  Could
you send me a picture url that would describe this in a word?  And is it in the
manual of povray, or, where could I get more information about isosurface?

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           | Website : http://www.666Mhz.net  |
| Email : Sin### [at] 666Mhznet | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: Chris Huff
Subject: Re: Curving cylinders and cones?
Date: 4 Oct 2000 17:37:13
Message: <chrishuff-638F8D.16384504102000@news.povray.org>
In article <39D### [at] yahoocom>, lem### [at] yahoocom wrote:

> Tori sections is a good idea, but what for a cone?  There I would 
> need cone sections...

To do that you would have to use isosurfaces...fortunately, the function 
to do that shape would be pretty simple and fast rendering, just vary 
the minor radius of a torus function with angle.


> But I've never used/read-about isosurface before, do they have interior?  

They are ordinary solid objects, so they can be used as media containers 
and work fine in CSG.


> Could you send me a picture url that would describe this in a word?

A picture? An isosurface can do nearly every primitive in POV-Ray, and 
many other shapes.
Basically, you supply an equation that gives a value based on xyz 
coordinates. The isosurface is the surface formed by all points where 
your function is equal to a certain threshold value.
There are several tutorials online, but I don't have the URLs handy for 
any of them right now...they would be on the links page at povray.org 
though.


> And is it in the manual of povray, or, where could I get more 
> information about isosurface?

They are not in the official version yet, but they are included in 
MegaPOV, an unofficial version.
http://nathan.kopp.com/patched.htm

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

From: Simon Lemieux
Subject: Re: Curving cylinders and cones?
Date: 4 Oct 2000 21:43:42
Message: <39DBDD2E.15E69727@yahoo.com>
> > And is it in the manual of povray, or, where could I get more
> > information about isosurface?
> 
> They are not in the official version yet, but they are included in
> MegaPOV, an unofficial version.
> http://nathan.kopp.com/patched.htm

Oh... I see, I've heard Povray 4 will be released soon or has already been
released?  Will it contain the isosurfaces?  I'll check out for MegaPov...

Thanks

-- 
+-------------------------+----------------------------------+
| Simon Lemieux           | Website : http://www.666Mhz.net  |
| Email : Sin### [at] 666Mhznet | POV-Ray, OpenGL, C++ and more... |
+-------------------------+----------------------------------+


Post a reply to this message

From: Ken
Subject: Re: Curving cylinders and cones?
Date: 4 Oct 2000 23:08:32
Message: <39DBEFAB.A8104528@pacbell.net>
Simon Lemieux wrote:

> Oh... I see, I've heard Povray 4 will be released soon or has already been
> released?  Will it contain the isosurfaces?  I'll check out for MegaPov...

POV-Ray v3.5 will be released (relatively) soon and will offer
isosurfaces. POV-Ray v4.0 is a mere twinkle in the POV-Team's
eye at this point in time.

-- 
Ken Tyler - 1400+ POV-Ray, Graphics, 3D Rendering, and Raytracing Links:
http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/


Post a reply to this message

From: Warp
Subject: Re: Curving cylinders and cones?
Date: 5 Oct 2000 06:55:44
Message: <39dc5e2f@news.povray.org>
Chris Huff <chr### [at] maccom> wrote:
: An isosurface can do nearly every primitive in POV-Ray, and 
: many other shapes.

  Good that you said "nearly" because isosurfaces can't do _every_ primitive
in povray.

  Quiz: Which primitive or primitives it can't create at all?
        Which primitive or primitives it can create only partially?

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Ron Parker
Subject: Re: Curving cylinders and cones?
Date: 5 Oct 2000 09:23:34
Message: <slrn8tp06t.k3i.ron.parker@fwi.com>
On 5 Oct 2000 06:55:44 -0400, Warp wrote:
>Chris Huff <chr### [at] maccom> wrote:
>: An isosurface can do nearly every primitive in POV-Ray, and 
>: many other shapes.
>
>  Good that you said "nearly" because isosurfaces can't do _every_ primitive
>in povray.
>
>  Quiz: Which primitive or primitives it can't create at all?

Among others, julia and mesh.  (Well, mesh might be possible but it would be
ugly.)

>        Which primitive or primitives it can create only partially?

planes, polys, anything infinite.

-- 
Ron Parker   http://www2.fwi.com/~parkerr/traces.html
My opinions.  Mine.  Not anyone else's.
Proudly not helping RIAA and SDMI steal my rights -- 
  http://www.eff.org/Misc/EFF/Newsletters/EFFector/HTML/effect13.08.html


Post a reply to this message

From: Geoff Wedig
Subject: Re: Curving cylinders and cones?
Date: 5 Oct 2000 09:52:26
Message: <39dc879a@news.povray.org>
Simon Lemieux <lem### [at] yahoocom> wrote:
>> I'd say make a script to generate triangle meshes, use isosurfaces (requires
MegaPOV from
>> nathan.kopp.com), or (for the cylinders only) a torical section; if you need math
help let
>> me know.

> Yes this is good, I would actually make a C++ program for this, as I usually
> do...

> But,  I forgot to say about interior...  it is being discussed in
> povray.advanced-user and as I know a bunch of triangles togheter won't have a
> proper interior... which will be important as soon as I get a curver cylinder,
> this is my next step, I forgot to mention it...

> I think the best way to do it is still to put a few cylinders togheter and curve
> them myself...  the junction could be made with an intersection of the two
> segments and the union of the two segments themselves, etc...

> What do you think?

I think a sphere sweep might be your perfect solution.  Assuming you can
compute the points that the cylinder begins and ends and intermediate
points, this will give exactly the effect you want if you use one of the
splines.  Even if you don't use a spline function, it should be cleaner than
using a lot of cone segments as the edges won't be visible.

Best of all, since each has a radius, it'll work for your cones too.

And finally, you won't have to do a merge to get rid of internal surfaces,
since the sweep would be a single object.

Geoff


Post a reply to this message

From: Gilles Tran
Subject: Re: Curving cylinders and cones?
Date: 5 Oct 2000 12:57:03
Message: <39DCB298.ABEA6C93@inapg.inra.fr>
Geoff Wedig wrote:

> I think a sphere sweep might be your perfect solution.  Assuming you can
> compute the points that the cylinder begins and ends and intermediate
> points, this will give exactly the effect you want if you use one of the
> splines.  Even if you don't use a spline function, it should be cleaner than
> using a lot of cone segments as the edges won't be visible.
>

For the record, here is a croissant-making isosurface I posted in p.advanced-users
some time ago.

#declare major_axis=5;
#declare minor_axis=1;
#declare a=function{sqrt(x^2+z^2)-major_axis}
isosurface{
    function{sqrt(y^2+a^2)-minor_axis*(0.9+z*0.2)}
    contained_by{sphere{0,10}}
    eval
    threshold 0
    pigment{Red}
    rotate y*45
}

G.


Post a reply to this message

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