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|laptop|egg_ has joined #principia
egg|laptop|egg has quit [Ping timeout: 190 seconds]
egg|laptop|egg_ has quit [Remote host closed the connection]
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #principia
<discord->
sthalik. — is there a quick fix for long loads on scene changes?
<discord->
sthalik. — I wouldn't mind disabling plotting trajectories if that doesn't take too much effort
<discord->
Pteropodidae. — @sthalik What year are you on in your save?
<discord->
sthalik. — 1990, playing in career mode
<discord->
Sir Mortimer. — Question: given a number n of satellites of a body B. How do I calculate the percentage of the body surface that is not visible to any of the satellites?
<discord->
egg. — hm
<discord->
egg. — good question
<discord->
egg. — yeah I guess you need that for, e.g., the sun observation thingy
<discord->
Sir Mortimer. — I crunched my head trying to figure how much of the surface ONE satellite can see, which turns out to be a very simple formula
<discord->
Sir Mortimer. — but now I'm at the end of my rather limited mathematical capabilities.
<discord->
egg. — (except you are on a sphere for added fun)
<discord->
Sir Mortimer. — Did I mention that the calculation is time critical? 🙂
<discord->
egg. — yeah but something like that doesn't seem particularly costly
<discord->
egg. — (if you are fulfilling the mission with hundreds of satellites you have other problems)
<discord->
egg. — a monte carlo approach would be horribly slow of course
<discord->
egg. — so doing it with geometry is probably the best way
<discord->
Sir Mortimer. — A gravity assist at jupiter to look at the sun. I can see why they named the mission after a figure who couldn’t find his way home for many years
<discord->
Standecco. — parker solar probe was planning to do that too
egg|laptop|egg has quit [Remote host closed the connection]
egg|laptop|egg has joined #principia
<discord->
egg. — @Sir Mortimer yeah I think, given that the circles bounding areas observable by an individual sat here have a radius less than π/2 (working on a sphere with radius 1 oBdA)
<discord->
egg. — uh that sentence does not end
<discord->
egg. — I think that the algorithm from that stack overflow answer works
<discord->
egg. — so the individual bits you need to implement it are:
<discord->
egg. — 1. characterize the disk observable from a single sat;
<discord->
egg. — 2. compute the intersections of two circles on a sphere;
<discord->
egg. — 3. check whether a point is inside a circle on a sphere;
<discord->
egg. — 4. compute the area of a polygon on a sphere;
<discord->
egg. — 5. compute the area of a disc sector on a sphere.
<discord->
egg. — 3 is trivial, I think you did 1 already, 2 feels a bit like 1, 5 is easy—if ρ is the radius of the disk, expressed as an angle at the centre of the sphere, its area is 2π (1 - cos ρ), the area of a sector subtended by α is α (1 - cos ρ).
<discord->
egg. — I think 4. might be a bit tricky because of convexity concerns
<discord->
egg. — especially since you can end up in a situation where all interior angles of the polygon are obtuse
egg|cell|egg has quit [Ping timeout: 189 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 204 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 190 seconds]
egg|cell|egg has joined #principia
egg|cell|egg has quit [Read error: Connection reset by peer]
Wetmelon has joined #principia
egg|cell|egg has joined #principia
egg|cell|egg has quit [Ping timeout: 204 seconds]
egg|cell|egg has joined #principia
UmbralRaptop has quit [Remote host closed the connection]
<discord->
Sir Mortimer. — heh.
<discord->
Sir Mortimer. — i found a possible solution that is easer to implement, although it will loose a bit of precision
egg|cell|egg has quit [Read error: Connection reset by peer]
<discord->
Sir Mortimer. — instead of a mathematical sphere, i count the visible polygons
<discord->
Pteropodidae. — Sorry, just pushed fixes
<discord->
Pteropodidae. — I might have gotten up a tad late
<discord->
egg. — heh same
<discord->
Pteropodidae. — And then spent a bit figuring out how to convince CMake to put things where autotools did
<discord->
egg. — oh is that possible? fancy
<discord->
Pteropodidae. — Sort of
<discord->
egg. — that DCMAKE_ARCHIVE_OUTPUT_DIRECTORY I suppose?
<discord->
Pteropodidae. — Yeah
<discord->
Pteropodidae. — Although I have to build in `src/` to get the header files in the right place
<discord->
egg. — yeah, zfp needs a pushd build so we have prior art I guess
<discord->
Pteropodidae. — Yeah, zfp is a bit more zealous about not allowing in-tree builds
<discord->
Pteropodidae. — From what I can remember most packages just discourage it instead of outright blocking it
<_whitenotifier-d13c>
[glog] eggrobin closed pull request #6: Use CMake instead of autotools for *nix build - https://git.io/JvhaG
<_whitenotifier-d13c>
[glog] eggrobin pushed 4 commits to master [+0/-0/±4] https://git.io/JvhbT
<_whitenotifier-d13c>
[glog] Alex Wang 1c83e65 - Use CMake instead of autotools for *nix build The autotools build will pick up the system gflags install if present and compile in a dependency on gflags. This later causes bin/tools to fail to link since Principia does not depend on gflags and so does not pass -lgflags to the link command [0]. Unfortunately, there is no way to force glog to not build with gflags when using
<_whitenotifier-d13c>
autotools. --without-gflags gets translated to --with-gflags=no, and that gets interpreted as requesting a build with gflags where the gflags lib is located at no/lib [1], causing glog to fail to build. Luckily, the CMake build does provide a way to build without gflags even if it is installed, and the translation from autotools to CMake is fairly straightforward. LDFLAGS and LIBS are dropped because a static library
<_whitenotifier-d13c>
is generated and the linker flags specified in LDFLAGS and LIBS are not used by ar. [0]: clang++ -std=c++1z -stdlib=libc++ -O3 -g -fPIC -fexceptions -ferror-limit=1000 -fno-omit-frame-pointer -Wall -Wpedantic -Wno-char-subscripts -Wno-gnu-anonymous-struct -Wno-gnu-zero-variadic-macro-arguments -Wno-nested-anon-types -Wno-unknown-pragmas -DPROJECT_DIR='std::filesystem::path("ksp_plugin_adapter/")'
<_whitenotifier-d13c>
logging.o) __GLOBAL__sub_I_vlog_is_on.cc in libglog.a(libglog_la-vlog_is_on.o) "google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)", referenced from: __GLOBAL__sub_I_logging.cc in libglog.a(libglog_la-logging.o) __GLOBAL__sub_I_utilities.cc in libglog.a(libglog_la-utilities.o) "google::FlagRegisterer::FlagRegisterer<int>(char const*, char const*, char const*, int*,
<_whitenotifier-d13c>
int*)", referenced from: __GLOBAL__sub_I_logging.cc in libglog.a(libglog_la-logging.o) __GLOBAL__sub_I_vlog_is_on.cc in libglog.a(libglog_la-vlog_is_on.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [bin/tools] Error 1 [1]: /bin/sh ./libtool --tag=CXX --mode=link g++ -Ino/include -Wall -Wwrite-strings -Woverloaded-virtual
<_whitenotifier-d13c>
-Wno-sign-compare -DNO_FRAME_POINTER -DNDEBUG -g -O2 -o libglog.la -rpath /usr/local/lib src/libglog_la-logging.lo src/libglog_la-raw_logging.lo src/libglog_la-vlog_is_on.lo src/libglog_la-utilities.lo src/libglog_la-demangle.lo src/libglog_la-symbolize.lo src/libglog_la-signalhandler.lo -Lno/lib -lgflags -lpthread ./libtool: line 7483: cd: no/lib: No such file or directory libtool: error: cannot determine absolute
<_whitenotifier-d13c>
directory name of 'no/lib' make: *** [libglog.la] Error 1
<_whitenotifier-d13c>
[glog] Alex Wang d07df78 - Match output locations from autotools build This should avoid the need to make any changes to the Principia Makefile and Azure pipeline config. The important artifacts are the generated headers and libglog.a. The autotools build generates the former in src/glog/ and the latter at .libs/. Since the CMake build uses configure_file(<header.in> glog/<header> @ONLY) to generate the
<_whitenotifier-d13c>
header files, and the output location is relative to CMAKE_CURRENT_BINARY_DIR, an in-tree build rooted at src/ must be used to match the header output location from the autotools build. Luckily, the static library output location is controlled by a separate variable, so ensuring libglog.a is in the right place is quite straightforward.
<_whitenotifier-d13c>
[glog] Alex Wang 7ee4357 - Error out if C_FLAGS/CXX_FLAGS is not set Match original behavior
<_whitenotifier-d13c>
[glog] eggrobin 0974b44 - Merge pull request #6 from ts826848/build-using-cmake Use CMake instead of autotools for *nix build
<_whitenotifier-d13c>
[Principia] pleroy opened pull request #2526: Support for marshaling optional fields in interchange messages - https://git.io/JvhAE