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-> s​thalik. — is there a quick fix for long loads on scene changes?
<discord-> s​thalik. — I wouldn't mind disabling plotting trajectories if that doesn't take too much effort
<discord-> P​teropodidae. — @sthalik What year are you on in your save?
<discord-> s​thalik. — 1990, playing in career mode
<discord-> P​teropodidae. — Hrm
<discord-> s​thalik. — yes. I found a small thunk to possibly revert, waiting to build.
<discord-> P​teropodidae. — Seems there may not be an immediate solution if it's because Principia is integrating the solar system history since 1951
Mike` has quit [Ping timeout: 378 seconds]
Mike` has joined #principia
<discord-> P​teropodidae. — TIL `which` is apparently non-portable, and `command -v` is the portable version
<discord-> s​thalik. — you can generally depends on shells being derived from `ash`
<discord-> s​thalik. — you can generally depend on shells being derived from `ash` (edited)
<discord-> P​teropodidae. — Apparently it has more to do with `which` potentially doing weird things
<discord-> P​teropodidae. — @egg Apparently `CMAKE_LD_FLAGS` isn't actually a thing?
<discord-> P​teropodidae. — There's `CMAKE_{EXE,MODULE,SHARED,STATIC}_LINKER_FLAGS`
<discord-> P​teropodidae. — And using `CMAKE_STATIC_LINKER_FLAGS` apparently isn't the right choice either because it passes those flags to `ar`
Wetmelon has quit [Ping timeout: 190 seconds]
<discord-> P​teropodidae. — In fact, glog builds just fine without it
<discord-> P​teropodidae. — (which makes sense since `CMAKE_LD_FLAGS` wasn't actually doing anything before
<discord-> P​teropodidae. — Although idk how it'll work on a system where libstdc++ is the default
<discord-> P​teropodidae. — Actually, I think it'll work fine, since `CXX_FLAGS` includes `LD_FLAGS`
Wetmelon has joined #principia
Wetmelon has quit [Ping timeout: 190 seconds]
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #principia
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #principia
UmbralRaptop has quit [Remote host closed the connection]
UmbralRaptop has joined #principia
<_whitenotifier-d13c> [glog] ts826848 opened pull request #6: Use CMake instead of autotools for *nix build - https://git.io/JvhaG
<discord-> P​teropodidae. — > [18:16] Pteropodidae: Will do after food
<discord-> P​teropodidae. — That was a long food, but I finally got the PR in
<discord-> P​teropodidae. — Needs two tweaks to the Principia Makefile, but I figure I might as well hold off on that until I fix install_deps.sh too
<_whitenotifier-d13c> [glog] pleroy reviewed pull request #6 commit - https://git.io/JvhVY
<_whitenotifier-d13c> [glog] pleroy reviewed pull request #6 commit - https://git.io/JvhVO
egg|laptop|egg has joined #principia
<discord-> S​ir 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-> e​gg. — hm
<discord-> e​gg. — good question
<discord-> e​gg. — yeah I guess you need that for, e.g., the sun observation thingy
<discord-> S​ir 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-> S​ir Mortimer. — but now I'm at the end of my rather limited mathematical capabilities.
<discord-> S​ir Mortimer. — for the sun I could assume all orbits to be coplanar and thus reduce the problem to two dimensions.
<discord-> S​ir Mortimer. — but having a 3d solution would allow earth observing contracts that need to see 95% of the surface from low orbit
<discord-> e​gg. — yeah and the assumption would be cheesy for the sun anwyay
<discord-> e​gg. — I think https://stackoverflow.com/a/24042372 is the basic idea
<discord-> e​gg. — (except you are on a sphere for added fun)
<discord-> S​ir Mortimer. — Did I mention that the calculation is time critical? 🙂
<discord-> e​gg. — yeah but something like that doesn't seem particularly costly
<discord-> e​gg. — (if you are fulfilling the mission with hundreds of satellites you have other problems)
<discord-> e​gg. — a monte carlo approach would be horribly slow of course
<discord-> e​gg. — so doing it with geometry is probably the best way
<discord-> S​ir 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-> S​tandecco. — 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-> e​gg. — @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-> e​gg. — uh that sentence does not end
<discord-> e​gg. — I think that the algorithm from that stack overflow answer works
<discord-> e​gg. — so the individual bits you need to implement it are:
<discord-> e​gg. — 1. characterize the disk observable from a single sat;
<discord-> e​gg. — 2. compute the intersections of two circles on a sphere;
<discord-> e​gg. — 3. check whether a point is inside a circle on a sphere;
<discord-> e​gg. — 4. compute the area of a polygon on a sphere;
<discord-> e​gg. — 5. compute the area of a disc sector on a sphere.
<discord-> e​gg. — 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-> e​gg. — I think 4. might be a bit tricky because of convexity concerns
<discord-> e​gg. — 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-> S​ir Mortimer. — heh.
<discord-> S​ir 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-> S​ir Mortimer. — instead of a mathematical sphere, i count the visible polygons
egg|cell|egg has joined #principia
<discord-> S​ir Mortimer. — this is soo geeky 😛
<discord-> e​gg. — yeah that is a more systematic version of the sampling method
<discord-> e​gg. — but I think this will be much slower for small numbers of satellites
<discord-> e​gg. — realistically you might expect a mission to involve 4-5 spacecraft at most, and there the geometric approach will be very fast
<discord-> S​ir Mortimer. — 32 points
UmbralRaptop has joined #principia
<discord-> e​gg. — hm; with that few polygons you are losing quite a lot of precision
<discord-> S​tandecco. — do 8 points
<discord-> e​gg. — e.g. a third vs. two thirds coverage would likely be noticeable by the player
<discord-> e​gg. — @Standecco wat
<discord-> S​tandecco. — you're right, 4
<discord-> e​gg. — ...
<discord-> S​tandecco. — tetrahedral planets
<discord-> e​gg. — this utterly defeats the purpose of having this as a mission constraint
<discord-> e​gg. — if the approximation error dominates, it can't drive mission design
<discord-> S​ir Mortimer. — 128 points
<discord-> S​ir Mortimer. — these scripts are pure beauty.
<discord-> e​gg. — yeah that is closer to close enough
<discord-> S​ir Mortimer. — he's even got one that creates a postscritp that you can then cut out and glue together to build the ball from paper
<discord-> D​RVeyl. — Do you just need to test the polygon center?
<discord-> S​tandecco. — even the first image was a good enough approximation, I think
<discord-> e​gg. — but there I would place my bets on the geometric method for performance
<discord-> D​RVeyl. — Do you just need to test the polygon center? Or each corner point of the poly? (edited)
<discord-> S​ir Mortimer. — @Standecco your 8 point version 🙂
<discord-> S​ir Mortimer. — in case you want to build the 32 point version from above... 🙂
<discord-> S​tandecco. — why can I only count 7?
<discord-> S​tandecco. — I assume the number of points is the number of surfaces you get
<discord-> e​gg. — @Standecco it is https://en.wikipedia.org/wiki/Tetragonal_trapezohedron
<discord-> e​gg. — the dual of the square antiprism
<discord-> S​tandecco. — I assume the number of points is the number of polygons you get (edited)
<discord-> S​ir Mortimer. — or, if you bored in self isolation, this is the building plan for the 128 point version 🙂
<discord-> S​tandecco. — I still can't count 8 polygons in that image
<discord-> e​gg. — 4 adjacent to the vertex at the top left of the image, 4 to the one at the bottom right
<discord-> S​ir Mortimer. — this is so pretty
<discord-> e​gg. — 8
<discord-> S​tandecco. — ok, finally counted
<discord-> S​ir Mortimer. — i'm going to build me one of these
<discord-> S​tandecco. — this was much harder than it should've been
<discord-> S​ir Mortimer. — why am i grinning?
egg|cell|egg has quit [Ping timeout: 190 seconds]
<discord-> S​tandecco. — merging the broken pieces is going to be hard
<discord-> S​tandecco. — the dark shaded ones
<discord-> A​cer_Saccharum. — They're flaps that get glued underneath the white shapes
<discord-> A​cer_Saccharum. — @ Sir Mortimer is there a somewhat higher resolution version of the 128 point one?
<discord-> S​ir Mortimer. — 128 sides network
<discord-> S​ir Mortimer. — 128 side polygon
<discord-> S​ir Mortimer. — @Acer_Saccharum ^
egg|cell|egg has joined #principia
* discord- e​gg. — meows at @Pteropodidae_
<discord-> e​gg. — @Sir Mortimer nice
Raidernick_ has joined #principia
Raidernick has quit [Ping timeout: 190 seconds]
Raidernick__ has joined #principia
Raidernick_ has quit [Ping timeout: 378 seconds]
Jesin has quit [Ping timeout: 190 seconds]
<_whitenotifier-d13c> [glog] ts826848 synchronize pull request #6: Use CMake instead of autotools for *nix build - https://git.io/JvhaG
<_whitenotifier-d13c> [glog] ts826848 reviewed pull request #6 commit - https://git.io/JvhdF
<_whitenotifier-d13c> [glog] ts826848 synchronize pull request #6: Use CMake instead of autotools for *nix build - https://git.io/JvhaG
<_whitenotifier-d13c> [glog] ts826848 reviewed pull request #6 commit - https://git.io/Jvhdx
<discord-> P​teropodidae. — Sorry, just pushed fixes
<discord-> P​teropodidae. — I might have gotten up a tad late
<discord-> e​gg. — heh same
<discord-> P​teropodidae. — And then spent a bit figuring out how to convince CMake to put things where autotools did
<discord-> e​gg. — oh is that possible? fancy
<discord-> P​teropodidae. — Sort of
<discord-> e​gg. — that DCMAKE_ARCHIVE_OUTPUT_DIRECTORY I suppose?
<discord-> P​teropodidae. — Yeah
<discord-> P​teropodidae. — Although I have to build in `src/` to get the header files in the right place
<discord-> e​gg. — yeah, zfp needs a pushd build so we have prior art I guess
<discord-> P​teropodidae. — Yeah, zfp is a bit more zealous about not allowing in-tree builds
<discord-> P​teropodidae. — 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> -DSOLUTION_DIR='std::filesystem::path("./")' -DTEMP_DIR='std::filesystem::path("/tmp")' -DNDEBUG -mmacosx-version-min=10.12 -arch x86_64 -D_LIBCPP_STD_VER=16 obj/tools/generate_configuration.o obj/tools/generate_kopernicus.o obj/tools/generate_profiles.o obj/tools/journal_proto_processor.o obj/tools/main.o obj/serialization/astronomy.pb.o obj/serialization/geometry.pb.o obj/serialization/integrators.pb.o
<_whitenotifier-d13c> obj/serialization/journal.pb.o obj/serialization/ksp_plugin.pb.o obj/serialization/numerics.pb.o obj/serialization/physics.pb.o obj/serialization/quantities.pb.o obj/serialization/testing_utilities.pb.o obj/numerics/cbrt.o obj/numerics/elliptic_functions.o obj/numerics/elliptic_integrals.o obj/numerics/fast_sin_cos_2π.o obj/base/version.generated.o deps/protobuf/src/.libs/libprotobuf.a deps/gipfeli/libgipfeli.a deps
<_whitenotifier-d13c> /abseil-cpp/absl/strings/libabsl_strings.a deps/abseil-cpp/absl/synchronization/libabsl_synchronization.a deps/abseil-cpp/absl/time/libabsl_*.a deps/abseil-cpp/absl/debugging/libabsl_*.a deps/abseil-cpp/absl/numeric/libabsl_*.a deps/abseil-cpp/absl/base/libabsl_*.a deps/zfp/build/lib/libzfp.a deps/glog/.libs//libglog.a -lpthread -lc++ -lc++abi -o bin/tools Undefined symbols for architecture x86_64:
<_whitenotifier-d13c> "google::FlagRegisterer::FlagRegisterer<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char const*, char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)", referenced from: __GLOBAL__sub_I_logging.cc in libglog.a(libglog_la-
<_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
<discord-> e​gg. — @Pteropodidae OK looks good, merged
<discord-> e​gg. — this should unblock the install_deps change probably
<discord-> e​gg. — then we can piggyback on install_deps to fix our pipelines :-p
<_whitenotifier-d13c> [Principia] pleroy closed pull request #2524: Marshaling of structs that include repeated fields - https://git.io/JvpAc
<_whitenotifier-d13c> [Principia] pleroy pushed 15 commits to master [+8/-8/±40] https://git.io/JvhNk
<_whitenotifier-d13c> [Principia] pleroy f2d1727 - Generated files pre-change.
<_whitenotifier-d13c> [Principia] pleroy c266de7 - Code generation for repeated fields and RepeatedMarshaler.
<_whitenotifier-d13c> [Principia] pleroy 9d78bfa - After egg's review.
<_whitenotifier-d13c> [Principia] ... and 12 more commits.
<_whitenotifier-d13c> [Principia] pleroy opened pull request #2526: Support for marshaling optional fields in interchange messages - https://git.io/JvhAE
<_whitenotifier-d13c> [Principia] Pending. Build queued… - 
<_whitenotifier-d13c> [Principia] Pending. Building… - http://casanova.westeurope.cloudapp.azure.com:8080/job/Principia/4205/
<_whitenotifier-d13c> [Principia] pleroy synchronize pull request #2526: Support for marshaling optional fields in interchange messages - https://git.io/JvhAE
<_whitenotifier-d13c> [Principia] Pending. Build queued… - 
Jesin has joined #principia
<_whitenotifier-d13c> [Principia] Success. Build finished. - http://casanova.westeurope.cloudapp.azure.com:8080/job/Principia/4205/
<_whitenotifier-d13c> [Principia] Pending. Building… - http://casanova.westeurope.cloudapp.azure.com:8080/job/Principia/4206/
<_whitenotifier-d13c> [Principia] pleroy edited pull request #2526: Support for marshaling optional fields in interchange messages - https://git.io/JvhAE
<_whitenotifier-d13c> [Principia] eggrobin reviewed pull request #2526 commit - https://git.io/Jvhxo
armed_troop has quit [Quit: Bye]
<_whitenotifier-d13c> [Principia] pleroy synchronize pull request #2526: Support for marshaling optional fields in interchange messages - https://git.io/JvhAE
armed_troop has joined #principia
egg|laptop|egg has quit [Read error: Connection reset by peer]