zoukankan      html  css  js  c++  java
  • p2 弹簧

    P2中用来约束刚体运动的还有弹簧Spring。

    弹簧除约束两个刚体之间的运动轨迹外,通过damping阻尼和stiffness刚度系数等属性,使得刚体在向目标移动时,

    出现类似弹簧的简谐运动。Spring只是抽象的父类,参与运动模拟的是两个子类LinearSpring和RotationalSpring。

    1)LinearSpring:
    LinearSpring是线性弹簧,对刚体的约束行为和距离关节DistanceConstraint相同,按照指定的距离restLength将两个刚体约束在一起,其中任何一个刚体的位置发生变化,会牵制着另一个刚体运动,以保证两者的间距为distance。在运动过程中,刚体bodyB呈现简谐运动。两个刚体的角度不受约束,可以绕节点旋转。构造函数: 
    function LinearSpring(bodyA:Body, bodyB:Body, options:Object) 
    其中,bodyA和bodyB为受弹簧约束的两个刚体,options为关节设置选项,可以缺省,P2会按默认值进行设置。选项为: 
    ·stiffness:弹簧的刚度系数,默认100。 
    ·damping:弹簧做简谐运动过程中的阻尼系数,默认1 
    ·restLength:弹簧不受力状态下的长度,默认为worldAnchorA和worldAnchorB间的距离 
    ·localAnchorA:刚体bodyA本地坐标系下的节点坐标,默认[0,0] 
    ·localAnchorB:刚体bodyB本地坐标系下的节点坐标,默认[0,0] 
    ·worldAnchorA:弹簧节点在全局坐标系下的坐标,设置后将自动转换并覆盖localAnchorA 
    ·worldAnchorB:弹簧节点在全局坐标系下的坐标,设置后将自动转换并覆盖localAnchorB 
    2)RotationalSpring:
    RotationalSpring是扭力弹簧,对刚体的约束类似齿轮关节,按照指定的restAngle约束两个刚体之间的角度差。当刚体的角度不等于restAngle时,bodyB会进行简谐运动旋转,直至角度差恢复至restAngle。两个刚体的坐标位置不受约束,可以自由移动。 
    function LinearSpring(bodyA:Bodt, bodyB:Body, options:Object) 
    其中,bodyA和bodyB为受弹簧约束的两个刚体,options为关节设置选项,可以缺省,P2会按默认值进行设置。选项为: 
    ·restAngle:弹簧不受力无简谐运动下刚体bodyA和bodyB间的角度差,默认为创建扭力弹簧时两个刚体之间的角度差 
    ·stiffness:弹簧的刚度系数,默认100。 
    ·damping:弹簧做简谐运动过程中的阻尼系数,默认1

     
  • 相关阅读:
    poj 1984 Navigation Nightmare(带权并查集+小小的技巧)
    zoj 3261 Connections in Galaxy War(并查集逆向加边)
    poj 1733 Parity game(带权并查集)
    poj 1456 Supermarket(贪心+优先队列)
    hdu 3038 How Many Answers Are Wrong(并查集的思想利用)
    poj 1182 食物链(种类并查集 ‘初心者’)
    hdu 1182 A Bug's Life(简单种类并查集)
    hdu 4725 The Shortest Path in Nya Graph(建图+优先队列dijstra)
    CodeForces 779D. String Game(二分答案)
    poj 3169 Layout(差分约束+spfa)
  • 原文地址:https://www.cnblogs.com/honghong87/p/9893239.html
Copyright © 2011-2022 走看看