How to check intersection between a line and a rectangle?

前端 未结 3 1574
悲&欢浪女
悲&欢浪女 2020-12-17 19:20

The title says it all, Ive been searching around and couldnt find anything that was straight and to the point. How would I take a line with points (x1,y1) & (x2, y2) and

3条回答
  •  自闭症患者
    2020-12-17 19:58

    A rectangle is 4 lines. You could compute the intersect between your line and the 4 lines of the rectangle.

    given the equations of two lines, they would intersect when x and y are equal.

    y = m1x + b1 y = m2x + b2

    solving the equation you should get:

    x = b2 - b1 / (m1 - m2);

    Note that if m1 == m2, the lines are parallel and will never intersect, watch out for the divided by 0 in this case.

    Then, since you are dealing with segments ratter than infinite lines, check if the intersect falls off within your segments (check if both X and Y are within each segment's boundaries).

提交回复
热议问题