私はJavaで作業しており、卵形と長方形の交差を検出しようとしています。卵形との交差を特定する
Iタフで最初に十分であろう交差を使用して:
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_ )) – xenteros