[HN Gopher] Repulsive Curves ___________________________________________________________________ Repulsive Curves Author : lnyan Score : 260 points Date : 2022-04-22 10:52 UTC (1 days ago) (HTM) web link (www.cs.cmu.edu) (TXT) w3m dump (www.cs.cmu.edu) | yowlingcat wrote: | 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. | shadowgovt wrote: | 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. | zokier wrote: | This could work well for PCB trace routing optimization too? | Handling multiple layers might be bit difficult, but maybe not | insurmountable? | lewiso1 wrote: | 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! | iandanforth wrote: | The video has some really interesting / creative examples. Using | this for path planning by treating paths as curves through space- | time was particularly impressive. | ThouYS wrote: | Keenan Crane simply makes the most beautiful papers out there | natly wrote: | 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. | rland wrote: | 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 | cryptonector wrote: | I'm also wondering if this might inspire ideas for how blood | vessels end up getting placed by growing bodies, etc. | arc-in-space wrote: | 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. | thechao wrote: | Yes; Keenan Crane does amazing work; his book (and online video | series) on Discrete Differential Geometry are really good. | mkl wrote: | 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 | nateburke wrote: | FWIW, Nathan Dunfield's hand drawings are typically very | difficult to improve upon. | | This is an impressive paper. Thank you for sharing! | ykonstant wrote: | His latex templates, too. | bwestergard wrote: | The graph layout example is really compelling. | keenancrane wrote: | 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 | [deleted] | arc-in-space wrote: | Oh, that's actually the one I was looking for. I should have | thought to check your publications page first. | mkl wrote: | 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/Proje | cts/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. | hcrisp wrote: | Not the author so I don't know for sure, but it does list | Polyscope in the main link. | | https://github.com/nmwsharp/polyscope | wbrbr wrote: | He has a whole presentation about this: https://www.cs.cmu.ed | u/~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/ | mkl wrote: | 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. | quag wrote: | 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? | [deleted] | lordleft wrote: | Beautiful & compelling presentation | cs702 wrote: | 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. | dwallin wrote: | 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. | cs702 wrote: | 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. ___________________________________________________________________ (page generated 2022-04-23 23:00 UTC)