Point3fが六角形(それぞれが特定のShape3Dオブジェクト)でできたグリッドの内側にあるのか、エッジにあるのかを見つける方法を見つけようとしています。
ポイントがエッジ上にある場合は、Point3fまたは両方の六角形を一致させる六角形の色を変更するというアイデアがあります。
グリッドを作成するために、このロジックを使用しましたhttp://playtechs.blogspot.com/2007/04/hex-grids.html したがって、六角形が互いにどのように配置されているかを知るのはかなり簡単です。
私の問題は座標に関連しています。SceneGraphで使用する構造があります。
BranchGroup> TransformGroup> Hexagrid(TransformGroup)> HexaRow(TranformGroup)> Hexagon(Shape3D)
各TransfromGroupは、3D空間に配置するためにTransform3D(Vector3F)を使用して作成されます
Point3fはSceneGraphのルートで生成されるため、BranchGroupから各六角形の座標を復元したいと思います。
頂点座標をHashMapに配置しようとしました。ここで、Pointは六角形のグリッド内の座標であり、Point3f[]は六角形の各頂点の3D空間内の座標です。行に六角形を追加しながらそれを行いましたが、それぞれがローカル座標系でそのステップまで構造を配置するための3つのベクトルであるため、正しく機能することはできません。
そこに到達するために使用されるすべてのベクトルを追加することなく、Shape3dオブジェクトの座標を見つける簡単な方法はありますか?
それは私の目標を達成するための適切な方法でさえありますか?(私が理解したことから、衝突検出は2つのオブジェクトでのみ機能し、ポイントがエッジ上にあるかどうかを本当に知る必要があり、3つのオブジェクトになります)
助けてくれてありがとう !