raptop changed the topic of #principia to: READ THE FAQ: http://goo.gl/gMZF9H; The current version is Fréchet. We currently target 1.5.1, 1.6.1, and 1.7.x. <scott_manley> anyone that doubts the wisdom of retrograde bop needs to get the hell out | https://xkcd.com/323/ | <egg> calculating the influence of lamont on Pluto is a bit silly… | <egg> also 4e16 m * 2^-52 is uncomfortably large
egg|cell|egg has joined #principia
Raidernick_ has joined #principia
Raidernick has quit [Ping timeout: 189 seconds]
egg|laptop|egg has quit [Remote host closed the connection]
egg|laptop|egg has joined #principia
Mike` has quit [Ping timeout: 189 seconds]
Mike` has joined #principia
egg|laptop|egg has quit [Remote host closed the connection]
<discord->
lamont. — @egg you know anything about the numerical stability of converting a vector into the frenet frame and then back again?
Jesin has quit [Ping timeout: 190 seconds]
<discord->
waptdragon3. — just out of curiosity, what would happen if 2 planets/moons collided in principia. would the attrative force grow towards infinity eventually causing a divide by zero error, or is there a minimum distance?
<discord->
Acer_Saccharum. — apocalypse happens
<discord->
Acer_Saccharum. — principia usually throws a big error message when a planet-planet interaction is happening too fast
<discord->
Acer_Saccharum. — apocalypse happens
<discord->
Acer_Saccharum. — principia throws a big error message when a planet-planet interaction is happening too fast (edited)
<UmbralRaptop>
an Apocalypse, which IIRC destroys the universe (crashes KSP)
<discord->
Butcher. — Cool. Sounds interesting.
<discord->
waptdragon3. — Nice. Been playing Universe Sandbox 2 and was reminded of principia abd got curious
<discord->
waptdragon3. — Btw how'd a bot answer?
<discord->
Acer_Saccharum. — it isn't really a bot
<discord->
Acer_Saccharum. — the bot is a bridge to the principia IRC channel
<discord->
waptdragon3. — It's a sentient AI? LOL
<discord->
waptdragon3. — Irc?
<discord->
Acer_Saccharum. — Internet Relay Chat
<discord->
Lu K.. — can u boomers plz let irc die
<discord->
Lu K.. — disc iz the futureee
<discord->
Acer_Saccharum. — it's where people talked about principia before the channel on this server
<discord->
waptdragon3. — Nice
<discord->
Acer_Saccharum. — if you wanted a copy of principia in the early days you had to ask for one there if I recall
<discord->
neph. — Look at these kids. Never used IRC. Incredible
* discord-
neph. — shakes my head_
<discord->
neph. — \/me shakes my head (edited)
<discord->
neph. — Wow, gotta dress it up nice for discord apparently
<discord->
Lu K.. — irc was just painful to look at
<discord->
Lu K.. — no emojis, i mean w t f
<discord->
Kirk. — Back in the early days of Principia for stock tylo would perturb laythe(?) out of its orbit and eventually collide, causing laythe to make a 90 degree turn and be accelerate to a reasonable fraction of the speed of light
<discord->
Kirk. — Back in the early days of Principia for stock tylo would perturb laythe(?) out of its orbit and eventually collide, causing laythe to make a 90 degree turn and be accelerated to a reasonable fraction of the speed of light (edited)
<discord->
neph. — For how long has Principia been in development?
<discord->
Kirk. — Which would crash the game
<discord->
Acer_Saccharum. — mid 2014 I believe
<discord->
neph. — What an incredible piece of software, never mind the fact it's a game modification
<discord->
Acer_Saccharum. — ~~mid 2014 I believe~~
<discord->
Acer_Saccharum. — the first "release" mentioned in the thread OP is from February 2014 (edited)
<discord->
Lu K.. — wow
<discord->
Lu K.. — do u need a physics phd to work on principia
<discord->
Butcher. — Depends what you want to do with it.
<discord->
Lu K.. — how about i just start with linear algebra & calculus of one variable next semester then apply to be a principia modder in maybe 6 yrs
<discord->
Butcher. — I'd say a maths degree would not be amiss.
<discord->
neph. — Don't neglect your numerical analysis courses
<discord->
Lu K.. — is that statistix?
<discord->
Butcher. — Most of it is a bit out of my comfort zone.
<discord->
neph. — You can look it up.
<discord->
Acer_Saccharum. — you aren't paying by the letter, it's 2020
<discord->
Lu K.. — my kb is broke, ed&c dont work
<discord->
neph. — Hate to do it to you, but you're missing an n there, Mortimer
<discord->
Lu K.. — rule #1 - never do wat the boomers says
<discord->
Acer_Saccharum. — if he/she's studying single variable calc now, he/she's likely not a millenial
<discord->
Sir Mortimer. — born between 1946 and 1964
<discord->
Sir Mortimer. — phew 😛
<discord->
neph. — Yeah, how old are you?
<discord->
Sir Mortimer. — younger 😛
<discord->
Lu K.. — i'm a late b**l**oomer
<discord->
Acer_Saccharum. — I am under the impression millennials ended in '96 or '97
<discord->
Sir Mortimer. — learn to spell first, millenialn. (edited)
<discord->
neph. — Yeah, how old are you, Lu? (edited)
<discord->
Sir Mortimer. — > Hate to do it to you, but you're missing an n there, Mortimer
<discord->
Sir Mortimer. — don't know what you're talkin gabout.
<discord->
Acer_Saccharum. — but we're way #offtopic
<discord->
Sir Mortimer. — @Acer_Saccharum that's the norm here 🙂
<discord->
Acer_Saccharum. — well we're all mad anyway
<discord->
neph. — Xennials 🦾 🦾
<discord->
Acer_Saccharum. — so I guess you're right 🙃 @Sir Mortimer
<discord->
Acer_Saccharum. — well we're all mad here anyway (edited)
<discord->
Butcher. — @Sir Mortimer I assume you're probably gen X, like all the cool kids.
<discord->
neph. — I don't like this. My mother is gen X.
<discord->
neph. — Invite me to your funerals, would ya? 😉
<discord->
Sir Mortimer. — > irc was just painful to look at
<discord->
Sir Mortimer. — > no emojis, i mean w t f
<discord->
Sir Mortimer. — the thing about emojis is that there are so many it is hard to memorize them all, or find them on a keyboard. if only there was a way to do with less symbols, say, ~25 of them, which, when combined in a specific way, could convey any possible meaning and word, wouldn't that be grand
<discord->
Sir Mortimer. — you could use such a system to find the emoji you're looking for
<discord->
Lu K.. — just type : then a word lol
<discord->
Sir Mortimer. — : rocket
<discord->
Sir Mortimer. — doesn't work.
<discord->
Lu K.. — no space
<discord->
Sir Mortimer. — @Butcher *googling gen X*
<discord->
Sir Mortimer. — yep.
<discord->
Sir Mortimer. — holy shit I almost made it to millenialn
<discord->
Butcher. — @Sir Mortimer yeah. ;l
<discord->
Butcher. — I liked text emojis
<discord->
Butcher. — :< rip.
<discord->
Lu K.. — o yea, i forgot about those
Jesin has joined #principia
egg|cell|egg has quit [Ping timeout: 200 seconds]
<egg>
Not sure why you think using IRC prevents one from using emoji
<egg>
That which is in Unicode is plain text: 🥚
<discord->
egg. — @lamont I think I need more context to answer your question: what Frenet frame, how is it computed, and why are you doing that anyway? Or is the question just about computing Q (Q⁻¹ v) for a rotation Q represented as a quaternion ? But in that case, why?
egg|cell|egg has joined #principia
egg|cell|egg has quit [Quit: Quit]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
egg|cell|egg has joined #principia
armed_troop has quit [*.net *.split]
egg|cell|egg has quit [Read error: Connection reset by peer]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 202 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|cell|egg has joined #principia
* UmbralRaptop
🔪🗡⚔
<UmbralRaptop>
(the hundred-odd emoji in the Unicode standard work just fine in IRC)
<discord->
lamont. — no, not as a quaternion, just vector projection
<discord->
egg. — @lamont what do you mean
<discord->
egg. — a matrix?
<discord->
egg. — whose Frenet frame are we talking about and why are you going back and forth like that
<discord->
lamont. — the standard ksp one
<discord->
lamont. — to setup a maneuver node you have to convert a cartesian vector into prograde, radial, normal components
<discord->
neph. — That sounds barbaric
<discord->
lamont. — ```
<discord->
lamont. — public static Vector3d DeltaVToManeuverNodeCoordinates(this Orbit o, double UT, Vector3d dV)
<discord->
lamont. — {
<discord->
lamont. — Vector3d r = o.getRelativePositionAtUT(UT).xzy;
<discord->
lamont. — (and i've tried multiple different variants of that, this latest one i was trying to avoid debugging any calls to .normalized in order to see if the sqrt() operator was causing precision issues)
<discord->
lamont. — why is z (which is middle component because we're in silly space) so highly accurate but x and y are not?
<discord->
neph. — Is that always the case?
<discord->
lamont. — generally yeah
<discord->
neph. — Can you randomly generate a couple thousand vectors and run them forth and back?
<discord->
lamont. — this is from a highly precise debug-hacked circular orbit around kerbin with zero inclination. so z comes entirely from the h/norm-component.
<discord->
lamont. — sure?
<discord->
lamont. — well not really
<discord->
lamont. — i'll just get the same values.
egg|cell|egg has quit [Ping timeout: 190 seconds]
<discord->
lamont. — yeah so if i varied UT, but thats mildly annoying
<discord->
neph. — I guess I should have asked for random position & velocity vectors
egg|cell|egg has joined #principia
<discord->
neph. — I bet if you fed your 9 dimensions of information (position components, velocity components, component error) into something dimension-reducing like PCA you'd find some strong correleation. Probably with a distinctively floating point choppiness
<discord->
lamont. — its pretty consistent that z is high precision though, which was leading me down the inverse-rotation-trolling-me path for awhile
<discord->
lamont. — PCA?
<discord->
neph. — Principal component analysis
<discord->
neph. — Actually, UMAP might be better
<discord->
neph. — That's such a massive loss of precision.
<discord->
neph. — Are these singles or halves?
<discord->
neph. — As provided by ksp? I see you're storing them as doubles
<discord->
neph. — As provided by ksp? I see you're playing with them as doubles (edited)
<UmbralRaptop>
. o O (rederive Newtonian mechanics with a neural net)
<discord->
neph. — Any idea how many times it's rounding?
<discord->
neph. — Any idea how many times it's rounding inside .Dot? (edited)
<discord->
neph. — I find it weird that such a linear algorithm would be so ill-conditioned.
<discord->
lamont. — r and v aren't necessarily orthogonal, although for this problem it is very close
<discord->
lamont. — h is obviously very orthogonal
<discord->
neph. — Why would they be not fully independent?
<discord->
lamont. — (for the orbit i just happen to be in)
<discord->
lamont. — they're linearly independent, but not orthogonal
<discord->
neph. — That doesn't compute.
<discord->
lamont. — r and v are only orthogonal for flight path angles of zero (so circular orbits or apopasis or periapsis)
<discord->
neph. — Wait, r isn't your radial component?
<discord->
lamont. — yes
<discord->
neph. — My mistake
<discord->
neph. — I've only every played with Principia
<discord->
neph. — Is the basis for maneuver plotting in stock non-independant??? that makes no sense whatsoever
<discord->
neph. — Your radial and normal basis vectors will always be independent
<discord->
neph. — But that third vector in the basis must be the x product of that, so (\vec h \times \vec v) \time \vec v, if I'm not mistaken
<discord->
neph. — But that third vector in the basis must be the x product of that, so (\vec h \times \vec v) \times \vec v, if I'm not mistaken (edited)
<discord->
neph. — But that third vector in the basis must be the x product of that, so (**h** x **v**) x **v**, if I'm not mistaken (edited)
<discord->
lamont. — yeah normal is always orthogonal, but the radial and prograde vectors are not orthogonal
<discord->
lamont. — (not necessarily)
<discord->
neph. — How
<discord->
neph. — What happens if you're heading directly towards the center of the planet? Now your basis is degenerate and you can only model a plane within 3-space
<discord->
lamont. — uh, any orbit that isn't circular or where you're not at the periapsis/apoapsis the flight path angle isn't zero
<discord->
neph. — What happens if you're heading directly towards the center of the planet? Now your basis is degenerate and you can only describe a plane within 3-space (edited)
<discord->
lamont. — yeah, that's all screwed up and no longer linearly independent. if you were on that "orbit" and placed a maneuvernode the results might be funny.
<discord->
neph. — stock really runs on this shit??
<discord->
lamont. — heh yes
<discord->
neph. — oh my god
<discord->
neph. — I don't know how you guys do it
egg|cell|egg has quit [Ping timeout: 198 seconds]
egg|cell|egg has joined #principia
<discord->
neph. — At least there's one orthogonal pair in your basis (most of the time)
<discord->
neph. — At least you've got unique representation (most of the time)
<discord->
neph. — I have a suspicion that if you defined some orthogonal basis first, then converted into the ksp basis using a smart trick, you might actually increase your precision.
<discord->
neph. — I'd define your basis as {**r_norm**, **r_norm** x **v_norm**, and (**r_norm** x **v_norm**) x **v_norm**} (hope that's right)
<discord->
neph. — I'd define your basis as {**r_norm**, **r_norm** x **v_norm**, (**r_norm** x **v_norm**) x **v_norm**} (hope that's right) (edited)
<discord->
neph. — Then, you know that the 2nd component will be the same in ksp world so leave that
<discord->
neph. — **3**_ortho = **3**_ksp * (**r**_norm x **v**_norm) x **v**_norm
<discord->
neph. — And then I think that leaves **1**_ksp = **1**_ortho - **3**_ksp * **r**_norm
<discord->
neph. — I suppose you could do it the Principia way instead, fixing the normal and tangent components and then changing from binormal into radial, but I don't think that's any different in practice than fixing normal and radial components and then changing from ground tangent into prograde
<discord->
lamont. — i suspect that it needs to be projected onto the radial / normal / prograde basis so that adding up the vector "projections" recovers the original burn vector
<discord->
neph. — I suppose you could do it the Principia way instead, fixing the normal and tangent basis and then changing from binormal into radial, but I don't think that's any different in practice than fixing normal and radial basis and then changing from ground tangent into prograde (edited)
<discord->
neph. — If it doesn't you're not just changing basis, you're changing the vector too
<discord->
neph. — You can have a non-orthogonal basis for a vector space (until your basis is no longer a basis because you're heading straight towards the planet)
<discord->
egg. — @lamont OK so that code just has a matrix multiplication in its last line (except that they haven't invented the matrix so they store three rows)
<discord->
neph. — I bet if you slowed way down in orbit, you'd have massive subtraction cancellation error from your almost-degenerate basis
<discord->
egg. — @lamont I suspect the loss of precision is when computing the matrix itself
<discord->
lamont. — no, its the lack of an orthogonal basis
<discord->
egg. — what do you mean
<discord->
neph. — @egg the lines outputting have nothing to do with the object that function is returning
<discord->
neph. — That's probably fucked too, but different
<discord->
lamont. — Vector3d.Dot(r,v) != 0
<discord->
egg. — @neph I'm not talking about that output
<discord->
neph. — My mistake
<discord->
egg. — I'm talking about the code
<discord->
egg. — @lamont well yes, that statement is true, what's your point
<discord->
lamont. — that code is doing vector decomposition onto a non-orthogonal space, then adding them back up