Pregunta

We want to render a parametrized surface infront of a grid plane and observe the transformation of the grid due to refraction happening at the surface. Our surface is in this simple example a 2d normal distribution which we will view directly from above and the grid plane is placed below:

enter image description here

The surface is given in many triangle directives which we put together in a mesh and used it with

object {
fovea 
scale <1,1,3>
texture { pigment {color rgbt <0,0,1,0.5> }}
interior {ior 1.4}
}

The scale here is not necessary and used only to amplify the artefacts. What you see in the image below is, that the refraction seems not to happen smoothly, but creates some sharp artefacts in the underlying grid pattern.

enter image description here

This image was created with Povray 3.6.1 under MacOSX 10.5.6 with the settings +Q9, +A and -J. Can anyone point out a hint? Thanks.

¿Fue útil?

Solución

This was a stupid mistake. Since in Mathematica the surface looked really smooth, I assumed that it created a large number of triangle-faces. This assumption was wrong. The rendering engine Mathematica uses, seems to interpolate the normals given for each vertex and therefore the surfaces only looks as it has a high resolution.

A check of the underlying polygons reveals the truth:

enter image description here

Therefore, what looks like refraction artifacts in the rendered image above is actually correct behavior, because the face-normals of neighboring triangles really change that much. Increasing the resolution of the surface grid solves the problem.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top