UmbralRaptor changed the topic of #kspacademia to: https://gist.github.com/pdn4kd/164b9b85435d87afbec0c3a7e69d3e6d | Dogs are cats. Spiders are cat interferometers. | Космизм сегодня! | Document well, for tomorrow you may get mauled by a ネコバス. | <UmbralRaptor> … one of the other grad students just compared me to nomal O_o | <ferram4> I shall beat my problems to death with an engineer.
GreeningGalaxy has joined #kspacademia
GreeningGalaxy has quit [Client Quit]
e_14159 has quit [Ping timeout: 190 seconds]
e_14159 has joined #kspacademia
<Ellied>
inspircd supports cuss censoring, which is obviously a losing battle, but it's also tempting to use it for hilarity.
<Ellied>
You could just feed it the xkcd news substitutions and say that channel mode +G is now xkcd mode
icefire has quit [Read error: Connection reset by peer]
<egg|zzz|egg>
!wpn e_14159
* Qboid
gives e_14159 an Artinian cylinder
<egg|zzz|egg>
!wpn Ellied
* Qboid
gives Ellied a Kronecker isobaric ⚛
<e_14159>
!wpn egg
* Qboid
gives egg an icy 1N4148
ferram4 has quit [Ping timeout: 200 seconds]
<egg|zzz|egg>
!wpn whitequark
* Qboid
gives whitequark a depressurized breadboard
<Iskierka>
when asked to produce a 50/50 split choice, humans pick 36/64 in favour of second. When asked for 10/90, 25/75. When asked for 1/99, 21/79
<Iskierka>
https://i.imgur.com/BqeEzVM.mp4 people talk about walking locomotion for search and rescue in disaster areas but I feel like this has potential with a few upgrades
<kmath>
<CassiniSaturn> We spied an egg* in space in 2012. *space egg is actually Methone, an egg-shaped moon of #Saturn #HappyEaster… https://t.co/hP66RELb6C
<egg|zzz|egg>
UmbralRaptor: !!!
<egg|zzz|egg>
space me!
<UmbralRaptor>
<egg|♄|egg> = 1
ferram4 has joined #kspacademia
<soundnfury>
!wpn ferram4
* Qboid
gives ferram4 a burnt warhead
<egg|zzz|egg>
!wpn UmbralRaptor
* Qboid
gives UmbralRaptor a prime lamp
<UmbralRaptor>
!wpn egg
* Qboid
gives egg a ray tube
<UmbralRaptor>
egg|zzz|egg: you keep, on not zzzing…
<Thomas>
At some point I should take the time to switch to nginx / certbot
<Thomas>
Actually, lets do this now
* Thomas
copies the nginx config of his school
<egg>
UmbralRaptor: aaaah so the way it works is that the hyperbolic mean anomaly is actually the mean anomaly (computed normally) divided by i because we don't want to deal with imaginaries
<egg>
UmbralRaptor: and both get called i because aaaaaaaaaaaa
<egg>
s/i/M
<Qboid>
egg meant to say: UmbralRaptor: and both get called M because aaaaaaaaaaaa
<UmbralRaptor>
ααααα
<egg>
UmbralRaptor: same for hyperbolic mean motion, n = n/i >_>
<egg>
(i the imaginary unit, not ? the inclination)
* UmbralRaptor
tries to picture imaginary inclination.
<egg>
UmbralRaptor: so, um, 10 different code paths for the possible 2 out of 5 >_>
* UmbralRaptor
doesn't see distance between foci, but I don't think that has a real use. <_<
<egg>
and inside category 2, 7 different code paths depending on your chosen way of defining the energy
<egg>
UmbralRaptor: yes, I saw that one, I can't tell whether it's actualy used in astrodynamics/astrophysics? anything that mentions it seems to be about conics per se
<UmbralRaptor>
I think it's only used in pure math because no one cares about the empty focus in astrodynamics.
<egg>
UmbralRaptor: yeah
egg is now known as egg|nomz|egg
<egg|nomz|egg>
UmbralRaptor: otoh, maybe people use the distance of apoapsis?
<egg|nomz|egg>
or maybe they don't, I dunno
<UmbralRaptor>
distance of apoapsis?
<UmbralRaptor>
arc length? altitude? from focus?
<egg|nomz|egg>
UmbralRaptor: ?
* egg|nomz|egg
doesn't understand the raptor
egg|nomz|egg is now known as egg
<egg>
UmbralRaptor: what elements can you think of that are used in astro(physics|dynamics) and aren't in there
* UmbralRaptor
is unclear as to what "distance of apoapsis" means
<egg>
UmbralRaptor: distance from the focus
<UmbralRaptor>
ah
<egg>
UmbralRaptor: I don't think I want to deal with altitude in there, since that's very hard to define (altitude above a reference ellipsoid? above a mean sphere? above a kitten?)
<Iskierka>
if lat/lon are accurate something else should be able to convert r into terrain altitude
<UmbralRaptor>
Uh, add mean longitude to the conic orientation?
<egg>
UmbralRaptor: ah yes
<UmbralRaptor>
Above a kitten, as approximated by n² spherical harmonics.
<egg>
UmbralRaptor: and the longitude of periapsis ϖ too I guess
<UmbralRaptor>
Where n is the principal catum number
<egg>
mean longitude is instead of mean anomaly
<UmbralRaptor>
yeah
<egg>
UmbralRaptor: uhh, there's a true longitude too?
<egg>
UmbralRaptor: do people use that one too?
* UmbralRaptor
isn't sufficiently familiar to say.
<egg>
aaaaaaaaaaaa
<UmbralRaptor>
This channel has a worryingly large amount of anguished screams.
<Iskierka>
https://translate.google.com/#ja/en/%E8%86%9D%E3%81%AB%E7%9F%A2%E3%82%92%E5%8F%97%E3%81%91%E3%81%A6%E3%81%97%E3%81%BE%E3%81%A3%E3%81%9F%E3%81%AA%E3%80%82 got text from a forum and it's what the guy said
<egg>
UmbralRaptor: do people use the mean longitude for hyperbolic orbits too
* UmbralRaptor
does not know.
icefire has joined #kspacademia
<Ellied>
UmbralRaptor: yes
<whitequark>
egg: 1. no, 2. yes ?
<egg>
whitequark: ?
<whitequark>
the answer to your question
<whitequark>
in that pic
<egg>
whitequark: uh, but they both use the Frenet trihedron
<whitequark>
egg: I have no idea what any of that is
<whitequark>
I just know, as a CAD user, what I want
<whitequark>
I neither care nor want to care what the underlying math is, insofar as I get the result I expect
<egg>
whitequark: so, you said that the plane contour remains normal to the curve
<whitequark>
yup
<egg>
whitequark: that does not define fully what you want
<whitequark>
okay
<egg>
whitequark: because you still have one degree of freedom
<egg>
how do you orient that contour in that normal plane
<whitequark>
let's say you pick a point somewhere on the contour
<whitequark>
the curve traced by that point should be the same as the curve used to drag the contour
<egg>
whitequark: but that's not possible
<egg>
e.g. say your curve is a circle, and your contour is a circle (the surface you want is a torus); your points trace circles of different sizes
<egg>
if they were to all trace the same circle, your contour wouldn't remain normal to the curve
<whitequark>
egg: ... oh
* whitequark
thinks
<whitequark>
good point
<whitequark>
okay
<egg>
whitequark: also, "
<egg>
<whitequark> I neither care nor want to care what the underlying math is, insofar as I get the result I expect" << you've made me aware of that already, and I try to do my best not to drown you in too much math, but please don't reiterate it too much; sometimes that's mildly Xi :-p
<whitequark>
that's fair.
<whitequark>
but I'm a person who wants to draw and instead I have an endless barrage of bugs which I will have to study for years just to understand.
<whitequark>
that is also quite Xi.
<whitequark>
anyway
<whitequark>
how about this
<whitequark>
so the closed contour has a coordinate system associated with it.
<whitequark>
it's fully in XY plane.
<egg>
aah, the contour is plane?
<whitequark>
yeah, absolutely
<whitequark>
(I thought you asked already and I answered yes?)
<egg>
whitequark: oh wait, right, the contour
<egg>
but the curve isn't right
<whitequark>
the curve isn't
<egg>
ok
<whitequark>
you could already do a lot if it is, but generally it isn't
<egg>
right, but if it isn't the question of twist actually arises
<whitequark>
basically what I'm trying to say is
<whitequark>
I can give you the position of the contour at the start of the curve and at the end of the curve
<whitequark>
well, the rotation
<whitequark>
as an absolute value
<egg>
hm
<whitequark>
and doing a linear interpolation between those is fine
<whitequark>
as a first approximation, rotation at the start and at the end could be the same
* egg
tries to figure out whether that's well-defined
* egg
*thinks* it's not actually well-defined
<egg>
i.e. that relies on there existing a concept of "not twisting along the curve", which is what I'm trying to figure out
<whitequark>
well, what's the closest thing to it that's well-defined?
<egg>
there's one that I can think of, which would be "follwing the Frenet frame"
<egg>
(that requires there to be no straight bits in the curve but let's ignore that)
<egg>
following the Frenet frame is what I showed you though
<egg>
whitequark: that is the orientation is given by the osculating circle
<egg>
the direction in which the curve is curving
<whitequark>
the second one looks wrong but maybe it's just the shading of the solid
<whitequark>
can you export it as, like, STL or STEP
<egg>
uh
<whitequark>
s/second/first/
<Qboid>
whitequark meant to say: the first one looks wrong but maybe it's just the shading of the solid
<egg>
whitequark: I shall try
* UmbralRaptor
accidentally breaks scipy.integrate.quad by using astropy.units
<egg>
whitequark: ASCII STL or Binary STL or does my question not make sense (I have no idea what I'm doing :-p)
<egg>
whitequark: ok, I think I have an STL file, whatever that is
<egg>
whitequark: how shall I transmit it to you
<egg>
!wpn whitequark
* Qboid
gives whitequark a Александров exact fountain pen
<egg>
whitequark: sent you a mail
<egg>
UmbralRaptor: ow
<UmbralRaptor>
It works without units, but I think that means I'm now halfway through summoning Nyarlathotep.
<egg>
ah yes
<egg>
UmbralRaptor: cgs everywhere? >_>
<whitequark>
egg: thanks! looking
<whitequark>
meshlab says "cannot open stl", do you think you can do a "binary STL"
<egg>
whitequark: sure
<egg>
whitequark: if that fails I guess I can try generating a few views under a few angles or something
<egg>
whitequark: I think I can do DXF and LWO too, whatever those are
<egg>
also 3ds
<egg>
and wrl
<SnoopJeDi>
DXF is an AutoCAD drawing format
<SnoopJeDi>
drawing exchange format, I think?
<UmbralRaptor>
egg: worse, but converted to mks at point of entry.
<egg>
D: worse
<UmbralRaptor>
Remember: radius/mass of sun/earth/jupiter are units.
<egg>
ah. yes.
<UmbralRaptor>
Also parsecs. >_>
<UmbralRaptor>
And the occasional ångström.
<egg>
whitequark: you should have the binary stl file btw
<whitequark>
*stare* hm, that doesn't open too
<whitequark>
let me try something else
<whitequark>
oh, I needed to "import" it and not "open".
<egg>
:D
<whitequark>
uhm
<whitequark>
well I'm pretty sure it is rotating, no?
<egg>
whitequark: well, it's following the curvature
<egg>
whitequark: I took a *very wobbly* curve to follow
<egg>
so the plane of curvature wobbles a bit, and we follow that
<egg>
hmm, but then if we want to follow the Frenet frame for a helix we need constant torsion
<egg>
hm
<egg>
whitequark: yeah I think this embodies your problem: this is a plane curve, and the third one is probably doing exactly what you want except there's a singularity and there it goes nuts http://i.imgur.com/etBhfny.png
<egg>
whitequark: ok, so I can't think of something that's not "follow the curvature" that will do a helix correctly (assuming we both have the same intuition of what the frame should be on a helix); it works on a plane curve if the sign of the curvature remains the same; if the sign of the curvature changes it means you have a point where the curvature vanishes, which means there the definition "follow the curvature" is
<egg>
singular, and that needs special handling (flip around the thing you're carrying around the curve, and resume on the other side of the sign change I guess)
<whitequark>
hm
<whitequark>
I think this is why lofting is hard
<egg>
defining things is hard; though it helps with making sense of them at least
<egg>
most of principia's abstractions are just that
<egg>
I think now I understand what a reference frame is and how rotating reference frame work, after 3 iterations of bad abstractions
<egg>
note: I went through some physics classes where I was supposed to have learned that; I knew how to compute with them, but not how they made sense
<egg>
also there's something different that seems garbled in my plots but that's probably a trivial mistake in my calculations, doesn't affect the existence of those singularities
<egg>
riight forgot to transpose a matrix
<egg>
whitequark: ok, now with the matrix properly transposed so that it looks to me like I expect it to look http://i.imgur.com/zpcCVQy.png
<egg>
which doesn't tell me whether it looks like you expect it to look, but hey, at least it's something :-)
<egg>
whitequark: I'll send you the stl of the new flowery wibbly wobbly thing too, because the ones I sent you were garbage because of that missing transpose
<egg>
and the Frenet frame is one solutions, others exist, everything sucks :D
<egg>
whitequark: ok, so the weird "parallel transport" (quotes because that actually means something in differential geometry which we probably shouldn't get into) is really just a discretization of what the Frenet frame would do; and they have special casing (if the tangent hasn't rotated do nothing) that handles the 0-curvature case
<egg>
whitequark: so the analytic version of that is exactly what I was describing: Frenet on curved bits, where the curvature vanishes special handling that doesn't rotate
<egg>
whitequark: and I guess in a parametric CAD thing you really want an analytic form, rather than some discretization, so that would be it
<whitequark>
no, the parametric bits end at curves
<whitequark>
even an intersection of two NURBS surfaces doesn't often have an analytical representation
<egg>
whitequark: thing is, that discretized Frenet frame allows you to "jump over" some twisting, but you need to feed in some discrete step that has little to do with the geometry
<egg>
(in that case that's a book about games so it's the game timestep; let's not get into my ranting about the bad physics and geometry in games)
<egg>
(and numerics)
<whitequark>
hmm
<egg>
as that timestep becomes small, you'll get exactly the Frenet frame (except in the case where the curvature vanishes at a single point, but there you need special casing anyway)
<egg>
whitequark: do that last imgur pic and that last stl model look better btw?
<egg>
whitequark: now that game book also mentions "fixed up", and if you can have the user define a reference direction that's "mostly normal" to the osculating plane (so the normal to the plane if the curve you're following is plane, or the axis of the helix for a helix), you can use this direction to orient your frame; but that will completely break down if the direction goes near the tangent (and it feels wrong to require
<egg>
an additional vector)
<whitequark>
slightly better I think
<egg>
yay
<egg>
!choose sleep|combinatorial explosion of code paths for orbital elements|whitequark and the nurbs
<Qboid>
egg: Your options are: sleep, combinatorial explosion of code paths for orbital elements, whitequark and the nurbs. My choice: whitequark and the nurbs
<egg>
;choose sleep|combinatorial explosion of code paths for orbital elements|whitequark and the nurbs
<kmath>
egg: sleep
<egg>
hmm
<Thomas>
!choose kmath|Qboid
<Qboid>
Thomas: Your options are: kmath, Qboid. My choice: Qboid
<egg>
;choose kmath|Qboid
<kmath>
egg: Qboid
<whitequark>
lol
<egg>
whitequark: so, I have come to the point where I have a struct that can be filled from any 2 among 6 categories of parameters
<egg>
(and one of those categories needs one among 7)
* Qboid
gives UmbralRaptor an ISO 8601-compliant minion with a guillotine attachment
* UmbralRaptor
decapitates the minion with its own standards.
<egg>
UmbralRaptor: I *think* I added minion thinking of the cannon, but that works too :D
<UmbralRaptor>
They were a fun side bit of dispicable me, that have overrun everything else.
<whitequark>
egg: std::experimental::optional >_>
<whitequark>
do you not have using;
<egg>
whitequark: we tend not to use using for std stuff; but we should probably move optional to std (it's our own anyway) >_>
<egg>
whitequark: for our own stuff we using a lot, which is why we have all those internal namespaces to avoid polluting things (everything is in headers)
<egg>
"we using a lot" >_> <_< C++ makes me bad at grammars
<egg>
oh, I have a presentation by Mark Davis tomorrow
<egg>
Unicode fhtagn
<whitequark>
wait what
<whitequark>
you have your own std?
<egg>
whitequark: nah, we have our own optional, because neither the libc++ version we use nor the MSVC version we use have that
<whitequark>
oh
<whitequark>
and you put it into std::experimental?