|
 |
On 5/3/25 17:14, Cousin Ricky wrote:
> The second test is inside neither the wall nor the stem of the glass;
> the inside() function has given the wrong result!
>
> My apologies for the procedural definition of the lathe object, but when
> I print the values and use those to define the lathe, I cannot reproduce
> the bug.
I think you are likely hitting a numerical limitation. The lathe and sor
objects are problematic where the equations to be solved end up with
x,y,z aspects which are axis aligned. More specifically, where the
equations to be solved see little or no change in x, y or z over the
evaluated range. In such cases, the equation's curve never crosses
through zero in a reliable way and it becomes difficult (or impossible)
to find roots. Or sometimes, one finds too many roots due numerical noise.
Have you tried adding a very small rotation in say z? Maybe try
something like: 'rotate z*1e-5'
Another test which could be interesting would be to use your lathe in an
object pattern where you leave your lathe as is, but sweep a y plane
through a range just about the problem coordinate. Using this, with an
orthograpic camera(*) looking directly up or down at the y plane, we can
probably get an idea how large the 'numerical void' is about your
problem coordinate. Could be a disc, maybe a tiny dot. I don't remember
how the inside test for the lathe is getting done.
Bill P.
(*) The orthographic camera itself exposes many of these kinds of...
no-dimensional delta/change, numerical issues.
Post a reply to this message
|
 |