Krater am Terminator verbessert

This commit is contained in:
2026-04-07 09:17:56 +02:00
parent 071eab9a1c
commit de3f965c71
+6 -4
View File
@@ -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,