实验原理

绘制圆弧组成花瓣,旋转组合形成樱花,利用递归函数实现花团。

实验代码

//花树实现代码
var a = 40;
var t;
var bg;function setup(){bg = loadImage("bg.bmp");createCanvas(500,438);noStroke();
}function draw(){background(bg);translate(windowWidth/9, windowHeight/5);scale(0.7);FLOWER(a);
}function FLOWER(x){t = 53.1301024 / 360 * 2 * PI;//渐变填充fill(248,59,59,map(x, 0, a, 40, 240));flower(x);if(x <= 3) return 0;push();rotate(PI / 2 -t);translate((3/2)*x,-3*x);FLOWER(x/5*4);pop();push();rotate( - t);translate((-3/2)*x,-3*x);FLOWER(x/5*3);pop();}function flower(x)
{for(var i = 0; i < 5 ; i++){arc(0, -40, x, 2*x,(-1/2)*PI, (1/2)*PI);arc(0, -40, x, 2*x,(1/2)*PI, (-1/2)*PI);rotate(PI * 2 / 5);}
}

以及没有任何技术含量的小黄人绘制代码:

function cuteGuy()
{//bodyfill(255,215,0,180);rect(139.5,119,120,132);arc(200,120,120,80,PI,0);fill(24,116,205,180);arc(200,250,120,80,0,PI);//glasses&eyesfill(255,255,255,200);line(140,140,158,140);line(140,145,158,145);ellipse(179,145,42,42);ellipse(221,145,42,42);line(242,140,258,140);line(242,145,258,145);fill(0,0,0);ellipse(179,145,20,20);ellipse(221,145,20,20);fill(255,255,255);ellipse(182,142,5,5);ellipse(224,142,5,5);//mouthline(180,190,220,190);fill(200,20,20);arc(200,190,40,24,0,PI);//clothesfill(24,116,205,180);rect(160,235,80,15);line(140,250,160,250);line(160,250,160,235);line(160,235,240,235);line(240,235,240,250);line(240,250,260,250);stroke(24,116,205,180);strokeWeight(10);line(160,236,141,200);line(240,236,256,200);//armsnoStroke();fill(255,220,0,180);ellipse(104,162,30,30);ellipse(298,162,30,30);stroke(255,220,0,180);strokeWeight(12);line(141,213,110,173);line(256,213,289,173);//footsstroke(255,220,0,180);strokeWeight(16);line(180,292,180,312);line(220,292,220,312);noStroke();fill(139,76,57,180);arc(168,321,46,42,PI,0);arc(234,321,46,42,PI,0);}

对比展示

码绘展示:

手绘展示:


感想总结

思路对比:
使用processing编程作画时会首先考虑到运用哪些函数而非画面,作画因此会有所受限。作画途中会因技术问题不断修改画面组成元素,因此最终成果画面与预想画面相差较大。而手绘时受限不大,想画什么就画什么,最终成果画面与预想画面相差较小。
技术对比:
编程绘画所绘画面非常严谨而完美,对于一些结构严谨的图形作画非常方便,手绘难以匹敌。而对于较为复杂且无明显逻辑规律的线条画面,手绘更易完成。
创作体验:
对于较画面组成元素比较规整的图画,编程作画更加方便快捷且更严谨。
对于组成比较复杂的画面,还是手绘更加容易。现阶段手绘体验感略优。
创作偏好:
更习惯将编程绘画用于对称性强、画面元素规整、重复元素多的画面。
手绘更倾向于图案复杂性较高且无规律的作画。

资料参考

背景图的导入:
https://p5js.org/zh-Hans/examples/
基本形状绘制:
https://blog.csdn.net/qq_27534999/article/details/75151515

Processing——码绘与手绘对比静态篇相关推荐

  1. 编程与手绘的对比——静态篇

    编程与手绘的对比--静态篇 一:作品展示 (1)码绘 (2)手绘 二:思路 (1)创作思路:最开始的构思是画一个城堡,结构稍复杂的那种,因为周末刚好去了迪士尼,那里的魔幻城堡很好看,结构感很强,我试着 ...

  2. 码绘VS手绘|processing“运动”主题创作——如何让一只沙雕鸟起飞

    目录 一.代码逻辑 二.理论对比 三.参考资料 最终作品效果可以看上传在B站的视频:https://www.bilibili.com/video/av36523799 第一次码绘VS手绘指路:http ...

  3. 码绘与手绘的对比——动态

    码绘与手绘的对比--动态 版权声明:本文为博主原创文章,未经博主允许不得转载. 图形学最动人的地方就是可以用代码实现图形的动态效果,之前比较了静态效果下的码绘与手绘,传送门:https://blog. ...

  4. 码绘VS手绘(二) 如何让让静态图“动”起来

    前言 在上一篇码绘VS手绘(一) 编程与手绘的对比中,我们了解了有关码绘与手绘在静态图方面的比较,本文主要讲解如何分别通过手绘和码绘两种方式来使得静态图"动"起来,码绘使用的是pr ...

  5. 【动态】码绘VS手绘的对比——有点萌的开关

    [动态]码绘VS手绘的对比--有点萌的开关 背景简介 主题 成果展示 前期分析 制作过程 体会与思考 参考资料 背景简介 上一次简单的通过静态的手绘与码绘对两者进行了一些简单的对比,这一次更加好玩了, ...

  6. 对比码绘与手绘——Motion graph

    上一篇博客做的是静态画,那这篇当然要讲讲动态画.同样地,这次我们也是从思路.技术.创作体验.创作偏好等方面来比较码绘与手绘,讨论异同. 首先,展示一下作品: 码绘 利用P5.JS绘制作品 手绘 利用数 ...

  7. 码绘VS手绘(一) 编程与手绘的对比

    前言 本文主要讲解在静态图方面如何分别通过手绘和码绘两种方式来表现,以及它们之间的差异与联系,谨以此博客记录学习过程.博主新手一枚,这是博主第一次写博文,若有不足之处,还请温柔拍打~~(笔芯~~) 手 ...

  8. 码绘”与手绘比较——静态篇(码绘使用p5.js)

    码绘图 手绘图 先大体说一下码绘图的实现吧 其实实现起来没什么技术难度,就是过程比较繁琐. 背景就是几个不同颜色,不同透明度的四边形和三角形,用quad()和triangle()两个函数搞定,就不贴代 ...

  9. 码绘与手绘——表达动态

    一.手绘表现动态: 这个题目一开始看来 ,手绘是处于非常劣势的地位的,因为电脑上可以实现动态的过程,就是用动画的原理,每秒绘制60帧,不断进行重绘图形,来达到运动的效果的. 而本身来讲,手绘的图片本质 ...

  10. 码绘VS手绘(二)动态绘图

    码绘VS手绘(二)动态绘图 一.前言 二.实验内容 (一)主题 (二)实验结果 1.码绘 最终效果 程序结构 具体函数解析 2.手绘 三.总结--编程与手绘的比较 1.工具和载体 2.技法 3.理念 ...

最新文章

  1. JavaMail学习笔记(一)、理解邮件传输协议(SMTP、POP3、IMAP、MIME)
  2. 写出程序删除链表中的所有接点
  3. linux内存不足+段错误,在linux下代码运行出现段错误,求大神
  4. 复化梯形公式matlab程序_【HPC】高性能数值计算-梯形面积法
  5. linux中的权限管理,Linux中的用户和权限管理
  6. 采用AOP 的观点来 Log 所有方法的调用
  7. php 多选按钮,单选和多选按钮如何给图片加样式
  8. eclipse3.7.2+KEmulator搭建J2ME开发环境
  9. WebService测试工具,提供下载链接
  10. 看看天上的星星,都是为了给你们排位掉下来的
  11. 2018PS cc版本最新最实用学习笔记
  12. Requirement already satisfied解决办法
  13. 無間道III 終極無間
  14. MAtlab wavefront,MATLAB:像Wavefront算法一样制作矩阵
  15. MybatisPlus查询条件和排序高级封装
  16. 同城聚合平台v59.4.0 本地同城 同城信息 同城商家
  17. Go语言基础之网络编程
  18. 什么是seo?什么是pr值?
  19. 【微服务】SpringBoot 搭建微服务初体验
  20. 回音壁模式matlab,一种回音壁模式光学微腔的制作方法

热门文章

  1. QGIS课堂线下培训操作视频分享——使用QGIS制做疫情分布图
  2. vue基于element-ui的Select选择器实现的动态多级联动下拉选择
  3. MySQL的JDBC编程(Java)
  4. Linux全能终端,11个Linux终端命令,总有一个让你惊叹!
  5. linux中可重入函数、不可重入函数
  6. 客户端和服务器端的用户认证
  7. 微信小程序引用iconfont字体资源
  8. 调用百度情绪倾向分析API
  9. Oracle登录方式
  10. php免费编辑工具,10个免费的PHP编辑器/开发工具_PHP教程