Estoy buscando consejos sobre la mejor manera de proceder. Estoy tratando de encontrar si un punto dado A: (a, b) está dentro de un hexágono regular, definido con el centro O: (x, y) y el diámetro del círculo circunscrito.Es un punto dentro del hexágono regular
Parece excesivo usar Ray-casting, o Winding-number para determinar esto, para un caso tan simple, y actualmente estoy buscando la opción de encontrar el ángulo (de horizontal) de la línea OA, y "normalizar" (probablemente no sea la palabra correcta) en uno de los 6 triángulos equiláteros y ver si este nuevo punto se encuentra dentro de este triángulo.
tengo la sensación de que me falta algo simple, y no hay una manera fácil (o si soy muy afortunado, una API de Java) para hacer esto de forma sencilla y eficiente.
Gracias por su ayuda.
Editar: El hexágono está orientado de modo que uno de los lados es plano con el horizontal.
¡También tiene que dar información sobre la orientación del hexágono (0-60 grados)! – Curd
@Curd Buen punto, gracias. He editado la publicación, pero no estoy seguro de qué ángulo sería, 0 grados, supongo. – Adam
I [no creo que haya una API para ello] (http://stackoverflow.com/questions/5184815/java-intersection-point-of-a-polygon-and-line), desafortunadamente. –