To be honest, with where KSP2 is in development at the current moment, it isn't a competition between JNO and KSP2, it's between JNO and modded KSP1. KSP1, once modded, can do a lot more than either. But there is something to be said about the features/stability of JNO in comparison to the original KSP. KSP has experiments that your kerbals can run. Plus, if you use the ScanSat mod, you can have satellites make detailed maps of planets - tracing a path across the surface based on their orbit. Those two combined give a lot of fun things to do in KSP. The objectives in JNO are, in my opinion, not quite as good. Mostly just a 'do X, Y times', which gets quite boring. But JNO also has Vizzy, which is fully integrated into the game (unlike KSP's mod-exclusive 'kOS'). That adds an entire new layer to the game for me, which is one of the main reasons it's my aerospace game of choice for the moment.
@CloakPin I don't mean to be rude, but that's not even in the ballpark of what I am asking. I know how to create and adjust maneuver nodes in the game. What I am trying to do is codify an exact procedure (namely the 'hohmann transfer'), not simply trying to reach an orbit.
That said, I ended up solving the problem myself. (I added an explanation in the original post)
@SamTheFox I'm not quite sure what you are asking for. If the moon's radius is 2.38 meters... then unless it's density is up there with neutron stars, it's gravity will be negligible. That said... if you want to have low-mass objects with unrealistic gravity, you could always change the gravitational constant (i.e. G =/= 6.6743x10^-11 m^3kg^-1s^-2).
But if you meant you just want to calculate the mass for a realistic planetoid, without having it's density - your best bet is to just use a 'reasonable guess' based on real-life examples. Mars is about 4 grams per cubic meter, and earth/venus are around 5 grams per cubic meter. So, as an average, let's use 4.5 g/m^3. Multiply that by your volume, and you have the total mass.
EDIT: Wait... I think I just figured out what you were trying to do. I think you're saying that you have a known radius, and a known surface gravity, but unknown mass; correct?
In that case, you don't want sqrt(GM/r), you want F = G(Mm/r^2). Rearrange that to be an acceleration of your observation object: acceleration = GM/r^2
Now, rearrange that to solve for mass: M = acceleration * r^2 / G. Note that "r" here is the radius at which you are observing the gravity, which might not be the surface of the planet. Now that you have a mass for the planet, you can calculate its density by dividing that value by the radius of the planet.
(Note, from the point of view of the gravity formula, all planets are point-masses, i.e. all the mass is located at a infinitely small point in their center. This is sufficient for most use-cases, but it's worth noting that there are some subtle differences if your observing from below the surface of the planet [or even within a planets' atmosphere, if it's a particularly massive/thick one])
@Sairaf I agree. It's not an uncommon situation for someone to be in a situation where they can/want to make and share mods, but don't feel like sharing other content. While the reputation of a user should influence how much faith someone has in installing/running a mod, it's also not like someone with a couple of upvotes to their name is trustworthy either.
@t4zcomz I agree. Sure, some of the missions are quite difficult - but they aren't impossible. I think it's also a matter of pacing yourself. You don't need the DSC right away. You can launch quite large rockets (quite cheaply) from the water launch site, so long as you ignite right away. The DSC is a late-game location, alongside the Luna base. It's nice and equatorial, but it's not necessary to enjoy the game if you are finding the challenge of landing on the drone ship too difficult. Also, there is no shame in downloading a craft if you just want to unlock the site. This is a single player game. There's no such thing as cheating.
That's because the trig functions (sin cos tan, etc.) all expect inputs in the form of radians. You should use the 'deg2rad' operator (found as a dropdown choice in the '[abs] of' operator). That will multiply the value you give by pi/180, which is how you convert from degrees (360 degrees in a circle), to the standard way angles are handled in math, which is radians (2pi radians in a circle).
As a partial answer to my own question; I found a very unsafe/risky workaround. I can use the broadcast system to trigger a new thread, passing it the vector I want to lock. On that new thread, I have it loop and repeatedly set the heading to the vector, waiting for 1 second between iterations. Each iteration, I have it check a 'unlockHeading' global variable. Elsewhere, once I no longer want to lock that heading, I set the 'unlockHeading' variable to true. Between 0 and 1 seconds later, the heading will be unlocked. This isn't threadsafe though, and is a really suboptimal solution.
Edit: @SamTheFox, could you elaborate? I'm not sure how I can use the circumference to fix this.
To be honest, with where KSP2 is in development at the current moment, it isn't a competition between JNO and KSP2, it's between JNO and modded KSP1. KSP1, once modded, can do a lot more than either. But there is something to be said about the features/stability of JNO in comparison to the original KSP. KSP has experiments that your kerbals can run. Plus, if you use the ScanSat mod, you can have satellites make detailed maps of planets - tracing a path across the surface based on their orbit. Those two combined give a lot of fun things to do in KSP. The objectives in JNO are, in my opinion, not quite as good. Mostly just a 'do X, Y times', which gets quite boring. But JNO also has Vizzy, which is fully integrated into the game (unlike KSP's mod-exclusive 'kOS'). That adds an entire new layer to the game for me, which is one of the main reasons it's my aerospace game of choice for the moment.
+2 1.6 years ago@CloakPin I don't mean to be rude, but that's not even in the ballpark of what I am asking. I know how to create and adjust maneuver nodes in the game. What I am trying to do is codify an exact procedure (namely the 'hohmann transfer'), not simply trying to reach an orbit.
1.6 years agoThat said, I ended up solving the problem myself. (I added an explanation in the original post)
@SamTheFox I'm not quite sure what you are asking for. If the moon's radius is 2.38 meters... then unless it's density is up there with neutron stars, it's gravity will be negligible. That said... if you want to have low-mass objects with unrealistic gravity, you could always change the gravitational constant (i.e. G =/= 6.6743x10^-11 m^3kg^-1s^-2).
But if you meant you just want to calculate the mass for a realistic planetoid, without having it's density - your best bet is to just use a 'reasonable guess' based on real-life examples. Mars is about 4 grams per cubic meter, and earth/venus are around 5 grams per cubic meter. So, as an average, let's use 4.5 g/m^3. Multiply that by your volume, and you have the total mass.
EDIT: Wait... I think I just figured out what you were trying to do. I think you're saying that you have a known radius, and a known surface gravity, but unknown mass; correct?
In that case, you don't want sqrt(GM/r), you want F = G(Mm/r^2). Rearrange that to be an acceleration of your observation object: acceleration = GM/r^2
Now, rearrange that to solve for mass: M = acceleration * r^2 / G. Note that "r" here is the radius at which you are observing the gravity, which might not be the surface of the planet. Now that you have a mass for the planet, you can calculate its density by dividing that value by the radius of the planet.
(Note, from the point of view of the gravity formula, all planets are point-masses, i.e. all the mass is located at a infinitely small point in their center. This is sufficient for most use-cases, but it's worth noting that there are some subtle differences if your observing from below the surface of the planet [or even within a planets' atmosphere, if it's a particularly massive/thick one])
1.6 years ago@Sairaf I agree. It's not an uncommon situation for someone to be in a situation where they can/want to make and share mods, but don't feel like sharing other content. While the reputation of a user should influence how much faith someone has in installing/running a mod, it's also not like someone with a couple of upvotes to their name is trustworthy either.
1.6 years ago@t4zcomz I agree. Sure, some of the missions are quite difficult - but they aren't impossible. I think it's also a matter of pacing yourself. You don't need the DSC right away. You can launch quite large rockets (quite cheaply) from the water launch site, so long as you ignite right away. The DSC is a late-game location, alongside the Luna base. It's nice and equatorial, but it's not necessary to enjoy the game if you are finding the challenge of landing on the drone ship too difficult. Also, there is no shame in downloading a craft if you just want to unlock the site. This is a single player game. There's no such thing as cheating.
1.6 years agoAs someone who spends way too much time panning around code in Vizzy, I can't understate how much I want to see this mod come to fruition.
1.6 years agoThat's because the trig functions (sin cos tan, etc.) all expect inputs in the form of radians. You should use the 'deg2rad' operator (found as a dropdown choice in the '[abs] of' operator). That will multiply the value you give by pi/180, which is how you convert from degrees (360 degrees in a circle), to the standard way angles are handled in math, which is radians (2pi radians in a circle).
1.6 years agoAs a partial answer to my own question; I found a very unsafe/risky workaround. I can use the broadcast system to trigger a new thread, passing it the vector I want to lock. On that new thread, I have it loop and repeatedly set the heading to the vector, waiting for 1 second between iterations. Each iteration, I have it check a 'unlockHeading' global variable. Elsewhere, once I no longer want to lock that heading, I set the 'unlockHeading' variable to true. Between 0 and 1 seconds later, the heading will be unlocked. This isn't threadsafe though, and is a really suboptimal solution.
Edit: @SamTheFox, could you elaborate? I'm not sure how I can use the circumference to fix this.
1.7 years ago