全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
package import flash.display.Shape;import flash.display.Sprite;import flash.events.Event;/* * . * author Maxim Sprey */public class stick extends Sprite / Stick propertiesvar mass:Number = 6;/总质量var len:Number = 3;/总长度var div:Number = 50;var massDiv:Number = mass / div;/每一节的质量var lenDiv:Number = len / div;/每一节的长度0.06米 / Circle propertiesvar cX:Number = 300;var cY:Number = 200;var cR:Number = 50;/ World Characteristicsvar g:Number = 9.81;/重力加速度var pm:Number = 100; / Pixels/meter/像素相对 米的长度比例总长度为3米 有50节 那么每节相当于1.5个像素var dt:Number = 1 / 60;/时间单位帧频为60的画 dt 相当于一帧的时间 这是时间单位/var itr:uint = 3; / Number of rigid body iterations/ Program Characteristicsvar pX:Array = ;var pY:Array = ;var oX:Array = ;var oY:Array = ;var aX:Array = ;var aY:Array = ;var mS:Shape = new Shape();/每一个点的形状 我在这里 只是当他为一个空点 然后每2个点之间用直线连接public function stick():void /初始化 速度 加速度 位移for (var i:uint = 0; i = div; i+) / 初始化运动后坐标pXi = 10 + (lenDiv * pm * i);pYi = 10;/初始化运动前的坐标oXi = 10 + (lenDiv * pm * i);oYi = 10;/初始化加速度aXi = 0;aYi = 0;addChild(mS);addEventListener(Event.ENTER_FRAME, frame);public function frame(evt:Event):void /固定开始点pX0 =300 ;pY0 = 200;/最后一个点跟随鼠标运动pXpX.length - 1 = stage.mouseX;pYpY.length - 1 = stage.mouseY;/设置重力加速度accForces(); verlet();/判断是否碰到圆 然后做什么处理/checkColl();for (var j:uint = 0; j = div-1;j+)satConstraints();/ Draw linemS.graphics.clear();mS.graphics.lineStyle(1, 0x000000, 2);mS.graphics.moveTo(0,0);mS.graphics.drawCircle(cX, cY, cR);mS.graphics.moveTo(0, 0);mS.graphics.moveTo(pX0, pY0);pX0 =300 ;pY0 = 200;pXpX.length - 1 = stage.mouseX;pYpY.length - 1 = stage.mouseY;/画圆或者 矩形for (var i:uint = 0; i = div; i+) mS.graphics.lineTo(pXi, pYi);/mS.graphics.drawRect(pXi, pYi, 0,0);public function verlet():void for (var i:uint = 0; i = div; i+) var tempX:Number = pXi;pXi += (0.99*pXi - 0.99*oXi) + (aXi * pm * dt * dt);var tempY:Number = pYi;pYi += (0.99*pYi - 0.99*oYi) + (aYi * pm * dt * dt);oXi = tempX;oYi = tempY;public function accForces():void for (var i:uint = 1; i = div; i+) aYi = g;public function satConstraints():void for (var i:uint = 1; i = div; i+) var dx:Number = (pXi - pXi - 1) / pm;var dy:Number = (pYi - pYi - 1) / pm;var d:Number = Math.sqrt(dx * dx) + (dy * dy);var diff:Number = d - lenDiv;pXi -= (dx / d) * 0.5 *pm* diff;pYi -= (dy / d) * 0.5 *pm* diff;pXi - 1 += (dx / d) * 0.5 *pm* diff;pYi - 1 += (dy / d) * 0.5 *pm* diff;public function checkColl():void for (var i:uint = 0; i = div; i+) var dx:Number = pXi - cX;var dy:Number = pYi - cY;var r:Number =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学英语六年级上册Units 16主题式复习整合教学设计
- 初中九年级英语 Unit 7 Teenagers Should Be Allowed to Choose Their Own Clothes 写作与评价提升课教案
- 小学五年级英语上册 Unit 2 TeachersDay Part A 深度教学方案
- 高职建筑工程技术三年级:基于风险预控的挖孔桩工程安全方案编制-跨学科项目化教案
- 人教版四年级上册数学《大数的认识》单元整体教学设计
- 高中信息技术:人机交互智能优化课件系统教学设计
- 小学五年级数学下册期末解题技巧复习课教学设计
- 小学四年级英语《季节变换与生活》单元主题教学设计
- 数海寻踪 形中觅理-五年级下册数学“探索规律”创新教学设计
- 初中化学九年级项目式教学设计:低碳行动-碳足迹核算与校园微减排
- JGJ6-2011 高层建筑筏形与箱形基础技术规范
- 四等水准测量自动生成表格
- 2023年中国中医科学院广安门医院专项招聘医学类人员及高层次卫技人才考试历年高频考点试题含答案解析
- 工作场所安全使用化学品规定
- 9 日月明公开课一等奖市优质课赛课获奖课件
- DiGiCo-SD-系列软件说明书
- 《大道之行也》比较阅读12篇(历年中考语文文言文阅读试题汇编)(含答案与翻译)(截至2020年)
- GA 1815.8-2023交通运输系统反恐怖防范要求第8部分:公路隧道
- 化工设计概论第八章向非工艺专业提供设计条件
- 心理咨询与心理治疗:第5章 认知疗法的理论与技术
- 2023年中国融通医疗健康集团有限公司招聘笔试题库及答案解析
评论
0/150
提交评论