From de3f965c7138f1872a1f747c469603be1ade8bdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 7 Apr 2026 09:17:56 +0200 Subject: [PATCH] Krater am Terminator verbessert --- public/moonphase.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/public/moonphase.php b/public/moonphase.php index 77f64bb..219d9d7 100644 --- a/public/moonphase.php +++ b/public/moonphase.php @@ -1261,7 +1261,7 @@ function projectCraterWithScene(crater, state, renderWidth, renderHeight) { } const sunDirection = state.sunLight.position.clone().sub(worldPoint).normalize(); - const terminatorDistance = Math.abs(normalWorld.dot(sunDirection)); + const terminatorDistance = normalWorld.dot(sunDirection); return { x: (ndc.x * 0.5 + 0.5) * renderWidth, @@ -1361,7 +1361,9 @@ function renderMoonCraterOverlay(phaseData, libration) { distanceToTerminator = Math.abs(absoluteX - terminatorX); } - if (craterDisplayMode === 'terminator' && distanceToTerminator > (state ? 0.12 : Math.max(8, radius * 0.03))) { + if (craterDisplayMode === 'terminator' && (state + ? (distanceToTerminator < -1.05 || distanceToTerminator > -0.00) + : Math.abs(distanceToTerminator) > Math.max(8, radius * 0.03))) { continue; } @@ -1374,7 +1376,7 @@ function renderMoonCraterOverlay(phaseData, libration) { } if (craterDisplayMode === 'terminator') { - visibleCraters.sort((a, b) => a.distanceToTerminator - b.distanceToTerminator); + visibleCraters.sort((a, b) => Math.abs(a.distanceToTerminator) - Math.abs(b.distanceToTerminator)); } else { visibleCraters.sort((a, b) => Number(b.crater.diameterKm || 0) - Number(a.crater.diameterKm || 0)); } @@ -1510,7 +1512,7 @@ function updateMoonDrag(event) { if (freeCameraMode) { const sensitivity = 3.0 / size; - cameraOrbitTheta = moonDragStartOrbitTheta + (event.clientX - moonDragStartX) * sensitivity; + cameraOrbitTheta = moonDragStartOrbitTheta - (event.clientX - moonDragStartX) * sensitivity; cameraOrbitPhi = THREE.MathUtils.clamp( moonDragStartOrbitPhi - (event.clientY - moonDragStartY) * sensitivity, 0.05,