想了解学java编程创作吗?想了解创意编程各类创作工具盘点 | 选择困难怎么办,创意编程简史丨从技术到艺术,敲代码搞艺术 | Processing编程美学来袭?? 吗?......本文带你一探究竟。
源自MIT媒体实验室的一个叫运算与美学的项目组,是Java语言的方言,精髓是API设计简称P5,适合作为入门语言,核心理念是电子速写本,主打轻量小型创意项目。作者有两位,一位是平面设计背景,一位是计算机背景。优点:上手快,适合抽象小体量二三维视觉,适合简单交互第三方函数库(功能扩展包)特别多缺点:执行效率低(因为底层是Java虚拟机),比如同样的代码(没有GLSL和JOGL代码插入混用的情况下),Macbook Pro上和Mac Pro上跑起来没什么大区别如果是做视觉传达类工作,可以死守住不用去管其他语言和工具如果工作和创作需要大量的大体量具象的实时视觉,就不能在P5一颗数上吊死了OPENRNDR基于Koltlin语言(Jetbrain公司的黑科技语言,他们家IDE也是超赞)的创意编程框架,基本会就可以无痛平移过去优点:相比较,性能提升犹如翻身农奴当家做主,有种CPU摸了润滑油的错觉缺点:也是第三方库比较少,想要用那些库,就得折腾一番了风格的语言框架诞生原因多方面1 网页前端行业对于能写代码设计师的需求比较大,而能写代码的设计师在学校里学的大都是 虽然开源免费,但是有个有点奇怪的基金会。3 一个不是作者,但是靠制作一些比较水的入门教程的大胡子网红,叫Shiffman媳妇曼,想在基金会里搞点事4 于是这个网红搞了一个有点水的前端框架叫P5js,但是核心代码其实是靠此网红在ITP教书招收的程序背景的学生在负责维护更新,性能堪忧优点:适合背景的人平滑过度缺点:性能低下,不方便和其他前端框架协作,对于找工作没帮助。不像有大量第三方函数库,对于做艺术,也很鸡肋。简称OF,C++语言版本的,几乎和同时诞生,诞生地是纽约一个叫帕森斯设计学校的,核心作者之一最近被MIT媒体实验室请去负责一个叫未来速写本的项目组,某种程度上算是在诞生地的传承了。优点:执行效率很高,第三方addon(of的函数库)特别多缺点:文档不全要靠阅读源代码或者靠猜,效率虽高但是具象视觉也很麻烦源代码写的很烂。用起来很多时候还要操心C++指针问题,容易晕头转向。Cinder硬核版,第三方函数库少,文档更加不全,但是源代码写的挺优美GLSL面向过程的着色器编程语言,效率是很高,但是从创作角度说,没什么生产效率可言vvvv一个德国公司为了做交互展览展示项目而开发的内部工具,后来索性免费开放给业界使用。是一款可视化编程工具,就是一堆功能节点自行组合,然后连上各类逻辑连线。优点:入门门槛低,资源多缺点:UI极其个性。做复杂项目,容易连成蜘蛛网。Max masp做声音合成特别厉害的连连看特别适合audio visual表演的连连看,也内置了脚本编程,是Python语言Notch底层全是OpenCL,可以榨干GPU算力和渲染力的连连看(类似Unity的vfx视),尤其适合做针对舞台美术的具象大体量视觉缺点:扩展性差了点,有待开放更多接口,目前只适合干物美行活儿Unity3D老牌游戏引擎,实时影像和交互的重型行业工具,有完整丰富的图形操作界面,底层是C++,但是内里使用C#脚本语言(记得用Rider写C#,飘柔一般的顺滑)优点:易于上手,不会写代码也能用起来,不写代码也可以靠Unity的资源和插件商店当一个开心的付费玩家去完成创作(不信请看业界楷模康师傅,专治不服)。愿意学点代码可以开启开挂模式。有编程基础可以无痛过度到Unity的C#。做具象视觉画质好(总算是解决了这一世纪难题)。跨平台跨的更省心,一次开发,兼容各种设备。还有各类官方连连看,连完了还可以二次插入代码,尤其适合一个代码内行带一波美术组团干大项目。用Unity做媒体艺术基本是拿游戏圈的技术去降维打击。缺点:做抽象视觉不如那么方便Unreal4简称UE4,画质特别好,执行效率疑似比Unity更高。内里使用魔改C++,简称U++。针对日常游戏创作,比如基于键盘鼠标手柄或者VR的交互,异常方便。但是开发和维护一个扩展插件难度太大,十分不方便媒体艺术的各类创作需求,比如读取串口信号,spout或者syphon输出画面(有第三方插件,但是版本问题很头大)。优点:画质好,流畅缺点:要么有大手笔的Unreal工程师驻场技术支援费,要么就得团队里有极其喜欢被虐的程序员才可以用来做游戏以外的应用如果你还在入门阶段,一点点建议:1 Proessing入门,平滑过度到Unity,这个最无痛,最避坑,最实用2 Python入门,主攻Blender,随便兼顾一下TD,艺多不压身
艺术与科技对于大多数的人来说是绝对的对立面,科技是以数据为主要驱动的,而艺术则是情感驱动。科技以技术见长,而艺术却通常被认为以主观表达见长。然而,创意编程把两者紧密地结合,成为了这个时代设计和艺术发展的一个风向标。如果要追溯创意编程的历史,那得从很久很久以前说起。?中世纪时期的编程▽可编程器件至少早在13世纪初就已经存在。公元1206年,阿拉伯工匠艾尔.加扎利发明音乐自动生成装置。其运行原理简单明了,通过装置上的挂钉和凸轮,艺术家可以创作各种节奏和鼓形图案。 Δ加扎利的设计草图?第一次工业革命时期初尝编程禁果的男男女女▽1801年,法国发明家Joseph Marie Jacquard用打孔卡为一台织布机编写指令,在挂毯上织出了“hello, world”字样。当时艺术圈和设计圈对这项工作的反响并不热烈,因为它没有注意在拼写时恰当地区分大小写。Δ可以编写指令的打孔卡装置1842 年,英国著名诗人拜伦的女儿Ada Lovelace写下了世界上第一个程序。这是一个计算伯努利数列的算法,计划在查尔斯·巴贝奇的分析引擎进行。只不过她的努力遇到了一点点小小的麻烦,那就是:实际上并没有任何计算机能够用来运行她的程序。Δ程序员的鼻祖?二战期间仅存的硕果▽1936 年,Alan Turing(图灵)发明了世间一切程序语言的最终形态——图灵机,但很快他就被英国军情六处“请”去当007了,以至于他根本来不及为这些语言申请专利。如今,计算机世界赫赫有名的图灵奖就是以他的名字命名的。Δ图灵20世纪40年代,一些直接采用布线和开关来进行程序控制的“计算机”出现了。工程师们当时这么做,据说是为了避开“用空格还是用制表符缩进”这样的论战。传说当时负责设计ENIAC的工程师中间曾经发生过这样的争论:空格比制表符好。制表符比空格好。4个空格比8个空格好。什么?用2个空格的统统烧死。 Δ第一批计算机程序员在工作✍️冷战年代,编程热度不减▽1958 , John McCarthy发明LISP。由于冷战期间的战略括号资源储备所造成的巨大成本,LISP从未流行过。尽管欠缺足够的流行度,LISP(现在叫做 “Lisp”,有时叫“Arc”)仍然被视作一门有影响力的语言,在关键的算法思想诸如递归(recursion)和提升逼格 ()上尤为典范。ΔLisp发明人?新程序语言的井喷▽1964年,John Kemeny和Thomas Kurtz创造了BASIC,一个为非计算机科学家设计的非结构化的程序语言。Δ运用BASIC制作的小游戏1972 年,Dennis Ritchie发明了C语言。从此,无数程序员为其前赴后继,聪明绝顶者不在少数。ΔC语言发明人同样在1972年,Alain 设计了逻辑编程语言Prolog。他的目标是创造一个具有两岁小孩智商的程序语言。为了证明他成功达到了这个目标,他展示了一个Prolog程序,它对于每条查询都会机智地给出相同的回答:“No”。于是,70年代一个经典的对话由此诞生了:”Ask you something!“”No!“ΔProlog发明人1983 年,Bjarne 把他所听说过的一切都试图嫁接到C语言上,梦醒之后,他创造了C++语言,专治各种C语言的不服。ΔC++代码演示界面?面向艺术家的程序语言开始出现▽20世纪80年代中期,Miller Puckette在巴黎IRCAM(音响及音乐研究协会)设计了Max语言,最初是给作曲家提供一个创作交互计算机音乐的系统。Δ第一部钢琴和计算机作品“Pluton”1995年,James Gosling发明Java。Java拥有单实现继承和多接口继承,是一个相对繁冗的面向对象的语言。无数程序员都拜倒在Java的石榴裙下,真是一入Java深似海啊。ΔJava作品《pascals-triangle》1996年,Brendan Eich读完了历史上所有在程序语言设计中曾经出现过的错误,站在前辈们的肩膀上又发明了更多的错误,然后闭关修炼,用它们创造出了。之后,为了紧跟 Java语言的时髦潮流,它被重新命名为。Δ发明者?创意编程稳步发展▽2001年,麻省理工媒体实验室的 Casey Reas 和 Benjamin Fry在Java语言的基础上,建立语言,旨在激励非程序员进行编程学习。Δ作品2005年,帕森斯设计教师Zachary Lieberman在C++的基础上建立了开源语言——,艺术家们可以使用其简化的语法和图形编程模型来创作。 Δ作品近几年,以为基础的框架p5.js也日趋流行,许多设计师用它来进行生成艺术和交互装置创作。Δp5.js互动音乐装置✍️编程让创意延伸到更广阔的世界▽纵观创意编程史,我们可以发现一个很有趣的现象:一开始,创意和编程这两者各走各的,然而,随着编程技术的成熟,创意和编程开始首牵手,一起走。毫无疑问,技术一直是艺术发展的助推剂,比如:照相技术的诞生打破西方传统绘画观念及至艺术的观念,催生了印象画派的崛起。在这个互联网时代,每个人都应该去拥抱新的技术。我们只要了解自己是如何思考,并将这个思考过程用编程语言去描述,计算机就会通过其算法帮助我们实现畅想,这就是创意编程的力量。
敲代码也可以搞艺术吗?不论是程序员还是学艺术设计的人都会产生这样的疑问,似乎敲代码从来都是程序员的专属技能。可如果你看过炫酷的互动媒体作品,玩过制作精美的手机游戏,就会知道敲代码不仅仅是计算机技术,它也可以创造令人不可思议的艺术作品。 Futurium,From Art + COM Studios, 2021上海世博会德国馆1 初识是一种以数字艺术为背景,具有革命性的程序语言,它主要面向程序员和数字艺术家,最初是为创建绘图、动画和交互式图形的设计师而开发的。作为Java语言的延伸,支持许多现有的Java语言架构,不过在语法上简单许多,并具有许多人性化的设计。使用者不需要太高深的编程技术,便可以创作出震撼的视觉表现及互动媒体作品。的出现被视为艺术设计创作的一场革命。艺术家通过将抽象的数据呈现为生动的视觉形象。生成唯美的图形同时,编写出功能强大的互动艺术作品。Painting with Code, From LIA, Creators, From LIA, 20212 创造的‘三个火枪手’John MaedaJohn Maeda是罗德岛设计(RISD)的校长,他是数字媒体界传奇性的艺术家与设计师,他所开发的Design by Numbers语言是的始祖,为数字化交互的语言、语法和技术的发明做出了贡献。Design in TechJohn Maeda同时也是科技与艺术结合的推动者,他曾在TED中讲过科技与艺术的结合,对在教育界的推广起了很大的作用。Design in TechCasey Reas与Ben FryCasey Reas是加州洛杉矶分校(UCLA)媒体艺术设计系的教授。他的作品主要在于处理并抽象化生物体系的动态表现,并通过多媒体、感应式装置艺术、雕塑和数字印刷等媒介呈现。From Casey ReasFrom Casey ReasBen Fry在麻省理工(MIT)媒体实验室获得博士学位,他的身份是设计师、软件工程师及卡内基梅隆客座教授,一直致力于数据可视化研究。From Ben FryCasey Reas和Ben Fry共同开发了,为了使用编程做交互式图形更容易。经过十几年的发展,如今在全世界范围内,每天都有上万人下载。3 能做什么数据可视化数据可视化(Data )是一门对数据进行视觉化表达的应用学科。在数据可视化领域有着很好的应用,可制作信息图形、信息可视化、科学可视化、统计图形等。We feel fineWe feel fineWe feel fine生成艺术生成艺术( Art)通过计算机体现了自然与人工的结合、随机性与计划性的统一,有望实现大批量个性化的生产、有计划随机运作和非指定的仿真过程。Happy Place, From Jared Tarbell设计师可以在中运用算法公式编写程序,再由计算机按照算法公式随机“创作”出作品,算法在两次运算后生成的结果也不会完全一样。From Robert Hodgin互动艺术互动艺术的最大特点是能够让观众参与其中,并感应观众的行为和作出反应,在当今时代,互动艺术是和计算机技术结合的综合系统。可作为这个系统中重要的组成部分,它可以处理输入的数据,再分析数据、输出数据,这个过程其实就是互动作品完整的一个流程。4 更多作品赏析迭代之美使用编程基本语言之一,优雅的矢量绘图大体量图形。三角之美编写代码把时间转换成三角函数的弧度,运算结果化作图形的属性,制作出周而复始的动图。噪声之美Perlin噪声算法把时间的变化转换在空间维度之上,计算出连续随机的坐标,用在动图之上,呈现数学信号上的噪声之美。自然之美大规模群体活动,个体单位之间的相互行为,由Flock算法来推演,编码用在动图之上。频率之美编码分析声音频谱,抓取节奏信号,转换为光电影像。造型之美从数字入手,构建造型关系,用数学和编程生成复杂造型。数据之美大数据可视化感应之美利用传感器分析各种自然信号,创作交互产品原型或装置艺术。欣赏完以上作品,是否激起了你学习的兴趣。我会在后续的章节中,陆续介绍的多种玩法和更多作品,敬请关注!
上述文章了解到关于创意编程各类创作工具盘点 | 选择困难怎么办,创意编程简史丨从技术到艺术,敲代码搞艺术 | Processing编程美学来袭?? ,让我们对学java编程创作 有一个直观的认知。我们发现,作为一个优秀的Java程序员是多么的自豪。
只要一个电话
我们免费为您回电