Unless my memory fails, this is my first post to these forums.
I have been browsing the forums looking for help on how to code a binary planet. Yes, I know it is not actual coding, but that is how I look at it. I am not referring to the double planets or circumbinary planets I have seen posted here. I am referring to "true binary planets."
The best idea I can give on this phenomenon is to read the Rocheworld Series written by Dr. Robert L. Forward, particulary the first two books Flight of the Dragonfly (later republished as Rocheworld) and Return to Rocheworld.
A true binary planet is basically a double planet that formed as a single world but in two parts. What I want to know is how can I code this into Celestia? A true binary planet has a combined "spin" and "rotation" as I refer to them. The "spin" is actually what would the planet's rotation axis if the two parts had formed as a single planet. The "rotation" is actually the barycenter about which each rotates. The two attached images help to demonstrate this.
The code inserted below is my attempt at producing this effect I saw in another "extra". Only problem is that this attempt is completely ignored by Celestia. The only difference is that I changed names to fit my Sareylan system. The "extra" is the Vulcan add-on for the star 40 Eri A made by Jestr in Star Trek section of the Celestia Motherlode. Jestr's Vulcan add-on works, but my attempt to copy it does not. Additionally, Jestr's email listed at the Motherlode no longer seems valid.
I know there are quite a few commented out lines in the code below. The reason is that some may be used at a later time as I continue working on refining the Sareylan system. The lines that will not be used will be deleted, but I am leaving them in until that time.
Any help is greatly appreciated.
Code: Select all
ReferencePoint "Tyinbra-Makadran" "Sareylan" {
CustomOrbit "Tyinbra-Makadran"
EllipticalOrbit {
Period 0.702027245
SemiMajorAxis 0.821498
MeanLongitude 0
}
Visible True
Clickable True
}
"Tyinbra" "Sareylan"
{
Class "planet" #terran (greenhouse inferno)
# Mesh "filename"
Texture "venuslike.*"
NightTexture "venuslikenight.*"
# BumpMap "filename"
# BumpHeight 2.5
Color [ 0.7 0.7 0.5 ]
# SpecularTexture "filename"
# SpecularColor [ r g b ]
# SpecularPower 25.0
# HazeColor [ r g b ]
# HazeDensity 0.8
Radius 3076.901
Oblateness 0.0017
# Beginning 2446482.0
# Ending 2451989.77083
InfoURL "URL|URI"
Atmosphere {
Height 80
Lower [ 0.5 0.5 0.3 ]
Upper [ 0.7 0.7 0.5 ]
Sky [ 0.9 0.9 0.7 ]
# Sunset [ r g b ]
CloudHeight 40
CloudSpeed 80
# CloudMap "filename"
# CloudShadowDepth 1.0
}
OrbitFrame { EquatorJ2000 { Center "Sareylan/Tyinbra-Makadran" } }
BodyFrame { EclipticJ2000 { Center "Sareylan/Tyinbra-Makadran" } }
EllipticalOrbit {
Period 0.002027245
SemiMajorAxis 5000.821498
Eccentricity 0.00268
Inclination 0.00
MeanLongitude 0
# AscendingNode 123.45
# LongOfPericenter 123.45
# MeanAnomaly 123.45
# Epoch 2345678.12345
}
RotationPeriod 30.915
#
# UniformRotation {
# Period 23.93447117
# Inclination -23.4392911
# MeridianAngle 280.147
# }
#
Obliquity 56.96
# LongOfRotationAxis 123.45
# RotationOffset 123.45
# PrecessionRate 123.45
# Orientation [ 180 1 0 0 ]
# EquatorAscendingNode 123.45
Albedo 0.7312
}
##################################################
"Makadran" "Sareylan"
{
Class "planet" #terran (greenhouse inferno)
# Mesh "filename"
Texture "venuslike.*"
NightTexture "venuslikenight.*"
# BumpMap "filename"
# BumpHeight 2.5
Color [ 0.7 0.7 0.5 ]
# SpecularTexture "filename"
# SpecularColor [ r g b ]
# SpecularPower 25.0
# HazeColor [ r g b ]
# HazeDensity 0.8
Radius 3076.901
Oblateness 0.0017
# Beginning 2446482.0
# Ending 2451989.77083
# InfoURL "URL|URI"
Atmosphere {
Height 80
Lower [ 0.5 0.5 0.3 ]
Upper [ 0.7 0.7 0.5 ]
Sky [ 0.9 0.9 0.7 ]
# Sunset [ r g b ]
CloudHeight 40
CloudSpeed 80
# CloudMap "filename"
# CloudShadowDepth 1.0
}
OrbitFrame { EquatorJ2000 { Center "Sareylan/Tyinbra-Makadran" } }
BodyFrame { EclipticJ2000 { Center "Sareylan/Tyinbra-Makadran" } }
EllipticalOrbit {
Period 0.002027245
SemiMajorAxis 5000.821498
Eccentricity 0.00268
Inclination 0.00
MeanLongitude 0
# AscendingNode 123.45
# LongOfPericenter 123.45
# MeanAnomaly 123.45
# Epoch 2345678.12345
}
RotationPeriod 30.915
#
# UniformRotation {
# Period 23.93447117
# Inclination -23.4392911
# MeridianAngle 280.147
# }
#
Obliquity 56.96
# LongOfRotationAxis 123.45
# RotationOffset 123.45
# PrecessionRate 123.45
# Orientation [ 180 1 0 0 ]
# EquatorAscendingNode 123.45
Albedo 0.7312
}
Another idea I had was to create a single object in two parts, convert it to a CMOD file. The only problem I can think of is how to give the object a double-axis rotation?
rmfr
Attached images giving better idea of the double axis spins.