|
|
> Can Someone help me out. I'm trying to figure out the weird coloring on the
> lighted portion of the bottom half of the sphere.
>
> The image is at
>
> http://news.povray.org/web.4bb6af70dba6e9c64fd370d20%40news.povray.org
>
> <web.4bb6af70dba6e9c64fd370d20@news.povray.org>
>
> The source is
>
> Source is as follows:
>
>
> Can Someone help me out. I'm trying to figure out the weird coloring on the
> lighted portion of the bottom half of the sphere.
>
> The image is at
>
> http://news.povray.org/web.4bb6af70dba6e9c64fd370d20%40news.povray.org
>
> <web.4bb6af70dba6e9c64fd370d20@news.povray.org>
>
> The source is
>
> Source is as follows:
>
>
> #include "colors.inc"
> #include "math.inc"
>
> camera {
> location<0.0, 1.5, -4.0>
> direction 1.5*z
> right x*image_width/image_height
> look_at<0.0, 0.0, 0.0>
> }
>
> light_source {
> <0, 0, 0> // light's position (translated below)
> color rgb<1, 1, 1> // light's color
> translate<-30, 30, -30>
> }
>
>
> #declare num = 8;
> #declare fn_theta_deg_of_x_y = function(x,y) { mod(atan2d(y,x) + 360,360) }
> #declare fn_block = function(x,y) {
> -1*mod(floor(fn_theta_deg_of_x_y(x,y)/(180/num)),2) }
> #declare fn_x_y_z = function(x,y) { fn_block(x,y) }
> isosurface {
> function { fn_block(x, y) }
> contained_by { sphere { 0, 1.0 } }
> isosurface [0.0]
Here, this statement produce an error.
-> No matching } in 'isosurface', isosurface found instead.
Normal POV-Ray never use, nor used, that structure.
> accuracy 0.001
> max_gradient 2000
>
> pigment{color Red}
> }
>
>
>
>
Discreete functions like mod(), ceil() and floor() produce extremely
large max_gradient. In fact, it reatch infinity at the discontinuities.
Use something like this instead:
function { f_sphere(x,y,z,1) + sin(atan2(x,y)*num )}
And reduce your max_gradient to something like 15 to 20
Alain
Post a reply to this message
|
|