gpt4 book ai didi

java - 确定两个矩形重叠的程度和方向的算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:48 25 4
gpt4 key购买 nike

有谁知道可用于确定两个矩形重叠的程度和方向的算法?我花了几个小时试图解决这个问题,以便我可以将它实现到一个用 slick2d + java 编写的基本瓷砖游戏中。

最佳答案

轮询角点的坐标,如果 Square1Square2 的最近和最远顶点之间有任何角点,它们是否因坐标差发生碰撞?

例子:

square1.setVertex1(0,0);
square1.setVertex2(2,0);
square1.setVertex3(2,2);
square1.setVertex4(0,2);

square2.setVertex1(1,1);
square2.setVertex2(4,1);
square2.setVertex3(4,4);
square2.setVertex4(1,4);

Vertex[] verticesSq1=Square1.getVertices();
for (Vertex vert: verticesSq1) {
if(vert.getXVal>square2.getLowestXVal() &&
vert.getXVal<square2.getHighestXVal()

&&
vert.getYval>square2.getLowestYval() &&
vert.getYVal<square2.getHighestYVal() {

System.out.write("Vertex "+vert.ID+" is overlapping Square 2 by " +
vert.getXval()-square2.getLowestXVal +","+
vert.getYval()-square2.getLowestYVal);
}
}

关于java - 确定两个矩形重叠的程度和方向的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com