RU2482541C2 - Способ расчета скорости без столкновений для агента в среде имитации толпы - Google Patents

Способ расчета скорости без столкновений для агента в среде имитации толпы Download PDF

Info

Publication number
RU2482541C2
RU2482541C2 RU2011101372/08A RU2011101372A RU2482541C2 RU 2482541 C2 RU2482541 C2 RU 2482541C2 RU 2011101372/08 A RU2011101372/08 A RU 2011101372/08A RU 2011101372 A RU2011101372 A RU 2011101372A RU 2482541 C2 RU2482541 C2 RU 2482541C2
Authority
RU
Russia
Prior art keywords
agent
speed
cone
obstacle
collision
Prior art date
Application number
RU2011101372/08A
Other languages
English (en)
Other versions
RU2011101372A (ru
Inventor
Чангку КИМ
Дэхун КИМ
Стивен Дж. ГАЙ
Жатин ЧХУГАНИ
Энтони-Транг Д. НГУЙЭН
Original Assignee
Интел Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Интел Корпорейшн filed Critical Интел Корпорейшн
Publication of RU2011101372A publication Critical patent/RU2011101372A/ru
Application granted granted Critical
Publication of RU2482541C2 publication Critical patent/RU2482541C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Изобретение относится к области задач имитации толпы при формировании компьютером изображений. Техническим результатом является увеличение графической производительности вычислительного устройства. Способ расчета скорости (117, 217) без столкновения для агента (110) в среде (100) имитации толпы содержит этапы, на которых идентифицируют квадратичную задачу оптимизации, которая соответствует скорости без столкновений, и находят точное решение для квадратичной задачи оптимизации, используя геометрический подход. 3 н. и 3 з.п. ф-лы, 5 ил.

Description

Область техники, к которой относится изобретение
Раскрытые варианты осуществления изобретения, в общем, относятся к формированию компьютером изображений и, более конкретно, относятся к задачам имитации толпы при формировании компьютером изображений.
Уровень техники
Приложения виртуального мира (например. Вторая жизнь), становятся важным компонентом парадигмы объединенных визуальных вычислений (CVC). Одна из важных задач, которые должны быть выполнены, представляет собой AI (искусственный интеллект), в котором персонажи виртуального мира выполняют конкретные назначенные задачи и перемещаются в этом мире. Навигация персонажа, также называемая имитацией толпы, представляет собой задачу, требующую большого объема вычислений, и существующие алгоритмы могут имитировать только несколько тысяч агентов в режиме реального времени. Этот порядок представляет собой величину, отличную от требуемой поддержки от десятков до сотни тысяч агентов, которая могла бы потребоваться для генерирования реального сценария виртуального мира.
Краткое описание чертежей
Раскрытые варианты выполнения будут более понятны в результате чтения следующего подробного описания совместно с приложенными чертежами, на которых:
на фиг.1 представлен простой сценарий имитации толпы, включающий в себя трех агентов, в соответствии с вариантом осуществления изобретения;
на фиг.2 показана иллюстрация геометрического подхода к раскрытию сценария имитации толпы без столкновений, в соответствии с вариантами осуществления изобретения;
на фиг.3 показана блок-схема последовательности операций, иллюстрирующая способ вычислений скорости без столкновений для агента в среде имитации толпы, в соответствии с вариантом осуществления изобретения; и
на фиг.4 показана блок-схема последовательности операций, иллюстрирующая способ расчета скорости без столкновений для агента в среде имитации толпы, в которой агент имеет исходную скорость и ассоциирован с множеством конусов препятствий, находящихся в пространстве, скорости, в соответствии с вариантом осуществления изобретения.
Для упрощения и ясности иллюстрации, на чертежах показана общая манера построения, и подробное описание хорошо известных свойств и технологий может быть исключено для исключения ненужного загромождения описания описанных выше вариантов осуществления изобретения. Кроме того, элементы на чертежах необязательно вычерчены в масштабе. Например, размеры некоторых элементов на фигурах могут быть преувеличены относительно других элементов для помощи и улучшения понимания вариантов осуществления настоящего изобретения. Одинаковыми номерами ссылочных позиций на разных чертежах обозначены одинаковые элементы, в то время как одинаковые номера ссылочных позиций необязательно должны обозначать одинаковые элементы.
Термины "первый", "второй", "третий", "четвертый" и т.д. в описании и в формуле изобретения, если они присутствуют, используются для отличия, между различными аналогичными элементами и необязательно предназначены для описания определенного последовательного или хронологического порядка. Следует понимать, что термины, используемые таким образом, являются взаимозаменяемыми в определенных обстоятельствах, таким образом, что варианты выполнения изобретения, описанные здесь, могут, например, работать в других последовательностях, чем представлены или по-другому описаны здесь. Аналогично, если способ описан здесь, как содержащий последовательности этапов, порядок таких этапов, как представлен здесь, необязательно является единственным порядком, в котором такие этапы могут быть выполнены, и определенные указанные этапы могут быть исключены, и/или некоторые другие этапы, не описанные здесь, могут быть добавлены к способу. Кроме того, термины "содержать", "включать в себя", "иметь", и любые их варианты, предназначены для охвата неисключающего включения, таким образом, что процесс, способ, изделие, или устройство, которое содержит список элементов, не обязательно ограничены этими элементами, но могут включать в себя другие элементы, не выраженные явно в списке, или неотъемлемые от такого процесса, способа, изделия или устройства.
Термины "левый", "правый", "передний", "задний", "верхний", "нижний", "выше" и т.д. в описании и в формуле изобретения, если они присутствуют, используются с целью описания и не обязательно для описания постоянных относительных положений. Следует понимать, что термины, используемые таким образом, являются взаимозаменяемыми в соответствующих обстоятельствах так, что варианты осуществления изобретения, описанные здесь, обеспечивают возможность работы в других ориентациях, кроме представленных или по-другому описанных здесь. Термин "соединенный", используемый здесь, определен как прямо или последовательно соединенный электрическим или неэлектрическим способом. Объекты, описанные здесь, как "расположенные рядом" друг с другом, могут находиться в физическом контакте друг с другом, или находиться в непосредственной близости друг к другу, или в одной и той же общей области или в зоне друг друга, в соответствии с контекстом, в котором используется эта фраза. Появление фразы "в одном варианте осуществления" здесь не обязательно всегда относится к одному и тому же самому варианту осуществления.
Подробное описание изобретения
В одном варианте осуществления изобретения способ расчета скорости без столкновений для агента в среде имитации толпы идентифицирует задачу квадратичной оптимизации, которая соответствует скорости без столкновений и позволяет находить точное решение для задачи квадратичной оптимизации, используя геометрический подход.
Имитация толпы в виртуальных мирах становится все более важной, учитывая наступление сайтов трехмерных социальных сетей, аналогично, имитация толпы представляет собой все более растущий компонент AI участка контура визуальной имитации. Расчет скоростей без столкновений агентов представляет собой часть, занимающую наибольшее время алгоритма имитации толпы. Способ, наиболее часто используемый в настоящее время, называется RVO (препятствие для встречной скорости), при котором формируют конусы препятствий для агента в пространстве скорости и рассчитывают скорость, которая максимизирует время до столкновения в этих конусах. В алгоритме используется способ на основе выбора, где выбирают набор из 200-300 выборок среди однородно распределенных точек, и выборку, которая максимизирует время до столкновения, выбирают как скорость для следующего временного этапа агента. Этот способ даже не гарантирует нахождение скорости без столкновений и фактически часто приводит к столкновениям между агентами.
В отличие от этого в вариантах осуществления изобретения формулируют задачу поиска скорости без столкновений, как задачу квадратичной оптимизации, и решают ее, точно используя геометрический подход, как будет дополнительно описано ниже (задача квадратичной оптимизации выполняет поиск оптимального значения, где функция оптимизации является квадратичной, и функции ограничения являются линейными). Варианты осуществления изобретения позволяют рассчитывать локальную скорость исключения столкновений агентов существенно быстрее, чем в используемых в настоящее время способах, и позволяет генерировать реалистичную модель трехмерной толпы, получая новые сценарии использования, и обеспечивая более богатое впечатление пользователя. Раскрытые способы также применимы в современных 3D играх, поскольку они представляют собой конкретный случай виртуальных миров.
Рассмотрим теперь чертежи, на фиг.1 представлено пространство скоростей простого сценария 100 имитации толпы, включающее в себя трех агентов, в соответствии с вариантом осуществления изобретения. Как показано на фиг.1, эти три агента включают в себя агента 110 вместе с агентами 120 и 130, которых агент 110 должен избежать. Стрелки 115 (по одной для каждого агента 110, 120 и 130) представляют предпочтительную скорость (например, найденную, используя расчеты, в соответствии с вариантами осуществления изобретения) для каждого агента в следующем кадре. Конусы 125 и 135 препятствий представляют препятствия для скорости агента 110, соответствующие, соответственно, агентам 120 и 130. Такие препятствия для скорости составляют области скоростей, которые приводят к столкновениям с другими агентами. Другими словами, каждая точка внутри конуса соответствует скорости, которая, в конечном итоге, приводит к столкновению, между агентом 110 и одним или обоими агентами 120 и 130 (если только эти агенты поддерживают постоянную скорость), в то время как каждая точка за пределами обоих конусов соответствует скорости без столкновений. Конечно, агенты 120 и 130 могут очень хорошо управлять изменением скорости от одного момента к следующему, делая принятие постоянной скорости малостоящим, но поскольку конусы препятствия обновляют на каждом временном этапе или в кадре обновления, такая потенциальная проблема уменьшается.
Как показано, стрелка 115 скорости для агента 110 пересекает конус 125 препятствий, что означает неизбежное столкновение с агентом 120. Поэтому для агента 110 должна быть рассчитана новая скорость для того, чтобы избежать столкновения; эта новая скорость должна находиться за пределами обоих конусов препятствий. Рассматривая все еще фиг.1, одна из таких новых скоростей представлена стрелкой 117. Поскольку такая новая скорость расположена за пределами конусов 125 и 135 препятствий, она (на основе информации, известной в момент времени, представленный на чертеже) позволяет агенту 110 избежать столкновения с агентами 120 и 130. Конечно, стрелка 117 представляет только одну из множества возможных скоростей без столкновений. Такая конкретная скорость была выбрана, поскольку она находится за пределами всех конусов препятствий и находится ближе всего к исходной скорости, сводя, таким образом, к минимуму резкое изменение скорости для агентов 110 и обеспечивая возможность плавного и естественного движения. Способ, с помощью которого выбирают такую ближайшую скорость, будет подробно описан ниже.
Как упомянуто выше, варианты осуществления изобретения рассчитывают новую (без столкновений) скорость (которая, как следует напомнить, представляет собой точку в двумерном пространстве скоростей), которая находится за пределами всех конусов препятствий и отклоняет последние от точки исходной скорости. Это может быть выполнено в результате минимизации евклидового расстояния новой скорости от исходной скорости для получения следующей квадратичной задачи оптимизации (в которой (х0, y0) представляет исходную скорость и (x, y) представляет новую скорость соответствующего агента):
Минимизировать (x-x0)2+(y-y0)2, таким образом, чтобы Aix+Biy<Ci для всех сегментов конуса. (1)
Для N конусов существует 2N таких (линейных) ограничений.
Вместо использования таких способов, как внутренняя точка, активный набор, или сопряженный градиент, в вариантах осуществления изобретения используется геометрическое свойство задачи имитации толпы, для геометрического расчета получаемой в результате скорости (x, y). В качестве примера, соответствующая, получаемая в результате, скорость может быть визуализирована путем манипуляций с конусами препятствий в пространстве скорости, как показано на фиг.2.
На фиг.2 представлен конус 225 препятствия и конус 235 препятствия, оба из которых возникают для соответствующего агента (не показан), как результат присутствия других, находящихся рядом, агентов (также не показаны). Исходная скорость для данного агента представлена в точке 215. Варианты осуществления изобретения направлены на разделение конусов 225 и 235 препятствий на "сегменты", которые имеют длину, обусловленную линиями границ конуса, заканчивающимися концом линий или пересечениями с другим сегментом линий (в качестве иллюстрации, на фиг.2, например, показан сегмент 237 линий внутри конуса 235 препятствий, и дополнительно показаны сегменты 227 и 228 линий, внутри конуса 225 препятствия). Далее, сегменты конуса разделяют на "внутренние" и "внешние" области, в зависимости от их мест расположения, либо внутри, или снаружи других конусов, как представлено (где "внешние" области включают в себя области границ конуса, при условии, что они не находятся внутри любых других конусов). Тестирование внешних/внутренних сегментов конуса обычно представляют собой проверку линейного ограничения, и может быть представлено выражением в форме Ax+Bx<С. Следуя разделению на внутренние и внешние сегменты минимальное расстояние каждого сегмента от исходной точки рассчитывают для поиска ближайшей точки скорости каждого сегмента (то есть точки на каждом сегменте, которая ближе всего к исходной точке скорости), и затем, из этих ближайших точек, выбирают общую ближайшую точку скорости, как новую скорость. Эта точка представлена на фиг.2 точкой 217.
В некоторых сценариях может не быть возможным найти такое решение. В этих случаях самое малозначимое ограничение удаляют (например, агент, который является менее значимым для данного агента, игнорируют), и задачу оптимизации решают в соответствии с этапами, в общем, описанными выше. В качестве наименее важного агента можно принять агенты, которые находятся дальше всего от данного агента, или агенты, которые движутся в направлении, непосредственно противоположном направлению движения данного агента, или которые по другим причинам могут в наименьшей степени повлиять на данного агента.
Варианты осуществления изобретения обеспечивают возможность моделирования толпы за время выполнения (для количества агентов, изменяющегося в диапазоне от 100 до 250000 и больше), которое на порядок выше по магнитуде и быстрее, чем наилучшее время исполнения, представленное в литературе. Кроме того, варианты осуществления изобретения масштабируются приблизительно линейно в пределах большого количества ядер (32 и больше), и также позволяют эксплуатировать параллелизм уровня данных для достижения еще большего ускорения обработки. В восьмиядерной системе Intel Penryn всего наблюдались 7Х параллельных масштабов. При моделировании с использованием многоядерных имитаторов достигали масштабирования 29Х на 32 ядрах. Все вместе, на 8 ядерной системе 3,2 Гц Penryn, варианты осуществления изобретения позволяют имитировать 15000 агентов при 58 FPS (кадров в секунду) и 5000 агентов в сложных окружающих средах при 121 FPS.
Описанные выше результаты были получены, и варианты осуществления изобретения испытывали и сравнивали с существующими способами, используя такие входные данные, как будут описаны ниже.
Круг 100: 100 агентов начинают движение, будучи расположенными равномерно вокруг круга, и пытаются передвигаться непосредственно через круг в свое противоположное положение на другой стороне. Этот сценарий становится весьма скучным, когда все агенты встречаются в середине, что приводит к вихревому поведению.
Четыре потока: 2000 агентов организуют в четыре потока, которые движутся вдоль диагонали квадрата. Наблюдали плавное движение, формирование тропинок и некоторые вращения.
Впереди и назад: от 10 до 100 агентов движутся вперед и назад вдоль линии. Этот тест был запущен параллельно с OpenSteer (библиотека C++, которая помогает построить управляемое поведение для автономных персонажей в играх и в анимации) для сравнения количества столкновений не модифицированного OpenSteer, по сравнению со столкновениями OpenSteer, в комбинации с вариантами осуществления изобретения.
Эвакуация из здания: агенты установлены в исходные положения в разных комнатах офисного здания. В сцене присутствуют 218 препятствий, и дорожная карта состоит из 429 узлов и 7200 ребер. Агенты движутся в направлении целевых положений, соответствующих знакам выхода. В этом сценарий использовали три версии с 500, 1000 и 5000 агентами, соответственно.
Сцена стадиона: она имитирует движение 25000 агентов, при их выходе с их мест на стадионе. Сцена имеет приблизительно 1400 препятствий, и дорожная карта состоит из почти 2000 узлов и 3200 ребер. Агенты движутся в направлении коридоров, что приводит к сценарию скопления и плотной упаковки.
Имитация города: использовали модель города со зданиями и улицами, и 1500 препятствиями. Дорожная карта имела 480 узлов и 916 ребер. Имитировали движение разных агентов по мере их перемещения в городе и в местах пересечения. Агенты перемещаются с разными скоростями и догоняют друг друга и избегают столкновений с приближающимися агентами. Использовали три версии этого сценария с 10000, 100000 и 250000 агентами, соответственно.
На фиг.3 показана блок-схема последовательности операций, иллюстрирующая способ 300 расчета скорости без столкновений для агента в среде имитации толпы, в соответствии с вариантом осуществления изобретения. Скорость без столкновений рассчитывали с использованием вычислительного устройства. В одном варианте выполнения вычислительное устройство может быть подключено через сеть передачи данных ко второму вычислительному устройству.
Этап 310 способа 300 предназначен для идентификации квадратичной задачи оптимизации, которая соответствует скорости без столкновений. В качестве примера, квадратичная задача оптимизации может быть аналогична выражению (1), которое показано выше. В качестве другого примера, вычислительное устройство может представлять собой компьютер-клиент, второе вычислительное устройство может представлять собой сервер, и сеть передачи данных может представлять собой Интернет.
Этап 320 из способа 300 направлен на то, чтобы найти точное решение в вычислительном устройстве для квадратичной задачи оптимизации, используя геометрический подход. В некоторых вариантах осуществления геометрический подход включает в себя идентификацию конусов препятствий для агента в пространстве скорости и в поиске точки, которая находится за пределами конусов препятствий (в случае, когда точка представляет собой скорость без столкновений).
В некоторых вариантах осуществления поиск точки (скорости без столкновений) содержит идентификацию множества сегментов границы конуса препятствий, идентификацию поднабора сегментов границы конуса препятствий, которая расположена за пределами всех конусов препятствий, расчет (для каждого сегмента границы конуса препятствий в поднаборе) минимального расстояния от исходной точки в пространстве скоростей, которая соответствует исходной скорости агента, и выбор наименьшего одного из рассчитанных минимальных, расстояний. Это наименьшее одно из минимальных расстояний будет представлять собой требуемую точку, то есть скорость без столкновений.
На фиг.4 показана блок-схема последовательности операций, иллюстрирующая способ 400 расчета скорости без столкновений для агента в среде имитации толпы, в которой агент имеет исходную скорость и ассоциирован с множеством конусов препятствий, находящихся в пространстве скорости, в соответствии с вариантом осуществления изобретения. Способ 400 направлен на решение ситуации, которая аналогична решаемой с помощью способа 300, но описана по-другому.
На этапе 410 способа 400 идентифицируют, как внешний сегмент границы, все сегменты границы конусов препятствий, которые находятся за пределами всех других конусов препятствий. В качестве примера, конус препятствия может быть аналогичен конусам 125, 135, 225, и 235 препятствий, которые показаны на фиг.1 и 2, и находятся за пределами сегментов границы так, как определено выше при обсуждении фиг.2. Как отмечено выше, в ситуациях, когда не существуют сегменты внешней границы, способ дополнительно содержит, игнорирует один из конусов препятствия, например, конус препятствия, который маловероятно затронет агента или, более широко, конус препятствия, который в наименьшей степени может повлиять на агента, и в более общем случае, конус препятствия, который в наименьшей степени, чем другой конус препятствия может повлиять на агента. Возможные варианты идентичности таких конусов были описаны выше.
На этап 420 способа 400 рассчитывают для каждого внешнего сегмента границы минимальное расстояние внешнего сегмента границы от исходной скорости. Такой расчет может быть выполнен просто путем измерения евклидового расстояния (используя стандартные технологии) между точками в пространстве скорости.
На этапе 430 способа 400 выбирают, как скорость без столкновений, скорость, соответствующую наименьшему рассчитанному минимальному расстоянию.
На фиг.5 показана блок-схема последовательности операций, иллюстрирующая способ 500 расчета скорости без столкновений для агента в приложении виртуального мира в соответствии с вариантом осуществления изобретения. В способе 500 используется ситуация, которая аналогична ситуации, в которой применяются способы 300 и 400, но она описана по-другому. Каждый один из этапов 510-550 способа 500 выполняют для каждого кадра обновления изображения или этапа времени контура визуальной имитации приложения виртуального мира.
На этапе 510 способа 500 получают исходную скорость для агента. Следует понимать, что при этом не требуется (хотя это разрешено) фактически выполнять расчет; при этом просто требуется, чтобы исходная скорость была известна перед выполнением следующих этапов. Таким образом, исходная скорость может быть рассчитана, получена из сервера виртуального мира, или получена каким-либо другим способом.
На этапе 520 способа 500 строят конус препятствия в пространстве скорости для каждого чужого агента в приложении виртуального мира, расположенного на определенном расстоянии от агента. Вначале, как описано выше, каждый такой конус препятствия представляет набор всех скоростей, которые приводят к столкновению, между агентом и определенным чужим агентом, если предположить, что не происходит изменение в скорости определенного чужого агента.
На этапе 530 способа 500 идентифицируют множество возможных новых скоростей для агента, каждая из которых находится за пределами всех конусов препятствий. В одном варианте осуществления этап 530 содержит, идентифицирует множества сегментов границы конуса препятствий, идентифицируют поднабор сегментов границы конуса препятствий, который находится, за пределами всех конусов препятствий, и для каждого сегмента границы конуса препятствия в поднаборе, рассчитывают минимальное расстояние от исходной точки в пространстве скорости, которая соответствует исходной скорости агента.
На этапе 540 способа 500 определяют расстояние от исходной скорости до каждой одной из возможных новых скоростей для поиска определенной одной из возможных новых скоростей, которая находится ближе всего к исходной скорости, в одном варианте осуществления, поиск определенной одной из возможных новых скоростей содержит минимизацию (x-x0)2+(y-y0)2 таким образом, чтобы Aix+Biy<C, для каждого одного из конусов препятствия, где (x0, y0) представляет исходную скорость, (x, y) представляет собой скорость без столкновения агента, и Aix+Biy<C представляет собой проверку линейного ограничения.
На этапе 550 способа 500 выбирают ближайшую одну из множества новых скоростей, как скорость без столкновений для кадра обновления изображения.
Хотя изобретение было описано со ссылкой на конкретные варианты осуществления, для специалистов в данной области техники будет понятно, что различные изменения могут быть выполнены без выхода за пределы сущности или объема изобретения. В соответствии с этим, раскрытие вариантов осуществления изобретения предназначено для использования в качестве иллюстрации объема изобретения и не предназначено для ограничения. Предполагается, что объем изобретения должен быть ограничен только в степени, требуемой приложенной формулой изобретения. Например, для специалистов в данной области техники будет совершенно понятно, что способ и расчеты имитации толпы и связанные с ними способы, описанные здесь, могут быть воплощены в различных вариантах осуществления, и что приведенная выше дискуссия в некоторых из этих вариантах осуществления не обязательно представляют полное описание всех возможных вариантов осуществления.
Кроме того, преимущества, другие преимущества и решения задач были описаны со ссылкой в отношении определенных вариантов выполнения. Преимущества, предпочтения, решения задач, и любой элемент или элементы, которые могут привести к возникновению любого преимущества, предпочтения, или решения, или могут сделать его более выраженным, однако, не следует рассматривать как критические, требуемые, или существенные свойства или элементы любого или всех пунктов формулы изобретения.
Кроме того, варианты осуществления и ограничения, описанные здесь, не предназначены для публикации, в соответствии с доктриной, посвященной вариантам осуществления и/или ограничениям: (1) не заявлены в явном виде в формуле изобретения; и (2) является или являются потенциально эквивалентными элементам и/или ограничениям выражения в формуле изобретения, в соответствии с доктриной эквивалентов.

Claims (6)

1. Способ расчета скорости без столкновений для агента в среде имитации толпы, используя вычислительное устройство, соединенное с сетью передачи данных, содержащий:
идентифицируют квадратичную задачу оптимизации с помощью вычислительного устройства для нахождения точного решения квадратичной задачи оптимизации для заданного временного этапа, путем
идентификации конуса препятствий для агента в пространстве скорости; и
нахождения точки, которая расположена за пределами конуса препятствий, причем эта точка представляет скорость без столкновений, и передают скорость без столкновений через сеть передачи данных, в котором
поиск точки содержит следующее:
идентифицируют множества сегментов границы конуса препятствия;
идентифицируют поднабор сегментов границы конуса препятствий, который находится за пределами всех конусов препятствий;
для каждого сегмента границы конуса препятствий в поднаборе рассчитывают минимальное расстояние от исходной точки в пространстве скорости, которая соответствует исходной скорости агента; и
выбирают наименьшее одно из рассчитанных минимальных расстояний.
2. Способ по п.1, в котором
квадратичная задача об оптимизации содержит минимизацию (x-x0)2+(y-y0)2 таким образом, что Aix+Biy<Ci для всех сегментов конуса препятствия, где (x0, y0) представляет собой исходную скорость агента, (x, y) представляет собой скорость без столкновений агента, и Aix+Biy<Ci представляет собой проверку линейного ограничения.
3. Способ расчета скорости без столкновений для агента в среде имитации толпы с использованием вычислительного устройства, соединенного с сетью передачи данных, в котором агент имеет исходную скорость и ассоциирован с множеством конусов препятствий, находящихся в пространстве скорости, содержащий следующее:
идентифицируют как сегмент внешней границы все сегменты границ конусов препятствий, которые находятся за пределами всех других конусов препятствий;
для каждого сегмента внешней границы с использованием вычислительного устройства рассчитывают минимальное расстояние сегмента внешней границы от исходной скорости; и
выбирают как скорость без столкновений скорость, соответствующую рассчитанному минимальному расстоянию, и передают рассчитанное минимальное расстояние через сеть передачи данных.
4. Способ расчета скорости без столкновений для агента в приложении виртуального мира, который также содержит множество других агентов, рассматриваемых как чужие агенты, при этом способ выполняется с использованием вычислительного устройства, соединенного с сетью передачи данных, и содержит
для каждого кадра обновления изображения контура визуальной имитации для приложения виртуального мира следующее:
получают исходную скорость для агента;
строят конус препятствия в пространстве скорости для каждого чужого агента в приложении виртуального мира, который расположен в пределах определенного расстояния от агента, причем каждый такой конус препятствия представляет собой набор всех скоростей, которые могут привести к столкновению, между агентом и конкретным чужим агентом, если предположить, что не происходит изменение скорости конкретного чужого агента;
идентифицируют множество возможных новых скоростей для агента, каждая из которых расположена за пределами всех конусов препятствий;
определяют расстояние от исходной скорости до каждой одной из возможных новых скоростей для того, чтобы найти определенную одну скорость из возможных новых скоростей, которая расположена ближе всего к исходной скорости;
выбирают ближайшую оду из множества возможных новых скоростей как скорость без столкновений для кадра обновления изображения; и
передают ближайшую оду из множества возможных новых скоростей через сеть передачи данных.
5. Способ по п.4, в котором
идентификация множества возможных новых скоростей содержит следующее:
идентифицируют множество сегментов границы конуса препятствия;
идентифицируют поднабор сегментов границы конуса препятствия, которые расположены за пределами всех конусов препятствия; и
для каждого сегмента границы конуса препятствия в поднаборе рассчитывают минимальное расстояние от исходной точки в пространстве скорости, которое соответствует исходной скорости агента.
6. Способ по п.4, в котором
поиск конкретной одной из возможных новых скоростей содержит следующее: минимизируют (x-x0)2+(y-y0)2 таким образом, чтобы Aix+Biy<Ci для каждого одного из конусов препятствий, где (x0, y0) представляет исходную скорость, (x, y) представляет собой скорость без столкновения агента, и Aix+Biy<Ci представляет собой проверку линейного ограничения.
RU2011101372/08A 2009-12-29 2011-01-13 Способ расчета скорости без столкновений для агента в среде имитации толпы RU2482541C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/655,362 US20110161060A1 (en) 2009-12-29 2009-12-29 Optimization-Based exact formulation and solution of crowd simulation in virtual worlds
US12/655,362 2009-12-29

Publications (2)

Publication Number Publication Date
RU2011101372A RU2011101372A (ru) 2012-07-20
RU2482541C2 true RU2482541C2 (ru) 2013-05-20

Family

ID=43598684

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011101372/08A RU2482541C2 (ru) 2009-12-29 2011-01-13 Способ расчета скорости без столкновений для агента в среде имитации толпы

Country Status (6)

Country Link
US (1) US20110161060A1 (ru)
CN (1) CN102110311A (ru)
DE (1) DE102010055708A1 (ru)
GB (1) GB2476714A (ru)
RU (1) RU2482541C2 (ru)
TW (1) TWI512679B (ru)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10109097B2 (en) 2011-08-01 2018-10-23 Autodesk, Inc. Dynamic collision avoidance for crowd simulation over structured paths that intersect at waypoints
TWI599988B (zh) * 2012-04-23 2017-09-21 天門有限公司 製作內容細膩的視訊之方法及其相關之電腦程式與電腦可讀取媒體
CN104008562B (zh) * 2014-06-06 2017-05-31 东南大学 一种面向用户规划的虚拟人群仿真框架
CN104809743B (zh) * 2015-04-23 2019-07-26 清华大学 高密度人群踩踏事故风险计算与预警方法
CN105589464B (zh) * 2016-03-28 2019-02-26 哈尔滨工程大学 一种基于速度障碍法的uuv动态避障方法
KR20230098927A (ko) 2016-03-31 2023-07-04 매직 립, 인코포레이티드 포즈들 및 멀티-dof 제어기들을 사용하는 3d 가상 객체들과상호작용들
CN112650232B (zh) * 2020-12-15 2023-08-22 大连海事大学 一种结合colrges的逆速度障碍法动态避障方法
CN116036603B (zh) * 2023-01-28 2023-05-30 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040059548A1 (en) * 2002-09-09 2004-03-25 Marios Kagarlis Method of simulating movement of an autonomous entity through an environment
US20040073368A1 (en) * 2002-05-10 2004-04-15 Hector Gonzalez-Banos Real-time target tracking of an unpredictable target amid unknown obstacles
US20060097683A1 (en) * 2004-11-11 2006-05-11 Yuji Hosoda Mobile robot
RU2364546C1 (ru) * 2008-01-28 2009-08-20 Институт проблем управления им. В.А. Трапезникова РАН Способ расхождения судна со встречными объектами

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW353741B (en) * 1997-09-26 1999-03-01 Inventec Corp Method of determining collision in a virtual space and processing method of the determined collision points
US7797107B2 (en) * 2003-09-16 2010-09-14 Zvi Shiller Method and system for providing warnings concerning an imminent vehicular collision
KR100578942B1 (ko) * 2004-10-18 2006-05-12 한국과학기술원 비례 항법을 이용한 무인 항공기의 충돌 회피 방법 및시스템
US20070271079A1 (en) * 2006-05-17 2007-11-22 Kentaro Oguchi Simulator for Vehicle Radio Propagation Including Shadowing Effects
KR101021105B1 (ko) * 2008-09-11 2011-03-15 포항공과대학교 산학협력단 초음파 센서를 이용하는 로봇의 지도 작성을 위한 상충이 소거된 최대 근사 우도 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073368A1 (en) * 2002-05-10 2004-04-15 Hector Gonzalez-Banos Real-time target tracking of an unpredictable target amid unknown obstacles
US20040059548A1 (en) * 2002-09-09 2004-03-25 Marios Kagarlis Method of simulating movement of an autonomous entity through an environment
US20060097683A1 (en) * 2004-11-11 2006-05-11 Yuji Hosoda Mobile robot
RU2364546C1 (ru) * 2008-01-28 2009-08-20 Институт проблем управления им. В.А. Трапезникова РАН Способ расхождения судна со встречными объектами

Also Published As

Publication number Publication date
GB2476714A (en) 2011-07-06
GB201021592D0 (en) 2011-02-02
TW201142744A (en) 2011-12-01
TWI512679B (zh) 2015-12-11
US20110161060A1 (en) 2011-06-30
CN102110311A (zh) 2011-06-29
DE102010055708A1 (de) 2012-05-10
RU2011101372A (ru) 2012-07-20

Similar Documents

Publication Publication Date Title
RU2482541C2 (ru) Способ расчета скорости без столкновений для агента в среде имитации толпы
US10325035B2 (en) Interactive dimensioning of parametric models
KR20230111188A (ko) 장면 레이아웃 추정
Barnett et al. Coordinated crowd simulation with topological scene analysis
JP2010262646A (ja) 動的グラフ用アニメーション・プランニング方法及び装置
US9342222B2 (en) Accessible chart navigation using object neighborhood
Tatzgern Situated visualization in augmented reality
US9910878B2 (en) Methods for processing within-distance queries
Stekovic et al. General 3d room layout from a single view by render-and-compare
Yuan et al. Research on simulation of 3D human animation vision technology based on an enhanced machine learning algorithm
Shelley et al. GerbilSphere: Inner sphere network visualization
Gayle et al. Interactive navigation of heterogeneous agents using adaptive roadmaps
WO2013164140A1 (en) Method, apparatus and computer program product for simulating the movement of entities in an area
Li et al. Research on evacuation simulation of underground commercial street based on reciprocal velocity obstacle model
US10002432B2 (en) Method and apparatus for rendering target fluid
Rabban et al. Visibility color map for a fixed or moving target in spatial databases
Ren et al. Inserting virtual pedestrians into pedestrian groups video with behavior consistency
CN111739134A (zh) 虚拟角色的模型处理方法、装置及可读存储介质
Li et al. Animating agents based on radial view in crowd simulation
Akaydın et al. Adaptive grids: an image-based approach to generate navigation meshes
JP2015106228A (ja) データ探索装置、データ探索装置の制御方法およびデータ探索装置の制御プログラム
Crociani et al. Simulating pedestrian dynamics in corners and bends: a floor field approach
CN107038176B (zh) 网络图页面渲染方法、装置及设备
Majumder et al. Pathfinding and navigation
CN111739135A (zh) 虚拟角色的模型处理方法、装置及可读存储介质

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20180114