в продолжение темы GJK: я, конечно, подумал, что оно может быть применимо для sweep tests. это тесты типа: «есть два стула конвекса, один из них пиздошит с какой-то линейной скоростью, когда эта ебанина столкнётся?» применимо, очевидно, в continuous collision detection.
upd: см. по тэгу gjk, там есть ещё немного объяснений.
также смотри великолепную презентацию от Erin Catto на GDC 2010. я, конечно, о ней вспомнил только тогда, когда уже и без неё разобрался — а зря. потому что там как раз для идиотов нормальных существ расписано всё.
GJK — это просто. то есть, если применять его в полной форме, то чуть сложнее, а для случая «проверить, столкнулись ли два выпуклых полигона» — просто.
статья на педии, как обычно, упускает самое интересное: волшебную функцию `NearestSimplex()`, в которой и заключена основная магия. и ещё мелочи.