绘画系统实验心得

这学期接触了“互动媒体技术”这门课,感触颇深。因为在第四维(根据爱因斯坦相对论),在时间上的重复,在传统静态绘画中是不可能实现的,但用编程就可以做到。这样一来,通过几行代码,就可以进行作品和欣赏者之间的交互。其中,我对互动媒体的理解,就是在传统媒体的基础上,通过我们编写的代码,可以让作品“动”起来,变得丰富有趣。老师在这学期交给了我们很多互动的理念和想法,老师告诉我们,“交互”是一个很广泛的理念,我们作为编程者,需要将交互变得细腻、丰富。

“不是艺术,不是工程类学科,是一种非常困难、非常不同的技术,与写代码相比是一个更复杂、老练、困难的工作。” ——Alan Cooper交互设计观

交互之前对于我,是个很简单的概念,比如打游戏时和NPC的“交流”,在车上使用的导航仪器和用户之间的“交流”等等。然而,这学期随着学习了码绘,学习了p5和processing,对交互有了更深层次的理解和使用。我们可以通过点击鼠标,敲击键盘等等,改变界面已有的样式,这哪怕对于我们编程者来说也是一件很有意思的事情。不过究竟如何可以做好交互,一直是我在想的问题。

编写一个“绘画系统”,是老师留给我们的大作业。实现这个交互系统,是具有无限可能的。老师在上课时候给我们举了许多例子,从各种各样旋转、变大的魔性的脸,点击会变化大小和颜色的小方块,到基于“云室”概念的绘画交互,每一个都能给我们不同的交互体验和灵感。在实现这个系统的时候,因为脑子里的想法太多,竟然一时间不知道自己应该做什么好。不愿意做一个普通的,仅仅只有绘画功能的系统。

提到“绘画”,我想到老师在这学期也提及了许多有关“绘画”的形式:毕加索的拼贴画、用数位板作画、剪纸画、喷涂,甚至直接板印等等…绘画的概念在突然变得有些难以界定。为了找到更多的灵感,我去查看了老师往期分享给我们的资料,文章讲可以把“绘画”这个行为拆分成四块:

  1. 材料:这个我会选择用代码实现各种各样看似不同材质的笔刷;

  2. 用户(作画者):在实现交互系统时我主要是根据自己的审美以及一些想法来满足了自己一些需求;

  3. 交互方式:这个对于大作业来讲很重要,可是这个限制比较多,好像在现阶段只能有鼠标和键盘;

  4. 作品:我在想,除了简单地用笔刷,在一张“白纸”上涂涂抹抹,还会有什么新奇的玩法。比如说拼贴,我制作一些简单地几何体,可以用它拼成房子、树、然后再有一些基础物体的笔刷,比如太阳、月亮等等,也许我就可以做出一副简单地风景图;滤镜,在这学期的图像处理课里,我们学到了许多类似于去躁、加躁、图像加减法这类很有意思的算法,让我对图像的处理有了更多的兴趣和认识。如果我可以在图片上加上自己想法的滤镜…

于是这样,我就可以大概的在这四个方面找到各种各样的“可能性”。

首先,因为我个人一直觉得“随机”是一件很有意思的事情,所以我做了R/G/B三个控制颜色的滑块,用户可以随机点击进行颜色上的改变,也可以一直调整,直到找到自己心仪的颜色。我保留了并添加可一些新的笔刷,它们根据时间的不同,颜色、大小都会有所变化。刚开始我是想要做出大自然的一些物品和场景,所以我自己增加了星星、太阳和月亮的笔刷;我又开始想如何可以做成天气的样式,于是增加了动态的下雪以及静态的多云。因为有很多笔刷都是动态的,我们可以直接通过点击按钮使其变化暂停,进行相应操作;点击时钟按钮,会加速动态笔刷的变化,同时也具有了一定的基础操作,比如说保存、隐藏按钮栏等等。

之后我觉得,除了笔刷和基础的功能以外,我们也可以增加一些有意思的滤镜。最近很流行蒸汽波(Vaporwave),它是一种音乐流派和艺术运动。以电子舞曲和迷恋的怀旧文物为代表,这场兴起于80年代的艺术运动,已经吸引了越来越多的目光。我身边的很多人(包括我)就会下载一些软件app把自己的自拍或者其他照片进行加工,变得更有VaporWave的风格,如果我可以将它加到我的系统里,也许以后就可以直接靠自己变得蒸汽波一些。

交互的过程会比较简单:除了鼠标点击之外,点击“S”可以保存下载图像、点击“shift”可以隐藏按钮栏,点击“D”可以更换蒸汽波滤镜,上面的滑块可以随时更改颜色,每一次都是随机的滤镜效果,可以根据个人喜爱来选择保存。

以下是我的大作业的部分效果gif图:

常规绘画操作和本操作系统的比较

1. 材料工具

传统绘画的工具大部分但不仅限制于纸、笔,壁画、街头涂鸦我认为也是传统的艺术表达。本系统主要运用了电脑,鼠标以及键盘,用户通过鼠标的操作直接在画布上进行操作,背后的是电脑程序代码在进行操作,控制画笔进行交互,而非直接的人、笔、纸三个物体的交互。

2. 技法

在此系统上进行的操作需要一定对鼠标、键盘的掌控能力,但对“用笔”技巧要求不高,因为电脑已经控制控制好了笔刷大小等等。

3. 效果

最大的区别应该就是绘画系统可以呈现出动态,静态两种不同的效果。也可以直接使用照片进行滤镜的修改。还可以进行交互,让其他用户参与作品的创造过程

4. 局限性

传统作画无法随意修改,但是绘画系统可以直接清空绘画作品。而绘画系统做出的作品会很难有个人风格。

5. 创作体验

其实感觉自己做的绘画系统实用功能并不高,无法真正的做出一幅自己想要的作品,感觉像是笔刷只能进行增加一些趣味性,滤镜也是在已有照片的情况下进行“润色”,而传统作画就比较自由,虽然没有精准的计算和随机性的滤镜,但是可以进行各种各样的修改。也许对于这个绘画系统,自己还需要不断的添加,让它变得越来越人性化。

文章写下来,我突然感觉在这个学期学的几门课程,都会有或多或少的连接。人机交互主要告诉我们实现一个系统需要一定的逻辑性和合理性,要注意和不断提升用户的体验;图像处理可以教给我们对图像处理的方式和思路,互动媒体帮助我理解绘画和艺术,重点集中在了“交互体验”以及各种各样新奇的交互体验。在这学期之前,我也没想到自己作为技术生竟然可以和艺术有如此紧密的结合。
以上就是我的思考。

资料文献:

  • OpenProcessing
    https://www.openprocessing.org/?tdsourcetag=s_pcqq_aiomsg

  • p5js editor:Floating Light v1.0 - By Shangjing
    Lin(Stanley)
    https://editor.p5js.org/WestRiverLin/sketches/SJnD_deBW

  • 什么是绘画?——以抽象思维理解绘画
    https://blog.csdn.net/magicbrushlv/article/details/83858469

互动媒体大作业——绘画系统相关推荐

  1. Processing大作业——绘画系统

    最终迎来了互动媒体最终的大作业,前两次我们分别讨论了,手绘和码绘的区别还有如何进行动态作画. 有兴趣的可以戳下方链接看一看我之前的两次作业. 第一次码绘VS手绘指路:https://blog.csdn ...

  2. 互动媒体技术作业——processing码绘

    互动媒体技术作业--processing码绘 一.作品临摹 二.码绘拓展 三.心得体会 一.作品临摹 1.要求: 从参考资料中的"动态图形艺术"中选取不少于1幅作品,用编程方式临摹 ...

  3. 十二个“一”与耍猴(互动媒体技术作业)

    十二个"一"与耍猴(互动媒体技术作业) 角色简介 第一章 耍猴之兴 第二章 耍猴之变 第三章 第四章 -- 总结 角色简介 本文故事时间为古代某时期,文中时间点与现实无关,故事背景 ...

  4. 十二个“一”,十二台手机(互动媒体技术作业)

    十二个"一",十二台手机(互动媒体技术作业) 选题: A:VIVO NEX3 B:OPPO Reno系列 C:iPhone 11系列 D:三星 Note10 系列 E:8848钛金 ...

  5. p5.js 编程临摹动态图形(互动媒体技术作业)

    p5.js 编程临摹动态图形(互动媒体技术作业) 动态图形的规律分析 p5.js 代码历程 走过的弯路 拓展 总结 动态图形的规律分析 从老师的动态图形参考资料中,我选择了以下图形进行临摹: 初次见面 ...

  6. p5.js 绘制创意自画像(互动媒体技术作业)

    p5.js 绘制创意自画像Little Prince(互动媒体技术作业) 作品展示 代码&创意点分析 1.设置工具类以获取坐标点:本次实验最有用的东西就是这个了 2.眼睛跟随鼠标运动: 3.披 ...

  7. 流动墨迹速度感知实验(互动媒体技术作业)

    流动墨迹速度感知实验(互动媒体技术作业) 文献综述 数据分析 研究问题 实验方法 评价标准 测量结果 结果分析 文献综述 阅读律大大关于"测量书法的可回溯感"的论文可知,汉字书法艺 ...

  8. # 互动媒体期末作业——P5.js“画板”

    前言 之前的推文就曾说过对于画画简直是一窍不通,然而最近的大作业最后还是需要做一个与画画有关的内容--画板.不过,还好,最后并不是要我再画,而且就算是画,也不需要动手画,所以这对我来说,还是可以接受的 ...

  9. C语言大作业——匹配系统

    c语言大作业,匹配系统,开了三个线程,c89,需要支持pthread.h库. 文件1 color.h #include <windows.h> const WORD FORE_BLUE = ...

最新文章

  1. [微信官方文档] 小程序-错误码信息与解决方案表
  2. KWrite 和 Kate 在 Linux 上的应用
  3. vb 变量赋值为当前选定单元格_第7篇:根据Excel选定行对Word模板填充数据(补充修改)...
  4. 启明云端分享| ESP32-S3点480*480分辨率的RGB 2.1寸旋钮屏刷新效果到底会怎么样呢
  5. 基于java实现农产品_基于微信小程序的个人商铺(农产品)设计与实现毕业论文+开题报告+前后台源码(JavaSSM+Mysql)+文献资料...
  6. Javascript基础之Array数组API
  7. 前景检测算法(十七)--基于光流算法
  8. 使用Python将Excel文件中的数据插入MySQL数据库,你学会了吗?
  9. 排序算法3:最常用的排序——快速排序
  10. 四川2021年5月计算机二级报名时间,四川2021年3月计算机等级考试什么时候报名...
  11. 安装配置fcitx输入法
  12. windows日志总结
  13. 【题解】LuoGu1512:伊甸园日历游戏
  14. 【wxGlade学习】wxGlade环境配置
  15. R语言进行人年发病率可信区间计算(per 1,000 person-years)
  16. Java大作业——购物车
  17. 解释术语 计算机系统结构,北京邮电大学 计算机系统结构(体系结构) 期末复习 术语解释.doc...
  18. 智能家居,在互联中看见全屋智能
  19. UIUC计算机科学系博士,PhD捷报|计算机博士全美TOP5!清华首批UIUC CS PhD全奖!恭喜Nuts清华学员!...
  20. 俄被踢出SWIFT,地缘冲突推动区块链金融清算行业发展

热门文章

  1. java 导出excel换行_java WriteExcelFile生成excel如何让在一个单元格内换行?
  2. android利用EpMedia给录像添加时间水印
  3. Android发送彩信(带图片附件)
  4. 青龙面板之滴滴果园撸水果(2022.6.21更新库)
  5. BUU刷题记录(四)
  6. python中的序列类型数据结构元素的切片操作_PythonI/O进阶学习笔记_4.自定义序列类(序列基类继承关系/可切片对象/推导式)...
  7. [74系列------74HC595]
  8. AD域批量的导入账号
  9. InterValue正式启动主网映射
  10. php 高德地图创建标注,使用高德地图API生成带标的专属地图