绘画定义

搜狗词条给了“绘画”一个很有意思的词----“猴子的艺术”,这是在中世纪的欧洲这样形容的,我觉得十分地贴切,因为如同猴子喜欢模仿人类活动一样,绘画也是模仿场景。

对绘画的基本定义------绘画是造型艺术中最主要的一种艺术形式。它是指运用线条色彩形体等艺术语言,通过造型设色构图等艺术手段,在二维空间(即平面)里塑造出静态的视觉形象,以表达作者审美感受的艺术形式。

关于绘画分类

使用材料、工具和技法划分:中国画、油画、素描、版画、水彩画、水粉画、粉笔画等。

题材内容划分:肖像画、风景画、风俗画、静物画、历史画、宗教画、动物画等。

作品形式的不同划分:壁画、年画、连环画、宣传画、漫画等。

绘画是另一种形式的语言,其表现方式主要有以下几个部分体现

(1)线条;(2)形体;(3)色彩;(4)色调;(5)动感;(6)笔墨(笔触)

而对于要自己开发一个简单的绘画系统,我主要从 线条,色彩,动感和笔触这四个方面进行研究和设计。

先来看看windows自带的绘画系统

整体界面


界面比较简洁,明了,上部分是工具栏,可供用户进行笔刷形状的选择,粗细的调整,颜色的选择,下半部分就是画布

笔刷

其笔刷主要有以下几种,质感不同,粗细不同

设计的绘画系统

本次设计的绘画系统也模仿其上,主要结构和上图类似,也就是简单地上面是工具栏,下面是画布,如下图(以深墨绿色作为画布)

高更说:“画面的表现内容,在它被人们认清之前,必须像一支有魅力的乐曲,浮现出来。”

本绘画系统打破常规,在基本的绘画基础上,丰富展现交互的形式。

效果展示

- 画线

- 画圆

- 花环

- 惊讶脸&爱心

- moveline

- 莫比乌斯环

- 有趣的点线

- 烟花

- 会变粗细的点

- 绒毛状笔刷

- 文字笔刷

- 橡皮擦

基本的笔刷功能的展现就到此处

与普通绘画系统的对比

  • 操作角度:

同:和普通的绘画系统基本一致,都是通过鼠标的点击、滑动进行绘画,
异:此绘画系统通过键盘上的方向键↑↓来更改笔刷的粗细。

  • 工具:

同:都提供了颜色,以及笔刷的选择
异:此绘画系统提供的笔刷形状不同于普通绘画系统的单一线条,提供了各种涂鸦形状,如:心形,惊讶脸,莫比乌斯环,圆圈,文字,绒毛状的笔刷,烟花等。

  • 技法:

同:都是用鼠标进行绘制
异:普通绘画系统的线条主要是跟随鼠标的位置进行移动其他的不受影响,而本绘画系统,线条除了受鼠标位置的影响,还受鼠标移动速度的影响。

  • 理念:

同:都是想让作画者在画作面前驰骋自己的联想和想象,达到心旷神怡的最佳审美境界。

  • 创作体验:

异:此绘画系统能够很好的进行交互而且画出的形状种类繁多,都些笔刷甚至可以达到治愈的效果

  • 呈现效果:

异:普通的绘画系统最终所作的图是静态的,而本绘画系统最终的呈现是动态的,更加富有趣味性。普通的绘画系统主要是在二维平面上,而本绘画系统可以体现三维空间上。

  • 载体:

异:普通的绘画系统主要是以App/软件作为载体
本绘画系统是在网页上进行的,无需安装,当然也是可以保存画作的。

  • 保存方式:

同:如只需保存静态图,对于静态图而言,和普通的绘画系统并无二致
异:本绘画系统一般创作的均为动态图,因此要体现动图,必须进行录屏操作。

  • 局限性:

普通的绘画系统无法体现动态的效果,缺乏一定的趣味性,这些此款绘画系统可以解决,但是此款绘画系统的不足之处在于,在画动图的时候消耗的内存较大,在网页上运行时可能会出现卡顿的现象,从而来影响体验。

关于

本绘画系统运用p5.js ,简单运用了粒子系统

绘制形状 主要运用了如下函数
rect();ellipse(); line(); bezier();text();
其他的一些重要函数
map();resetMatrix(); saveCanvas();keyPressed(); mouseClicked();等等

创新之处
  • 制作出了具有绒毛质感的笔刷
  • 运用动态的烟花进行绘画
  • 使用的线条有治愈的效果
灵感来源


想到了表演艺术导演蔡国强老师,他对焰火艺术有独特的理解,用焰火的痕迹创作了很多画作

  1. 我也想用烟花留下的痕迹来试试绘画的效果,所以就在绘画系统中运用了一下。
  2. 有些绘画是具有治愈功能的,想通过此动画系统也实现一下具有治愈功能的绘画方式,以及绘画作品。
  3. 字符图片的创作(将一张图片转化成字符图片如下图,最近又十分流行)

在绘画系统中实现用字符画画(将字符转画),并且实现动态的效果

本绘画系统还有很多不足之处
本系统只选了最近比较流行的颜色,柠檬黄,火焰红,岛屿天堂蓝,尼加拉蓝等,因此颜色不够丰富。
笔刷形式也有局限性

在这里要特别感谢 西河某人 的博客提供的p5.js web界面显示的框架,以及在魔笔玩家博客中受到的启发。

参考文献

[1]以编程的思想来理解绘画----(一)用”一笔画“表现“过程美” magicbrushlv
[2]p5.js可以做什么 之 创意动态绘图板 西河某人
[3]《绘画色彩》
[4]《processing创意编程》

绘画系统的简单实现(p5.js)相关推荐

  1. 基于P5“尝试开发”一个“绘画系统”

    为了完成大作业,"自愿"开发的"绘画"系统 源代码 因为源代码比较多,所以这里只给出网址: https://editor.p5js.org/Wangshuo/s ...

  2. p5.js 光速入门中文教程

    本文简介 点赞 + 关注 + 收藏 = 学会了 本文的目标是和各位工友一起有序的快速上手 p5.js ,会讲解 p5.js 的基础用法. 本文会涉及到的内容包括: 项目搭建 p5.js 基础2D图形 ...

  3. 基于Processing和Leap Motion的绘画系统

    对传统的绘画系统的思考 一说到绘画,大家脑海中出现的画面应该差不多都是画家和他手中的笔还有面前的画板吧.确实,在传统的绘画系统中,各种各样的笔和纸是画家们最重要的创作工具.不管是铅笔.毛笔,还是蜡笔. ...

  4. 基于p5.js的简单绘画系统

    本次实验的主题是编写一个绘画系统,提供一系列绘画材料例如画笔.颜料.滤镜等给用户操作,以创作出动态.交互的绘画作品.这个绘画是对传统绘画概念的拓展,但仍然要体现出与传统绘画的相似性. 注意:目标可以理 ...

  5. 一个基于p5.js的绘画系统

    一个基于p5.js的绘画系统 一.实现效果 本系统基于p5.js完成,具有一般绘画系统的特点,作画者可以通过选择不同的笔刷完成自己的作品.作画者可以根据自己的需要选择静态或动态效果,在动态效果下可以看 ...

  6. 绘画系统——P5.js

    本次互动媒体期末大作业是编写一个"绘画系统",该系统可提供一系列绘画材料(例如画笔/颜料/滤镜)给用户操作,以创作出动态/交互的绘画作品.该绘画系统是对"绘画" ...

  7. 利用p5.js进行“运动”主题的绘画创作

    利用p5.js进行"运动"主题的绘画创作 主题 用码绘和手绘两种方式创作"运动"主题的作品,对比二者在表现"动态"方面的异同. 码绘 工具 ...

  8. 扩展的简单绘画系统与传统笔画分析

    期末的作业,老师让我们使用p5.js对绘画系统进行一个扩展.扩展?应该如何扩展呢?其实传统的绘画系统已经在我的脑海里根深蒂固,最先想到的应该都是画图的基本笔刷吧!画圆型,画方形,再组合,成一幅画.其实 ...

  9. 码绘:使用p5.js进行简单的作画

    使用工具 Visual Studio Code+p5.js 下载地址 Visual Studio Code:https://code.visualstudio.com/Download p5.js:h ...

最新文章

  1. iOS传感器:实现一个随屏幕旋转的图片
  2. pythonweb开发-pythonWeb开发
  3. boost::remove_edge用法的测试程序
  4. SSE图像算法优化系列二十一:基于DCT变换图像去噪算法的进一步优化(100W像素30ms)。...
  5. L1-072 刮刮彩票 (20 分)-PAT 团体程序设计天梯赛 GPLT
  6. sql中in与=的异同
  7. 学习HanNLP2015年12月4日 16:24:53
  8. python编程正方形面积_编程里面的算法真的很难吗?
  9. android源码学习-Handler机制及其六个核心点
  10. 宏观经济判断指标-GDP、CPI、PPI、PMI
  11. python计算平均数、众数、中位数、极差、方差、标准差……
  12. 20M宽带的下载速度到时有没有20MB/s?
  13. 双线双IP服务器架设传奇SF图文教程
  14. python 进阶语法-文件 5 道练习题 | Python技能树征题
  15. markdown流程图语法
  16. 程序性能优化之编译器篇(Racoon)
  17. 眼睛血管分割matlab版本
  18. 【实战操作】使用FFmpeg将一个视频文件中音频合成到另一个视频中 只需三秒
  19. IT又一蚂蚁金服面经
  20. 知情人士:比特大陆创始人吴忌寒离开核心纯属谣言

热门文章

  1. MLCC陶瓷电容详解
  2. mysql不识别生僻字_MySQL生僻字插入失败怎样办
  3. 口袋西游150服务器维护,口袋西游版本更新披露 幽冥界场景首曝
  4. android+腾讯地图h5,H5调用腾讯地图
  5. 《点燃我,温暖你》李峋 代码 爱心❤ - 源代码
  6. qq令牌码怎么提取_QQ空间怎么引流?
  7. 如何修改美食大战老鼠服务器,《美食大战老鼠》联运区组停止运营公告
  8. LTP词性与语义表格(简洁版)
  9. package编译不过如何处理
  10. 小猫爪:i.MX RT1050学习笔记26-RT1xxx系列的FlexCAN详解