# Texturas: fuentes, uso y coordenadas

Descargadas el 20 de septiembre de 2026 directamente desde NASA. Son mapas basados en observaciones reales, guardados localmente: **no son fotografías en directo**. La fecha de la simulación actualiza posiciones y orientación, no el contenido de estos mapas.

## Tierra

- Archivo de la aplicación: `assets/earth-day.jpg`, JPEG, 2048 × 1024, sRGB.
- Original conservado: `assets/earth-day-original-5400.jpg`, 5400 × 2700.
- Producto: Blue Marble: Next Generation, mapa base de septiembre de 2004.
- [Página del producto](https://science.nasa.gov/earth/earth-observatory/blue-marble-next-generation/base-map/).
- [Archivo original de NASA](https://assets.science.nasa.gov/content/dam/science/esd/eo/images/bmng/bmng-base/september/world.200409.3x5400x2700.jpg).
- Crédito: **NASA Earth Observatory**, Blue Marble: Next Generation; Reto Stöckli.
- [Descripción y créditos](https://science.nasa.gov/earth/earth-observatory/blue-marble-next-generation/).

Se ha reducido el tamaño con Lanczos y guardado como JPEG de calidad 93. No se han desplazado, reflejado ni recoloreado los continentes. Se usa un mapa sin la capa de sombras topográficas para que la iluminación solar de la escena dibuje el terminador. La superficie procede de un compuesto de observaciones, con océano profundo de color uniforme; no incluye meteorología actual.

## Luna

- Archivo: `assets/moon.jpg`, JPEG, 2048 × 1024, original sin modificar.
- Producto: NASA SVS CGI Moon Kit, mapa de color de 2025.
- [Página del producto y créditos](https://svs.gsfc.nasa.gov/4720/).
- [Archivo original lroc_color_2k.jpg](https://svs.gsfc.nasa.gov/vis/a000000/a004700/a004720/lroc_color_2k.jpg).
- Crédito: **NASA's Scientific Visualization Studio**; Ernie Wright. Datos LRO / LROC WAC, equipo de Arizona State University; regiones polares completadas con albedo LOLA.

Es un mapa preparado para renderizado a partir de observaciones orbitales: no una fotografía de una sola fecha. La publicación describe ajustes de color y exposición y relleno de zonas sin datos. No contiene elevación; la geometría inicial de la aplicación es una esfera.

## Coordenadas de ambos mapas

Proyección equirectangular completa, ancho:alto = 2:1. Norte arriba. El borde izquierdo corresponde a longitud −180°, el centro a 0° y el borde derecho a +180°. La longitud Este aumenta hacia la derecha. El centro vertical es el ecuador; los bordes superior e inferior son +90° y −90° de latitud. NASA especifica expresamente el centro de 0° para la Luna. En la Tierra, Greenwich y la disposición de continentes confirman ese mismo convenio.

Para longitud Este `lon` y latitud Norte `lat`, en grados:

```js
const u = (lon + 180) / 360;
const v = (lat + 90) / 180;
```

Estas UV suponen el `flipY = true` habitual de `THREE.TextureLoader`; en una imagen con origen arriba a la izquierda, la fracción vertical equivalente es `(90 - lat) / 180`.

En `THREE.SphereGeometry` sin rotar: polo Norte en +Y; meridiano 0° (`u = 0.5`) en +X; meridiano 90° Este (`u = 0.75`) en −Z. La orientación astronómica de los cuerpos debe respetar esa base. No se debe dar por hecho que el meridiano 0° mira hacia +Z.

## Condiciones y atribución

[NASA Images and Media Usage Guidelines](https://www.nasa.gov/nasa-brand-center/images-and-media/) permite generalmente utilizar estos materiales en simulaciones gráficas y páginas web informativas, con reconocimiento de NASA como origen. Se conservan los créditos específicos anteriores. Esta aplicación no está afiliada, revisada ni avalada por NASA. Los mapas no están sujetos a la licencia del código de la aplicación.

## Empaquetado sin conexión

`assets/textures-data.js` contiene los mismos dos JPEG codificados en base64 bajo `window.SolarAssets.earthDay` y `window.SolarAssets.moon`. Evita que WebGL rechace imágenes cargadas por `file://` y permite abrir la aplicación con doble clic, sin Internet.

Para regenerarlo después de sustituir los JPEG:

```text
python assets/build-texture-data.py
```

Para reconstruir también la copia reducida de la Tierra desde el original, el script acepta `--prepare-earth` y requiere Pillow. Los JPEG originales legibles se conservan para facilitar cambios posteriores y uso en Blender.
