It is all about intervals..
if you define a rectangle using pair of intervals (2-dimensional):

[ a .. b )

then it contains all points between a and b, including a, but not including b
and therefore rectangles
[ a.. b ) and [b .. c )  (where c >b) do not intersect.

if rectangle defined as pair of intervals:

[ a .. b ]

then it contains all points between a and b, including a AND b
and of course
[ a .. b ] and [b .. c ]  (where c >b) will overlap.

the problem is if you using [ ) intervals, then how you represent
degenerate (zero-width or zero-height)
rectangles..
because interval [a .. a) holds a contradiction: it includes 'a', but
not includes 'a', which makes no sense.

and then you have interesting questions, like do intervals
 [a..a) and [a..b) overlap?

While if using [a..a] there's no problem..
[a..a] certainly overlaps with [a..b]

But from other side, if we will use [...] intervals, then there is no
way to split interval to get two non-overlapping ones:

[a..b] => [a..c] + [c..b]
(a<=c<=b)

But i am not sure whether it will have significant impact or not.

So, here my question: what interval type is better [) or [] ?
Existed implementation uses [)

-- 
Best regards,
Igor Stasenko.

Reply via email to