LINUX.ORG.RU

История изменений

Исправление Manhunt, (текущая версия) :

Если треугольник не вращается быстрее 180 градусов за 1 шаг, то все будет ок. Если вращается - ну тогда я не представляю чтоделать, да.

Уменьшать шаг.

Скажем, можно потребовать, чтобы перемещение каждой вершины треугольника за один шаг по времени было на порядок меньше чем длины смежных с ней ребер. Если это условие не выполняется, то или шаг слишком велик, или трубка попалась какая-то нехорошая, особенная.

Еще тут проблема - нельзя отличить пересечение стороны лучом от пересечения всех лучей, т.к. пересечение всех лучей топологически неотличимо от пересечения стороны со скручиванием :(

Если сделать как я предлагаю, то пересечение хотя бы двух лучей будет классифицировано как «нехорошая трубка». Если трубок с пересекающимися лучами у ТС мало, то их потом можно довычислить «из общих топологических соображений»: Создание алгоритма методом «научного тыка»? (комментарий)

Исходная версия Manhunt, :

Если треугольник не вращается быстрее 180 градусов за 1 шаг, то все будет ок. Если вращается - ну тогда я не представляю чтоделать, да.

Уменьшать шаг.

Скажем, можно потребовать, чтобы перемещение каждой вершины треугольника за один шаг по времени было на порядок меньше чем длины смежных с ней ребер. Если это условие не выполняется, то или шаг слишком велик, или трубка попалась какая-то нехорошая, особенная.

Еще тут проблема - нельзя отличить пересечение стороны лучом от пересечения всех лучей, т.к. пересечение всех лучей топологически неотличимо от пересечения стороны со скручиванием :(

Если сделать как я предлагаю, то пересечение хотя бы двух лучей будет классифицировано как «нехорошая трубка». Если трубок с пересекающимися лучами ТС мало, то их потом можно довычислить «из общих топологических соображений»: Создание алгоритма методом «научного тыка»? (комментарий)