Add scene for Voyager 1 and Voyager 2 missions

This commit is contained in:
Alexander Bock
2017-11-25 16:09:59 -05:00
parent 07a8cb8bac
commit f0d5b313b0
6 changed files with 487 additions and 0 deletions
@@ -0,0 +1,6 @@
return {
FileRequest = {
{ Identifier = "voyager1_model", Destination = ".", Version = 1 },
{ Identifier = "voyager1_spice", Destination = "${SPICE}/voyager", Version = 1 }
}
}
@@ -0,0 +1,163 @@
local Kernels = {
'${SPICE}/voyager/vg1_v02.tf',
'${SPICE}/voyager/vg100019.tsc',
'${SPICE}/voyager/Voyager_1.a54206u_V0.2_merged.bsp',
'${SPICE}/voyager/voyager_1.ST+1991_a54418u.merged.bsp',
'${SPICE}/voyager/vgr1_jup230.bsp',
'${SPICE}/voyager/vgr1_sat337.bsp',
'${SPICE}/voyager/vgr1_super.bc',
'${SPICE}/voyager/vgr1_super_v2.bc'
}
local RotationMatrix = {
-1, 0, 0,
0, 0, -1,
0, -1, 0
}
return {
{
Name = "Voyager 1",
Parent = "SolarSystemBarycenter",
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 1",
Observer = "SUN",
Kernels = Kernels
},
Rotation = {
Type = "SpiceRotation",
SourceFrame = "VG1_SC_BUS",
DestinationFrame = "GALACTIC"
}
},
GuiPath = "/Solar System/Missions/Voyager 1"
},
{
Name = "Voyager 1 Main",
Parent = "Voyager 1",
Renderable = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "voyager-main.obj"
},
ColorTexture = "voyager-main.jpg",
ModelTransform = RotationMatrix
},
GuiPath = "/Solar System/Missions/Voyager 1"
},
{
Name = "Voyager 1 Antanna",
Parent = "Voyager 1",
Renderable = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "voyager-antenna.obj"
},
ColorTexture = "voyager-antenna.png",
ModelTransform = RotationMatrix
},
GuiPath = "/Solar System/Missions/Voyager 1"
},
-- The trails are organized as follows. The cruise phases can be resolved in relatively
-- low resolution since they are just straight lines
-- The encounter phases should be much higher resolution or otherwise artifacts would appear
{
Name = "Voyager 1 Trail Cruise Earth-Jupiter",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 1",
Observer = "SUN",
Kernels = Kernels
},
Color = { 0.70,0.50,0.20 },
StartTime = "1977 SEP 05",
EndTime = "1979 MAR 04",
SampleInterval = 545 * 2 -- 545 is the number of days between the Start and End time
},
GuiName = "/Solar System/Missions/Voyager 1"
},
{
Name = "Voyager 1 Trail Encounter Jupiter",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 1",
Observer = "SUN",
Kernels = Kernels
},
Color = { 0.70,0.50,0.20 },
EnableFade = false,
StartTime = "1979 MAR 03 23:24:00", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
EndTime = "1979 MAR 09",
SampleInterval = 100
},
GuiName = "/Solar System/Missions/Voyager 1"
},
{
Name = "Voyager 1 Trail Cruise Jupiter-Saturn",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 1",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1979 MAR 09",
EndTime = "1980 NOV 11",
SampleInterval = 618 * 2 -- 618 is the number of days between the Start and End time
},
GuiName = "/Solar System/Missions/Voyager 1"
},
{
Name = "Voyager 1 Trail Encounter Saturn",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 1",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1980 NOV 10 23:08:30", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
EndTime = "1980 NOV 16",
SampleInterval = 100
},
GuiName = "/Solar System/Missions/Voyager 1"
},
{
Name = "Voyager 1 Trail Cruise Saturn-Inf",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 1",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1980 NOV 16",
EndTime = "2021 JAN 01",
SampleInterval = 14656 * 2 -- 14656 is the number of days between the Start and End time
},
GuiName = "/Solar System/Missions/Voyager 1"
}
}
@@ -0,0 +1,6 @@
return {
FileRequest = {
{ Identifier = "voyager2_model", Destination = ".", Version = 1 },
{ Identifier = "voyager2_spice", Destination = "${SPICE}/voyager", Version = 1 }
}
}
@@ -0,0 +1,241 @@
local Kernels = {
'${SPICE}/voyager/vg2_v02.tf',
'${SPICE}/voyager/vg200022.tsc',
'${SPICE}/voyager/Voyager_2.m05016u.merged.bsp',
'${SPICE}/voyager/voyager_2.ST+1992_m05208u.merged.bsp',
'${SPICE}/voyager/vgr2_jup230.bsp',
'${SPICE}/voyager/vgr2_sat337.bsp',
'${SPICE}/voyager/vgr2_ura083.bsp',
'${SPICE}/voyager/vgr2_nep081.bsp',
'${SPICE}/voyager/vgr2_super.bc',
'${SPICE}/voyager/vgr2_super_v2.bc'
}
local RotationMatrix = {
-1, 0, 0,
0, 0, -1,
0, -1, 0
}
return {
{
Name = "Voyager 2",
Parent = "SolarSystemBarycenter",
Transform = {
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
Rotation = {
Type = "SpiceRotation",
SourceFrame = "VG2_SC_BUS",
DestinationFrame = "GALACTIC"
}
},
GuiPath = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Main",
Parent = "Voyager 2",
Renderable = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "voyager-main.obj"
},
ColorTexture = "voyager-main.jpg",
ModelTransform = RotationMatrix
},
GuiPath = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Antanna",
Parent = "Voyager 2",
Renderable = {
Type = "RenderableModel",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "voyager-antenna.obj"
},
ColorTexture = "voyager-antenna.png",
ModelTransform = RotationMatrix
},
GuiPath = "/Solar System/Missions/Voyager 2"
},
-- The trails are organized as follows. The cruise phases can be resolved in relatively
-- low resolution since they are just straight lines
-- The encounter phases should be much higher resolution or otherwise artifacts would appear
{
Name = "Voyager 2 Trail Cruise Earth-Jupiter",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
Color = { 0.70,0.50,0.20 },
StartTime = "1977 SEP 05",
EndTime = "1979 JUL 06",
SampleInterval = 669 * 2 -- 669 is the number of days between the Start and End time
},
GuiName = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Trail Encounter Jupiter",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
Color = { 0.70,0.50,0.20 },
EnableFade = false,
StartTime = "1979 JUL 05 23:24:00", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
EndTime = "1979 JUL 15",
SampleInterval = 100
},
GuiName = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Trail Cruise Jupiter-Saturn",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1979 JUL 15",
EndTime = "1981 AUG 23",
SampleInterval = 770 * 2 -- 770 is the number of days between the Start and End time
},
GuiName = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Trail Encounter Saturn",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1981 AUG 22 23:08:30", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
EndTime = "1981 AUG 30",
SampleInterval = 100
},
GuiName = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Trail Cruise Saturn-Uranus",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1981 AUG 30",
EndTime = "1986 JAN 22",
SampleInterval = 1971 * 2 -- 1971 is the number of days between the Start and End time
},
GuiName = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Trail Encounter Uranus",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1986 JAN 21 23:30:00", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
EndTime = "1986 JAN 27",
SampleInterval = 100
},
GuiName = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Trail Cruise Uranus-Neptune",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1986 JAN 27",
EndTime = "1989 AUG 24",
SampleInterval = 1305 * 2 -- 1305 is the number of days between the Start and End time
},
GuiName = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Trail Encounter Neptune",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1989 AUG 23 23:30:00", -- @TODO: Probably an off-by-one bug in RenderableTrailTrajectory?
EndTime = "1989 AUG 26",
SampleInterval = 100
},
GuiName = "/Solar System/Missions/Voyager 2"
},
{
Name = "Voyager 2 Trail Cruise Neptune-Inf",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrailTrajectory",
Translation = {
Type = "SpiceTranslation",
Target = "VOYAGER 2",
Observer = "SUN",
Kernels = Kernels
},
EnableFade = false,
Color = { 0.70,0.50,0.20 },
StartTime = "1989 AUG 26",
EndTime = "2021 JAN 01",
SampleInterval = 11451 * 2 -- 11451 is the number of days between the Start and End time
},
GuiName = "/Solar System/Missions/Voyager 2"
},
}
+67
View File
@@ -0,0 +1,67 @@
dofile(openspace.absPath('${SCRIPTS}/scene_helper.lua'))
function preInitialization()
--[[
The scripts in this function are executed after the scene is loaded but before the
scene elements have been initialized, thus they should be used to set the time at
which the scene should start and other settings that might determine initialization
critical objects.
]]--
openspace.spice.loadKernel("${SPICE}/naif0012.tls")
openspace.spice.loadKernel("${SPICE}/pck00010.tpc")
-- openspace.time.setTime(openspace.time.currentWallTime())
openspace.time.setTime("1977 SEP 10 12:00:00")
dofile(openspace.absPath('${SCRIPTS}/bind_common_keys.lua'))
end
function postInitialization()
openspace.printInfo("Setting default values")
openspace.setPropertyValueSingle("Global Properties.GlobeBrowsing.GdalWrapper.LogGdalErrors", false)
openspace.setPropertyValueSingle("Earth.RenderableGlobe.Debug.LevelByProjectedAreaElseDistance", false)
openspace.globebrowsing.goToGeo(58.5877, 16.1924, 20000000)
openspace.printInfo("Done setting default values")
-- Defined in scene_helper.lua
-- Used to create focus buttons for a subset of scenegraph nodes
mark_interesting_nodes({
"Earth", "Voyager 1", "Voyager 2", "Jupiter", "Saturn", "Uranus", "Neptune"
})
end
return {
ScenePath = ".",
CommonFolder = "common",
Camera = {
Focus = "Earth",
Position = {0, 0, 0},
Rotation = {0.758797, 0.221490, -0.605693, -0.091135},
},
Modules = {
-- # Solar system objects
"sun",
"mercury",
"venus",
"earth",
"moon",
"mars",
"jupiter",
"saturn",
"uranus",
"neptune",
-- "satellites",
-- "grids",
-- "digitaluniverse",
"stars/digitaluniverse",
"milkyway/digitaluniverse",
"missions/voyager"
}
}