全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 25335-2025铁路大型施工机械T梁架桥机
- 2025年中职体育保健与康复(运动损伤防护)试题及答案
- 2025年大学三年级(医学检验技术)临床血液学检验试题及答案
- 2025年大学三年级(网络工程)网络安全技术试题及答案
- 2026年注册公用设备工程师(给水排水-基础考试上)试题及答案
- 2026年中职第三学年(报关实务)报关流程综合测试题及答案
- 2025年大学大四(酒店管理)酒店战略管理基础试题及答案
- 2025年大学建筑设备(暖通空调运行)试题及答案
- 2026年黑龙江旅游职业技术学院单招综合素质笔试模拟试题带答案解析
- 2026年河南科技职业大学单招综合素质笔试备考试题带答案解析
- 副高级职称老师管理制度
- 国开《离散数学》大作业及答案
- 污泥处置年产54000吨生物质燃料原材料项目可行性研究报告模板
- 电动车项目计划书
- 2024年北京西城区高一(上)期末生物试卷和答案
- 【MOOC】先进制造工程训练-湖南大学 中国大学慕课MOOC答案
- 【MOOC】微型计算机原理与接口技术-南京邮电大学 中国大学慕课MOOC答案
- 移风易俗宣传课件
- 智慧医疗智能病房管理系统操作手册
- 高级卫生专业技术资格考试临床医学检验临床微生物(042)(副高级)试题及解答参考(2025年)
- JGJ100-2015车库建筑设计规范
评论
0/150
提交评论