Reputation: 4966
I'm beginner of pov-ray, and I'm trying to use it to render some wavefunction from my simulation.
I tried the following code, but why there are wrinkles on the surface?
#include "colors.inc"
camera{location <10,10,-10> look_at 0}
light_source{ <20,20,-10> White }
#declare P=function{internal(53)};
#declare P0=P(1,3,0,2);
isosurface {
function{(x,y,z,0)}
contained_by { box { -8, 8 } }
texture{pigment{Red}}
}
Upvotes: 1
Views: 254
Reputation: 4966
It seems that's because of a too low max_gradient value.
"My isosurface is not rendering properly: there are holes or random noise or big parts or even the whole isosurface just disappears." The most common reason for these type of phenomena with isosurfaces is a too low max_gradient value. Use evaluate to make POV-Ray calculate a proper max_gradient for the isosurface (remember to specify a sensible max_gradient even when you use evaluate or else the result may not be correct).
If we increase the max_gradient, we can get a good result:
#include "colors.inc"
camera{location <10,10,-10> look_at 0}
light_source{ <20,20,-10> White }
#declare P=function{internal(53)};
#declare P0=P(1,3,0,2);
#declare Min_factor= 0.6;
isosurface {
function{P(x,y,z,0)}
evaluate 213.6, 1.29, 0.7 //this set the max_gradient
contained_by { box { -8, 8 } }
texture{pigment{Green}}
}
Upvotes: 2