1

我是 pov-ray 的初学者,我正在尝试使用它从我的模拟中渲染一些波函数。

试了下面的代码,为什么表面有皱纹?

#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}}
  }

在此处输入图像描述

4

1 回答 1

2

这似乎是因为 max_gradient 值太低。

“我的等值面渲染不正确:有洞或随机噪声或大部分,甚至整个等值面都消失了。” 此类等值面现象的最常见原因是 max_gradient 值太低。使用 evaluate 使 POV-Ray 为等值面计算适当的 max_gradient(即使使用 evaluate 也要指定合理的 max_gradient,否则结果可能不正确)。

如果我们增加 max_gradient,我们可以得到一个很好的结果:

#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}}
}

在此处输入图像描述

于 2014-05-11T19:55:35.053 回答