четверг, 23 декабря 2010 г.

Box2d особенность

Box2d особенность:

В Terrorism'е очень простой алгоритм разрушения блоков, наверняка в аналогичных играх типа Sieger'а куда больше математики. Если коротко, то пилим блок на треугольники (достаточно мелко), а потом пробегаемся по ним, и группки в 2-4 треугольника объединяем более сложные в полигоны. При объединении нужно проверять выпуклость получившегося полигона, т.к.с невыпуклыми бокс не умеет работать (бажат коллизии). Полигон выпуклый, если векторное произведение всех соседних сторон имеет один знак. А вот как быть с нулем, имеет ли 0 тот же знак, что и положительные числа, например? Векторное произведение равно нулю, если вектора коллинеарны, т.е. угол между сторонами должен быть развернутым. Отвечаю, бокс считает такие полигоны невыпуклыми и соответственно по черному бажит [...] 

Комментариев нет:

Отправить комментарий