博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
p2 弹簧
阅读量:4879 次
发布时间:2019-06-11

本文共 1219 字,大约阅读时间需要 4 分钟。

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

 

 

转载于:https://www.cnblogs.com/honghong87/p/9893239.html

你可能感兴趣的文章
20170906 - XML基础 - Q
查看>>
html让没有宽高限制的图片居中
查看>>
phpStudy中起用lua脚本
查看>>
钉钉开发系列(八)二维码扫描登录的实现
查看>>
android studio
查看>>
Linux简介和安装
查看>>
微信公众平台开发(86) 获取用户基本信息
查看>>
C#开发之反射的简单使用
查看>>
MSSQL重拾记录
查看>>
[转] VS2015中跑OpenGL红宝书第八版的第一章示例代码,运行
查看>>
shell编程笔记(1)
查看>>
Python学习(四)数据结构 —— str
查看>>
AndroidStudio检测不到genymotion虚拟设备
查看>>
volatile关键字
查看>>
Firebug入门指南
查看>>
Kotlin偏好设置
查看>>
PhpStorm一次性折叠所有函数或者方法
查看>>
[HEOI2014]大工程
查看>>
Windows 下 Oracle 10g 手工创建数据库
查看>>
《设计模式之禅》学习笔记(十二)
查看>>