Box2D: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
NeD80 (обсуждение | вклад) м викификация |
Нет описания правки |
||
Строка 17: | Строка 17: | ||
| website = http://www.box2d.org/ |
| website = http://www.box2d.org/ |
||
}} |
}} |
||
'''Box2D''' |
'''Box2D''' — [[компьютерная программа]], [[Свободное программное обеспечение|свободный]] [[Открытое программное обеспечение|открытый]] [[физический движок]]. Box2D является физическим движком реального времени и предназначен для работы с двухмерными физическими объектами. Движок разработан Эрином Катто ({{lang-en|Erin Catto}}), написан на [[язык программирования|языке программирования]] [[C++]] и распространяется на условиях [[лицензия zlib|лицензии zlib]]. |
||
Движок используется в двухмерных компьютерных играх, среди которых [[Crayon Physics Deluxe]], Rolando, Fantastic Contraption, Incredibots и многие другие браузерные [[Flash game|Flash-игры]].<ref>{{cite web|url=http://jayisgames.com/tag/box2d |title=Games Tagged with "box2d" |author= |publisher=Jayisgames.com |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> |
Движок используется в двухмерных компьютерных играх, среди которых [[Crayon Physics Deluxe]], Rolando, Fantastic Contraption, Incredibots и многие другие браузерные [[Flash game|Flash-игры]].<ref>{{cite web|url=http://jayisgames.com/tag/box2d |title=Games Tagged with "box2d" |author= |publisher=Jayisgames.com |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> |
||
Строка 26: | Строка 26: | ||
[[6 марта]] [[2008 год]]а была выпущена версия движка 2.0, в которой была представлена технология [[Continuous collision detection]] (обнаружение продолжающихся (непрерывных) столкновений) и был переработан [[API]]. |
[[6 марта]] [[2008 год]]а была выпущена версия движка 2.0, в которой была представлена технология [[Continuous collision detection]] (обнаружение продолжающихся (непрерывных) столкновений) и был переработан [[API]]. |
||
[[3 апреля]] [[2010 год]]а была выпущена версия Box2D 2.1.0. В новой версии были добавлены [[рейкастинг]], динамические ААВВ деревья, новые типы джойнтов (связок), был полностью переписан блок обнаружений непрерывных столкновений и |
[[3 апреля]] [[2010 год]]а была выпущена версия Box2D 2.1.0. В новой версии были добавлены [[рейкастинг]], динамические ААВВ деревья, новые типы джойнтов (связок), был полностью переписан блок обнаружений непрерывных столкновений и т. д.<ref name="2-1-0 forum">{{cite web|url= http://www.box2d.org/forum/viewtopic.php?f=2&t=4739 |title=Box2D 2.1.0 Released |author= Erin Catto |publisher=Официальный сайт Box2D |datepublished= 3 апреля 2010 года |accessdate= 17 апреля 2010 |lang= en}}</ref><ref>{{cite web|url= http://www.uraldev.ru/news/id/1863 |title=Box2D 2.1.0 |publisher= [[UralDev.ru]] |datepublished= 5 апреля 2010 года |accessdate= 17 апреля 2010}}</ref> |
||
== Кроссплатформенность == |
== Кроссплатформенность == |
||
Строка 33: | Строка 33: | ||
Box2D используется на [[Nintendo DS]], [[Wii]] и нескольких мобильных телефонах (включая [[iPhone]]), а также на большинстве основных [[Операционная система|операционных систем]] для [[ПК]]. |
Box2D используется на [[Nintendo DS]], [[Wii]] и нескольких мобильных телефонах (включая [[iPhone]]), а также на большинстве основных [[Операционная система|операционных систем]] для [[ПК]]. |
||
Движок был [[Портирование программного обеспечения|портирован]] на многие языки программирования и программные среды, включая [[Java]]<ref>{{cite web|url=http://www.jbox2d.org/ |title=JBox2D |author=Erin Catto |publisher=JBox2D.org |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref>, [[Adobe Flash]] (в [[ActionScript]]<ref>{{cite web|url=http://box2dflash.sourceforge.net/ |title=Box2DFlashAS3 2.0.1 |author= |publisher=[[SourceForge.net]] |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> и языках [[haXe]]<ref>{{cite web|url=http://code.google.com/p/physaxe/ |title=haXe Physics Engine |author= |publisher=code.google.com |datepublished= |accessdate= 2 апреля 2010 |description= |lang= en}}</ref>), [[C#]]<ref>{{cite web|url=http://code.google.com/p/box2dx/ |title= Box2DX on Google Code |author= |publisher=code.google.com |datepublished= |accessdate= 2 апреля 2010 |description= |lang= en}}</ref>, [[JavaScript]]<ref>{{cite web|url=http://box2d-js.sourceforge.net/ |title=Box2D JS |author= |publisher=[[SourceForge.net]] |datepublished= |accessdate= 2 апреля 2010 |description= |lang= en}}</ref> и [[D (язык программирования)|D]]<ref>{{cite web|url=http://www.dsource.org/projects/blaze |title= Blaze on dsource |author= |publisher=dsource.org |datepublished= |accessdate= 2 апреля 2010 |description= |lang= en}}</ref>. Присутствует связывание ({{lang-en|bindings}}) для использования откомпилированной библиотеки движка на [[Python]]<ref>{{cite web|url=http://code.google.com/p/pybox2d/ |title=Pybox2d on Google Code |author= |publisher= |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> и [[DarkBasic]]. |
Движок был [[Портирование программного обеспечения|портирован]] на многие языки программирования и программные среды, включая [[Java]]<ref>{{cite web|url=http://www.jbox2d.org/ |title=JBox2D |author=Erin Catto |publisher=JBox2D.org |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref>, [[Adobe Flash]] (в [[ActionScript]]<ref>{{cite web|url=http://box2dflash.sourceforge.net/ |title=Box2DFlashAS3 2.0.1 |author= |publisher=[[SourceForge.net]] |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> и языках [[haXe]]<ref>{{cite web|url=http://code.google.com/p/physaxe/ |title=haXe Physics Engine |author= |publisher=code.google.com |datepublished= |accessdate= 2 апреля 2010 |description= |lang= en}}</ref>), [[C Sharp|C#]]<ref>{{cite web|url=http://code.google.com/p/box2dx/ |title= Box2DX on Google Code |author= |publisher=code.google.com |datepublished= |accessdate= 2 апреля 2010 |description= |lang= en}}</ref>, [[JavaScript]]<ref>{{cite web|url=http://box2d-js.sourceforge.net/ |title=Box2D JS |author= |publisher=[[SourceForge.net]] |datepublished= |accessdate= 2 апреля 2010 |description= |lang= en}}</ref> и [[D (язык программирования)|D]]<ref>{{cite web|url=http://www.dsource.org/projects/blaze |title= Blaze on dsource |author= |publisher=dsource.org |datepublished= |accessdate= 2 апреля 2010 |description= |lang= en}}</ref>. Присутствует связывание ({{lang-en|bindings}}) для использования откомпилированной библиотеки движка на [[Python]]<ref>{{cite web|url=http://code.google.com/p/pybox2d/ |title=Pybox2d on Google Code |author= |publisher= |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> и [[DarkBasic]]. |
||
[[30 октября]] [[2009 год]]а было объявлено о том, что Box2D будет интегрирован в [[игровой движок]] [[Torque 2D]].<ref>{{cite web|url=http://www.torquepowered.com/community/blogs/view/18641 |title=Torque 2D Development Blog |author=Centaur Mich |publisher= |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> |
[[30 октября]] [[2009 год]]а было объявлено о том, что Box2D будет интегрирован в [[игровой движок]] [[Torque 2D]].<ref>{{cite web|url=http://www.torquepowered.com/community/blogs/view/18641 |title=Torque 2D Development Blog |author=Centaur Mich |publisher= |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> |
||
Строка 39: | Строка 39: | ||
== Технические характеристики == |
== Технические характеристики == |
||
[[Файл:Box2d-screenshot.png|thumb|300px|Демонстрация возможностей движка]] |
[[Файл:Box2d-screenshot.png|thumb|300px|Демонстрация возможностей движка]] |
||
Box2D предназначен для симуляции механики твёрдых тел с учётом ограничений. Движок может симулировать физические тела, составленные из [[Выпуклый многоугольник|выпуклых многоугольников]], |
Box2D предназначен для симуляции механики твёрдых тел с учётом ограничений. Движок может симулировать физические тела, составленные из [[Выпуклый многоугольник|выпуклых многоугольников]], [[окружность|окружностей]] и линий. Тела могут быть связаны ограничителями в [[Кинематическая пара|кинематические пары]] и подвергаться действию разных физических сил, таких как [[гравитация]], трение и удар. Тела также могут подвергаться действию внутренних сил, таких как [[упругость]]. |
||
Системы [[обнаружение столкновений|обнаружения столкновений]] и обработки ограничений состоят из трёх частей: возрастающей широкой фазы [[Sweep and prune]], блока непрерывных (продолжающихся) обнаружений столкновений, и стабильного линейного во времени блока решения столкновений. Эти алгоритмы предоставляют эффективную симуляцию быстро движущихся тел и больших массивов объектов без упускания пересечений и появления нестабильностей.<ref>{{cite web|url=http://www.box2d.org/manual.html |title=Box2D Manual |author=Erin Catto |publisher=box2d.org |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> |
Системы [[обнаружение столкновений|обнаружения столкновений]] и обработки ограничений состоят из трёх частей: возрастающей широкой фазы [[Sweep and prune]], блока непрерывных (продолжающихся) обнаружений столкновений, и стабильного линейного во времени блока решения столкновений. Эти алгоритмы предоставляют эффективную симуляцию быстро движущихся тел и больших массивов объектов без упускания пересечений и появления нестабильностей.<ref>{{cite web|url=http://www.box2d.org/manual.html |title=Box2D Manual |author=Erin Catto |publisher=box2d.org |datepublished= |accessdate= 2 апреля 2010 |lang= en}}</ref> |
Версия от 19:45, 30 мая 2010
Box2D | |
---|---|
Тип | Подпрограммное обеспечение |
Разработчик | Эрин Катто (англ. Erin Catto) |
Написана на | C++ |
Операционная система | не зависит от ОС |
Последняя версия | 2.1.0[1] (3 апреля 2010 года) |
Репозиторий | github.com/erincatto/Box… |
Лицензия | лицензии zlib[2] |
Сайт | box2d.org |
Box2D — компьютерная программа, свободный открытый физический движок. Box2D является физическим движком реального времени и предназначен для работы с двухмерными физическими объектами. Движок разработан Эрином Катто (англ. Erin Catto), написан на языке программирования C++ и распространяется на условиях лицензии zlib.
Движок используется в двухмерных компьютерных играх, среди которых Crayon Physics Deluxe, Rolando, Fantastic Contraption, Incredibots и многие другие браузерные Flash-игры.[3]
История
Первая версия Box2D была выпущена под названием «Box2D Lite» в качестве движка, для физической презентации, которую показал Эрин Катто на выставке Game Developers Conference 2006. 11 сентября 2007 года движок, стал доступным для скачивания на сайте SourceForge.net.
6 марта 2008 года была выпущена версия движка 2.0, в которой была представлена технология Continuous collision detection (обнаружение продолжающихся (непрерывных) столкновений) и был переработан API.
3 апреля 2010 года была выпущена версия Box2D 2.1.0. В новой версии были добавлены рейкастинг, динамические ААВВ деревья, новые типы джойнтов (связок), был полностью переписан блок обнаружений непрерывных столкновений и т. д.[1][4]
Кроссплатформенность
Движок Box2D является кроссплатформенным ПО, он написан на платформо-независимом языке программирования C++, поэтому может работать (выполнятся) на любой платформе, на которой присутствует компилятор C++. Движок может быть скомпилирован в режимах с фиксированной запятой и с плавающей запятой.
Box2D используется на Nintendo DS, Wii и нескольких мобильных телефонах (включая iPhone), а также на большинстве основных операционных систем для ПК.
Движок был портирован на многие языки программирования и программные среды, включая Java[5], Adobe Flash (в ActionScript[6] и языках haXe[7]), C#[8], JavaScript[9] и D[10]. Присутствует связывание (англ. bindings) для использования откомпилированной библиотеки движка на Python[11] и DarkBasic.
30 октября 2009 года было объявлено о том, что Box2D будет интегрирован в игровой движок Torque 2D.[12]
Технические характеристики
Box2D предназначен для симуляции механики твёрдых тел с учётом ограничений. Движок может симулировать физические тела, составленные из выпуклых многоугольников, окружностей и линий. Тела могут быть связаны ограничителями в кинематические пары и подвергаться действию разных физических сил, таких как гравитация, трение и удар. Тела также могут подвергаться действию внутренних сил, таких как упругость.
Системы обнаружения столкновений и обработки ограничений состоят из трёх частей: возрастающей широкой фазы Sweep and prune, блока непрерывных (продолжающихся) обнаружений столкновений, и стабильного линейного во времени блока решения столкновений. Эти алгоритмы предоставляют эффективную симуляцию быстро движущихся тел и больших массивов объектов без упускания пересечений и появления нестабильностей.[13]
Связанные физические движки
Ранняя версия движка Box2D называлась Box2D Lite и использовалась в презентациях Эрина Катто, которые он показывал на выставке Game Developers Conference. Box2D Lite использует те же алгоритмы, что и у Box2D, но имеет меньший набор функций.[14]
Физические движки Chipmunk[15] (написан на C) и Phys2D[16] (написан на Java) являются частично основанными на Box2D Lite.
Примечания
- ↑ 1 2 Erin Catto. Box2D 2.1.0 Released (англ.). Официальный сайт Box2D (3 апреля 2010). Дата обращения: 17 апреля 2010.
- ↑ Erin Catto. Box2D Main Page (англ.). box2d.org (9 октября 2007). Дата обращения: 2 апреля 2010.
- ↑ Games Tagged with "box2d" (англ.). Jayisgames.com. Дата обращения: 2 апреля 2010.
- ↑ Box2D 2.1.0 . UralDev.ru (5 апреля 2010). Дата обращения: 17 апреля 2010.
- ↑ Erin Catto. JBox2D (англ.). JBox2D.org. Дата обращения: 2 апреля 2010.
- ↑ Box2DFlashAS3 2.0.1 (англ.). SourceForge.net. Дата обращения: 2 апреля 2010.
- ↑ haXe Physics Engine (англ.). code.google.com. Дата обращения: 2 апреля 2010.
- ↑ Box2DX on Google Code (англ.). code.google.com. Дата обращения: 2 апреля 2010.
- ↑ Box2D JS (англ.). SourceForge.net. Дата обращения: 2 апреля 2010.
- ↑ Blaze on dsource (англ.). dsource.org. Дата обращения: 2 апреля 2010.
- ↑ Pybox2d on Google Code (англ.). Дата обращения: 2 апреля 2010.
- ↑ Centaur Mich. Torque 2D Development Blog (англ.). Дата обращения: 2 апреля 2010.
- ↑ Erin Catto. Box2D Manual (англ.). box2d.org. Дата обращения: 2 апреля 2010.
- ↑ Box2D Lite on Game Physics Weblog
- ↑ Chipmunk on Google Code (англ.). code.google.com. Дата обращения: 2 апреля 2010.
- ↑ Phys2D engine website (англ.). cokeandcode.com. Дата обращения: 2 апреля 2010.