Sweep and prune

Sweep and prune

Sweep And Prune (рус. найти и обрезать) — название алгоритма в физических симуляциях, который применяется в задачах обнаружения столкновений для уменьшения количества пар сплошных тел (англ. solid), которые нужно проверить на столкновение, то есть на пересечение. Таким образом, Sweep And Prune является оптимизационным алгоритмом. Алгоритм Sweep And Prune сортирует начала (верхнюю границу) и концы (нижнюю границу) ограничивающего объёма (англ. Bounding volume) для каждого тела вдоль многих произвольных осей. Когда два тела двигаются, то их начала и концы могут накладываться. Если ограничивающие объёмы двух тел накладываются по всем осям, то данные тела помечаются для проверки на пересечение более точными и трудоёмкими алгоритмами.

Алгоритм Sweep And Prune эксплуатирует временную когерентность, так как с высокой вероятностью тела не переместятся на значительное расстояние во время одного шага симуляции. Из-за этого на каждом шаге симуляции сортированный список начал и концов ограничивающих объёмов может быть обновлен с относительно немногими вычислительными операциями.

В соответствии с типом используемого ограничивающего объёма является необходимым обновить размерности ограничивающего объёма каждый раз, когда тело переориентировано. Для обхода этого может использоваться временная когерентность для вычисления изменений в геометрии вычислительного объёма, что нуждается в меньшем количестве операций. Другим подходом является использование ограничивающих сфер (англ. Bounding sphere) в качестве ограничивающих объёмов.

Алгоритм «Sweep And Prune» также известен под названием «sort and sweep»,[1] какое было дано ему Дэвидом Бэрэффом (англ. David Baraff Ph. D) в своей работе в 1992 году[2]. Последующие работы, такие как «I-COLLIDE» Коуэна и других именуют алгоритм как «Sweep And Prune».[3]

Примечания

  1. Ericson, Christer (2005), «Real-time collision detection», Morgan Kaufmann series in interactive 3D technology, Amsterdam: Elsevier, сс. 329–338, ISBN 978-1558607323, <http://realtimecollisiondetection.net/books/rtcd/> 
  2. Baraff, D. (1992), «Dynamic Simulation of Non-Penetrating Rigid Bodies, (Ph. D thesis)», Computer Science Department, Cornell University, сс. 52–56, <http://www.cs.cmu.edu/~baraff/papers/index.html> 
  3. Cohen, Jonathan D.; Lin, Ming C.; Manocha & Ponamgi, Madhav K. (April 9-12, 1995), «I–COLLIDE: an Interactive and Exact Collision Detection System for Large Scale Environments)», Proceedings of the 1995 Symposium on Interactive 3D Graphics (Monterey, CA), сс. 189–196, <http://www.cs.jhu.edu/~cohen/Publications/icollide.pdf> 

Внешние ссылки

  • Sweep And Prune  (рус.). GameDev.ru (30 августа 2007 года). — Описание алгоритма с примерами программного кода. Архивировано из первоисточника 10 марта 2012. Проверено 8 июля 2009.

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "Sweep and prune" в других словарях:

  • Sweep and prune — In physical simulations, sweep and prune is a broad phase algorithm used during collision detection to limit the number of pairs of solids that need to be checked for collision, i.e. intersection. This is achieved by sorting the starts (lower… …   Wikipedia

  • Обнаружение столкновений — (англ. Collision detection)  вычислительная проблема обнаружения пересечений между собой двух или больше объектов. Тема чаще всего связана с её использованием в физических движках, компьютерной анимации и робототехнике. В дополнение к… …   Википедия

  • Collision detection — For collision detection on networks see CSMA/CD Collision detection typically refers to the computational problem of detecting the intersection of two or more objects. While the topic is most often associated with its use in video games and other …   Wikipedia

  • Box2D — Infobox Software name = Box2D caption = developer = Erin Catto latest release version = 2.0.1 latest release date = 2008 04 13 [http://sourceforge.net/projects/box2d Box2D on Sourceforge] ] latest preview version = latest preview date = operating …   Wikipedia

  • Box2D — Физический движок Разработчик Эрин Катто (англ. Erin Catto) Поддерживаемая ОС не зависит от ОС Написан на языке …   Википедия

  • Fairyfly — Fairyflies Temporal range: Early Cretaceous to present …   Wikipedia

  • History of Santa Clara County, California — Santa Clara County, California is one of California s original counties, but its history extends far back into prehistory.Early historyThe first documented inhabitants included the Ohlone, residing on Coyote Creek and Calaveras Creek, although… …   Wikipedia

  • Amputation — Removal of part or all of a body part enclosed by skin. For example, removal of part of a finger or an entire finger would be termed an amputation. Removal of an appendix, on the other hand, would not be termed amputation. A person who has… …   Medical dictionary

  • French Republican Calendar — History of France series French Revolution Causes Estates General National Assembly Storming of the Bastille National …   Wikipedia

  • Prophecies of Joseph Smith, Jr. — Joseph Smith Jr., the founder of the Latter Day Saint movement, is viewed as a prophet in the tradition of the ancient prophets recorded in the Bible by members of the Latter Day Saint movement. This article examines some of the prophecies… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»