测试矩形是否包含另一个矩形的全部或部分?

jma*_*erx -1 java algorithm android

我有这个代码:

graphicsContext.setCanvas(canvas);
graphicsContext.clear();
camera.applyTransform(graphicsContext);
RectF screen = camera.getCamRect(getWidth(), getHeight());

for(Road r : roads) {
  if(screen.contains(r.getRect())) {
    r.draw(graphicsContext);
  }
}

for(Intersection i : intersections) {
  if(screen.contains(i.getRect())) {
    i.draw(graphicsContext);
  }
}
Run Code Online (Sandbox Code Playgroud)

唯一的问题是 contains 方法必须在 A 中包含 B 的所有 4 个顶点才能返回 true。给定顶部、左侧、底部、右侧,我可以使用什么类型的算法来检查 B 是部分还是完全在 B 内部。

谢谢

DNA*_*DNA 5

只需RectF.contains()与要测试相交的形状的每个顶点一起使用

甚至更容易,RectF.intersects()将为您处理所有这些。

这一切都在文档中