Stream: brlcad

Topic: grazing plate mode bots


view this post on Zulip Sean (May 14 2020 at 20:40):

So the grazing plate mode BoT case that was reported is the very same case. ray is grazing a plate-mode bot and returning an LOS thickness way longer than physically possible, which results in an overlap with nearby objects that don't actually overlap.

view this post on Zulip starseeker (May 14 2020 at 20:42):

Ah, lovely

view this post on Zulip Sean (May 14 2020 at 20:43):

Screen-Shot-2020-05-14-at-4.42.33-PM.png

view this post on Zulip starseeker (May 14 2020 at 20:43):

Yep, sure enough.

view this post on Zulip Sean (May 14 2020 at 20:43):

rays come in from left to right -- they graze the faces on the left, which are nearly horizontal

view this post on Zulip Sean (May 14 2020 at 20:44):

you can see one of the resulting LOS thicknesses, the actual hit point is near the cluster on the left, but it extends all the way forward through the tubes.

view this post on Zulip Sean (May 14 2020 at 20:44):

and/or tubes are extending backwards

view this post on Zulip Sean (May 14 2020 at 20:45):

as they also have grazing hits

view this post on Zulip Sean (May 14 2020 at 20:45):

this is actually a really nicely isolated generic case for figuring out how to fix this

view this post on Zulip starseeker (May 14 2020 at 20:45):

So we're back to either clamping a maximum length, implementing some sort of crazy robust (and slow) special calculation for those near-tangent cases, or...?

view this post on Zulip Sean (May 14 2020 at 20:50):

clamping will help avoid egregious cases like this, but will still be wrong

view this post on Zulip Sean (May 14 2020 at 20:50):

just not as long-wrong

view this post on Zulip starseeker (May 14 2020 at 20:51):

there's a catchy motto in there somewhere... "BRL-CAD - not long-wrong!"

view this post on Zulip Sean (May 14 2020 at 20:51):

it's potentially wrong even for nearly orthogonal hits

view this post on Zulip starseeker (May 14 2020 at 20:55):

So... fall back on something like https://bellard.org/libbf/ for near tangent inputs?

view this post on Zulip Sean (May 14 2020 at 22:55):

this is an algorithmic problem, not a numerics or precision problem. How would libbf help?

view this post on Zulip starseeker (May 14 2020 at 23:01):

I was thinking if the trig calculations were breaking down numerically in the near tangent cases, we could fall back on more robust but slower solvers in that situation.

view this post on Zulip starseeker (May 14 2020 at 23:03):

just a thought - I may not have fully understood the underlying math issues

view this post on Zulip Sean (May 14 2020 at 23:03):

they "break down" in the sense that it causes big numbers, but they're not wrong

view this post on Zulip Sean (May 14 2020 at 23:04):

it's literally the projection to where the ray intersects the plane of the plate-mode-extruded surface

view this post on Zulip Sean (May 14 2020 at 23:05):

I drew a diagram of it last week, if you recall it

view this post on Zulip Sean (May 14 2020 at 23:09):

we can calculate the face plane and trim the segment deterministically at the plate's extruded distance. that gives exact and correct in/out segments.

the problem is more one of coordination.

view this post on Zulip starseeker (May 14 2020 at 23:53):

Ah, right.


Last updated: Oct 09 2024 at 00:44 UTC