diff --git a/plugin/contents/ui/dancer.html b/plugin/contents/ui/dancer.html
index f6fa245..eee34df 100644
--- a/plugin/contents/ui/dancer.html
+++ b/plugin/contents/ui/dancer.html
@@ -1269,13 +1269,13 @@ const TWINKLE_MAG = 4.0; // até esta magnitude a estrela cintila; acima é e
const DEG = Math.PI / 180;
window.__skyTimeOffset = 0; // debug: ms somados ao relógio p/ testar a rotação
const PLANET_SPECS = [
- [Astronomy.Body.Mercury, 'Mercúrio', [205, 190, 165], 2439.7],
- [Astronomy.Body.Venus, 'Vênus', [255, 232, 180], 6051.8],
- [Astronomy.Body.Mars, 'Marte', [255, 120, 82], 3389.5],
- [Astronomy.Body.Jupiter, 'Júpiter', [255, 218, 170], 69911],
- [Astronomy.Body.Saturn, 'Saturno', [238, 205, 135], 58232],
- [Astronomy.Body.Uranus, 'Urano', [145, 225, 235], 25362],
- [Astronomy.Body.Neptune, 'Netuno', [105, 150, 255], 24622],
+ [Astronomy.Body.Mercury, 'Mercúrio', [190, 188, 182]],
+ [Astronomy.Body.Venus, 'Vênus', [255, 241, 204]],
+ [Astronomy.Body.Mars, 'Marte', [238, 105, 70]],
+ [Astronomy.Body.Jupiter, 'Júpiter', [232, 202, 164]],
+ [Astronomy.Body.Saturn, 'Saturno', [224, 195, 128]],
+ [Astronomy.Body.Uranus, 'Urano', [151, 223, 226]],
+ [Astronomy.Body.Neptune, 'Netuno', [91, 126, 220]],
];
const KM_PER_AU = 149597870.7;
const MOON_RADIUS_KM = 1737.4;
@@ -1841,7 +1841,8 @@ function updateSolarSystem(date, lst, W, H, horizonPx) {
const angularRadiusPx = (radiusKm, distanceAu) =>
Math.asin(Math.min(1, radiusKm / (distanceAu * KM_PER_AU))) / DEG *
(horizonPx / ALT_TOP);
- const moonRadius = angularRadiusPx(MOON_RADIUS_KM, moonCoords.eq.dist);
+ const realMoonRadius = angularRadiusPx(MOON_RADIUS_KM, moonCoords.eq.dist);
+ const moonRadius = Math.max(realMoonRadius, Math.min(18, H * 0.0075));
/* Transformação vetorial oficial do exemplo camera.js do Astronomy
Engine: ângulo do limbo claro em relação ao alto do horizonte. */
@@ -1864,14 +1865,16 @@ function updateSolarSystem(date, lst, W, H, horizonPx) {
} : null;
const planets = [];
- for (const [body, name, color, radiusKm] of PLANET_SPECS) {
+ for (const [body, name, color] of PLANET_SPECS) {
const coords = bodyCoordinates(body);
if (!coords.sc) continue;
const illumination = Astronomy.Illumination(body, date);
planets.push({
...coords.sc, alt: coords.aa.alt, az: coords.aa.az, name, color, body,
magnitude: illumination.mag,
- radius: Math.max(0.55, angularRadiusPx(radiusKm, coords.eq.dist)),
+ /* Tamanho visual ampliado por magnitude: os discos angulares reais
+ seriam subpixel, mas posição e brilho relativo continuam reais. */
+ radius: Math.max(1.8, Math.min(5.2, 3.45 - illumination.mag * 0.46)),
});
}
solarSystemFrame = { moon, planets };