java语言编写的processing,Processing从入门到精通

历时半年时间,把 Daniel Shiffman 的 《The nature of code》 通读2遍,第一遍快速浏览,第二遍编码实操,极大了提升了自己实际问题代码抽象化的能力,遂做此小结。

为什么要学Processing

Processing是一款所编即所得的软件,使用语言是Java,软件内置各种图像工具,可以很快的编码出图像类的交互形态,非常合适新手入门代码,或编码展示交互原型。

可以学到什么

1.伪码的逻辑性

不同语言有不同的语法,但其背后的逻辑是相通的。因此编码前,注重锻炼自己的伪码思考能力。当伪码逻辑顺畅后,编码只是将逻辑语言转化成代码语言。碰到问题,先从伪码思考逻辑,能极大的提高自己的实际问题代码抽象化的能力。

2.面向对象编程思想

面向对象编程思想概念本身学起来不难。将某个任务抽象成几个对象,对象有其自身的属性,对象间通过方法发生交互。难点在于如何抽象对象这一步,抽象的好,代码逻辑清晰,复杂度小。抽象的差,逻辑冗余,复杂度高。这一点在于多实操,多实践能打通脑回路中的闭塞模块。

3.死磕BUG的毅力

古人云:“写代码一半的时间都在写BUG,剩下的一半是在修BUG”。笔者深以为然。当伪码逻辑整理通顺后,自信流畅的书写完代码,按下Run键,满心期待着跑通效果,一堆 Error 让你怀疑人生。没有选择,挨个Debug,直至跑通。人生何尝不是如此呢,道理皆知,实操问题频出,不死磕,便不能克服这个难点,咬咬牙,Print error。

学习成果展示

结合随机函数形成随机漫步的效果

8588cf0ad3b9

结合向量熟悉平面中位置,速度,加速度的二维属性

8588cf0ad3b9

利用物理学基础原理模拟物体在现实世界中的运动

8588cf0ad3b9

结合弧度制,sin,cos,实现波形效果

8588cf0ad3b9

结合继承和多态,实现粒子效果

8588cf0ad3b9

确定目标情况下,感知外界环境,做出判断

8588cf0ad3b9

根据固定规律进行迭代进化

8588cf0ad3b9

结合递归,进行规则图形的绘制

8588cf0ad3b9

根据优胜劣汰进化算法进行迭代进化

8588cf0ad3b9

通过测试集训练算法

8588cf0ad3b9

展望

人工智能相关的技术不断前进着,作为技术迭代的见证者,还是要利用业余时间多关注相关领域的知识。希望下一次能跟大家分享学习 Android 或 Fullter 的感受。

附件

1.The nature of code 下载地址(提取码:6yqw)

2.Github 笔者代码地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>