La mejor manera de simular el tamaño de las estrellas a escala en la esfera celeste

Usando el catálogo de Hipparcos, estoy tratando de crear una esfera celeste. Como todas las estrellas están a una distancia fija del centro de esta esfera, la única forma de diferenciar las distancias y la magnitud es a través del tamaño de cada modelo de la estrella.

Con el ángulo de paralaje pag y magnitud visual metro v i s de cada estrella del catálogo, he creado el siguiente código para calcular el radio de cada estrella en relación con el radio del sol. Había usado este sitio web para calcular esto. El problema es que algunas estrellas son demasiado grandes, ¡casi más grandes que la propia esfera celeste! Estoy tratando de mantener el radio por debajo de un cierto umbral.

Aquí pag está en segundos de arco y d está en parsecs.

d = 1 / pag

METRO a b s = METRO v i s registro 10 ( d 5 ) + 5

T s tu r F = 8540 C I + 0.865

R r mi yo = ( 5800 T s tu r F ) 2 ( 2.512 ) 4.83 METRO a b s

R S tu norte = 2.5

r = R r mi yo R S tu norte

    private void positionStar()
    {
        double radius;
        cartesianPositioningCalc();
        gameObject.transform.position = cartesianPositioning;

        // Convert Plx from milliarcseconds to arcseconds (seconds of arc)
        double PlxSOA = Plx / 1000;
        // Calculate distance from equation d=1/p
        // distance d is measured in parsecs and the parallax angle p is measured in arcseconds.
        double dPC = 1 / PlxSOA;

        double absMag = Vmag - math.log10(math.pow(dPC, 5)) + 5;

        surfaceTemperature = 8540 / (CI + 0.865);

        double relativeRadius = math.pow((5800 / surfaceTemperature), 2) * math.sqrt((math.pow(2.512, (4.83 - absMag))));
        double radiusSun = 2.5f;

        radius = relativeRadius * radiusSun;

        gameObject.transform.localScale = new Vector3((float)radius, (float)radius, (float)radius);
    }

En primer lugar, ¿estoy usando las matemáticas correctas? Si es así, ¿cómo puedo asegurarme de que el radio esté por debajo de un cierto umbral máximo (5 unidades, por ejemplo)?

Si las matemáticas son incorrectas, ayúdenme a solucionarlo.

¡Gracias!


Con una versión ligeramente modificada de la fórmula de @Mike G en su respuesta a continuación:

r(m) = 50 * 10^{(-1,44 - m) / 5}

radius = 50 * math.pow(10, (-1.44 - Vmag) / 5);

Pude obtener este resultado:Campo de estrellas

Y si no me equivoco, creo que puedo ubicar la constelación de la Osa Mayor desplazada ligeramente hacia la izquierda desde el centro de la captura de pantalla.

Sin embargo, después de subir a nova.astrometry.net , las estrellas y las constelaciones aún no se detectan. ¿Esto se debe a que el tamaño de la estrella todavía es un poco incorrecto o se trata de un problema del lado del sitio web?

Puedo usar otro sitio web/aplicación como Stellarium para verificar, ¿hay alguna forma en que la aplicación pueda procesar una imagen de entrada o trato de recrear usando mi imagen en la aplicación?

Hice todo lo posible para convertir el código de su computadora en ecuaciones legibles usando MathJax . Por favor verifíquelo dos veces.
@uhoh, se ve genial, ¡gracias!
Esto es totalmente confuso. Su pregunta se refiere a trazar estrellas según su radio, pero ahora parece que quiere trazarlas con un tamaño correspondiente a su brillo. Los dos solo están relacionados indirectamente y el brillo no involucra el paralaje en absoluto.
En la respuesta de @Mike G, hablan de cómo es mucho más simple basar el radio de las estrellas en la magnitud aparente; es por eso que he tomado esta ruta. Sin embargo, si hay una ruta más simple para incorporar su radio real y también hacer que todas las estrellas tengan un tamaño uniforme, entonces la exploraré más a fondo. Cambiaré el título de la pregunta para que tenga más sentido.
¡Luciendo mejor! También reconozco algunas otras constelaciones, pero están invertidas. También math.pow(math.E, x) == math.exp(x). Considere agregar más fuentes de luz, aumentar el término ambiental o usar un material emisivo.
@MikeG: con respecto a cómo las estrellas están invertidas en espejo, utilicé este sitio web, fmwriters.com/Visionback/Issue14/wbputtingstars.htm , para convertir RA y DE en x, y, z. ¿Cómo soluciono esto para trazar las estrellas correctamente?
La conversión de coordenadas cartesianas es correcta para x, y, z diestros. Si sus ejes son diestros y su cámara está en el centro de la esfera celeste, no sé qué está mal, pero invertir cualquiera de los ejes funcionaría.

Respuestas (2)

Tus matemáticas se ven bien, salvo el hecho de que 1 / el paralaje es una estimación sesgada de la distancia (pero eso se puede perdonar siempre que utilice datos en los que las incertidumbres del paralaje sean mucho menores que el paralaje).

Su principal problema es que las estrellas tienen una amplia gama de tamaños. Por lo tanto, si realmente desea mostrar los tamaños relativos de las estrellas, tiene un problema de rango dinámico.

La forma convencional de lidiar con esto sería usar una escala logarítmica, de modo que cada incremento de tamaño corresponda a un múltiplo del siguiente. por ejemplo, haga que sus radios trazados sean proporcionales a registro 10 R r mi yo .

EDITAR: en respuesta al énfasis alterado de la pregunta.

Parece que ya no quieres escalar las estrellas según su radio real, sino según su brillo. Por lo tanto, la escala logarítmica ya está manejada por la magnitud aparente (que está en una escala logarítmica).

Por lo tanto, todo lo que necesita hacer es decidir cuál es su radio más pequeño y más grande y compararlo con las magnitudes más brillantes y más débiles que desea trazar.

Por ejemplo, si su estrella más grande tiene 5 unidades y la más pequeña tiene 0 unidades, y sus límites brillantes y débiles son metro b r i gramo h t y metro F a i norte t respectivamente, entonces el tamaño de una estrella arbitraria de magnitud metro es

r = 5 ( metro metro F a i norte t ) metro b r i gramo h t metro F a i norte t   .

Y si desea que sus estrellas más débiles sean de tamaño 1 y las más brillantes de 5, esto se modifica a

r = 4 ( metro metro F a i norte t ) metro b r i gramo h t metro F a i norte t + 1   .

Otra alternativa más sería hacer que el área sea proporcional a la magnitud. De nuevo, escalando entre radios de 5 y 1:

r 2 = 24 ( metro metro F a i norte t ) metro b r i gramo h t metro F a i norte t + 1   .

El tamaño mínimo debe ser distinto de cero, y una función lineal de m es demasiado empinada en el extremo oscuro.
@MikeG ¡Su solución simplemente se escala como la raíz cuadrada del flujo y se reduce en un factor de 1.6 para cada magnitud! El tamaño mínimo se puede establecer en lo que quieras agregando una constante. El mío escala linealmente con la magnitud, que es como funciona el ojo.
Con la segunda fórmula, r(0) / r(1) = 1,15 y r(5) / r(6) = 1,54.

El ejercicio SDSS muestra cómo estimar el radio real de una estrella. Si usa este radio, también debe usar diferentes materiales de modelo para diferentes valores de índice de color, ya que la luminosidad por unidad de área es una función de la temperatura. Si prefiere evitar esa complejidad, base los radios de sus estrellas modelo solo en la magnitud visual. Si coloca las estrellas modelo a una distancia uniforme del observador, use la magnitud aparente en lugar de la magnitud absoluta.

Suponga que el radio de su esfera celeste es de 1000 unidades y desea que Sirio (magnitud aparente m min  = -1,45) tenga un radio angular aparente de 5 milirradianes. Entonces, el radio modelo de Sirio r max sería de 5 unidades, y una estrella de magnitud aparente m tendría un radio modelo

r ( metro ) = r metro a X × 10 ( metro metro i norte metro ) / 5 = 5 × 10 1.45 / 5 × 10 metro / 5 = 2.6   mi 0.46   metro

Si también desea establecer un radio de modelo de estrella mínimo, pruebe con r(m) = be am where

a = en r metro i norte en r metro a X metro metro a X metro metro i norte b = r metro a X   mi a   metro metro i norte = r ( 0 )

Por ejemplo, para obtener r (6.0) = 0.5 con r (-1.45) = 5 como arriba, podría usar

r ( metro ) = 3.2   mi 0.31   metro

Estos radios modelo no se acercan a la realidad, pero deberían producir un cielo nocturno reconocible. En la vida real, el radio del Sol es de aproximadamente 2,3 × 10 -8 pc.

¿Qué significa el m subíndice min?
@SidS La magnitud aparente de la estrella más brillante.
Implementé una versión ligeramente modificada de esta ecuación: el resultado se ve increíble, sin embargo, astronomy.net aún no puede detectar las estrellas y las constelaciones. Consulte la edición que he realizado en la pregunta para obtener más detalles. ¡Gracias!
El catálogo de Hipparcos tiene estrellas entre magnitudes aparentes -1,4 y 8. Sus radios serían de 5 a 0,06 (o 0,16 en 6ª magnitud). Contrariamente al comentario que adjuntó a mi respuesta, su prescripción es demasiado pronunciada en magnitudes débiles (y al cuadrado si cree que el área es lo que representa el brillo aparente), la mía es mucho más superficial. Es por eso que es difícil reconocer constelaciones que típicamente están definidas por estrellas que tienen un rango de magnitud 3-4. En su esquema, este es un rango de 16-43 en el área del spot.
@RobJeffries Se agregó un parámetro de radio mínimo conservando r(0)/r(1) = r(5)/r(6).