4 votos

Ajustar el círculo entre los puntos situados en la esfera unitaria

Supongamos que tengo una esfera de puntos con dos coordenadas (dos ángulos), todos los puntos están situados en una esfera unitaria, por lo que el radio de la esfera es uno.

Ahora mi problema es, quiero encontrar círculos vacíos, o más bien el centro de los círculos, en esa esfera, que encajan entre los puntos con un radio que es mayor que un radio angular especificado, por ejemplo 0,1 rad. Y con vacío se quiere decir, que dentro de ese círculo no hay otros puntos.

Como ejemplo práctico, piense que los puntos de la esfera son estrellas limitadas por la magnitud, y que el círculo describe una mancha vacía y oscura para hacer algunas mediciones de fondo con un instrumento, cuyo campo de visión debe ser menor que el diámetro del círculo.

Mi idea es, en primer lugar, calcular todas las distancias de gran arco entre tres estrellas cercanas, o formulado de otra manera, abarcar una red de triángulos esféricos en esa esfera.

Y después de eso tratar de calcular el círculo interior en los triángulos.

Aquí es donde estoy atascado, no sé cómo hacer esto en una esfera, en coordenadas 2D cartesianas esto sería más fácil.

Supongo que no puedo utilizar las fórmulas de un círculo en coordenadas cartesianas para coordenadas esféricas, o sólo para una estimación muy aproximada.

¿Tienes algunas ideas que me empujen en la dirección correcta?

2voto

David K Puntos 19172

Encuentra el casco convexo del conjunto de puntos. Esto es un poliedro, y para cada cara del poliedro, todos los puntos del conjunto dado están en esa cara o en el lado "interior" de esa cara.

Donde el plano de cada cara del casco convexo interseca la esfera es un círculo. En un lado de este plano no hay puntos de tu conjunto original. La parte de la esfera en ese lado del plano es el "punto oscuro" que estás buscando.

Una forma de encontrar el centro de uno de los "puntos oscuros" es encontrar un vector unitario ortogonal al plano por el que se ha encontrado. Ese vector unitario o el vector unitario en sentido contrario es el desplazamiento desde el centro de la esfera hasta el centro de la "mancha oscura".

Por supuesto, luego puedes examinar todas las "manchas oscuras" para ver cuál es la más grande, si ese es tu objetivo, o simplemente examinarlas hasta que encuentres una que sea lo suficientemente grande.

Existen algoritmos para encontrar cascos convexos en tres dimensiones, pero si no quieres usar ninguno de ellos, y no hay demasiados puntos puedes tomar los puntos de tres en tres y poner un plano a través de los tres puntos seleccionados. Si todos los demás puntos de tu conjunto están en el mismo lado de ese plano (o en el plano) entonces has encontrado una de las caras del casco convexo.

Es más fácil trabajar todos estos pasos en coordenadas cartesianas que en coordenadas polares. Así que tu primer paso debería ser convertir todas las coordenadas a triples cartesianas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X