548 lines
14 KiB
JavaScript
548 lines
14 KiB
JavaScript
|
celestialBodies = {
|
||
|
Sun: new CelestialBody({
|
||
|
name: "Sun",
|
||
|
star: true,
|
||
|
parent: "Sun",
|
||
|
radius: 200.,
|
||
|
shineColor: 0xfff700,
|
||
|
orbit: {
|
||
|
semiMajorAxis: 0.
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 2500,
|
||
|
inclination: 0,
|
||
|
},
|
||
|
material: {
|
||
|
type: "basic",
|
||
|
diffuse: {map: "res/sol/diffuse.png"}
|
||
|
},
|
||
|
atmosphere: {
|
||
|
cloud: {
|
||
|
map: "res/sol/overlay.png",
|
||
|
height: 1,
|
||
|
speed: 1
|
||
|
}
|
||
|
},
|
||
|
halo: {
|
||
|
color: new THREE.Color(0xfff700),
|
||
|
radius: 500.
|
||
|
}
|
||
|
}),
|
||
|
Mercury: new CelestialBody({
|
||
|
name: "Mercury",
|
||
|
radius: 3.8256,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0x9999ff,
|
||
|
orbit: {
|
||
|
period: 1.204,
|
||
|
semiMajorAxis: 387.1,
|
||
|
eccentricity: 0.2056,
|
||
|
inclination: 7.0049
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 1407.509405,
|
||
|
inclination: 28.55,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/mercury/diffuse.jpg"},
|
||
|
bump: {map: "res/mercury/bump.jpg", height: 0.}
|
||
|
}
|
||
|
}),
|
||
|
Venus: new CelestialBody({
|
||
|
name: "Venus",
|
||
|
radius: 9.488,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0x9999ff,
|
||
|
orbit: {
|
||
|
period: 3.076,
|
||
|
semiMajorAxis: 723.3,
|
||
|
eccentricity: 0.0068,
|
||
|
inclination: 3.3947
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 5832.443616,
|
||
|
inclination: 157.16,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/venus/diffuse.jpg"},
|
||
|
bump: {map: "res/venus/bump.jpg", height: 0.}
|
||
|
},
|
||
|
atmosphere: {
|
||
|
cloud: {
|
||
|
map: "res/venus/clouds.jpg",
|
||
|
height: 0.5,
|
||
|
speed: 0.02
|
||
|
}
|
||
|
}
|
||
|
}),
|
||
|
Earth: new CelestialBody({
|
||
|
name: "Earth",
|
||
|
radius: 10.,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0x6666ff,
|
||
|
orbit: {
|
||
|
period: 5.,
|
||
|
semiMajorAxis: 1000.,
|
||
|
eccentricity: 0.0167,
|
||
|
inclination: 0.0001
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 23.93447117,
|
||
|
inclination: -23.4392911,
|
||
|
meridianAngle: 280.147,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "phong",
|
||
|
diffuse: {map: "res/earth/diffuse.jpg"},
|
||
|
specular: {map: "res/earth/spec.jpg", color: 0x243232, shininess: 25},
|
||
|
bump: {map: "res/earth/bump.jpg", height: 0.05},
|
||
|
night: {map: "res/earth/night.png"}
|
||
|
},
|
||
|
atmosphere: {
|
||
|
cloud: {
|
||
|
map: "res/earth/clouds.png",
|
||
|
height: 0.1,
|
||
|
speed: 0.02
|
||
|
},
|
||
|
scattering: true,
|
||
|
atmosphereColor: new THREE.Vector3(0.5, 0.7, 0.8),
|
||
|
sunsetColor: new THREE.Vector3(0.8, 0.7, 0.6),
|
||
|
atmosphereStrength: 1.5,
|
||
|
sunsetStrength: 1.0
|
||
|
}
|
||
|
}),
|
||
|
Comet: new CelestialBody({
|
||
|
name: "Comet",
|
||
|
parent: "Sun",
|
||
|
radius: 0,
|
||
|
spherical: false,
|
||
|
isComet: true,
|
||
|
orbit: {
|
||
|
period: 3.5,
|
||
|
semiMajorAxis: 3000.,
|
||
|
eccentricity: 0.5,
|
||
|
inclination: 10.,
|
||
|
},
|
||
|
}),
|
||
|
Ship: new CelestialBody({
|
||
|
name: "Ship",
|
||
|
parent: "Earth",
|
||
|
radius: 0.2,
|
||
|
spherical: false,
|
||
|
obj: {
|
||
|
path: "res/space/",
|
||
|
objPath: "tiangong.obj",
|
||
|
mtlPath: "tiangong.mtl",
|
||
|
angle: -30,
|
||
|
scale: 0.008,
|
||
|
},
|
||
|
orbit: {
|
||
|
period: 1.0,
|
||
|
semiMajorAxis: 15.,
|
||
|
inclination: 30,
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 100.0,
|
||
|
inclination: 0,
|
||
|
},
|
||
|
}),
|
||
|
Astronaut: new CelestialBody({
|
||
|
name: "Astronaut",
|
||
|
parent: "Earth",
|
||
|
radius: 0.05,
|
||
|
spherical: false,
|
||
|
obj: {
|
||
|
path: "res/space/",
|
||
|
objPath: "man.obj",
|
||
|
mtlPath: null,
|
||
|
scale: 0.008,
|
||
|
angle: 235,
|
||
|
x: 0.04,
|
||
|
y: 0.02,
|
||
|
z: 0.01,
|
||
|
},
|
||
|
orbit: {
|
||
|
period: 1.0,
|
||
|
semiMajorAxis: 15.,
|
||
|
inclination: 30,
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 100.0,
|
||
|
inclination: 0,
|
||
|
},
|
||
|
}),
|
||
|
Moon: new CelestialBody({
|
||
|
name: "Moon",
|
||
|
radius: 2.7243,
|
||
|
parent: "Earth",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 2.0749,
|
||
|
semiMajorAxis: 25.,
|
||
|
eccentricity: 0.0549,
|
||
|
inclination: 5.15
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 655.2,
|
||
|
inclination: 23.4608,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/moon/diffuse.jpg"},
|
||
|
bump: {map: "res/moon/bump.jpg", height: 0.1}
|
||
|
}
|
||
|
}),
|
||
|
Mars: new CelestialBody({
|
||
|
name: "Mars",
|
||
|
radius: 5.3226,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 9.4095,
|
||
|
semiMajorAxis: 1523.7,
|
||
|
eccentricity: 0.0934,
|
||
|
inclination: 1.8506
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 24.622962156,
|
||
|
inclination: 37.11350,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/mars/diffuse.jpg"},
|
||
|
bump: {map: "res/mars/bump.jpg", height: 1.}
|
||
|
},
|
||
|
atmosphere: {
|
||
|
scattering: true,
|
||
|
atmosphereColor: new THREE.Vector3(0.9, 0.8, 0.6),
|
||
|
sunsetColor: new THREE.Vector3(0.4, 0.5, 0.7),
|
||
|
atmosphereStrength: 1.0,
|
||
|
sunsetStrength: 0.9
|
||
|
}
|
||
|
}),
|
||
|
Phobos: new CelestialBody({
|
||
|
name: "Phobos",
|
||
|
radius: 1,
|
||
|
parent: "Mars",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 1.5945,
|
||
|
semiMajorAxis: 20,
|
||
|
eccentricity: 0.0151,
|
||
|
inclination: 1.082
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 100.,
|
||
|
inclination: 37.10,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/phobos/diffuse.jpg"},
|
||
|
bump: {map: "res/phobos/bump.jpg", height: 10.}
|
||
|
}
|
||
|
}),
|
||
|
Deimos: new CelestialBody({
|
||
|
name: "Deimos",
|
||
|
radius: 0.5,
|
||
|
parent: "Mars",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 6.3122,
|
||
|
semiMajorAxis: 30,
|
||
|
eccentricity: 0.00033,
|
||
|
inclination: 1.791
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 150.,
|
||
|
inclination: 36.48,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/deimos/diffuse.jpg"},
|
||
|
bump: {map: "res/deimos/bump.jpg", height: 10.}
|
||
|
}
|
||
|
}),
|
||
|
Jupiter: new CelestialBody({
|
||
|
name: "Jupiter",
|
||
|
radius: 112.09,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0x9999ff,
|
||
|
orbit: {
|
||
|
period: 59.3,
|
||
|
semiMajorAxis: 2000.,
|
||
|
eccentricity: 0.0484,
|
||
|
inclination: 1.3053
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 238.23,
|
||
|
inclination: 2.22,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/jupiter/diffuse.jpg"},
|
||
|
},
|
||
|
atmosphere: {
|
||
|
cloud: {
|
||
|
map: "res/jupiter/clouds.png",
|
||
|
height: 0.3,
|
||
|
speed: 0.02
|
||
|
},
|
||
|
scattering: true,
|
||
|
atmosphereColor: new THREE.Vector3(1.0, 0.8, 0.7),
|
||
|
sunsetColor: new THREE.Vector3(0.7, 0.7, 0.8),
|
||
|
atmosphereStrength: 1.8,
|
||
|
sunsetStrength: 0.6
|
||
|
},
|
||
|
}),
|
||
|
Callisto: new CelestialBody({
|
||
|
name: "Callisto",
|
||
|
radius: 4.0,
|
||
|
parent: "Jupiter",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 2.49,
|
||
|
semiMajorAxis: 200.,
|
||
|
eccentricity: 0.0045045,
|
||
|
inclination: 0.384285,
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 100.,
|
||
|
inclination: 25.51,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/callisto/diffuse.jpg"},
|
||
|
}
|
||
|
}),
|
||
|
Europa: new CelestialBody({
|
||
|
name: "Europa",
|
||
|
radius: 3.0,
|
||
|
parent: "Jupiter",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 17.76,
|
||
|
semiMajorAxis: 160.,
|
||
|
eccentricity: 0.0101,
|
||
|
inclination: 0.470,
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 150.,
|
||
|
inclination: 25.49,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/europa/diffuse.jpg"},
|
||
|
}
|
||
|
}),
|
||
|
Io: new CelestialBody({
|
||
|
name: "Io",
|
||
|
radius: 3.0,
|
||
|
parent: "Jupiter",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 8.85,
|
||
|
semiMajorAxis: 100.,
|
||
|
eccentricity: 0.0041,
|
||
|
inclination: 0.040,
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 100.,
|
||
|
inclination: 25.50,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/io/diffuse.png"},
|
||
|
}
|
||
|
}),
|
||
|
Saturn: new CelestialBody({
|
||
|
name: "Saturn",
|
||
|
radius: 94.49,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0x9999ff,
|
||
|
orbit: {
|
||
|
period: 40.0,
|
||
|
semiMajorAxis: 2500.,
|
||
|
eccentricity: 0.0542,
|
||
|
inclination: 2.4845
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 255.75,
|
||
|
inclination: 28.052,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/saturn/diffuse.png"},
|
||
|
bump: {map: "res/saturn/bump.png"},
|
||
|
},
|
||
|
atmosphere: {
|
||
|
cloud: {
|
||
|
map: "res/saturn/clouds.png",
|
||
|
height: 0.5,
|
||
|
speed: 0.05
|
||
|
},
|
||
|
scattering: true,
|
||
|
atmosphereColor: new THREE.Vector3(0.8, 0.7, 0.5),
|
||
|
sunsetColor: new THREE.Vector3(0.7, 0.7, 0.8),
|
||
|
atmosphereStrength: 1.5,
|
||
|
sunsetStrength: 0.8
|
||
|
},
|
||
|
ring: {
|
||
|
map: "res/saturn/ring.png",
|
||
|
lower: 5,
|
||
|
higher: 80,
|
||
|
}
|
||
|
}),
|
||
|
Dione: new CelestialBody({
|
||
|
name: "Dione",
|
||
|
radius: 5.0,
|
||
|
parent: "Saturn",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 3.0,
|
||
|
semiMajorAxis: 200.,
|
||
|
eccentricity: 0.05,
|
||
|
inclination: 0.0049,
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 130.,
|
||
|
inclination: 22.9,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/dione/diffuse.jpg"},
|
||
|
}
|
||
|
}),
|
||
|
Titan: new CelestialBody({
|
||
|
name: "Titan",
|
||
|
radius: 6.0,
|
||
|
parent: "Saturn",
|
||
|
shineColor: 0xff9988,
|
||
|
orbit: {
|
||
|
period: 4.0,
|
||
|
semiMajorAxis: 150.,
|
||
|
eccentricity: 0.05,
|
||
|
inclination: 0.0049,
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 120.,
|
||
|
inclination: 1.53,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/titan/diffuse.jpg"},
|
||
|
}
|
||
|
}),
|
||
|
Uranus: new CelestialBody({
|
||
|
name: "Uranus",
|
||
|
radius: 40.07,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0x9999ff,
|
||
|
orbit: {
|
||
|
period: 420.069,
|
||
|
semiMajorAxis: 3000.,
|
||
|
eccentricity: 0.0472,
|
||
|
inclination: 0.7699
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 413.76,
|
||
|
inclination: 97.722,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/uranus/diffuse.jpg"},
|
||
|
},
|
||
|
ring: {
|
||
|
map: "res/uranus/ring.png",
|
||
|
lower: 10,
|
||
|
higher: 20,
|
||
|
},
|
||
|
atmosphere: {
|
||
|
scattering: true,
|
||
|
atmosphereColor: new THREE.Vector3(0.5, 0.9, 0.7),
|
||
|
sunsetColor: new THREE.Vector3(0.7, 0.9, 0.8),
|
||
|
atmosphereStrength: 0.2,
|
||
|
sunsetStrength: 0.7
|
||
|
},
|
||
|
}),
|
||
|
Neptune: new CelestialBody({
|
||
|
name: "Neptune",
|
||
|
radius: 38.83,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0x9999ff,
|
||
|
orbit: {
|
||
|
period: 823.965,
|
||
|
semiMajorAxis: 3500.,
|
||
|
eccentricity: 0.0097,
|
||
|
inclination: 1.7692
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 386.64,
|
||
|
inclination: 28.03,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/neptune/diffuse.jpg"},
|
||
|
},
|
||
|
ring: {
|
||
|
map: "res/neptune/ring.png",
|
||
|
lower: 10,
|
||
|
higher: 20,
|
||
|
}
|
||
|
}),
|
||
|
Pluto: new CelestialBody({
|
||
|
name: "Pluto",
|
||
|
radius: 15.,
|
||
|
parent: "Sun",
|
||
|
shineColor: 0x9999ff,
|
||
|
orbit: {
|
||
|
period: 32.0,
|
||
|
semiMajorAxis: 4000.,
|
||
|
eccentricity: 0.2482,
|
||
|
inclination: 17.1449
|
||
|
},
|
||
|
rotation: {
|
||
|
period: 153.292944,
|
||
|
inclination: 115.60,
|
||
|
meridianAngle: 0.,
|
||
|
offset: 0.
|
||
|
},
|
||
|
material: {
|
||
|
type: "lambert",
|
||
|
diffuse: {map: "res/pluto/diffuse.jpg"},
|
||
|
},
|
||
|
}),
|
||
|
}
|