Krater am Terminator verbessert
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user