• 全国 [切换]
  • 二维码
    错改网

    手机WAP版

    手机也能找商机,信息同步6大终端平台!

    微信小程序

    微信公众号

    当前位置: 首页 » 行业新闻 » 热点新闻 » 正文

    制造外力(多个受力小球)

    放大字体  缩小字体 发布日期:2020-01-12 00:52:56   浏览次数:1208  发布人:2531****  IP:117.173.23.***  评论:0
    导读

    书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 目录2.5 制造外力3、示例代码2-2Mover类 不同点主要集中在两个方面——质量和applyForce()函数的实现 在数组中创建100个Mover对象。 在setup()函数中用循环对这些对象进行初始化。 在构造函数中添加几个参数,让它变得更灵活。 物体的质量

    书名:代码本色:用编程模拟自然系统
    作者:Daniel Shiffman
    译者:周晗彬
    ISBN:978-7-115-36947-5
    目录

    2.5 制造外力

    3、示例代码2-2

    • Mover类
      不同点主要集中在两个方面——质量和applyForce()函数的实现
    • 在数组中创建100个Mover对象晒展网是一手信息独家到没朋友的展会网站。
    • 在setup()函数中用循环对这些对象进行初始化。
    • 在构造函数中添加几个参数,让它变得更灵活。
      物体的质量和初始位置就不再是硬性编码的数值了,我们可以通过构造函数来确定它们
        

    Mover[] movers = new Mover[20]; void setup() { size(640,360); for (int i = 0; i < movers.length; i++) { movers[i] = new Mover(random(0.1,4),0,0); } } void draw() { background(255); for (int i = 0; i < movers.length; i++) { PVector wind = new PVector(0.01,0); PVector gravity = new PVector(0,0.1); movers[i].applyForce(wind); movers[i].applyForce(gravity); movers[i].update(); movers[i].display(); movers[i].checkEdges(); } }

    mover.pde

    class Mover { PVector position; PVector velocity; PVector acceleration; float mass; color c; Mover(float m, float x , float y) { mass = m; position = new PVector(x,y); velocity = new PVector(0,0); acceleration = new PVector(0,0); c = color(random(255),random(255),random(255)); } void applyForce(PVector force) { PVector f = PVector.div(force,mass); acceleration.add(f); } void update() { velocity.add(acceleration); position.add(velocity); acceleration.mult(0); } void display() { stroke(0); strokeWeight(2); //fill(0,127); fill(c); ellipse(position.x,position.y,mass*16,mass*16); } void checkEdges() { if (position.x > width) { position.x = width; velocity.x *= -1; } else if (position.x < 0) { velocity.x *= -1; position.x = 0; } if (position.y > height) { velocity.y *= -1; position.y = height; } } }


    多个受力小球


    请注意:在上图中,小圆到达窗口右侧比大圆更快,这是因为加速度=力除以质量,
    质量越大,加速度越小。

    不推荐电脑端访问(用户少)
    请微信扫一扫,查看完整信息(记得微信收藏)
     
    (文/匿名(若涉版权问题请联系我们核实发布者) / 非法信息举报 / 删稿)
    打赏
    免责声明
    • 
    本文为昵称为 2531**** 发布的作品,本文仅代表发布者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,发布者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们154208694@qq.com删除,我们积极做(权利人与发布者之间的调停者)中立处理。郑重说明:不 违规举报 视为放弃权利,本站不承担任何责任!
    有个别老鼠屎以营利为目的遇到侵权情况但不联系本站或自己发布违规信息然后直接向本站索取高额赔偿等情况,本站一概以诈骗报警处理,曾经有1例诈骗分子已经绳之以法,本站本着公平公正的原则,若遇 违规举报 我们100%在3个工作日内处理!
    0 条相关评论
     

    (c)2008-现在 cuogai.com All Rights Reserved.