![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Rick Measham
Subject: Torus segment with rounded ends (for a pie chart)
Date: 24 Sep 2008 21:07:14
Message: <48dae442@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Attached is the POV used to create the also attached PNG file.
The aim is to create a library that will output pie charts as torus
segments. The PNG is almost right where I want it.
Except for the rounding of the torus segments. This is all just
approximations.
To do it properly, I somehow need to make a torus that is smaller on the
inside of the large segmented torus.
Does anyone have any other ideas on how to do this nicely?
ALSO: I would love to make this render a hell of a lot faster, if anyone
has any pointers.
Cheers!
Rick Measham
Post a reply to this message
Attachments:
Download 'pie_torus.png' (1 KB)
Download 'us-ascii' (3 KB)
Preview of image 'pie_torus.png'
![pie_torus.png](/povray.binaries.images/attachment/%3C48dae442%40news.povray.org%3E/pie_torus.png?ttop=443866&toff=3050&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Rick Measham
Subject: Re: Torus segment with rounded ends (for a pie chart)
Date: 24 Sep 2008 21:08:16
Message: <48dae480@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Rick Measham wrote:
> Attached is the POV used to create the also attached PNG file.
Oops, wrong PNG attached.
Cheers!
Rick Measham
Post a reply to this message
Attachments:
Download 'pie_torus.good.png' (95 KB)
Preview of image 'pie_torus.good.png'
![pie_torus.good.png](/povray.binaries.images/attachment/%3C48dae480%40news.povray.org%3E/pie_torus.good.png?ttop=443866&toff=3050&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Wasn't it Rick Measham who wrote:
>Attached is the POV used to create the also attached PNG file.
>
>The aim is to create a library that will output pie charts as torus
>segments. The PNG is almost right where I want it.
>
>Except for the rounding of the torus segments. This is all just
>approximations.
>
>To do it properly, I somehow need to make a torus that is smaller on
>the inside of the large segmented torus.
>
>Does anyone have any other ideas on how to do this nicely?
A "torus that is smaller on the inside" sounds like a "Dupin Cyclid".
See the last image on this page:
http://www.econym.demon.co.uk/isotut/builtin2.htm
>ALSO: I would love to make this render a hell of a lot faster, if
>anyone has any pointers.
Unfortunately, the use of an isosurfaces would be expected to make the
rendering slower.
Another significant problem would be working out how to set the
parameters of the Cyclid to get everything to fit correctly.
A different possible approach would be to use a sphere sweep, varying
the sphere radius as the path sweeps round a circle. Also probably
slower than a torus.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: jan dvorak
Subject: Re: Torus segment with rounded ends (for a pie chart)
Date: 25 Sep 2008 03:53:17
Message: <48db436d$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Rick Measham napsal(a):
> Rick Measham wrote:
>> Attached is the POV used to create the also attached PNG file.
>
> Oops, wrong PNG attached.
>
> Cheers!
> Rick Measham
>
> ------------------------------------------------------------------------
>
hi,
you should move the segments a bit apart to avoid coincident surfaces.
Regarding your question, you could try using a squashed sphere (still an
approximation but it will be very quick) for each tip. If this is an
acceptable idea I can figure out the maths for you.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
jan dvorak wrote:
> Regarding your question, you could try using a squashed sphere (still an
> approximation but it will be very quick) for each tip. If this is an
> acceptable idea I can figure out the maths for you.
By the time it's squashed enough, the edge isn't round enough. Thanks
for the idea though!
Cheers!
Rick Measham
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Wasn't it Rick Measham who wrote:
>ALSO: I would love to make this render a hell of a lot faster, if
>anyone has any pointers.
One thing worth noticing is that your area_light causes the render time
to be multiplied by a factor of 28.
I wonder if it would somehow be possible to arrange for the blurred
shadow to be calculated separately, cast by a simpler object with
no_image, and have the main object be illuminated by a simpler light
source. I've never really played with light_group and can't seem to get
this to go as fast as I'd expect.
Rendering the scene with the wedges commented out, and with
torus {2, 0.6 pigment {rgbf <1,0,0,0.35>} no_image}
to cast the shadow runs very fast. Your original scene but with
AreaLights = 0;
runs very fast. My attempts to do both of those in the same scene slow
it down so much that the speed gain over the original scene is only a
factor of about 2.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Blue Herring
Subject: Re: Torus segment with rounded ends (for a pie chart)
Date: 25 Sep 2008 10:59:39
Message: <48dba75b$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Mike Williams wrote:
> Wasn't it Rick Measham who wrote:
>> ALSO: I would love to make this render a hell of a lot faster, if
>> anyone has any pointers.
>
> One thing worth noticing is that your area_light causes the render time
> to be multiplied by a factor of 28.
>
> I wonder if it would somehow be possible to arrange for the blurred
> shadow to be calculated separately, cast by a simpler object with
> no_image, and have the main object be illuminated by a simpler light
> source. I've never really played with light_group and can't seem to get
> this to go as fast as I'd expect.
>
> Rendering the scene with the wedges commented out, and with
> torus {2, 0.6 pigment {rgbf <1,0,0,0.35>} no_image}
> to cast the shadow runs very fast. Your original scene but with
> AreaLights = 0;
> runs very fast. My attempts to do both of those in the same scene slow
> it down so much that the speed gain over the original scene is only a
> factor of about 2.
>
Have you tried adding "adaptive 0" to the area_light? If you do, you
might want to bump up the dimensions to 9x9, 17x17, 33x33 or higher.
There have been a number of posts here addressing the benefits of
adaptive area lights.
--
// The Mildly Infamous Blue Herring
#version 3.61;#include"functions.inc"global_settings{assumed_gamma
2.2}isosurface{function{-f_strophoid(x/2-.45,y,z*3,1,1.2,1,1.5)-.05}
contained_by{box{<-2.1,-1,-1/3>,<1.4,1,1/3>}}max_gradient 12inverse
hollow pigment{rgbf 1}interior{media{samples 8 emission<3,80,150>/255
density{crackle metric 1color_map{[0rgb 6][.03rgb 0][1rgb 0]}scale<1,
2,1>warp{turbulence<.5,.75,.5>}scale 1/3}}}translate z*3}
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Rick Measham nous illumina en ce 2008-09-24 21:07 -->
> Attached is the POV used to create the also attached PNG file.
>
> The aim is to create a library that will output pie charts as torus
> segments. The PNG is almost right where I want it.
>
> Except for the rounding of the torus segments. This is all just
> approximations.
>
> To do it properly, I somehow need to make a torus that is smaller on the
> inside of the large segmented torus.
>
> Does anyone have any other ideas on how to do this nicely?
>
> ALSO: I would love to make this render a hell of a lot faster, if anyone
> has any pointers.
>
> Cheers!
> Rick Measham
>
> ------------------------------------------------------------------------
>
First thing, use adaptive 0 on your area_light. It greatly improve the rendering
speed.
In your global_settings, add adc_bailout with a value larger than the default of
1/256. I tryed 0.03 whith about no visible difference, but can make the
rendering a little faster.
Unless you absolutely need your pieces to be transparent, changing for some
opaque pigments will also mage the render faster. You can add a filter value in
your parameters. You can then replace the merge by the faster union if the
filter value is zero. The red part can easily be made opaque without changing
the overall aspect to much.
You take the large torus, remove a piece with one or two planes. You then remove
the rims with two small tori. You then merge two small tori to make the rounded
edges.
It may be better to remove a little more with your planes, by increasing the
angle of the slice. It can be done inside the macro. Then add a short cylinder
to fill the tori you use to make the rounded edges. Merge/union the cylinder
with the end tori, move and rotate the pairs. Cylinders are much faster than
tori to process, and merge/union are usualy more effecient that
difference/intersections, so replacing two substacting tori by two adding
cylinders will be faster.
--
Alain
-------------------------------------------------
You know you've been raytracing too long when you can describe in perfect,
legal, pov syntax, how to re-create everything in your computer room using
primitives and csg operations.
fish-head
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Rick Measham <ric### [at] die spammer die isite net au> wrote:
> Rick Measham wrote:
> > Attached is the POV used to create the also attached PNG file.
>
This is truly enjoyable. It is "art" of the kind I could imagine hanging on a
wall.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Rick Measham <ric### [at] die spammer die isite net au> wrote:
> The aim is to create a library that will output pie charts as torus
> segments. The PNG is almost right where I want it.
Very nice!
> ALSO: I would love to make this render a hell of a lot faster, if anyone
> has any pointers.
You should probably manually bound the wedges - I've been amazed at how much
difference this can make in the past.
Bill
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |