一维线段


考虑线段。有如下两种情况:

  • 两条线段不相交(包括刚好端点相连):此时靠左的右端点靠右的左端点。
  • 两条线段相交(包括完全包含):此时靠右的左端点到靠左的右端点即为相交的部分。
    综上得:
不相交 & ~if~ rx_{1} ~>~ rx_{2} \\ [rx_{1}, rx_{2}] & ~if~ rx_{1} ~\leq~ rx_{2} \end{cases}$$ # 二维矩形 --- 设两个矩形的左下角顶点分别为$(x_{1}, y_{1})$,$(x_{3}, y_{3})$,右上角顶点分别为$(x_{2}, y_{2})$,$(x_{4}, y_{4})$。 将x和y分别看成一维的,分别求出$rx_{1}, ry_{1}, rx_{2}, ry_{2}$,当两个维度分别满足相交条件时,相交区域为左下角顶点$(rx_{1}, ry_{1})$和右上角顶点$(rx_{2}, ry_{2})$。 综上得:$rx_{1} = max(x_{1}, x_{3}) ~,~ ry_{1} = max(y_{1}, y_{3}) ~,~ rx_{2} = min(x_{2}, x_{3}) ~,~ rt_{2} = min(y_{2}, x_{4})$ $$\begin{cases} 不相交 & ~if~ other \\ [(rx_{1}, ry_{1}), (rx_{2}, ry_{2})] & ~if~ rx_{1} ~\leq~ rx_{2} \text{ and } ry_{1} ~\leq~ ry_{2} \end{cases}$$