[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)