СПОСОБ РАСЧЕТА СКОРОСТИ БЕЗ СТОЛКНОВЕНИЙ ДЛЯ АГЕНТА В СРЕДЕ ИМИТАЦИИ ТОЛПЫ

1. Способ расчета скорости без столкновений агента в среде имитации толпы, используя вычислительное устройство, содержащий:
идентифицируют квадратичную задачу оптимизации, которая соответствует скорости без столкновений; и
находят точное решение для квадратичной задачи оптимизации в вычислительном устройстве, используя геометрический подход.
2. Способ по п.1, в котором:
геометрический подход включает в себя:
идентифицируют конус препятствий для агента в пространстве скорости; и
находят точку, которая расположена за пределами конуса препятствий, причем эта точка представляет скорость без столкновений.
3. Способ по п.2, в котором:
поиск точки содержит:
идентифицируют множества сегментов границы конуса препятствия;
идентифицируют поднабор сегментов границы конуса препятствий, который находится за пределами всех конусов препятствий;
для каждого сегмента границы конуса препятствий в поднаборе рассчитывают минимальное расстояние от исходной точки в пространстве скорости, которая соответствует исходной скорости агента; и
выбирают наименьшее одно из рассчитанных минимальных расстояний.
4. Способ по п.1, в котором:
0
0
i
i
i
0
0
i
i
i
2
2
квадратичная задача об оптимизации содержит минимизацию (x-x)+(y-y) таким образом, что Ax+By<C для всех сегментов конуса препятствия, где (x, y) представляет собой исходную скорость агента, (x, y) представляет собой скорость без столкновений агента, и Ax+By<C представляет собой проверку линейного ограничения.
5. Способ расчета скорости без столкновений для агента в среде имитации толпы, в которой агент имеет исходную скорость и ассоциирован с множеством конусов препятствий, находящихся в пространстве скорости, содержащий:
идентифицируют как сегмент внешней границы все сегменты границ конусов препятствий, которые находятся за пределами всех других конусов препятствий;
для каждого сегмента внешней границы рассчитывают минимальное расстояние сегмента внешней границы от исходной скорости; и
выбирают как скорость без столкновений скорость, соответствующую рассчитанному минимальному расстоянию.
6. Способ по п.5, дополнительно содержащий:
игнорируют один из конусов препятствий в случаях, когда отсутствует сегмент внешней границы.
7. Способ по п.6, в котором:
игнорируемый конус препятствия представляет собой конус препятствия, который маловероятно может повлиять на агента.
8. Способ расчета скорости без столкновений для агента в приложении виртуального мира, содержащий:
для каждого кадра обновления изображения контура визуальной имитации для приложения виртуального мира:
получают исходную скорость для агента;
строят конус препятствия в пространстве скорости для каждого чужого агента в приложении виртуального мира, который расположен в пределах определенного расстояния от агента, причем каждый такой конус препятствия представляет собой набор всех скоростей, которые могут привести к столкновению, между агентом и конкретным чужим агентом, если предположить, что не происходит изменение скорости конкретного чужого агента;
идентифицируют множество возможных новых скоростей для агента, каждая из которых расположена за пределами всех конусов препятствий;
определяют расстояние от исходной скорости до каждой одной из возможных новых скоростей для того, чтобы найти определенную одну скорость из возможных новых скоростей, которая расположена ближе всего к исходной скорости; и
выбирают ближайшую одну из множества возможных новых скоростей как скорость без столкновений для кадра обновления изображения.
9. Способ по п.8, в котором:
идентификация множества возможных новых скоростей содержит:
идентифицируют множество сегментов границы конуса препятствия;
идентифицируют поднабор сегментов границы конуса препятствия, которые расположены за пределами всех конусов препятствия; и
для каждого сегмента границы конуса препятствия в поднаборе рассчитывают минимальное расстояние от исходной точки в пространстве скорости, которое соответствует исходной скорости агента.
10. Способ по п.8, в котором:
0
0
i
i
i
0
0
i
i
1
2
2
поиск конкретной одной из возможных новых скоростей содержит: минимизируют (x-x)+(y-y) таким образом, чтобы Ax+By<C для каждого одного из конусов препятствий, где (x, y) представляет исходную скорость, (x, y) представляет собой скорость без столкновения агента, и Ax+By<C представляет собой проверку линейного ограничения.