¿Cuál es la forma del cielo?

Soy desarrollador de software y estoy desarrollando un planetario y lo primero que no sé es: ¿Cuál es la forma del cielo?

Primero, pensé que es una semiesfera, pero buscando en Internet he encontrado muchos tutoriales de youtube, y todos dibujan una semiesfera pero aplanada (puedes buscar Skydome en Google y encontrarás muchos tutoriales) .

Mi pregunta es, ¿cómo puedo representar el cielo en un mundo virtual en 3D? ¿Cuánto necesito para aplanar una esfera para obtener una representación real del cielo?

Tu pregunta tiene poco sentido tal como está. El cielo visible es, por supuesto, un hemisferio . Cómo representes eso depende de con qué lo representes.
@Rob Jeffries: si observa desde, digamos, un avión a ⁓11 km (36 000 pies) sobre el nivel del mar, entonces el cielo visible es notablemente más grande que un hemisferio. Puede ver el cielo, no el terreno hasta −3°20′ de elevación, y tenga en cuenta que Ī̲ descuide la refracción atmosférica que extendería la visibilidad de los objetos remotos más abajo durante unos 40′.

Respuestas (1)

Para el software de computadora, la forma más fácil de tomar una esfera (y/o hemisferio) y aplanarla en una forma plana (generalmente un rectángulo) es la proyección equi-rectangular (también conocida como plate carrée), porque tiene la fórmula más simple relacionando píxeles y coordenadas:

X = w × λ 360 + w 2

y = h × ϕ 180 + h 2

donde X y y es el punto de píxel, w y h son el ancho y el alto (en píxeles) del rectángulo de su mapa, λ es la longitud en grados y ϕ es la latitud en grados

Todo esto supone que su mapa coloca el punto de longitud 0 y latitud 0 en el centro. En otras palabras, el meridiano principal corre verticalmente por la mitad del mapa y el ecuador corre por la mitad del mapa horizontalmente. También supone que el norte y el este son positivos, mientras que el oeste y el sur son negativos.

Tenga en cuenta que ni siquiera tiene que tomar el seno o el coseno de nada. Es por eso que la proyección equi-rectangular es tan simple. Básicamente, solo toma la longitud y la latitud y las hace X / y coordinar con sólo un desplazamiento. El desplazamiento se debe a que, por lo general, en la programación de computadoras, el origen está en la parte superior izquierda en lugar del centro de la pantalla.

Note también que negué la latitud en el y fórmula, porque la mayoría de los sistemas informáticos en coordenadas 2D tienen el positivo y dirección apuntando hacia abajo. Esto es opuesto a un gráfico estándar en matemáticas, donde positivo y Sube.

En su caso, la longitud y la latitud en realidad serán ascensión recta y declinación respectivamente. Son básicamente coordenadas estelares para la esfera celeste en oposición a las coordenadas terrestres para la geoda.

Hay muchas, muchas otras proyecciones cartográficas posibles, pero la equirectangular es la más simple.

Sin embargo , su pregunta es un poco vaga porque mencionó un "mundo virtual en 3D", pero también preguntó cuánto necesita para aplanarlo. Si ya tiene un modelo 3D de una esfera en sus gráficos de computadora, no tiene que aplanarlo en absoluto. Simplemente dibuja el modelo 3D (esfera) con una textura. Si desea representarlo como un mapa, entonces, por supuesto, debe aplanarlo, y la proyección equi-rectangular es la forma más sencilla.

magnífica respuesta. muy agradable
En pocas palabras, quiero hacer un planetario virtual para mostrarle al usuario lo que puede ver en su ubicación (como lo hace stardroid). ¿Cómo puedo mostrar las estrellas dependiendo de la ubicación del usuario? Descubrí que puedo usar una semiesfera, pero al verificar el código de stardroid lo uso, usa un SkyBox. Puede consultar el código aquí: code.google.com/p/stardroid .