News for hackers. Stuff that matters.
Re:Repulsive Curves by keenancrane on Saturday April 23, 2022 @09:36AM (#31134139)
If you liked repulsive curves, you may also enjoy repulsive surfaces:

https://www.cs.cmu.edu/~kmcrane/Projects/RepulsiveSurfaces/i...

Deep dive into repulsive geometry here: https://youtu.be/dtYGiCpzzbA

Re:Repulsive Curves by mkl on Saturday April 23, 2022 @10:14AM (#31134438)
Hi Keenan. What do you use to generate your figures of surfaces with lines and other things drawn on them, e.g. figures 2-6 of the geodesic survey paper (http://www.cs.cmu.edu/~kmcrane/Projects/GeodesicSurvey/Geode...)? Lots of great pictures like that in the SIGGRAPH 2013 Course Notes too (https://www.cs.cmu.edu/~kmcrane/Projects/DDG/paper.pdf). I have made some similar figures with TikZ, but it's a lot of work and the results aren't as nice as I'd like.
Re:Repulsive Curves by wbrbr on Saturday April 23, 2022 @11:36AM (#31135169)
He has a whole presentation about this: https://www.cs.cmu.edu/~kmcrane/Projects/Other/IllustratingG... . TLDR: it's a very manual process :) His lab is also working on Penrose, which is a domain specific language for mathematical diagrams: https://penrose.cs.cmu.edu/
Re:Repulsive Curves by mkl on Saturday April 23, 2022 @12:06PM (#31135498)
Wow, my laborious-seeming TikZ workflow actually looks pretty simple in comparison! It's all in the one tool and the entire picture code is right there in the Latex source, easy to edit and version control. Shading on a surface is not something I've got nice yet, and lines becoming occluded is a manual effort, but I'm pretty sure I could produce something like the 6 hour figure on p24 in quite a bit less time than that.

Edges of surfaces caused by things like hills obscuring other parts of the same surface, or the surface curving back behind itself (many examples of both on p2 of this) are something I don't have a good way to do. I have done it by doing edge detection on an OpenGL depth buffer and vectorising the results, but that's hard to integrate with TikZ, and changing view angle means doing it all again. Shadows are another problem.

Re:Repulsive Curves by hcrisp on Saturday April 23, 2022 @10:39AM (#31134651)
Not the author so I don't know for sure, but it does list Polyscope in the main link.

https://github.com/nmwsharp/polyscope

Re:Repulsive Curves by infogulch on Saturday April 23, 2022 @07:52PM (#31139881)
Nice talk! This seems like it could be an interesting tool model real phenomena. Have you considered if you can invert this to derive which constraints and energy function best match a particular sample? Say, take a video of cars entering and exiting a highway ramp, what constraints and energy functions best model the paths taken? This could be individual as well, for example a particular car may be driven "aggressively" according to humans, if you derived the constraints this way could you reliably predict humans' scoring?
Re:Repulsive Curves by quag on Saturday April 23, 2022 @02:13PM (#31136763)
Hi Keenan. Do you have advice for how a programmer can get started with implementing repulsive curves if they’re not familiar with the mathematics in the paper and video?
Re:Repulsive Curves by arc-in-space on Saturday April 23, 2022 @09:41AM (#31134179)
Oh, that's actually the one I was looking for. I should have thought to check your publications page first.
Re:Repulsive Curves by gfody on Saturday April 23, 2022 @07:22PM (#31139658)
that talk made it really clear how tangent-point energy is easier to compute than mobius energy but not why it's a good proxy for it, it seems like a semihack
Re:Repulsive Curves by cs702 on Saturday April 23, 2022 @10:08AM (#31134398)
This is immediately useful for a huge number of practical real-world applications.

Make sure to watch the short explanatory video (and turn the sound on) -- here's the direct link:

https://www.youtube.com/watch?v=-uXFYpVumh4

The short video is great. The paper looks great (based on a very quick skim; this is an area in which the authors have far more expertise than me). The high-level explanations are great. The web page is great -- informative and to-the-point. Really impressive work!

--

EDIT: The senior author is here at https://news.ycombinator.com/item?id=31134139 -- his comment should probably be above mine. Please upvote it.

Re:Repulsive Curves by dwallin on Saturday April 23, 2022 @12:36PM (#31135791)
The use as a pathfinding technique immediately stood out to me. If I'm understanding the way it works it results in variable speed, making it less useful for some game purposes. But this is super useful for animation. If you are trying to model crowd behavior your entities will seemingly speed up and slow down to allow others to pass but still arrive where you need them to at specific times.
Re:Repulsive Curves by cs702 on Saturday April 23, 2022 @12:51PM (#31135932)
One thoughts I had when first I skimmed the paper is that it should be straightforward to train a small, fast DNN to approximate the technique, and then use the DNN for applications that have more stringent performance requirements, including games.
Re:Repulsive Curves by iandanforth on Saturday April 23, 2022 @09:24AM (#31134045)
The video has some really interesting / creative examples. Using this for path planning by treating paths as curves through space-time was particularly impressive.
Re:Repulsive Curves by ur-whale on Saturday April 23, 2022 @07:50PM (#31139859)
Keenan Crane's [1] lab has been putting out some top notch research in recent years.

In particular, their work on discrete differential geometry [2] is really worth diving into (and Mr Crane is a really good pedagogue).

[1] https://www.cs.cmu.edu/~kmcrane/

[2] https://www.youtube.com/watch?v=mas-PUA3OvA&list=PL9_jI1bdZm...

Re:Repulsive Curves by rland on Saturday April 23, 2022 @01:37PM (#31136367)
I can think immediately of applications:

- bio engineering -- predicting (?) or designing (?) molecules that are large chains to perform some particular function

- coverage path planning -- sort of a "roomba" problem -- find a continuous path, through a space, that covers the space

- 3-D printing -- find the extrusion path that maximally covers some area or areas with high strength with a minimum amount of material

Re:Repulsive Curves by cryptonector on Saturday April 23, 2022 @04:17PM (#31138084)
I'm also wondering if this might inspire ideas for how blood vessels end up getting placed by growing bodies, etc.
Re:Repulsive Curves by ThouYS on Saturday April 23, 2022 @09:56AM (#31134306)
Keenan Crane simply makes the most beautiful papers out there
Re:Repulsive Curves by natly on Saturday April 23, 2022 @10:43AM (#31134687)
He's really inspirational. He's always really helpful has a wonderful energy on twitter and the geometry discord he's part of, and seems like a really great (and very intelligent) guy all around.
Re:Repulsive Curves by Olumde on Sunday April 24, 2022 @07:12PM (#31149148)
He's a genius. A researchers best hope is that he doesn't stumble on their research subtopic.
Re:Repulsive Curves by nateburke on Saturday April 23, 2022 @10:03AM (#31134365)
FWIW, Nathan Dunfield's hand drawings are typically very difficult to improve upon.

This is an impressive paper. Thank you for sharing!

Re:Repulsive Curves by ykonstant on Saturday April 23, 2022 @11:47AM (#31135286)
His latex templates, too.
Re:Repulsive Curves by lewiso1 on Saturday April 23, 2022 @09:23AM (#31134040)
One of the insights here is using the “tangent point energy” as part of the repulsion loss function. If anyone’s used, or knows of, a python implementation of this TPE function then please lmk!
Re:Repulsive Curves by bwestergard on Saturday April 23, 2022 @09:01AM (#31133871)
The graph layout example is really compelling.
Re:Repulsive Curves by yowlingcat on Saturday April 23, 2022 @01:00PM (#31136011)
Wow, imagine this could be very useful for a variety of logistics/routing applications (IE train routing, assembly line optimization, self-driving cars). Perhaps this kind of stuff is in play there already and this just helps make it easier to visualize?

Lovely visualizations as well. Really makes it tangible.

Re:Repulsive Curves by zokier on Saturday April 23, 2022 @05:42PM (#31138881)
This could work well for PCB trace routing optimization too? Handling multiple layers might be bit difficult, but maybe not insurmountable?
Re:Repulsive Curves by arc-in-space on Saturday April 23, 2022 @08:57AM (#31133844)
Hold on, wasn't there a similar paper last year wrt non-intersecting shape/mesh optimization? (edit: I think it was a topology paper actually)

I found this: https://arxiv.org/pdf/2201.06256.pdf but I don't think it's what I'm thinking of.

Re:Repulsive Curves by mkl on Saturday April 23, 2022 @09:38AM (#31134168)
This shape filling curve method probably isn't what you're thinking of either, but it's neat and similar to the OP linked paper in 2D: https://news.ycombinator.com/item?id=25905534 & https://www.vidarholen.net/contents/blog/?p=1062
Re:Repulsive Curves by thechao on Saturday April 23, 2022 @09:36AM (#31134142)
Yes; Keenan Crane does amazing work; his book (and online video series) on Discrete Differential Geometry are really good.
Re:Repulsive Curves by lordleft on Saturday April 23, 2022 @12:25PM (#31135675)
Beautiful & compelling presentation
Re:Repulsive Curves by shadowgovt on Saturday April 23, 2022 @05:11PM (#31138598)
The applications in particular are the piece I find most enjoyable about this publication. The robot path distance maximization, space-filling, and auto-earbud-untangler are pretty neat.
Re:Repulsive Curves by dieselgate on Sunday April 24, 2022 @01:06AM (#31141439)
The mobile experience is unfortunately quite repulsive so I didn’t read the article :( But wanted to..