美文网首页
Canvas中的矩形相交问题

Canvas中的矩形相交问题

作者: 依然还是或者其他 | 来源:发表于2021-02-23 23:07 被阅读0次

    矩形相交问题

    近期碰到一个问题,需要在一个Canvas画布中,画出多个矩形且不重叠,即矩形相交且不相互包含。
    矩形1(x1,y1,w1,h1)
    矩形2(x2,y2,w2,h2)
    即左上角x坐标,左上角y坐标,宽,高

    判断两个矩形的中心坐标的水平和垂直距离

    矩形1中心(x1c,y1c)
    矩形2中心(x2c,y2c)
    当中心满足一下条件,即可说明两个矩形相交

    1. |x1c-x2c|<=w1/2+w2/2
    2. |y1c-y2c|<=h1/2+h2/2

    相交矩形的面积

    假设两个矩形相交,设相交之后的矩形3,且矩形3的左上角坐标为(x3_1,y3_1),右下角坐标为(x3_2,y3_2)
    x3_1=max(x1,x2)
    y3_1=max(y1,y2)
    x3_2=max(x1+w1,x2+w2)
    y3_2=max(y1+h1,y2+h2)
    即可求出相交矩形的面积

    由此问题也衍生出其他相关的计算几何问题,也可以做相关的了解

    参考:
    https://yq.aliyun.com/articles/398884
    https://www.cnblogs.com/zhoug2020/p/7451340.html

    相关文章

      网友评论

          本文标题:Canvas中的矩形相交问题

          本文链接:https://www.haomeiwen.com/subject/oztmnctx.html