API Docs / Microsoft.VisualBasic.Imaging.Physics
Microsoft.VisualBasic.Imaging.Physics 1.0.9753.4776.
Namespaces 8
Types 48
Members 357
01 Namespaces
Microsoft.VisualBasic.Imaging.Physics
| Type | Summary |
Members |
| FluidEngine3D |
A 3D Smoothed Particle Hydrodynamics (SPH) water simulation engine. |
18 |
| FluidKernels |
SPH smoothing kernels used by FluidEngine. |
5 |
| FluidKernels3D |
SPH smoothing kernels used by the 3D fluid engine FluidEngine3D. |
5 |
| ForceMath |
|
8 |
| Grid3D |
The 3D counterpart of the 2D GridDynamics spatial hash. |
3 |
| IContainer3D |
the 3D volume container of the particles(the 3D counterpart of the 2D IContainer). |
2 |
| Particle |
|
8 |
| Particle3D |
A single water particle inside the 3D SPH fluid simulation. |
6 |
| PhysicsMaterial |
物理材质:摩擦系数 (friction) 与恢复系数 (restitution)。 碰撞时由碰撞双方材质组合得到最终的接触参数。 |
4 |
| PhysicsWorld |
2D 物理世界。以 PhysicsWorld.Step()) 固定步长驱动,内部按子步执行: 施加力场 → 由力积分速度 → 宽相位 → 窄相位 → 顺序冲量求解(接触 + 关节)→ 由速度积分位置 → 关节位置修正。 可直接接入游戏主循环(每帧调用一次 PhysicsWorld.Step()) 传入真实 dt)。 |
20 |
| RigidBody |
2D 刚体。不会发生形变,受力后整体平动 + 转动。 位置 RigidBody.Position 表示质心(世界坐标),RigidBody.Rotation 为 2D 标量角(弧度)。 |
36 |
| Vector2Math |
unity math + 2D rigid body helpers |
12 |
| Vector3 |
A self-contained double precision 3D vector used by the 3D fluid simulation engine FluidEngine3D. |
18 |
Microsoft.VisualBasic.Imaging.Physics.Boids
| Type | Summary |
Members |
| Boid |
Boids flocking algorithm |
7 |
| Field |
Boids flocking algorithm |
7 |
Microsoft.VisualBasic.Imaging.Physics.Collision
| Type | Summary |
Members |
| AABB |
轴对齐包围盒 |
7 |
| BroadPhase |
Broad Phase 宽相位剔除。将所有刚体的 AABB 写入均匀网格, 只返回网格相邻单元内可能相交的物体对,将碰撞检测从 O(n²) 降到约 O(n)。 |
1 |
| CircleCollider |
圆形碰撞体,圆心位于局部原点(= 质心) |
4 |
| Collider |
碰撞几何体基类 |
3 |
| ContactSolver |
顺序冲量接触求解器。对每个接触点迭代计算法向冲量(含恢复系数与 Baumgarte 穿透修正)和切向冲量(库仑摩擦),并将冲量应用到两个刚体。 |
7 |
| Manifold |
碰撞流形(接触信息)。法向量 Manifold.Normal 由 A 指向 B。 接触点最多 2 个(世界坐标),用于顺序冲量求解。 |
16 |
| NarrowPhase |
Narrow Phase 窄相位精确碰撞检测。根据几何体类型分派到具体算法, 生成 Manifold(法向由 A 指向 B、穿透深度、接触点)。 |
5 |
| PolygonCollider |
凸多边形碰撞体,顶点存储为相对质心(中心)的局部坐标 |
12 |
Microsoft.VisualBasic.Imaging.Physics.Collision.BroadPhase
| Type | Summary |
Members |
| BodyPair |
一对可能发生碰撞的刚体 |
2 |
Microsoft.VisualBasic.Imaging.Physics.ForceFields
| Type | Summary |
Members |
| ForceField |
力场基类。覆盖一个区域(ForceField.Region,为 Nothing 时表示全局), 每步对场内刚体施加力。派生类实现 ForceField.Apply())。 |
4 |
| GravityField |
重力场:对场内每个刚体施加 F = m·g(默认向下)。 可用于创建局部重力井或不同强度的重力区域。 |
3 |
| MagneticField |
磁力场(点源):以 MagneticField.Center 为中心,对场内刚体施加随距离 平方衰减的吸引或排斥力,模拟磁极/引力井等效果。 |
9 |
| WindField |
风力场:在区域内沿 WindField.Direction 施加风力,叠加正弦湍流使效果更自然。 力大小与刚体质量成正比(类比气压对物体的作用)。 |
7 |
Microsoft.VisualBasic.Imaging.Physics.Joints
| Type | Summary |
Members |
| IConstraint |
约束(关节)统一接口。在物理世界的速度迭代阶段调用 IConstraint.SolveVelocity()), 在位置阶段调用 IConstraint.SolvePosition()) 做穿透/漂移修正。 |
2 |
| PrismaticJoint |
滑块(棱柱)关节:允许两个刚体沿给定世界轴 PrismaticJoint.axis 自由滑动, 但约束垂直于该轴的相对平移以及相对旋转。 |
6 |
| RevoluteJoint |
铰链(旋转)关节:将两个刚体在各自的局部锚点处钉在一起,允许绕该点自由旋转。 在 2D 中这与球窝关节等价。 |
8 |
| SpringJoint |
弹簧关节:在两个刚体的锚点之间施加胡克弹力(与形变成正比)和阻尼力 (与相对速度成正比),模拟弹性连接(如绳索、弹簧、悬挂)。 |
12 |
| WeldJoint |
固定(焊接)关节:将两个刚体的相对位置与相对角度完全锁定, 相当于刚性连接(如焊接、铆接)。 |
6 |
Microsoft.VisualBasic.Imaging.Physics.layout
Microsoft.VisualBasic.Imaging.Physics.Particles2D
| Type | Summary |
Members |
| Emitter |
粒子发射器:在 Emitter.Position 处沿 Emitter.BaseAngle 方向、 以 Emitter.Spread 张角随机产生粒子。支持一次性爆发或持续生成。 |
15 |
| GameParticle |
单个粒子。数据极简(位置、速度、寿命、尺寸、颜色), 不与其他物理系统耦合以支持海量粒子。 |
8 |
| ParticleSystem |
轻量粒子系统。使用对象池复用 GameParticle,避免频繁分配; 每个粒子仅受重力与线性阻力影响,可承载海量粒子(爆炸、火花、灰尘、魔法等)。 不与刚体耦合,以保证性能。 |
8 |