Hacker Newsnew | past | comments | ask | show | jobs | submit | OlympicMarmoto's commentslogin

A few years ago I was experimenting with using Frank-Wolfe for collision detection in a toy physics engine. I never knew about the connection to GJK so I was pleasantly surprised to find the paper mentioned in the blog. Since I had never seen it before I'm sure other people missed it so I wanted to share.


No AVBD is a solver, they use standard collision detection routines.


> But you have to look at numerical error.

Yeah I agree, the error analysis could be many blogs in and of itself. I kinda got tired by the end of this blog. I would like to write a post about this in the future. For global solvers and iterative.

> Finding the closest vertices is easy but not sufficient.

As I'm sure you are aware, most GJK implementations find the closest features and then a one shot contact manifold can be generated by clipping the features against each other. When GJK finds a simplex of the CSO, each vertex of the simplex keeps track of the corresponding points from A and B.

> A second problem is what to do about flat polygon surfaces

Modern physics engines and the demo I uploaded do face clipping which handle this. For GJK you normally ensure the points in your hull are linearly independent.


This is the epigraph form of the problem. You try to find the point with the lowest height in the epigraph.

https://en.wikipedia.org/wiki/Epigraph_(mathematics)


Ah, got it, thanks!!


Do you mean non-convex shapes? You can do a convex decomposition and then test all pairs. Usually games accelerate this with a BVH.


Braid was not made with XNA. It used a custom game engine. I think it was just on XBLIG?


All XBLIG titles are XNA, Braid was a regular XBox Live Arcade game (XBLIG being 'Indie Games', self-published)


Also XNA isn't an engine.


Depends on your definition of "engine". XNA was a set of APIs and tools for game development. Game engines are also a set of APIs and tools for game development, although usually a bit more integrated than XNA. But before Unity and Unreal Engine became the "default engines" the term was used much more losely, often only for the runtime parts, not the authoring tools.


Lin has some interesting work in isosurface extraction https://github.com/Lin20/BinaryMeshFitting


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: