- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章-2摩擦力
问题: 假设有一张纸,将它撕碎后用力丢向空中。纸片会受到重力向下的牵引 y 轴 ,当我们松手后,纸片的 x 轴起初运动得非常快,但很快 x 轴的运动速度又归为零。为什么? 摩擦力只改变速度向量中的速度,而不会改变运动的方向 摩擦力 speed vy vx a? 角度a: Math.atan2 vy, vx var speed:Number Math.sqrt vx * vx + vy * vy ; var angle:Number Math.atan2 vy, vx ; Speed? vx Math.cos angle * speed; vy Math.sin angle * speed; Vy? Vx? 从速度向量中减去速度,如果摩擦力大于速度,速度就变为零 public class Friction1 extends Sprite private var ball:Ball; private var vx:Number 0; private var vy:Number 0; private var friction:Number 0.1; public function Friction1 init ; private function init :void …… private function EnterFrame1 event:Event :void …… private function init :void stage.scaleMode StageScaleMode.NO_SCALE; stage.align StageAlign.TOP_LEFT; ball new Ball ; ball.x stage.stageWidth / 2; ball.y stage.stageHeight / 2; vx Math.random * 10 - 5; vy Math.random * 10 - 5; addChild ball ; addEventListener Event.ENTER_FRAME, onEnterFrame ; private function EnterFrame1 event:Event :void var speed:Number Math.sqrt vx * vx + vy * vy ; var angle:Number Math.atan2 vy, vx ; if speed friction speed - friction; else speed 0; vx Math.cos angle * speed; vy Math.sin angle * speed; ball.x + vx; ball.y + vy; 具体实现 具体实现 摩擦力常用的值大约为 0.9 或 0.8,用摩擦力乘以 x,y 速度向量vx,vy 在每一帧, vx 和 vy 的值都将变 为上一次的 80% 或 90% 理论上,速度向量会无限接近零,但永远不会等于零。在实际应用中,最终都会取整为零 这种方法最好的一点是速度向量永远不会变为负数, 所以不需要进行判断。同样, x,y 轴的速度向量也是同比率变化的,所以不需要再将进行繁琐的转换 private function EnterFrame1 event:Event :void vx * friction; vy * friction; ball.x + vx; ball.y + vy; 只需要将前面例子中的 firction 变量设为 0.9 , 然后改变 EnterFrame 1方法 让我们回到熟悉的飞船上,现在让宇宙空间具有摩擦力。在 6.1.4 书p125 的飞船折回 加入 friction 变量 private function onEnterFrame event:Event :void ship.rotation + vr; var angle:Number ship.rotation * Math.PI / 180; var ax:Number Math.cos angle * thrust; var ay:Number Math.sin angle * thrust; vx + ax; vy + ay; vx * friction; vy * friction; ship.x + vx; ship.y + vy; //飞船折回代码 …… 摩擦力还可以用在别的运动上,比方说在物体的旋转上 变量 vr
您可能关注的文档
最近下载
- 2025年全国英语等级考试PETS一级试卷:词汇与语法测试题库.docx VIP
- 2023年广西民族大学219翻译硕士泰语B卷考研真题.pdf VIP
- 汇川INOVANCE MD290系列通用变频器综合手册.PDF VIP
- 2020年广西民族大学219翻译硕士泰语(A卷)考研真题.pdf VIP
- GB-T 2423 2-2001电工电子产品环境试验第2部分:试验方法试验B:高温.docx VIP
- 第二单元《我们的班级》第7课《我是班级值日生》 (教学设计)统编版道德与法治二年级上册.docx VIP
- 实验室安全知识培训-完整版.pptx VIP
- 中华保险公司题目行测.pdf
- 练习十四 课件 人教版六年级数学上册.ppt VIP
- 2018年广西民族大学219翻译硕士泰语考研真题.pdf VIP
文档评论(0)