互动编程习作——表现随机行为及牛顿运动学

第0章     引言

本章主要学习的关于随机数模拟实现的相关代码。

1.传统的随机游走类

随机出0-3的一个数,分别判断向上下左右四个方向运动,较简单


2.概率和非平均分布


随机生成0-1中一个数,小于0.4则向右,0.4-0.6则向左,0.6-0.8则向上,其他则向下,总体该点的运动趋势是向右。


习题示例1:

代码在文件夹中给出



拓展1:四个有50%概率互相追赶的动态walker对象

代码在文件夹中给出



3.随机数的正态分布

绘制正态分布叠加的椭圆:


4.自定义分布的随机数

蒙特卡洛算法:


数字越大则被选到的概率越大


5.Perlin噪声

调用noise()即可得到噪声值


可生成噪声游走模型


习题示例2:

二维perlin噪声着色:

代码在文件夹中给出


运行结果:


拓展2:将二维噪声中的xoff和yoff的增幅改为随机数


运行结果:


画面明显更加杂乱了


第一章 向量

1.   定义向量


习题示例1:用向量对象来实现弹球程序

程序见文件夹



2.向量的运算

习题示例2 用向量减法实现屏幕中心到鼠标所在点的连线

程序见文件夹


习题示例3 用向量乘法将中心到鼠标的连线缩小到一半

程序见文件夹


习题示例4 向量长度可视化

程序见文件夹


示例拓展1 将以上四个实验综合实现

程序见文件夹


向量单位化较简单,不做赘述。

3.加速度

示例5 恒定加速度运动

程序见文件夹


实现随机加速度给加速度乘以随机值即可。

示例6 使物体朝着鼠标位置加速

程序见文件夹

对加速度稍作处理即可


拓展2 接球小游戏

程序见文件夹

当小球碰壁(或玩家控制的板子)后将某一方向的速度反向

板子接到球之后加一分

小球全程受重力(向下加速度),受风力(左右随机的加速度)

若小球掉入底边则重置游戏重置分数。


其余部分较简单略过

检测碰撞函数:



第2章       

1.   牛顿运动定律,初中知识,略过

2.  加上质量处理的受力函数:


在每一帧要将加速度清零,防止加速度累加


示例1受风力和重力的小球

程序和运行结果见文件夹



拓展1 可交互改变方向的风力

程序见文件夹

增加一行风力控制代码


摩擦力模拟,一个时刻与运动方向反向的力



示例2流体阻力模拟

程序见文件夹

核心的阻力代码:


引力模拟



示例3多个物体之间的万有引力

双循环给每个物体之间加上引力即可,程序见文件夹


第3章      振荡

1.   角度

示例1 指向运动方向的运动

程序见文件夹


在之前“朝鼠标运动的物体”实验基础上,加上旋转物体的代码,使物体时刻转向运动方向。

拓展1交互控制运动方向的“飞船模拟”

程序见文件夹

改变物体旋转角度的update函数,角度+=角速度


2.  正弦余弦函数的应用

示例2 绘制波形

程序见文件夹


拓展2 可交互的噪声曲线

程序见文件夹


3.钟摆和弹簧

钟摆加速度:


弹力:


示例3 弹簧钟摆

程序见文件夹



第4章       粒子系统

1.   单个粒子类

和之前定义的mover类类似,每个粒子包括位置,速度加速度。

但是额外加入一个粒子的生存时长变量

2.使用ArrayList

ArrayList的实现思路和普通数组类似,循环时使用迭代器完成遍历

3.粒子系统类

示例1单个粒子系统

程序见文件夹

拓展1原点能动态移动的粒子系统

程序见文件夹

设置粒子系统的起始位置

4.多态粒子系统

创建单个列表,多态允许把所有东西都当成粒子对象

5.受力作用的粒子系统

示例2受力作用的粒子系统

程序见文件夹


拓展2大块物体碎裂效果

程序见文件夹

单击时激活粒子系统即可


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 年少的时候,无论如何也不能理解的,年少轻狂,“年少不知愁滋味,欲赋新词强说愁”,年少无知,都将在岁月中含泪咽下,...
    兰溪照弱水阅读 46评论 0 1
  • 今天就是平安夜了,你收到礼物了吗?我只能悄悄地说一句,我是自己过的(心里有些小沮丧)。想到三年前的平安夜、圣诞...
    天真小白阅读 374评论 0 0
  • 2219-吾爱庐 猫叔,原来你是如此可爱,音频最后他唱道“快去打卡,快去打卡”……我莞尔一笑……仿佛看到一个很调皮...
    吾爱庐阅读 126评论 0 1