Jump to content

Кэннон.js

Кэннон.js
Разработчик(и) Стефан Хедман
Стабильная версия
0.6.2 / 28 марта 2015 г. ( 28.03.2015 ) [ 1 ]
Репозиторий
Написано в JavaScript
Операционная система Независимый от ОС
Тип 3D физический движок
Лицензия МОЯ лицензия
Веб-сайт www .cannonjs .org

Cannon.js — это с открытым исходным кодом, JavaScript 3D- физический движок созданный Стефаном «schteppe» Хедманом. [ 2 ] В отличие от библиотек физического движка, перенесенных с C++ на JavaScript, cannon.js с самого начала написан на JavaScript и может использовать его возможности. [ 3 ] По сравнению с Ammo.js в 2013 году, cannon.js оказался «более компактным, более понятным, более мощным с точки зрения производительности, а также более простым для понимания», но не имел такого количества функций. [ 4 ]

Cannon.js поддерживает следующие формы: сфера, плоскость, прямоугольник, цилиндр, выпуклый многогранник , частица и поле высот . Эта коллекция фигур соответствует коллекции, используемой такими механизмами рендеринга, как Three.js и Babylon , но не является полной. Например, для X3DOM этого недостаточно, [ 4 ] приложение X3D , которое позволяет включать 3D-графику в веб-страницы без необходимости использования подключаемого модуля . [ 5 ]

Физический движок реализует динамику твердого тела, дискретное обнаружение столкновений и решатель ограничений Гаусса-Зейделя . [ 6 ] Он может выполнять моделирование ткани [ 7 ]

Cannon.js можно использовать с Three.js и Babylon.js. [ 8 ] [ 9 ] Средства рендеринга WebGL для создания 3D-сцен на основе физики. Его также можно использовать для синхронизации сетевой физики в многопользовательских онлайн-играх с использованием Lance.gg. [ 10 ]

Приведенный ниже пример кода создает сферу на плоскости, выполняет пошаговое моделирование и выводит моделирование сферы на консоль. Обратите внимание, что Cannon.js использует единицы СИ (метр, килограмм, секунда и т. д.). [ 11 ]

// Setup our world
var world = new CANNON.World();
world.gravity.set(0, 0, -9.82); // m/s²

// Create a sphere
var radius = 1; // m
var sphereBody = new CANNON.Body({
   mass: 5, // kg
   position: new CANNON.Vec3(0, 0, 10), // m
   shape: new CANNON.Sphere(radius)
});
world.addBody(sphereBody);

// Create a plane
var groundBody = new CANNON.Body({
    mass: 0 // mass == 0 makes the body static
});
var groundShape = new CANNON.Plane();
groundBody.addShape(groundShape);
world.addBody(groundBody);

var fixedTimeStep = 1.0 / 60.0; // seconds
var maxSubSteps = 3;

// Start the simulation loop
var lastTime;
(function simloop(time) {
  requestAnimationFrame(simloop);
  if (lastTime !== undefined) {
     var dt = (time - lastTime) / 1000;
     world.step(fixedTimeStep, dt, maxSubSteps);
  }
  console.log("Sphere z position: " + sphereBody.position.z);
  lastTime = time;
})();
  1. ^ «Релизы · schteppe/cannon.js» . GitHub.com . Проверено 11 мая 2021 г.
  2. ^ «Штефан Хедман» . Гитхаб . Проверено 27 апреля 2017 г.
  3. ^ Пралл, Чендлер (10 апреля 2012 г.). «Сравнение физических движков JavaScript» . Создавайте новые игры . Проверено 27 апреля 2017 г.
  4. ^ Jump up to: а б Хубер, Линда (2013). «Начальные шаги по объединению физических движков JavaScript с X3DOM». В Яне Бендере; Джереми Деквидт; Кристиан Дюрье; Габриэль Захманн (ред.). Семинар по взаимодействию с виртуальной реальностью и физическому моделированию (VRIPHYS 2013) . Ассоциация Еврографика. стр. 81–90. doi : 10.2312/PE.vriphys.vriphys13.081-090 . ISBN  978-3-905674-57-6 . {{cite book}}: |journal= игнорируется ( помогите )
  5. ^ «Справочная информация: что такое X3DOM и чем он может мне помочь?» . официальная документация x3dom . x3dom.org . Проверено 27 апреля 2017 г.
  6. ^ «Ветка: master. cannon.js/README.markdown» . Гитхаб. 22 апреля 2015 года . Проверено 27 апреля 2017 г.
  7. ^ «Моделирование физики ткани» .
  8. ^ «Создавайте замечательные интерактивные игры для Интернета: используя webgl и физический движок (babylon.js и cannon.js)» . Проверено 21 февраля 2017 г.
  9. ^ «Разработка игр MSDN с помощью Babylon.js» . Проверено 21 февраля 2017 г.
  10. ^ «Репозиторий исходного кода Ланса» . Гитхаб .
  11. ^ «Cannon.js — JavaScript» . www.javascripting.com . Проверено 22 декабря 2020 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 17261a8ee9a96347402152655d45062f__1700425860
URL1:https://arc.ask3.ru/arc/aa/17/2f/17261a8ee9a96347402152655d45062f.html
Заголовок, (Title) документа по адресу, URL1:
Cannon.js - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)