|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Nicolas Alvarez wrote:
> http://news.povray.org/476af506$1@news.povray.org
Awesome, both of you. Thank you!
--
Darren New / San Diego, CA, USA (PST)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I suspected letting it be defaults might be the problem so I gave this a try
and 3.7 beta doesn't show a message about isosurface 'max_gradient' but when
I checked using 3.6 I found it wanted the number to be 2.217 instead of a
default of 1.1 and putting that larger number in fixed the isosurface cone
for me.
I haven't followed what is supposed to happen about this particular warning
message. Yet to be added, or is missing by mistake (am doubting that).
Got to be careful that tested SDL is adequately correct, comparative with
earlier or non-beta POV as Warp said. It's easy to put something through
these betas and "expect" something without it really being okay in the first
place. ;^)
----- Original Message -----
From: "Sven Geier" <.sven.at.sgeier.dot.net.nospamplease>
Newsgroups: povray.beta-test
Sent: Thursday, November 13, 2008 4:23 PM
Subject: Beta29 isosurface badly broken
> 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.
>
> Could someone confirm or deny that the following produces something rather
> different from what one might assume simply by looking at the code.
// ---------------
camera {
location <.1,2,-2>
look_at <0, -.4, 0> }
sky_sphere{pigment{color rgb <.2,.4,.6>}}
cone {
1*y, 0.0, 0*y, .3
pigment {color rgb 10}
}
isosurface { function { 2*sqrt(x*x+z*z)+y-1 }
max_gradient 2.22 /* the fix? */
pigment { hexagon scale .1 }
}
//--------
> (For reference: I would expect a bright cone completely enclosed/obscured
> by a
> larger hexagon-colored cone).
--
/*bob hughes*/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Bob Hughes wrote:
> I checked using 3.6 I found it wanted the number to be 2.217 instead of a
> default of 1.1 and putting that larger number in fixed the isosurface cone
> for me.
> isosurface { function { 2*sqrt(x*x+z*z)+y-1 }
Mathematically the max gradient is 2. I ran beta 29 with max_gradient 2.001 and it
seemed to work,
Dan
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Sven Geier nous illumina en ce 2008-11-13 17:23 -->
> 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.
>
> To me at least.
>
> To the point where I'm wondering whether it's just me (the "surely someone else
> would have noticed that" effect)
>
> Could someone confirm or deny that the following produces something rather
> different from what one might assume simply by looking at the code.
>
> Thanks.
>
> // ---------------
> camera {
> location <.1,2,-2>
> look_at <0, -.4, 0> }
> sky_sphere{pigment{color rgb <.2,.4,.6>}}
> cone {
> 1*y, 0.0, 0*y, .3
> pigment {color rgb 10}
> }
> isosurface { function { 2*sqrt(x*x+z*z)+y-1 }
> pigment { hexagon scale .1 }
> }
> //--------
>
> (For reference: I would expect a bright cone completely enclosed/obscured by a
> larger hexagon-colored cone).
>
>
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.
--
Alain
-------------------------------------------------
They that can give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety.
Benjamin Franklin
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>> 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.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> 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
|
|
| |
| |
|
|
|
|
| |