1
我正在使用Java,我正在嘗試檢測橢圓與矩形的交集。確定與Ovale形狀的交集
我韌起初使用相交就足夠了:
Shape rect = new Rectangle2D.Double(ant.getPosX(), ant.getPosY(), 5, 5);
for (Shape obstacle : obstaclesShape) {
if(obstacle.intersects(rect.getBounds())){
System.out.println("Boom");
}
}
obstaclesShape是橢圓形的ArrayList。
Shape oval = new Ellipse2D.Double(getRandomX(), getRandomY(), obstacle.getRandomWidth(), obstacle.
this.obstaclesShape.add(oval);
但是使用這種方法不夠可靠。事件似乎幾乎是隨機觸發的。
所以我問自己使用數學和確定省略號的邊界位置會更好嗎?一些東西可能會由我猜測的角度和高度/寬度決定。
的事情是如何精確地確定了嗎?它的公式是什麼?或者,還有更好的方法?
你能澄清的圖片附? – xenteros
我有一個橢圓形的形狀,我知道形狀的中心位置和右中心點的中心位置。我知道橢圓的高度和寬度,我想確定紅色邊框的位置。 @xenteros –
[這是橢圓形](https://en.wikipedia.org/wiki/Oval)和你展示的東西看起來像一個隨機的[危險](https://en.wikipedia.org/wiki/Hazard_(golf )) – xenteros