De hecho, el enfoque de la regla de devanado de rayos y funcionamiento normal funciona muy bien en la superficie de una esfera, con un pequeño ajuste.
En la superficie de una esfera, una "línea recta" es un gran círculo y las distancias se miden en unidades angulares en lugar de metros o pulgadas. Para dibujar un rayo desde un punto arbitrario en la superficie de la esfera simplemente forma un gran círculo a través de ese punto arbitrario y cualquier otro punto en la superficie de la esfera. Para mantener las matemáticas limpias, elija un segundo punto a aproximadamente pi/2 del punto cuya ubicación está probando. Aplica la regla par-impar usual al gran círculo y al polígono de prueba.
La regla de enrollamiento también se traduce directamente de líneas rectas en el plano a (segmentos de) círculos grandes en una esfera.
Todo lo que necesita ahora son implementaciones Java de operaciones básicas de geometría esférica. No tengo ninguna recomendación en ese sentido, pero supongo que Internet ayudará. Para las matemáticas, comience con Mathworld.
Otro enfoque sería proyectar sus puntos y polígonos desde la superficie de la esfera hasta el plano, que es lo que hacen las proyecciones de los mapas, la relación topológica del interior no se verá afectada por dicha transformación.
Ah, y que tendrá que decidir qué hacer si su polígono describe un gran círculo
Su pregunta no es muy clara: polígonos no se pueden curvar (por definición), de modo que en vez está preguntando cómo determinar si un punto está en la superficie de una esfera? Eso es realmente fácil: está en la superficie si la distancia al centro de la esfera == el radio de la esfera. –
Creo que quiere decir si tomas una serie de puntos en la esfera y construyes una forma cerrada entre ellos. Los puntos más finos sobre cómo conectar puntos de polígono en los bordes parece ambiguo (¿puede conectarlos directamente luego proyectar en la esfera, tal vez?) – Akusete
correcto, un polígono en mi mundo es una serie de puntos en la esfera y construyo una forma cerrada entre ellos – richard