Основные понятия объектов физического мира — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Новая страница: «Для создания физических объектов в редакторе используется движок Box2D. Box2D — компьютерна...»)
 
м
 
(не показаны 2 промежуточные версии 1 участника)
Строка 10: Строка 10:
  
  
== '''Основные понятия объектов физического мира''' ==
+
== '''Основные понятия''' ==
 
  
'''Фигура (shape)'''
+
*'''Мир (world)'''
 +
Физический мир включает в себя все тела (bodies), крепления (fixtures) и ограничения (constraints), которые взаимодействуют друг с другом. Box2D поддерживает создание нескольких миров, но обычно в этом нет необходимости или это нежелательно.
 +
 
 +
*'''Фигура (shape)'''
 
Плоская геометрическая фигура, такая как окружность (circle) или многоугольник (polygon).
 
Плоская геометрическая фигура, такая как окружность (circle) или многоугольник (polygon).
  
'''Твердое тело (rigid body)'''
+
*'''Твердое тело (rigid body)'''
 
Предмет, состоящий из материала настолько прочного, что расстояние между любыми двумя точками этого предмета является постоянным при любых условиях. Предмет, прочный как алмаз. В дальнейшем, для удобства, мы будем использовать термин «тело» (body), вместо «твердое тело» (rigid body).
 
Предмет, состоящий из материала настолько прочного, что расстояние между любыми двумя точками этого предмета является постоянным при любых условиях. Предмет, прочный как алмаз. В дальнейшем, для удобства, мы будем использовать термин «тело» (body), вместо «твердое тело» (rigid body).
  
'''Крепление (fixture)'''
+
*'''Крепление (fixture)'''
 
«Крепление» привязывает фигуру (shape) к телу (body) и добавляет свойства материала, такие как: плотность (density), трение (friction) и упругость (restitution).
 
«Крепление» привязывает фигуру (shape) к телу (body) и добавляет свойства материала, такие как: плотность (density), трение (friction) и упругость (restitution).
  
'''Ограничение (constraint)'''
+
*'''Ограничение (constraint)'''
 
«Ограничение» – это физическая привязка, которая ограничивает свободу перемещения и/или вращения тел. На плоскости тело имеет 3 степени свободы (движение по вертикали и горизонтали, и вращение). Если мы возьмем тело и прикрепим его булавкой к стене, то мы ограничим движения тела стеной. В данном случае тело сможет только вращаться вокруг булавки, таким образом «ограничение» удалило 2 степени свободы тела.
 
«Ограничение» – это физическая привязка, которая ограничивает свободу перемещения и/или вращения тел. На плоскости тело имеет 3 степени свободы (движение по вертикали и горизонтали, и вращение). Если мы возьмем тело и прикрепим его булавкой к стене, то мы ограничим движения тела стеной. В данном случае тело сможет только вращаться вокруг булавки, таким образом «ограничение» удалило 2 степени свободы тела.
  
'''Контактное ограничение (contact constraint)'''
+
*'''Контактное ограничение (contact constraint)'''
 
Специальное «ограничение», предназначенное для предотвращения проникновения твердых тел друг в друга, а также моделирования трения и упругости. Вам не придется создавать такие ограничения; они создаются Box2D автоматически.
 
Специальное «ограничение», предназначенное для предотвращения проникновения твердых тел друг в друга, а также моделирования трения и упругости. Вам не придется создавать такие ограничения; они создаются Box2D автоматически.
  
'''Соединение (joint)'''
+
*'''Соединение (joint)'''
 
«Соединение» используется для скрепления вместе двух и более тел. Box2D поддерживает несколько типов соединений: «болтовое» (revolute), «призматическое» (prismatic), «жесткий отрезок» (distance), и другие. Некоторые соединения могут иметь ограничители (limits) и мускулы (motors).
 
«Соединение» используется для скрепления вместе двух и более тел. Box2D поддерживает несколько типов соединений: «болтовое» (revolute), «призматическое» (prismatic), «жесткий отрезок» (distance), и другие. Некоторые соединения могут иметь ограничители (limits) и мускулы (motors).
  
'''Ограничитель соединения (joint limit)'''
+
*'''Ограничитель соединения (joint limit)'''
 
«Ограничитель соединения» устанавливает диапазон движения соединения. Например, человеческое колено или локоть могут двигаться только в определенном диапазоне углов.
 
«Ограничитель соединения» устанавливает диапазон движения соединения. Например, человеческое колено или локоть могут двигаться только в определенном диапазоне углов.
  
'''Мускул соединения (joint motor)'''
+
*'''Мускул соединения (joint motor)'''
 
«Мускул соединения» управляет движением соединенных тел согласно степеням свободы соединения. Например, вы можете использовать мускул, чтобы управлять вращением колена.
 
«Мускул соединения» управляет движением соединенных тел согласно степеням свободы соединения. Например, вы можете использовать мускул, чтобы управлять вращением колена.
  
'''Мир (world)'''
+
*'''Солвер (solver)'''
Физический мир включает в себя все тела (bodies), крепления (fixtures) и ограничения (constraints), которые взаимодействуют друг с другом. Box2D поддерживает создание нескольких миров, но обычно в этом нет необходимости или это нежелательно.
+
В физическом мире Box2D есть солвер (или «решатель», дополнительно см. http://www.gamedev.ru/code/terms/Solver - прим. перев. tigrojop), который используется для времени продвижения (advance time) и для разрешения контактов и  совместных ограничений (joint constraints). Солвер Box2D является высокопроизводительным итеративным солвером, который отрабатывает порядка N раз, где N равно количеству ограничений (constraints).
  
'''Солвер (solver)'''
+
== '''Примеры использования''' ==
В физическом мире Box2D есть солвер (или «решатель», дополнительно см. http://www.gamedev.ru/code/terms/Solver - прим. перев. tigrojop), который используется для времени продвижения (advance time) и для разрешения контактов и  совместных ограничений (joint constraints). Солвер Box2D является высокопроизводительным итеративным солвером, который отрабатывает порядка N раз, где N равно количеству ограничений (constraints).
+
 
 +
 
 +
[[Category:Physicsworld]]

Текущая версия на 09:40, 16 сентября 2014

Для создания физических объектов в редакторе используется движок Box2D. Box2D — компьютерная программа, свободный открытый физический движок. Box2D является физическим движком реального времени и предназначен для работы с двухмерными физическими объектами. Полная документация по движку Box2D:

на английском (оригинал): http://box2d.org/manual.html

на русском (перевод имеет неточности и не полный) https://docs.google.com/document/pub?id=1taHWCfoCFFwdn0itFXSS5lKoHKebx4Z-27yZJ6vVACc


Основные понятия

  • Мир (world)

Физический мир включает в себя все тела (bodies), крепления (fixtures) и ограничения (constraints), которые взаимодействуют друг с другом. Box2D поддерживает создание нескольких миров, но обычно в этом нет необходимости или это нежелательно.

  • Фигура (shape)

Плоская геометрическая фигура, такая как окружность (circle) или многоугольник (polygon).

  • Твердое тело (rigid body)

Предмет, состоящий из материала настолько прочного, что расстояние между любыми двумя точками этого предмета является постоянным при любых условиях. Предмет, прочный как алмаз. В дальнейшем, для удобства, мы будем использовать термин «тело» (body), вместо «твердое тело» (rigid body).

  • Крепление (fixture)

«Крепление» привязывает фигуру (shape) к телу (body) и добавляет свойства материала, такие как: плотность (density), трение (friction) и упругость (restitution).

  • Ограничение (constraint)

«Ограничение» – это физическая привязка, которая ограничивает свободу перемещения и/или вращения тел. На плоскости тело имеет 3 степени свободы (движение по вертикали и горизонтали, и вращение). Если мы возьмем тело и прикрепим его булавкой к стене, то мы ограничим движения тела стеной. В данном случае тело сможет только вращаться вокруг булавки, таким образом «ограничение» удалило 2 степени свободы тела.

  • Контактное ограничение (contact constraint)

Специальное «ограничение», предназначенное для предотвращения проникновения твердых тел друг в друга, а также моделирования трения и упругости. Вам не придется создавать такие ограничения; они создаются Box2D автоматически.

  • Соединение (joint)

«Соединение» используется для скрепления вместе двух и более тел. Box2D поддерживает несколько типов соединений: «болтовое» (revolute), «призматическое» (prismatic), «жесткий отрезок» (distance), и другие. Некоторые соединения могут иметь ограничители (limits) и мускулы (motors).

  • Ограничитель соединения (joint limit)

«Ограничитель соединения» устанавливает диапазон движения соединения. Например, человеческое колено или локоть могут двигаться только в определенном диапазоне углов.

  • Мускул соединения (joint motor)

«Мускул соединения» управляет движением соединенных тел согласно степеням свободы соединения. Например, вы можете использовать мускул, чтобы управлять вращением колена.

  • Солвер (solver)

В физическом мире Box2D есть солвер (или «решатель», дополнительно см. http://www.gamedev.ru/code/terms/Solver - прим. перев. tigrojop), который используется для времени продвижения (advance time) и для разрешения контактов и совместных ограничений (joint constraints). Солвер Box2D является высокопроизводительным итеративным солвером, который отрабатывает порядка N раз, где N равно количеству ограничений (constraints).

Примеры использования