|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Renders about the same in 3.6 and 3.7. As other have said, max_gradient
> should be 2.1 (2.01 still give some artefacts) and 3.6 need 2.2.
It should be 2.236 to render properly from any angle. Though I guess the
real bug here is that 3.7 didn't tell him that.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp informuje :
>> As a bit of a followup on the f_crackle posts from earlier, a bunch of tinkering
>> finds that much of 'isosurface' appears pretty broken in 3.7b29.
> A very relevant info would be if this also happens with previous betas
> and/or POV-Ray 3.6, or whether those render it as you expect.
>
I noticed a strange behaviour of f_crackle, rendering one of my old scenes.
Scene renders fine with 3.6, but any compilation of 3.7 creates artifacts.
I've a demo scene (and images + animations),
but I want to test it with next beta first...
Slawek
--
________
_/ __/ __/ Ils sont fous, ces Gaulois.
\__ \__ \_______________________________________________________________
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Slime wrote:
>>> isosurface { function { 2*sqrt(x*x+z*z)+y-1 }
>>
>> Mathematically the max gradient is 2.
>
> At (1,0,0), the gradient is (2,1,0) with a magnitude of sqrt(5) or about
> 2.236.
Damn I wish I knew what the hell you're talking about :) "gradient" to me is
a setting that has to be big enough for isosurfaces to work. I have no idea
what it really means...
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Damn I wish I knew what the hell you're talking about :) "gradient" to me
> is
> a setting that has to be big enough for isosurfaces to work. I have no
> idea
> what it really means...
Well, the gradient of a function at a point is a vector describing the
function's greatest rate of change and the direction of that change. As a
simple example, the gradient of f(x) = x is (1,0,0) everywhere, because it
is always increasing in the x direction. Functions can have different
gradients at different points. POV-Ray's max_gradient keyword is so you can
supply the magnitude of the largest gradient anywhere in the function - or
at least the part of the function within the bounding box - so that it knows
the fastest the function can change. If POV-Ray evaluates a function and
finds that its value is 2, and it knows its max_gradient is 1, then it knows
it's safe to trace the ray 2 more units because it can't possibly find a
zero value for the function within that distance - the function doesn't
change fast enough for it to hit zero closer than that!
To actually find the gradient of a function at a point, you take the partial
derivative with respect to each variable (x, y, and z), plug the values in
for the point you want to evaluate, and make a vector out of it. The hard
part is finding the place in the function with the largest vector. Once you
have that vector, you just get the magnitude with sqrt(x*x+y*y+z*z). In
reality, no one usually goes to this much trouble - they just make an
educated guess and try to overestimate a little bit.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Slime wrote:
>> Damn I wish I knew what the hell you're talking about :) "gradient" to me
>> is
>> a setting that has to be big enough for isosurfaces to work. I have no
>> idea
>> what it really means...
>
> Well, the gradient of a function at a point is a vector describing the
> function's greatest rate of change and the direction of that change.
Right. My mistake was assuming it was the maximum rate of change y with respect to
projected position on x-z plane of the isosurface f(x,y,z) = 0. But of course
there's no preferred axis for an isosurface, so that definition makes no sense...
Thanks for the correction!
Dan
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |