From 863f658f3eae8ae20fe7e62313ec71546f88679a Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Fri, 11 Jul 2025 11:16:20 +0200 Subject: [PATCH] Add 3I/ATLAS trail. Change GUI naming and coloring for 1I/'Oumuamua and 2I/Borisov. Add labels for 1I and 2I --- .../solarsystem/interstellar/3i_atlas.asset | 104 ++++++++++++++++++ .../interstellar/c-2019_q4_borisov.asset | 38 ++++++- .../solarsystem/interstellar/oumuamua.asset | 38 ++++++- 3 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 data/assets/scene/solarsystem/interstellar/3i_atlas.asset diff --git a/data/assets/scene/solarsystem/interstellar/3i_atlas.asset b/data/assets/scene/solarsystem/interstellar/3i_atlas.asset new file mode 100644 index 0000000000..8097ed4a2c --- /dev/null +++ b/data/assets/scene/solarsystem/interstellar/3i_atlas.asset @@ -0,0 +1,104 @@ +local sunTransforms = asset.require("scene/solarsystem/sun/transforms") + + + +local trajectory = asset.resource({ + Name = "3I/ATLAS Trajectory", + Type = "HttpSynchronization", + Identifier = "atlas_horizons", + Version = 1 +}) + + +local AtlasTrail = { + Identifier = "3I_AtlasTrail", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, + Renderable = { + Type = "RenderableTrailTrajectory", + Translation = { + Type = "HorizonsTranslation", + HorizonsTextFile = trajectory .. "i3_atlas.hrz" + }, + Color = { 0.85, 0.85, 0.0 }, + StartTime = "2020 JUL 01 00:00:00", + EndTime = "2030 JUL 01 00:00:00", + SampleInterval = openspace.time.secondsPerDay() / 2 + }, + GUI = { + Name = "3I/ATLAS Trail", + Path = "/Solar System/Interstellar/ATLAS", + Focusable = false, + Description = [[Trail of 3I/ATLAS from 2020 JUL 01 00:00:00 to 2030 JUL 01 00:00:00. + Data from JPL Horizons.]] + } +} + +local AtlasPosition = { + Identifier = "3I_AtlasPosition", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, + Transform = { + Translation = { + Type = "HorizonsTranslation", + HorizonsTextFile = trajectory .. "i3_atlas.hrz" + } + }, + GUI = { + Name = "3I/ATLAS", + Path = "/Solar System/Interstellar/ATLAS", + Description = [[Position of 3I/ATLAS from 2020 JUL 01 00:00:00 to 2030 JUL 01 + 00:00:00. Data from JPL Horizons.]] + } +} + +local AtlasLabel = { + Identifier = "3I_AtlasLabel", + Parent = AtlasPosition.Identifier, + Renderable = { + Type = "RenderableLabel", + Enabled = false, + Text = "3I/ATLAS", + FontSize = 70.0, + Size = 8.50, + MinMaxSize = { 1, 50 }, + OrientationOption = "Camera View Direction", + BlendMode = "Additive", + EnableFading = true, + FadeUnit = "au", + FadeDistances = { 1.5, 50.0 }, + FadeWidths = { 1.0, 40.0 } + }, + Tag = { "solarsystem_labels" }, + GUI = { + Name = "3I/ATLAS Label", + Path = "/Solar System/Interstellar/ATLAS", + Focusable = false + } +} + + +asset.onInitialize(function() + openspace.addSceneGraphNode(AtlasPosition) + openspace.addSceneGraphNode(AtlasTrail) + openspace.addSceneGraphNode(AtlasLabel) +end) + +asset.onDeinitialize(function() + openspace.removeSceneGraphNode(AtlasLabel) + openspace.removeSceneGraphNode(AtlasTrail) + openspace.removeSceneGraphNode(AtlasPosition) +end) + +asset.export(AtlasPosition) +asset.export(AtlasTrail) +asset.export(AtlasLabel) + + + +asset.meta = { + Name = "3I/ATLAS", + Description = [[This asset contains the trail and position of 3I/ATLAS from 2020 + JUL 01 00:00:00 to 2030 JUL 01 00:00:00. Data from JPL Horizons.]], + Author = "OpenSpace Team", + URL = "https://ssd.jpl.nasa.gov/horizons.cgi", + License = "NASA" +} diff --git a/data/assets/scene/solarsystem/interstellar/c-2019_q4_borisov.asset b/data/assets/scene/solarsystem/interstellar/c-2019_q4_borisov.asset index a3c50ba619..a0bbc6b5fe 100644 --- a/data/assets/scene/solarsystem/interstellar/c-2019_q4_borisov.asset +++ b/data/assets/scene/solarsystem/interstellar/c-2019_q4_borisov.asset @@ -24,14 +24,14 @@ local C2019Q4BorisovTrail = { -- End time: 2050-Jan-01 00:00:00 (last data point) -- Step size: 1 day }, - Color = { 0.9, 0.9, 0.0 }, + Color = { 0.15, 0.9, 0.15 }, StartTime = "2015 JAN 01 00:00:00", EndTime = "2050 JAN 01 00:00:00", SampleInterval = openspace.time.secondsPerDay() }, GUI = { - Name = "C/2019 Q4 Borisov Trail", - Path = "/Solar System/Interstellar", + Name = "2I/Borisov Trail", + Path = "/Solar System/Interstellar/Borisov", Focusable = false, Description = [[Trail of C-2019 Q4 Borisov from 2015 JAN 01 00:00:00 to 2050 JAN 01 00:00:00. Data from JPL Horizons]] @@ -48,26 +48,54 @@ local C2019Q4BorisovPosition = { } }, GUI = { - Name = "C/2019 Q4 Borisov", - Path = "/Solar System/Interstellar", + Name = "2I/Borisov", + Path = "/Solar System/Interstellar/Borisov", Description = [[Position of C-2019 Q4 Borisov from 2015 JAN 01 00:00:00 to 2050 JAN 01 00:00:00. Data from JPL Horizons]] } } +local C2019Q4BorisovLabel = { + Identifier = "C2019Q4BorisovLabel", + Parent = C2019Q4BorisovPosition.Identifier, + Renderable = { + Type = "RenderableLabel", + Enabled = false, + Text = "2I/Borisov", + FontSize = 70.0, + Size = 8.50, + MinMaxSize = { 1, 50 }, + OrientationOption = "Camera View Direction", + BlendMode = "Additive", + EnableFading = true, + FadeUnit = "au", + FadeDistances = { 1.5, 50.0 }, + FadeWidths = { 1.0, 40.0 } + }, + Tag = { "solarsystem_labels" }, + GUI = { + Name = "2I/Borisov Label", + Path = "/Solar System/Interstellar/Borisov", + Focusable = false + } +} + asset.onInitialize(function() openspace.addSceneGraphNode(C2019Q4BorisovPosition) openspace.addSceneGraphNode(C2019Q4BorisovTrail) + openspace.addSceneGraphNode(C2019Q4BorisovLabel) end) asset.onDeinitialize(function() + openspace.removeSceneGraphNode(C2019Q4BorisovLabel) openspace.removeSceneGraphNode(C2019Q4BorisovTrail) openspace.removeSceneGraphNode(C2019Q4BorisovPosition) end) asset.export(C2019Q4BorisovPosition) asset.export(C2019Q4BorisovTrail) +asset.export(C2019Q4BorisovLabel) diff --git a/data/assets/scene/solarsystem/interstellar/oumuamua.asset b/data/assets/scene/solarsystem/interstellar/oumuamua.asset index cef6c697d8..ff3690bc61 100644 --- a/data/assets/scene/solarsystem/interstellar/oumuamua.asset +++ b/data/assets/scene/solarsystem/interstellar/oumuamua.asset @@ -24,14 +24,14 @@ local OumuamuaTrail = { -- End time: 2050-Jan-01 00:00:00 (last data point) -- Step size: 1 day }, - Color = { 0.9, 0.9, 0.0 }, + Color = { 0.85, 0.1, 0.85 }, StartTime = "2014 JAN 01 00:00:00", EndTime = "2050 JAN 01 00:00:00", SampleInterval = openspace.time.secondsPerDay() }, GUI = { - Name = "'Oumuamua Trail", - Path = "/Solar System/Interstellar", + Name = "1I/'Oumuamua Trail", + Path = "/Solar System/Interstellar/'Oumuamua", Focusable = false, Description = [[Trail of 'Oumuamua from 2014 JAN 01 00:00:00 to 2050 JAN 01 00:00:00. Data from JPL Horizons]] @@ -48,26 +48,54 @@ local OumuamuaPosition = { } }, GUI = { - Name = "'Oumuamua", - Path = "/Solar System/Interstellar", + Name = "1I/'Oumuamua", + Path = "/Solar System/Interstellar/'Oumuamua", Description = [[Position of 'Oumuamua from 2014 JAN 01 00:00:00 to 2050 JAN 01 00:00:00. Data from JPL Horizons]] } } +local OumuamuaLabel = { + Identifier = "OumuamuaLabel", + Parent = OumuamuaPosition.Identifier, + Renderable = { + Type = "RenderableLabel", + Enabled = false, + Text = "1I/'Oumuamua", + FontSize = 70.0, + Size = 8.50, + MinMaxSize = { 1, 50 }, + OrientationOption = "Camera View Direction", + BlendMode = "Additive", + EnableFading = true, + FadeUnit = "au", + FadeDistances = { 1.5, 50.0 }, + FadeWidths = { 1.0, 40.0 } + }, + Tag = { "solarsystem_labels" }, + GUI = { + Name = "1I/'Oumuamua Label", + Path = "/Solar System/Interstellar/'Oumuamua", + Focusable = false + } +} + asset.onInitialize(function() openspace.addSceneGraphNode(OumuamuaPosition) openspace.addSceneGraphNode(OumuamuaTrail) + openspace.addSceneGraphNode(OumuamuaLabel) end) asset.onDeinitialize(function() + openspace.removeSceneGraphNode(OumuamuaLabel) openspace.removeSceneGraphNode(OumuamuaTrail) openspace.removeSceneGraphNode(OumuamuaPosition) end) asset.export(OumuamuaPosition) asset.export(OumuamuaTrail) +asset.export(OumuamuaLabel)