Closed luithefirst closed 3 years ago
Fixed in https://github.com/aardvark-platform/aardvark.base/commit/d57f7f378e2384056d1dac527059ee36745a826c
Simply replaced the implementation with the one from the Ray3d - Plane3d implementation. This one now returns PositiveInfinity instead of NaN in case there is no intersection (consistent with 3d case behavior)
The method
Plane2d.Interesects(Ray2d, out V2d hit)
uses the IsOrthogonalTo check as early exit (same as method withoutV2d hit
output argument) to return false if there is no hit. Still, the method occasionally throwsArgumentException("singular matrix")
in LuFactorize after passing the early exit test.PositiveTinyValue
for the early exist test is most likely too tiny in practice as the calculated intersection would be too imprecise. Note: If changed make sure this is consistent with other methods likePlane2d.Interesects(Ray2d)
Example: