Как правильно определить столкновение 2d меш-круг - PullRequest
1 голос
/ 28 марта 2012

Я пытаюсь создать систему столкновений меш-круг для своей игры.Я видел несколько примеров, когда вы перебираете все вершины сетки и проверяете, находятся ли они внутри круга.Но проблема в том, что иногда вершины находятся не внутри круга, а линии, которые образуют эти вершины.В этом случае проверка столкновения оценивается как ложная, когда она должна быть оценена как истинная.Как я могу сделать хорошее обнаружение столкновений такого типа?(на с / с ++)

Ответы [ 3 ]

3 голосов
/ 28 марта 2012

Если вы хотите, вы можете рассчитать расстояние от линии до центра круга. Но я думаю, что это будет слишком дорого. Если расстояние меньше, чем у радио, вы можете столкнуться. Вам нужно будет проверить, находится ли эта часть линии между точками. Расстояние от линии до точки

2 голосов
/ 28 марта 2012

На самом деле, быстрый Google сообщает, что это дубликат вопроса о переполнении стека: Алгоритм обнаружения столкновений отрезков круговой линии?

1 голос
/ 28 марта 2012

Просто переберите все края.И не беспокойтесь о вершинах: если вершина находится внутри круга, какой-то край обязательно пересечет ее (если вся сетка не находится внутри круга, что, я думаю, маловероятно).

...