@AppAwk @vihartvihart @mhultstrom Maybe it's that humans are cold blooded and retreat into burrows this season. Spiders guard our burrows in our summer absence and we greet them on our return. While 🐍 may be out, few humans are turning over a new leaf to find them. By this time there are only old leaves anyway.
@eevee (but, hint: there's almost certainly a grad student who would run the class for fun. Complex analysis is a beautiful and visual subject that should be teased in intro calculus.)
@eevee Like, fine, maybe the department doesn't have resources to offer Complex Analysis for people who didn't ace Functional Analysis but we should still acknowledge that's the real problem, and not normalize giving up on the first try, especially when it may not be your peers' first.
"Buhh some people are just naturally better at art/math/etc though" so fucking what. if you want to do it then do it anyway. if you don't want to do it then no one expects you to. don't take this wishy-washy middle ground where you blame your character sheet
@FreyaHolmer@anorangeduck Alternatively if there's a preexisting implementation of sinc in some library you're already using, it might be cleanest to use that and do no branching. At work I keep running into trouble when homegrown singularity patching turns out not to have as many sigfigs as I needed.
@FreyaHolmer Haaang on shouldn't your small-vMag case also return new Quaternion(0, 0, 0, sc)? Or build on @anorangeduck's suggestion and make it Quaternion(q.x * sc, q.y * sc, q.z * sc, sc)? I guess it doesn't matter if you only ever have unit quaternions though.
@FreyaHolmer@lisyarus@santiago_jj7@Dodecaplex This is the best you can do while singling out a basis vector that's unmoved (w), since 4 ways to break the symmetry x 6 respected symmetries = all 4! permutations of my w,x,y,z. Or in other words to single out a node with 3 outgoing edges, with the other 3 nodes with 1 outgoing.
@FreyaHolmer@lisyarus@santiago_jj7 That said, you can still get more symmetry. @Dodecaplex gave a basis preserved by the 3 cyclic shifts of x,y,z; and if you're willing to use indecomposables, wx+yz, wx+zy, wy+xz, ... is preserved by all 6 permutations of x,y,z.
@FreyaHolmer (...which, if you're not going to add any more exceptions or unit types, probably just blows up the size of your code for no benefit. So, y'know, grain of salt and all that.)
@FreyaHolmer Ah, darn, hang on, your unit types are already subclasses? I think what I mean here is turning the "if (action.unit.type.MovesHatsOnMove())" block into like an "action.unit.moveHat()" calling "if (unitAbove.moveAsHat())" so all the frictionlessness is in one class.
@FreyaHolmer And really, except for some weird setups that probably make good test cases, I doubt topological sort improves anything because your code already sorts everything upward and forward.
@FreyaHolmer Finally maybe see if @eevee will talk to you? She worked out a system for pushing blocks and balls for Fox Flux maybe a couple of years ago so she probably knows things that fit your use case better.
@FreyaHolmer Your approach in particular this sounds vaguely similar to "sequential impulses" (aka "projected Gauss Seidel"), about halfway into https://t.co/vnuyRrwwTm . Look for slide decks mentioning "Baumgarte Stabilization" for how to deal with corners.