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 sunDirection = state.sunLight.position.clone().sub(worldPoint).normalize();
|
||||||
const terminatorDistance = Math.abs(normalWorld.dot(sunDirection));
|
const terminatorDistance = normalWorld.dot(sunDirection);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
x: (ndc.x * 0.5 + 0.5) * renderWidth,
|
x: (ndc.x * 0.5 + 0.5) * renderWidth,
|
||||||
@@ -1361,7 +1361,9 @@ function renderMoonCraterOverlay(phaseData, libration) {
|
|||||||
distanceToTerminator = Math.abs(absoluteX - terminatorX);
|
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;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1374,7 +1376,7 @@ function renderMoonCraterOverlay(phaseData, libration) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (craterDisplayMode === 'terminator') {
|
if (craterDisplayMode === 'terminator') {
|
||||||
visibleCraters.sort((a, b) => a.distanceToTerminator - b.distanceToTerminator);
|
visibleCraters.sort((a, b) => Math.abs(a.distanceToTerminator) - Math.abs(b.distanceToTerminator));
|
||||||
} else {
|
} else {
|
||||||
visibleCraters.sort((a, b) => Number(b.crater.diameterKm || 0) - Number(a.crater.diameterKm || 0));
|
visibleCraters.sort((a, b) => Number(b.crater.diameterKm || 0) - Number(a.crater.diameterKm || 0));
|
||||||
}
|
}
|
||||||
@@ -1510,7 +1512,7 @@ function updateMoonDrag(event) {
|
|||||||
|
|
||||||
if (freeCameraMode) {
|
if (freeCameraMode) {
|
||||||
const sensitivity = 3.0 / size;
|
const sensitivity = 3.0 / size;
|
||||||
cameraOrbitTheta = moonDragStartOrbitTheta + (event.clientX - moonDragStartX) * sensitivity;
|
cameraOrbitTheta = moonDragStartOrbitTheta - (event.clientX - moonDragStartX) * sensitivity;
|
||||||
cameraOrbitPhi = THREE.MathUtils.clamp(
|
cameraOrbitPhi = THREE.MathUtils.clamp(
|
||||||
moonDragStartOrbitPhi - (event.clientY - moonDragStartY) * sensitivity,
|
moonDragStartOrbitPhi - (event.clientY - moonDragStartY) * sensitivity,
|
||||||
0.05,
|
0.05,
|
||||||
|
|||||||
Reference in New Issue
Block a user