API Docs for: 0.7.1
Show:

ContactEquation Class

非穿透约束方程,用于让接触点A 和接触点B 向量一致,同时保持作用力排斥

构造器

ContactEquation

(
  • bodyA
  • bodyB
)

参数:

Methods

addToWlambda

(
  • deltalambda
)

添加约束速度到刚体中

参数:

  • deltalambda Number

computeB

() Number

计算SPOOK 方程的RHS 值(Computes the RHS of the SPOOK equation)

Returns:

Number:

computeGiMf

() Number

计算G值乘以 inv(M)(M 为每个物体对角线块的质量矩阵) 乘以f (刚体的作用力)

Returns:

Number:

computeGiMGt

() Number

计算G值乘以 inv(M)(M 为每个物体对角线块的质量矩阵) 乘以G的导数 G'

Returns:

Number:

computeGq

() Number

计算G值乘以q(q 为广义刚体坐标)

Returns:

Number:

computeGW

() Number

计算G值乘以W(W 为刚体的速度)

Returns:

Number:

computeGWlambda

() Number

计算G值乘以W lambda (W 为刚体的速度)

Returns:

Number:

computeInvC

(
  • eps
)
Number

计算SPOOK等式的分母部分:C = G * inv(M)* G'+ eps

参数:

  • eps Number

Returns:

Number:

gmult

() Number

将雅可比项乘以相应的位置或速度

Returns:

Number:

update

()

根据当前参数计算SPOOK参数.a,.b和.epsilon。 参见SPOOK笔记中的等式9,10和11。.

Properties

bodyA

Body

将要参与约束的第一个刚体

bodyB

Body

将要参与约束的第二个刚体

contactPointA

Array

刚体到接触点的向量

contactPointB

Array

刚体到接触点的向量

enabled

Boolean

设置或获取当前方程式的可用状态,如果为true, 它将被添加到求解中

firstImpact

Boolean

当两个刚体第一次碰撞(非持续碰撞)时这一属性会被设置为true

G

Array

两个连接对象的雅克布矩阵,包含了6个数字,分别是两个对象的x, y 和 angle

maxForce

Number

求解时施加的最大作用力

minForce

Number

求解时施加的最小作用力

multiplier

Number

由上一次求解得到的约束乘数,大致相当于约束所产生的作用力

needsUpdate

Boolean

标志刚度或弛豫是否改变

normalA

Array

法向量,指向刚体外部

relativeVelocity

Number

相对速度

relaxation

Number

稳定约束方程所需的步进, 通常为3到5个步进

restitution

Number

弹性系数(0 为无弹性,1为最大弹性)

shapeA

Shape

触发碰撞的刚体的形状

shapeB

Shape

触发碰撞的刚体的形状

stiffness

Number

约束方程的刚度,通常使用一个较大的数字(〜1e7),但也可以自由设置一个数字以获得比较稳定的模拟