Ekliptikebene jetzt rund

This commit is contained in:
Eskimue
2026-04-14 17:31:16 +02:00
parent bf46562c00
commit 64a0195c87
+28 -4
View File
@@ -2701,11 +2701,35 @@ function createPlanetMesh(planet) {
function createEclipticPlane() { function createEclipticPlane() {
eclipticGroup = new THREE.Group(); eclipticGroup = new THREE.Group();
const grid = new THREE.GridHelper(680, 68, 0x5aa8d8, 0x2c4d66); // Konzentrische Kreise bei astronomisch sinnvollen AU-Abständen
grid.material.transparent = true; const auRings = [1, 2, 3, 4, 5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100];
grid.material.opacity = 0.28; const segments = 128;
eclipticGroup.add(grid); for (const au of auRings) {
const r = Math.pow(au, 0.56) * DISPLAY_SCALE;
const pts = [];
for (let i = 0; i <= segments; i++) {
const a = (i / segments) * Math.PI * 2;
pts.push(new THREE.Vector3(Math.cos(a) * r, 0, Math.sin(a) * r));
}
const ringGeo = new THREE.BufferGeometry().setFromPoints(pts);
const ringMat = new THREE.LineBasicMaterial({ color: 0x2c4d66, transparent: true, opacity: 0.45 });
eclipticGroup.add(new THREE.Line(ringGeo, ringMat));
}
// Radiale Speichen alle 30°
const maxR = Math.pow(100, 0.56) * DISPLAY_SCALE;
for (let i = 0; i < 12; i++) {
const a = (i / 12) * Math.PI * 2;
const spokePts = [
new THREE.Vector3(0, 0, 0),
new THREE.Vector3(Math.cos(a) * maxR, 0, Math.sin(a) * maxR)
];
const spokeGeo = new THREE.BufferGeometry().setFromPoints(spokePts);
const spokeMat = new THREE.LineBasicMaterial({ color: 0x2c4d66, transparent: true, opacity: 0.25 });
eclipticGroup.add(new THREE.Line(spokeGeo, spokeMat));
}
// Vertikale Achse (Nordpol der Ekliptik)
const axisGeometry = new THREE.BufferGeometry().setFromPoints([ const axisGeometry = new THREE.BufferGeometry().setFromPoints([
new THREE.Vector3(0, -340, 0), new THREE.Vector3(0, -340, 0),
new THREE.Vector3(0, 340, 0) new THREE.Vector3(0, 340, 0)