|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
So, I'm working on this object. I won't bore you by telling you what it
is, or what I'm using it for, or like that, but I will say that I'm
trying to get a smooth color gradient between the edge and the center,
which is to say, I need it to be a gradient in both x and z directions,
constant as per y.
Which sounds like a cylindrical pigment type, to me. I read the
documentation, page 262, first paragraph, which says "It starts at 1.0
at the origin and increases to a maximum [sic] value of 0.0 as it
approaches a distance of 1 unit from the Y axis. It remains at 0.0 for
all areas beyond that distance."
So, if I understand this correctly, if I set a color_map with an entry
of color Blue at 1.0, and color Yellow at 0.0, I should get a
cylindrical pattern where the edge is yellow, and the center is blue,
and in between is interpolated shading... in other words, various shades
of green.
Well, I don't need a one unit cylindrical pattern... I need one that's
scaled to an ellipse of about 300x125 units. So I do the scaling, and
translate the origin of the pattern to where I need it to be... and...
Huh. that's weird. Instead of interpolated colors, I get an oval of
blue, with a sharp-edge delineation where it becomes abruptly yellow.
Also, it seems to actually start with 0.0 at the origin, and increase to
1.0, in contradiction to the documentation.
Also, if I put in more than two colors, most of the color entries
disappear... only the lowest value color, and the highest value color, appear.
My code follows, so you can see for yourself what happens when it
renders. If someone could confirm for me that this is a bug, or
alternately, point out to me where I'm making my mistake, I'd be grateful.
/*
// Persistence of Vision Ray Tracer Scene Description File
// File: bussard.pov
// Vers: 3.1
// Desc: bussard collector for the front of the nacelle
// Date: 30 Oct '00
// Last: 4 Nov '00
// Auth: Dawn McKnight
*/
background { color Black }
light_source { <300, 50, 300> color White }
camera {
location <-500, 0, -400>
look_at <-500, 0, 0>
} // close camera
#local Bus1 = intersection {
prism {
quadratic_spline
linear_sweep
-1, // height 1
1, // height 2.. this is just for visualization purposes, I'll extend
it later.
6, // number of control points
<200, 100>, <400, -25>, <185, -135>, <0, -25>, <200, 100>, <400, -25>
} // close prism
box {
<214, -2, 120>,
<-10, 2, -25>
} // close box
} // close intersection
#local Bus2 = merge {
object { Bus1 }
object { Bus1 rotate 180*x translate -49.99*z }
} // close merge
#local BusCap = intersection {
lathe {
quadratic_spline
4,
<-110, 185>, <0, 0>, <125, 200>, <0, 400>
sturm
//rotate 90*z
} // close lathe
box {
<-130, -10, -130>,
<130, 214, 0>
} // close box
} // close intersection
#local BussCut = union {
object { Bus2 scale 25*y rotate 90*x rotate 90*z translate 25*x}
object { BusCap translate -25*z }
object { BusCap rotate 180*y translate 25*z }
} // close merge
#local BusShape = merge {
object { BussCut }
box { <-125, 213.9, -25>, <125, 314, 25> }
cylinder { <0, 213.9, -25>, <0, 314, -25>, 125 }
cylinder { <0, 213.9, 25>, <0, 314, 25>, 125 }
} // close union
light_source {
<0, 0, 0>
color White
looks_like {
BusShape
rotate -90*z
pigment {
cylindrical
scale <300, 125, 125>
translate 300*x
color_map {
[1.0 color Yellow]
[0.1 color Blue]
} // close color_map
} // close pigment
finish { ambient 0.8 diffuse 0.6 }
} // close looks_like
rotate 90*x
translate <-700, -25, 0>
} // close light_source
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Dear
How about this is O.K. or NOT ?
color_map
{
[0.0 0.1 color Blue color Blue]
[0.9 1.0 color Yellow color Yellow]
} // close color_map
Y.Tanabe
Kobe,Japan
Dawn McKnight wrote:
> So, I'm working on this object. I won't bore you by telling you what it
> is, or what I'm using it for, or like that, but I will say that I'm
> trying to get a smooth color gradient between the edge and the center,
> which is to say, I need it to be a gradient in both x and z directions,
> constant as per y.
>
> Which sounds like a cylindrical pigment type, to me. I read the
> documentation, page 262, first paragraph, which says "It starts at 1.0
> at the origin and increases to a maximum [sic] value of 0.0 as it
> approaches a distance of 1 unit from the Y axis. It remains at 0.0 for
> all areas beyond that distance."
>
> So, if I understand this correctly, if I set a color_map with an entry
> of color Blue at 1.0, and color Yellow at 0.0, I should get a
> cylindrical pattern where the edge is yellow, and the center is blue,
> and in between is interpolated shading... in other words, various shades
> of green.
>
> Well, I don't need a one unit cylindrical pattern... I need one that's
> scaled to an ellipse of about 300x125 units. So I do the scaling, and
> translate the origin of the pattern to where I need it to be... and...
> Huh. that's weird. Instead of interpolated colors, I get an oval of
> blue, with a sharp-edge delineation where it becomes abruptly yellow.
>
> Also, it seems to actually start with 0.0 at the origin, and increase to
> 1.0, in contradiction to the documentation.
>
> Also, if I put in more than two colors, most of the color entries
> disappear... only the lowest value color, and the highest value color, appear.
>
> My code follows, so you can see for yourself what happens when it
> renders. If someone could confirm for me that this is a bug, or
> alternately, point out to me where I'm making my mistake, I'd be grateful.
>
> /*
> // Persistence of Vision Ray Tracer Scene Description File
> // File: bussard.pov
> // Vers: 3.1
> // Desc: bussard collector for the front of the nacelle
> // Date: 30 Oct '00
> // Last: 4 Nov '00
> // Auth: Dawn McKnight
> */
>
> background { color Black }
>
> light_source { <300, 50, 300> color White }
>
> camera {
> location <-500, 0, -400>
> look_at <-500, 0, 0>
> } // close camera
>
> #local Bus1 = intersection {
>
> prism {
> quadratic_spline
> linear_sweep
> -1, // height 1
> 1, // height 2.. this is just for visualization purposes, I'll extend
> it later.
> 6, // number of control points
> <200, 100>, <400, -25>, <185, -135>, <0, -25>, <200, 100>, <400, -25>
> } // close prism
>
> box {
> <214, -2, 120>,
> <-10, 2, -25>
> } // close box
>
> } // close intersection
>
>
> #local Bus2 = merge {
> object { Bus1 }
> object { Bus1 rotate 180*x translate -49.99*z }
> } // close merge
>
> #local BusCap = intersection {
> lathe {
> quadratic_spline
> 4,
> <-110, 185>, <0, 0>, <125, 200>, <0, 400>
> sturm
> //rotate 90*z
> } // close lathe
>
> box {
> <-130, -10, -130>,
> <130, 214, 0>
> } // close box
>
> } // close intersection
>
> #local BussCut = union {
> object { Bus2 scale 25*y rotate 90*x rotate 90*z translate 25*x}
> object { BusCap translate -25*z }
> object { BusCap rotate 180*y translate 25*z }
> } // close merge
>
> #local BusShape = merge {
> object { BussCut }
> box { <-125, 213.9, -25>, <125, 314, 25> }
> cylinder { <0, 213.9, -25>, <0, 314, -25>, 125 }
> cylinder { <0, 213.9, 25>, <0, 314, 25>, 125 }
> } // close union
>
> light_source {
> <0, 0, 0>
> color White
> looks_like {
> BusShape
> rotate -90*z
> pigment {
> cylindrical
> scale <300, 125, 125>
> translate 300*x
> color_map {
> [1.0 color Yellow]
> [0.1 color Blue]
> } // close color_map
> } // close pigment
> finish { ambient 0.8 diffuse 0.6 }
> } // close looks_like
> rotate 90*x
> translate <-700, -25, 0>
> } // close light_source
Post a reply to this message
|
|
| |
| |
|
|
From: Chris Colefax
Subject: Re: Apparent Error in Cylindrical Pigment Map
Date: 4 Nov 2000 21:58:30
Message: <3a04ccd6@news.povray.org>
|
|
|
| |
| |
|
|
Dawn McKnight <mck### [at] maccom> wrote:
> So, I'm working on this object. I won't bore you by telling you what it
> is, or what I'm using it for, or like that, but I will say that I'm
> trying to get a smooth color gradient between the edge and the center,
> which is to say, I need it to be a gradient in both x and z directions,
> constant as per y.
[snip]
> color_map {
> [1.0 color Yellow]
> [0.1 color Blue]
[snip]
The problem is with your colour map, as quoted above. Although, as the docs
state, the colours 'start' at the origin with a colour map index of 1,
progressing to the edge of the cylinder with a colour map index of 0, colour
maps must always be specified in increasing order of indices, e.g.:
color_map {[0.1 color Blue] [1 color Yellow]}
Using this, you should get the colour interpolation you expect. All in all,
it's probably best to think of the colour map moving *inward* from the
outside edge to the centre axis of the cylinder, rather than vice versa.
Post a reply to this message
|
|
| |
| |
|
|
From: Dawn McKnight
Subject: Re: Apparent Error in Cylindrical Pigment Map
Date: 5 Nov 2000 01:13:19
Message: <3A04FA80.412B9E13@mac.com>
|
|
|
| |
| |
|
|
Wow!
Thank you so much, Chris! Amazing what difference a minor error like
that will make! Your suggested revision in my code did in fact clear
the problem right up. You're my hero!
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|