|
|
Wasn't it Pierre Pruvost who wrote:
>Hello,
>
>I notice a problem with contained_by or an evaluation problem
>with a very regular isosurface of deg 6 ( x^n+y^2+z^2-1.5).
>
>With n = 4 and a contained_by box <-3,3> the surface is present.
> see deg4_cont.bmp
>
>With n = 6 the surface disappears completely .
> see deg6_contbig.bmp
>
>With n= 6 and a smaller container box<-2,2>, the surface appears
> see deg6_contb2.bmp
>
The actual gradient of a polynomial function in the order of n*x^(n-1).
So the sort of gradients that you'll encounter at the edges of your
container change something like this:
n=4, container <-3,3>, gradient 4*3^3 = 36
n=6, container <-3,3>, gradient 6*3^5 = 1458
n=6, container <-2,2>, gradient 6*2^5 = 192
Because your max_gradient is set *way* too low, the solver simply
evaluates the function at the edges of the container. It believes the
value of max_gradient that you've given it and knows that the nearest
surface point can't be closer than
(calculated_value - threshold) / max_gradient
so there are "obviously" no surface points within the box.
You happen to be getting away with max_gradient = 40 in the <-2,2> case
because the solver determines that it needs to look for the surface
somewhere in the middle, and once it gets near the middle of the box the
gradients are much lower.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|