I've worked out a method to test if two one-dimensional line-segments/ranges.
So defining a range as:
[min, max]
Given two instances of range:
a = [min, max]
b = [min, max]
I use the following to test if they intersect:
(a.max - b.min) * (b.max - a.min) >= 0.
I think this is a one-dimensional cross-product, so my question is:
Is this solution classified as a one-dimensional cross-product or something else?
How about:
intersects = !((a.max < b.min) || (b.max < a.min))
That's faster (no multiply involved and a decent compiler will optimize the NOT away) and just as readable.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With