awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
schteppe avatar

schteppe/cannon.js

0
View on GitHub↗
4,979 星标·738 分支·JavaScript·MIT·7 次浏览schteppe.github.com/cannon.js↗

Cannon.js

cannon.js 是一个 JavaScript 3D 物理引擎,旨在计算三维空间中的刚体动力学和碰撞。它作为一个刚体动力学引擎,对质量、摩擦力和速度进行建模以确定物体运动,同时为应用物理约束和关节提供了数学框架。

该引擎支持多种碰撞体积,包括球体、盒子、凸多面体、用于地形模拟的高度场以及复杂的三角形网格。它提供了用于识别这些形状之间交集并计算物理交互接触精确区域的工具。

该系统涵盖了广泛的模拟功能,包括用于计算网格属性的几何分析、应用物理约束以创建机械装配,以及将物理模拟数据与外部 3D 网格同步以进行可视化。

Features

  • 3D Physics Engines - Implements a 3D physics engine in JavaScript for calculating real-time rigid body dynamics and collisions.
  • Rigid Body Physics Engines - Provides a comprehensive mathematical engine for calculating real-time collisions and physical forces for 3D spatial objects.
  • Collision Detection - Identifies intersections between 3D shapes using discrete collision detection and interaction filters.
  • 3D Collision Detection Frameworks - Provides a framework for calculating geometric intersections between spheres, boxes, polyhedrons, and meshes.
  • Overlap Detection - Detects overlaps between physical bodies and identifies specific contact points.
  • Mechanical Joint Constraints - Supports linking physical bodies with joint constraints such as hinges and distance locks to build mechanical assemblies.
  • Rigid Body Solvers - Implements a rigid body solver to resolve physical interactions and maintain geometric constraints.
  • Physics Simulations - Provides a mathematical framework for simulating physical collisions and constraints in 3D environments.
  • Rigid Body Dynamics - Models the motion and interaction of solid 3D objects using mass, friction, and restitution.
  • Separating Axis Theorem Collisions - Implements the Separating Axis Theorem to detect intersections between convex 3D shapes.
  • Local-to-World Coordinate Transformations - Converts shape-relative vertices into global scene coordinates to determine accurate intersection points.
  • Mesh-Based Collision Geometry - Uses indexed vertex arrays to define complex 3D geometry for precise collision detection.
  • Sequential Impulse Solvers - Calculates rigid body movement using sequential impulse solvers to resolve constraints and collisions.
  • Quaternion Rotations - Handles 3D orientation and angular velocity using quaternions to avoid gimbal lock.
  • Fixed-Step Integrators - Uses fixed-step integration to ensure stability and determinism in the physics simulation.
  • Mesh Property Calculators - Computes critical geometric data including face normals and approximate volume for triangle meshes to support physics calculations.
  • Game Physics Integration - Integrates physics simulation data with 3D meshes to visualize movement and collisions in a browser.
  • Physical Heightfield Simulations - Generates physical surfaces from height data to create interactive floors and landscapes.
  • Mesh and BVH Queries - Provides utilities to query mesh elements by transforming local vertices into world space coordinates.
  • Render Mapping - Implements capabilities to map rigid body position and orientation data to external 3D objects for visualization.
  • Visual State Synchronizations - Provides a mechanism to synchronize physics simulation state with 3D meshes for real-time visual updates.
  • Mass Property Calculation - Calculates mass, centroids, and rotational inertia based on the geometry of convex polyhedrons.
  • Fixture Shape Definitions - Provides definitions for 3D rectangular prisms used for collision detection and mass calculations.
  • Heightfield Generators - Generates 3D terrain surfaces from height data points for use as physical boundaries in simulations.
  • Static Surface Definitions - Allows the definition of infinite flat surfaces to simulate floors and walls.
  • Collision Hull Clipping - Trims faces and shapes against hulls and planes to determine exact areas of overlap for physics responses.
  • Graphic Libraries - Physics engine for 3D web applications.

Star 历史

schteppe/cannon.js 的 Star 历史图表schteppe/cannon.js 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Cannon.js 的开源替代方案

相似的开源项目,按与 Cannon.js 的功能重合度排序。
  • dimforge/rapierdimforge 的头像

    dimforge/rapier

    5,471在 GitHub 上查看↗

    Rapier is a cross-platform physics engine and rigid body dynamics solver designed for 2D and 3D simulations. It functions as a collision detection system and a robotics simulation framework, providing a consistent API for calculating physical interactions across different environments. The engine distinguishes itself with specialized robotics capabilities, including a toolkit for importing URDF and STL models to control multibody chains. It supports precise mechanical movement through inverse kinematics calculations and the application of PID controllers for dynamic body control. The simulat

    Rust
    在 GitHub 上查看↗5,471
  • erincatto/box2derincatto 的头像

    erincatto/box2d

    9,505在 GitHub 上查看↗

    Box2D is a 2D physics engine and rigid body simulator designed to compute collisions, forces, and joints in a two-dimensional plane. It functions as a collision detection library and a constraint-based physics solver that calculates the movement and interaction of solid objects using mass, friction, and restitution properties. The engine ensures consistency across different hardware architectures through a deterministic trigonometry implementation. It prevents high-speed objects from passing through boundaries using continuous collision detection and time-of-impact interpolation. The system

    C
    在 GitHub 上查看↗9,505
  • jrouwe/joltphysicsjrouwe 的头像

    jrouwe/JoltPhysics

    9,685在 GitHub 上查看↗

    JoltPhysics is a high-performance C++ physics engine designed for multi-threaded simulation of 3D rigid bodies and soft bodies. It serves as a deterministic simulation framework, ensuring identical results across different platforms and architectures to support networked synchronization. The engine distinguishes itself through a focus on concurrent execution across multiple CPU cores to handle large numbers of active bodies. It provides specialized systems for vehicle physics, including wheeled and tracked models, as well as soft body physics for deformable objects and cloth. The simulation

    C++c-plus-pluscppgame-development
    在 GitHub 上查看↗9,685
  • liabru/matter-jsliabru 的头像

    liabru/matter-js

    18,256在 GitHub 上查看↗

    Matter-js is a 2D rigid body physics engine written in JavaScript for simulating realistic physical interactions, collisions, and dynamics in web browsers. It functions as a web physics simulation library that calculates motion, gravity, and constraints for objects rendered on a web canvas. The library includes a built-in canvas physics visualizer to draw physical bodies, joints, and constraints for debugging and gameplay. It distinguishes itself through a plugin system that supports recursive dependency resolution and internal method patching to inject custom logic into the engine's executio

    JavaScriptcanvasjavascriptphysics
    在 GitHub 上查看↗18,256
查看 Cannon.js 的所有 30 个替代方案→

常见问题解答

schteppe/cannon.js 是做什么的?

cannon.js 是一个 JavaScript 3D 物理引擎,旨在计算三维空间中的刚体动力学和碰撞。它作为一个刚体动力学引擎,对质量、摩擦力和速度进行建模以确定物体运动,同时为应用物理约束和关节提供了数学框架。

schteppe/cannon.js 的主要功能有哪些?

schteppe/cannon.js 的主要功能包括:3D Physics Engines, Rigid Body Physics Engines, Collision Detection, 3D Collision Detection Frameworks, Overlap Detection, Mechanical Joint Constraints, Rigid Body Solvers, Physics Simulations。

schteppe/cannon.js 有哪些开源替代品?

schteppe/cannon.js 的开源替代品包括: dimforge/rapier — Rapier is a cross-platform physics engine and rigid body dynamics solver designed for 2D and 3D simulations. It… erincatto/box2d — Box2D is a 2D physics engine and rigid body simulator designed to compute collisions, forces, and joints in a… jrouwe/joltphysics — JoltPhysics is a high-performance C++ physics engine designed for multi-threaded simulation of 3D rigid bodies and… liabru/matter-js — Matter-js is a 2D rigid body physics engine written in JavaScript for simulating realistic physical interactions,… godotengine/godot-demo-projects — This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the… kripken/ammo.js — ammo.js is a JavaScript port of the Bullet physics engine, compiled via Emscripten to provide a high-performance…