Processing编程学习指南(原书第2版)

Processing编程学习指南(原书第2版) pdf epub mobi txt 电子书 下载 2025

[美] 丹尼尔·希夫曼 著,李存 译
图书标签:
  • Processing
  • 编程
  • 可视化
  • 创意编程
  • 设计
  • 艺术
  • 交互设计
  • 算法
  • 初学者
  • 图形编程
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 机械工业出版社
ISBN:9787111558675
版次:1
商品编码:12049895
品牌:机工出版
包装:平装
丛书名: 计算机科学丛书
开本:16开
出版时间:2017-03-01
用纸:胶版纸
页数:409

具体描述

内容简介

  本书详细介绍了Processing编程的基本原理,全书分为十节课共23章,涵盖了创建前沿的图形应用程序例如互动艺术、实时视频处理和数据可视化所需要的基础知识。此外,作为一本实验风格的手册,书中精心挑选了部分高级技术进行详尽解释。可以让图形和网页设计师、艺术家及平面设计师快速熟悉Processing编程环境。

目录

Learning Processing:A Beginner抯 Guide to Programming Images, Animation, and Interaction, Second Edition
出版者的话
译者序
致谢
前言
第一节课 开始
第1章 像素2
1.1 坐标纸2
1.2 绘制基本图形3
1.3 灰度模式7
1.4 RGB颜色9
1.5 颜色透明度10
1.6 自定义颜色取值范围11
第2章 Processing13
2.1 让Processing来拯救你13
2.2 如何下载Processing14
2.3 Processing应用程序14
2.4 速写本15
2.5 Processing中的代码16
2.6 错误提示18
2.7 Processing参考文档20
2.8 “运行”按钮21
2.9 你的第一个草图22
第3章 交互24
3.1 程序的运行流程24
3.2 我们的好朋友:setup()和draw()25
3.3 跟随鼠标移动27
3.4 鼠标点击和键盘操作30
第一节课的项目33
第二节课 你所需要知道的一切
第4章 变量36
4.1 什么是变量36
4.2 变量的声明和初始化37
4.3 使用变量39
4.4 多种变量42
4.5 系统变量43
4.6 随机:多样化为生活增加趣味性44
4.7 使用变量来创建Zoog46
4.8 坐标平移48
第5章 条件语句50
5.1 布尔表达式50
5.2 条件语句:if、else、else if51
5.3 草图中的条件语句54
5.4 逻辑运算符56
5.5 多个鼠标翻转效果的实现58
5.6 布尔变量59
5.7 弹力球62
5.8 物理学基础66
第6章 循环69
6.1 什么是迭代69
6.2 while循环:你唯一真正需要的循环71
6.3 “退出”条件73
6.4 for循环75
6.5 局域变量与全局变量77
6.6 draw()循环内部的循环80
6.7 长出胳膊的Zoog82
第二节课的项目84
第三节课 结构化
第7章 函数86
7.1 将代码分解86
7.2 用户自定义函数87
7.3 定义函数88
7.4 简单的模块化89
7.5 实参91
7.6 传递副本95
7.7 返回类型97
7.8 重新整理Zoog100
第8章 对象103
8.1 掌握面向对象编程103
8.2 使用对象104
8.3 编写饼干模具的程序105
8.4 使用一个对象的具体步骤107
8.5 使用标签进行组合109
8.6 构造函数参数112
8.7 对象也是数据类型115
8.8 面向对象的Zoog116
第三节课的项目119
第四节课 重复性
第9章 数组122
9.1 数组的作用122
9.2 数组是什么124
9.3 声明和创建数组125
9.4 初始化数组126
9.5 数组运算127
9.6 简单的数组示例:蛇129
9.7 对象数组131
9.8 交互式对象133
9.9 Processing的数组函数136
9.10 1001个Zoog137
第四节课的项目139
第五节课 融会贯通
第10章 算法142
10.1 我们现在在哪里?我们将要去哪里142
10.2 算法:跟着你自己的节奏跳舞143
10.3 从概念到部分144
10.4 第1部分:雨水采集器145
10.5 第2部分:相交147
10.6 第3部分:计时器152
10.7 第4部分:雨滴154
10.8 整合157
10.9 为下一步做好准备164
第五节课的项目165
第11章 调试166
11.1 建议1:休息一下166
11.2 建议2:让另外一个人参与进来166
11.3 建议3:简化167
11.4 建议4:println()是你的朋友168
第12章 库171
12.1 库概述171
12.2 内置库172
12.3 第三方库172
12.4 手动安装库173
第六节课 你周围的世界
第13章 数学176
13.1 数学和编程176
13.2 模数177
13.3 随机数178
13.4 概率回顾179
13.5 代码中的事件概率179
13.6 Perlin噪声181
13.7 map()函数184
13.8 角度185
13.9 三角学186
13.10 振荡188
13.11 递归190
13.12 二维数组193
第14章 三维平移和旋转198
14.1 z坐标轴198
14.2 P3D究竟是什么202
14.3 顶点形状203
14.4 自定义三维图形205
14.5 简单的旋转207
14.6 围绕不同的轴旋转209
14.7 scale()函数211
14.8 pushMatrix()和popMatrix()函数212
14.9 用Processing模拟太阳系218
14.10 PShape类220
第六节课的项目222
第七节课 显微镜下的像素
第15章 图像224
15.1 图像入门224
15.2 图像的动画效果226
15.3 我的第一个图像处理滤镜228
15.4 图像数组229
15.5 像素,像素,更多的像素231
15.6 图像处理简介235
15.7 另外一个图像处理滤镜:制作属于你自己的tint()函数236
15.8 写入另外一个PImage对象的像素237
15.9 第二阶段:像素组处理239
15.10 具有创意的可视化242
第16章 视频244
16.1 视频直播244
16.2 已录制的视频249
16.3 软件镜像251
16.4 视频作为传感器和计算机视觉256
16.5 背景消除260
16.6 运动检测263
16.7 计算机视觉库266
第七节课的项目267
第八节课 外面的世界
第17章 文本270
17.1 字符串从哪来270
17.2 什么是字符串271
17.3 显示文字273
17.4 文字的动态效果275
17.5 文字马赛克278
17.6 旋转文字280
17.7 按字符逐一显示文字281
第18章 数据输入286
18.1 字符串的操作286
18.2 拆分和组合288
18.3 处理数据290
18.4 处理文本文件291
18.5 表格数据293
18.6 非标准化格式的数据297
18.7 文本分析302
18.8 XML305
18.9 使用Processing的XML类307
18.10 JSON312
18.11 JSONObject和JSONArray315
18.

前言/序言

  Learning Processing:A Beginner抯 Guide to Programming Images, Animation, and Interaction, Second Edition本书讲的是什么本书讲了一个故事。一个关于解放与自由的故事,一个关于逐步了解计算机基础知识的故事。通过编写代码,可以创造属于你自己的多媒体设计,而不必拘泥于已有的软件工具。这个故事不仅仅是为科学家和工程师准备的,同时也是为你准备的。
  本书是为谁准备的本书是为初学者准备的。如果你到目前从未编写过一行代码,那么本书对你来说再合适不过了。本书的前9章会由浅入深地讲授编程的基础知识。你并不需要任何编程的背景知识,只需要有操作电脑的基础知识——打开电脑、浏览网页、运行程序之类的知识就足够了。
  由于本书使用Processing进行学习,因此对于那些在视觉领域学习或工作的人来说,它就更加适用了,例如图形设计、绘画、雕塑、建筑、电影、视频、插图、网页设计等。如果你从属于上述领域(在上述领域使用电脑),你很可能精通某个特定的设计软件(很可能不止一个软件),例如Photoshop、Illustrator、AutoCAD、Maya、After Effects等。而本书的意义在于使你摆脱(至少是部分摆脱)现有软件工具的束缚。如果可以创造自己的工具,而不是使用他人的软件,那你能创造出什么?如果你已经具有一定的编程经验,并且对Processing非常感兴趣,那么本书同样非常有用。本书的前面几章会为你提供一个速成的编程复习资料(和坚实的基础知识),本书的后面则是关于Processing编程的高级话题。
  什么是Processing假设你正在学习CS 101(Computer Science 101)课程,其中可能讲到了Java编程语言的内容。下面是课程中第一个示例程序的输出结果:
  一直以来,教授给程序员的基本命令行输出是:
  1.文本输入(TEXT IN)→以文本的形式编写代码。
  2.文本输出(TEXT OUT)→在命令行显示文本输出。
  3.文本交互(TEXT INTERACTION)→用户可以在命令行输入文本,实现和程序的交互。
  这个示例程序中的输出“Hello, World!”是一个经典段子,按照惯例,在各种编程语言教学中,“Hello, World”总是作为第一个程序的文本输出。这个示例程序最早出现在1974贝尔实验室的备忘录中,它是由Brian Kernighan撰写的,题名为《Programming in C: A Tutorial》。
  学习Processing的优势在于:它自身强调一种更直观并且基于视觉反馈的编程环境,因而它更有助于艺术家和设计师学习编程。
  1.文本输入(TEXT IN)→以文本的形式编写代码。
  2.视觉输出(VISUALS OUT)→在窗口显示视觉输出。
  3.鼠标交互(MOUSE INTERACTION)→用户通过鼠标和程序进行交互(在本书中你会看到更多例子)。
  在Processing中,“Hello,World!”很可能如下图所示:
  你好,图形!
  虽然看上去是相当友好的设计,但是它并没有引人注目的感觉(在这里暂且忽略掉第3步:交互),“Hello, World!”也是这样。然而,这种方式所聚焦的理念(通过即时的视觉反馈来学习)却是截然不同的。
  Processing并不是第一个遵循这种范式的语言。1967年,Daniel G. Bobrow、Wally Feurzeig和Seymour Papert 创造了Logo编程语言。一名程序员使用Logo语言编写了一个指令:在屏幕上用龟标生成图形和设计。尔后John Maeda在1999年设计了名为Design By Numbers的语言,该语言使视觉设计师和艺术家以简单、易用的句法来进行编程。
  尽管这些语言具有令人惊叹的简洁性和创新性,但它们的功能非常有限。
  Processing作为Logo和Design by Numbers的直系后代,于2001年诞生于麻省理工学院媒体实验室的美学与计算研究小组。它是由Casey Reas和Benjamin Fry设计的开源语言,当时他们是著名的计算机艺术家John Maeda的研究生。
  Processing是一门开源编程语言,提供了对图片、动画和声音进行编程的环境。学生、艺术家、设计师、建筑师、研究人员和业余爱好者可以使用Processing进行学习、制作原型以及作为生产工具。你可以通过视觉化界面学习计算机编程的基础知识,或者作为软件速写本以及专业化的生产工具。除了该领域的其他相关专有软件之外,Processing为艺术家和设计师提供了一个新的选择。
  —www.processing.org总之,Processing是非常令人惊叹的。首先,它是免费的,你不用花一分钱。其次,由于Processing基于Java编程语言(本书后面的章节将会对此做进一步探讨),因此它是一门十分实用的功能性语言,没有Logo或者Design by Numbers语言的限制,使用Processing几乎可以实现各种功能。最后,Processing是开源的。虽然在大多数情况下这并不会是本书内容的关键细节,可是,随着深入学习Processing,你就会意识到这种开源的理念是非常宝贵的。正是源于此,大量的开发者、教师和艺术家才会聚集到一起分享作品,贡献想法,进而大大拓展了Processing。
  快速浏览一下processing.org网站,你就会发现这是一个充满勃勃生机、具有创造力的社区。在这里,初学者和专家通过公开交流创意和作品共享代码。尽管网站上有完整的参考文档,以及数量庞大的示例帮助你快速上手,但是并没有给真正的初学者提供一个系统的详尽教程。本书通过详尽地介绍编程基础知识和探索高级编程话题,可以帮助你参与到Processing这个社区网站,并做出你的贡献。
  2012年,Processing基金会(Processing Foundation)成立,它旨在规范Processing软件的目标和理念:“在编程知识越来越重要的今天,努力让来自各行各业的人都能轻松学习编程。”为了实现这个目标,基金会大力支持几种不同语言的软件环境,其中包括Processing(Java)、p5.js(JavaScript)和Processing.py(Python)。虽然本书主要讨论Java框架的知识,但是我也极力向你推荐其他几个编程语言框架(如果你对构建网站感兴趣的话,尤其推荐p5.js)。我同样保留了本书所有示例的p5.js版本,你可以在http://learningprocessing.com上找到。
  虽然没有Processing就不可能编写本书,但是你要知道,本书实质上并不仅仅是一本关于Processing的书。编写本书的初衷是教会你编程。我只是选择了使用Processing作为编程的学习环境,但本书所关注的是核心计算编程概念,这些概念将会在你以后学习其他编程语言和环境时,继续带领你前行。
  难道我不应该学习    在空白处填上你想学习的编程语言。你可能曾经听说某门编程语言“Flibideeflobidee”将会是未来前景最广阔的语言。你肯定听出来这是瞎编的,但是我敢肯定你的某个朋友曾经不断跟你讲某门语言是多么功能强大。它是如何使得编程变得如此容易。使用这门语言,5分钟之内你就能实现以前需要花费一天时间才能完成的程序。而且,它在Mac上、个人电脑上,甚至烤面包机上都能运行!你还可以用它编写一个陪你聊天的宠物!而且是用日语聊天!
  事情是这样的。那个可以解决你所有问题的神奇编程语言根本不会存在。没有一门语言是完美的,Processing也有与生俱来的缺陷和不足。可是Processing是一个学习编程的很棒的起点。本书传授计算机编程的基本原理,不论是使用Processing、Java、JavaScript、C、Python还是其他语言,它们都会使你受益终身。
  当然,对于某些项目来说,其他语言和环境可能更加适合。但Processing对于大部分的项目来说都是相当不错的选择,尤其是媒体相关和基于屏幕的任务。对Processing一个普遍的误解是它只适合于小打小闹,其实并不是这样的:许多人(包括我在内)都在项目自始至终使用Processing。Processing可以用来制作网络应用、博物馆和美术馆的艺术装置、公共空间的展览互动装置。比如,我曾经使用Processing在纽约市军队总部的大厅里制作一个实时的图像视频墙,它展示在120英尺×12英尺(没有错,是英尺!)大的屏幕上。
  Processing不仅适合于项目制作,它还非常容易上手,它真的很棒。它是免费的、完全开源的软件;它的界面简洁;它是基于视觉的工具;它还非常有趣;它是面向对象的语言(后面会讲解)。此外,它能够在Mac端、PC端以及Linux机器上运行。
  但是Processing的一个短板是对于网页的兼容性不足。2001年,在Processing刚诞生的时候,Java applet是将实时图形项目发布到网页的主要方法。可是到了2015年,Java applet已经不复存在。由Lauren McCarthy倡导的Processing基金会的p5.js项目(http://p5js.org)现在成为一个新的选择。关于这点,本书第21章将会具体探讨。
  说了这么多,我就是想告诉你不要再去纠结应该选择哪门编程语言了,应该把精力集中到学习Processing编程的基本原理上。这方面的知识将有助于你超越本书的有限内容,帮助你学习其他任何编程语言。
  把想法直接写在这本书上假如你是一名小说家或者剧本作家,你的写作时间仅仅是坐在计算机前打字的时间吗?大多数情况下并不是这样。或许是晚上躺在床上的时候,脑海中突然出现了一些想法;或许是坐在公园的长椅上惬意地喂着鸽子时,脑海中上演着一幕幕的对话;又或许是有一天晚上在酒吧,你在纸巾上快速勾勒出一个精彩的故事情节。
  好吧,其实编写软件、程序、代码并没有什么不同。只是由于编程工作本质上和计算机紧紧捆绑在一起,因此你常常会忘记这一点。但有机会的话,你一定要让你的头脑发散、畅想。在远离办公桌、电脑的时候去头脑风暴一些奇思妙想。就我个人而言,我常常在慢跑的时候完成了编程工作最棒的构思。
  当然,使用电脑实际输入代码的部分也是非常重要的。我的意思是,虽然不可能仅仅通过舒舒服服地躺在游泳池里就能完成一个复杂的任务,但如果只是每天伏案工作,面对着刺眼的显示器,这是远远不够的。
  所以,随时在书上做笔记就是一个好的方法,这样能锻炼你离开键盘后思考代码的能力。我已在本书中包含了许多填空形式的练习题。(这些练习题的所有答案都可以在本书配套网站http://learningprocessing.com上找到,方便你检查自己的答案。)充分利用本书的空白处吧!每当你有灵感和想法的时候,就迅速把它们写到书上。把本书当成一个练习册或者速写本。(当然,你也可以使用自己的速写本。)最后我建议,你要花一半的时间在不用电脑的时候阅读本书,另一半时间则是坐在计算机旁,实践本书中的示例。
  我应该如何阅读本书最好是按照章节顺序阅读。第9章之后,你就可以轻松地随便翻看本书了,但是前面几章,建议你按照顺序来读。
  本书按照先后顺序教你编程。更高级的阅读方式则是:根据自己的需要跳读,将本书作为一个参考文档来使用。本书的前一半内容都是首先讲解一个示例,然后一步一步分解这个示例中所涵盖的知识点。除此以外,计算机编程的基本原理是按照一个特定的顺序来逐步呈现的,这个顺序是多年来在纽约大学帝势艺术学院的互动电信项目中许多同学反复摸索之后的结果(http://itp.nyu.edu)。
  我将本书所有23章内容分为十节课。前面9章介绍了计算机图形学,涵盖了计算机编程的基本原理。第10~12章则暂停讲授新知识,转向讨论如何用增量方法(incremental approach)构建更加大型的项目。第13~23章继续拓展基础知识,并且展示一系列更加高级的话题,涉及3D、直播视频和数据可视化等。
  这些内容分为容易理解的几个部分。每节课的末尾,我都准备了一个项目,建议你从单纯阅读本书的过程中转换下思维,尝试将该节课中的全部内容整合为一个完整的项目。我也为这个项目提供了一些建议,但它们真的仅仅是建议而已。
  这是一本教科书吗本书既可用作编程课程导论的教科书,也可以用来自学。
  这里,我要再次提及:本书的基本结构直接来自于ITP的“计算媒体导论”课程。如果没有同事和这门课数百名学生的帮助(我多么希望我可以把他们所有人的名字都写在这里),本书是不可能完成的。
  坦白讲,本书的内容要比针对初学者的一学期课程要多一些。本书共计23章,我曾经在课堂上详细讲过其中18章内容。可是,不论你是否将本书作为课程教材或是自学读物,你完全可以在几个月里消化本书的知识。当然,你也可以读得更快,但是如果你要在Processing中测试本书的代码,并且完成课后项目,确实是需要一段时间的。那些所谓“10天上10节课就能学会编程”的书看似非常吸引人,但实际并不现实。
  下面是一个用14周时间学完本书内容的参考计划。
  第1周第一节课:第1~3章第2周第二节课:第4~6章第3周第三节课:第7~8章第4周第四节课:第9章第5周第五节课:第10~11章第6周期中!(继续第五节课:第12章)第7周第六节课:第13~14章第8周第七节课:第15~16章第9周第八节课:第17~19章第10周第九节课:第20~21章第11周第十节课:第22~23章第12周最终项目研讨会第13周最终项目研讨会第14周最终项目展示本书有测验题目吗师傅领进门,修行在个人。真正的窍门在于练习,练习,练习。假设你现在是10岁的孩子,在学习小提琴课程,老师肯定会跟你讲每天都要练习。同理,要完成本书提供的练习,如果可能的话每天都要练习。
  作为初学者,在学习的过程中,一开始可能并不会提出自己的想法,而这也就是那些练习存在的目的。不过,如果你有自己开发项目的想法,那就跳过练习,尝试去实现它。
  大多数练习都是小的演练,几分钟就能完成。有一些则会稍难,可能需要一小时才能完成。在整个学习过程中,有时候可能要暂停学习新知识,花上几小时、一天甚至一周时间来完成一个项目,这也会让你收益颇丰。正如我之前提到的,这就是我这样安排课程结构的用意。我建议你在每节课结束后,暂停阅读,自己用Processing做一些小项目、小练习。本书每节课后面都提供给你项目的建议。
  本书所有练习的答案都可以在其配套网站上找到。
  网站上提供了以下内容:
  本书所有练习的答案本书所有代码的可下载版本本书所有内容的配套教学视频书中示例的在线版本(通过p5.js运行)本书额外的提示和教程问题以及评论本书中的许多示例原本是彩色的,并且具有动态特效,因此书中的黑白和静态屏幕截图无法描绘示例的全部效果。当你阅读时,你可以通过浏览器(使用p5.js)查看在线示例,或者下载到你的电脑上在本地运行。
  本书中示例的源代码同样可以在Learning Processing github库上找到。我还使用了github issues作为系统工具来发现本书中错误,所以如果你发现本书中有任何错误,请在那里给予反馈。你有可能会在本书示例和在线示例之间发现些许差别,但是它们的核心概念是相同的。(例如,为了适合本书的排版布局,书中的示例是以200×200的像素大小呈现的,而在线示例的尺寸可能会相对大一些。)本书的配套网站并不能取代Processing官方网站http://processing.org。官方网站提供了Processing参考文档和更多的示例,此外,还有一个活跃的论坛。
  一步一个脚印增量开发的理念在你开始学习编程之前,还有一个方法需要和你讨论一下。它是我学习编程的一个重要驱动力,并且也对本书的编写风格产生了巨大影响。这个方法是由我之前的一个教授提出来的,叫做“增量开发的理念”(philosophy of incremental development)。更通俗地讲,就是“一步一个脚印的方法”(one-step-at-a-time approach)。
  无论你是一个新手还是

探索数据可视化的无限可能——开启你的创意编码之旅 你是否对如何将抽象的数据转化为生动、富有洞察力的视觉图像感到好奇?你是否渴望掌握一门工具,能够将你的创意想法以动态、交互式的方式呈现出来?抑或你正寻找一条通往编程艺术与科学交汇之处的路径,那里充满着无限的创造与表达? 欢迎来到一个充满活力与创造力的领域,一个将代码转化为视觉奇迹的世界。本书并非仅仅是一本教程,它更像是一扇通往全新思维方式的大门,为你打开一扇关于数据可视化、交互设计以及算法艺术的窗户。在这里,我们将一同踏上一段激动人心的学习旅程,探索如何利用强大的编程工具,赋予冰冷的数据生命,让它们在屏幕上翩翩起舞,讲述它们独特的故事。 为什么选择数据可视化? 在当今这个信息爆炸的时代,数据无处不在,它们是认识世界、理解现象、做出决策的基石。然而,原始的数据本身往往是枯燥乏味的,难以被直观理解。数据可视化,正是将这些数据转化为图形、图表、动画等视觉形式的艺术与科学。它能够: 揭示隐藏的模式与趋势: 通过视觉化的呈现,我们能够轻易地发现数据中潜藏的规律,洞察事物发展的脉络,从而获得更深层次的理解。 简化复杂的信息: 复杂的统计数据、高维度的信息,通过巧妙的可视化设计,可以变得清晰明了,易于消化和传播。 增强沟通与表达: 一张引人入胜的图表,胜过千言万语。数据可视化是连接技术与非技术受众的桥梁,能够有效地传递信息,激发共鸣。 激发创新与实验: 在可视化过程中,我们不仅是在呈现数据,更是在进行探索。动态的交互和迭代的尝试,能够催生出全新的想法和解决方案。 连接艺术与科学: 数据可视化并非纯粹的技术操作,它融合了艺术的审美、设计的智慧以及科学的严谨,是跨学科融合的典范。 为何选择本书作为你的起点? 本书旨在为你提供一个坚实的基础,让你能够自信地踏入数据可视化的广阔天地。我们将从最基础的概念入手,逐步深入,让你在实践中学习,在创造中成长。 循序渐进的学习路径: 我们深知初学者可能面临的挑战,因此本书的设计遵循由浅入深的原则。从编程环境的搭建,到基本图形的绘制,再到复杂动画的实现,每一个环节都经过精心设计,确保你能够轻松上手,稳步前进。 丰富的实践案例: 理论知识的学习需要与实践相结合。本书将提供一系列精心挑选的案例,涵盖了不同领域的数据可视化需求,让你能够亲手操作,将所学知识应用于实际问题。这些案例不仅具有教育意义,更蕴含着创意灵感,鼓励你进行个性化的拓展和创新。 深入浅出的讲解: 我们将用最清晰、最易懂的语言,解释抽象的编程概念和可视化原理。避免使用过于晦涩的技术术语,力求让每一位读者都能理解并掌握。即使你之前没有任何编程经验,也能在这里找到属于自己的学习节奏。 培养解决问题的能力: 编程学习不仅仅是记忆语法,更重要的是培养解决问题的思维能力。本书将引导你分析问题,拆解问题,并通过编程的手段找到解决方案。你将学会如何调试代码,如何优化算法,如何在遇到困难时寻求帮助,这些都是宝贵的软技能。 激发无限的创造力: 数据可视化不仅仅是工具的应用,更是创意的表达。本书将鼓励你跳出固有思维,大胆尝试,将你的独特视角和艺术审美融入到可视化作品中。你将发现,代码也可以成为表达个性和情感的媒介。 构建坚实的技术基石: 我们将为你打下坚实的技术基础,让你能够理解可视化背后的逻辑和原理。这包括数据结构、算法、图形学基础以及交互设计的基本原则。这些知识将使你不仅仅能“做出”可视化,更能“理解”可视化,并为未来深入学习更复杂的工具和技术打下坚实的基础。 探索交互式体验的魅力: 在数字时代,静态的图像已经难以满足人们日益增长的信息获取和互动需求。本书将带领你探索交互式数据可视化的世界,让你学会如何通过用户的操作,动态地改变数据呈现方式,实现更丰富、更具吸引力的信息互动。 关注美学与用户体验: 好的数据可视化不仅要准确传达信息,更要具有美感,能够吸引用户的注意力,并提供良好的用户体验。本书将引导你思考如何进行色彩搭配、布局设计、动画过渡等,让你的可视化作品既有内涵,又有颜值。 谁适合阅读本书? 本书适合所有对数据、编程、设计以及创意表达感兴趣的人。无论你是: 对数据充满好奇的学生: 无论你学习的是计算机科学、统计学、设计学、社会学,还是任何需要处理和分析数据的学科,本书都能帮助你以更直观、更有趣的方式理解和呈现你的研究成果。 渴望拓展技能的开发者: 如果你是一名软件工程师,但希望将你的编程技能应用于更具创造性和视觉化的领域,本书将为你打开一扇新的大门。 对信息可视化感兴趣的设计师: 如果你是一位平面设计师、UI/UX设计师,希望将数据驱动的设计思维融入到你的作品中,本书将提供必要的工具和知识。 需要清晰呈现研究成果的研究人员: 将复杂的研究数据以清晰、易懂的可视化方式呈现,能够极大地提升你研究的传播度和影响力。 追求个性化表达的艺术爱好者: 如果你希望用代码作为画笔,用数据作为颜料,创作出独具个性的数字艺术作品,本书将为你提供启蒙。 想要将创意想法付诸实践的任何人: 无论你的背景如何,只要你拥有强烈的学习意愿和创造的冲动,本书都将是你开启这段奇妙旅程的理想伙伴。 我们将在本书中探索什么? 在接下来的篇章中,我们将一步步揭开数据可视化的神秘面纱。你将学习: 编程基础与环境搭建: 快速掌握必要的编程语言基础,以及如何配置高效的学习和开发环境。 基本图形绘制与组合: 理解点、线、面等基本几何元素如何构建复杂的视觉图形,并学会如何使用它们来表示数据。 色彩、形状与布局的运用: 探索如何利用色彩、形状、大小、位置等视觉变量来编码数据,以及如何设计清晰、有效的布局。 动态效果与动画制作: 为你的可视化作品注入生命,学习如何通过动画来展示数据的变化、过程和关系。 交互式设计的实现: 让你的作品动起来,学会如何响应用户的输入,实现动态过滤、缩放、平移等交互功能。 数据驱动的艺术创作: 超越纯粹的数据呈现,探索如何将算法、生成艺术与数据可视化相结合,创作出独一无二的作品。 常见的可视化类型与应用场景: 了解散点图、折线图、柱状图、地图等不同可视化类型的特点,以及它们在不同领域的应用。 优化与美化你的作品: 学习如何改进你的可视化作品,使其更具可读性、吸引力和信息传达效率。 开启你的创造之旅 告别枯燥的数字,迎接跃动的视觉。本书将引导你从一个全新的角度审视数据,用代码释放你的创意潜能。你将不再是 passively 接收信息的旁观者,而是 actively 创造和表达的艺术家。 准备好迎接挑战了吗?让我们一起深入数据可视化世界的奇妙之旅,用你的双手,用你的代码,点亮那些潜藏在数据中的故事,让它们以最动人的方式呈现给世界。这是一次学习的冒险,更是一次创造的盛宴。现在,就让我们开始吧!

用户评价

评分

说实话,在入手这本书之前,我对Processing的理解还停留在“可以画图”的层面,完全不知道它还能做到如此丰富多彩的事情。这本书就像一个宝藏,一点一点地挖掘出了Processing的无限潜力。最让我印象深刻的是,作者不仅教会了我如何编写代码,更重要的是,他教会了我如何“思考”——如何将一个抽象的创意转化为可执行的代码,如何用逻辑去构建视觉元素,如何让程序响应用户的行为。书中的案例分析非常到位,每一段代码的出现都有其深远的用意,作者都会用简洁明了的语言解释清楚背后的原理,让我不再是生搬硬套,而是真正理解了“为什么这么写”。尤其是一些高级技巧,比如如何创建自己的函数、如何处理复杂的数据结构,在书中都得到了非常详尽的阐述,并且通过一些有趣的小项目来巩固学习效果。我感觉这本书不仅仅是一本技术手册,更是一本激发编程思维的指南,它让我从一个“代码使用者”转变为一个“创意实现者”。

评分

我是一名平面设计师,一直想为自己的作品注入一些动态和交互的元素,所以开始接触Processing。一开始,我担心编程会很难,而且会让我失去设计的直觉。但是这本书彻底打消了我的顾虑。它用一种非常艺术化的方式来讲解编程,强调的是“如何用代码来表达美”,而不是死记硬背各种语法。书中大量的视觉化示例,让我能够直观地感受到代码运行的结果,这对于我这样的视觉型学习者来说太友好了。我特别喜欢书中关于“颜色”和“形状”的讲解,它不仅仅是介绍API,更像是在教我如何调色、如何构图,只不过这次是用代码来完成。我尝试着将书中学的技巧应用到我自己的设计项目中,效果出奇地好,那些静态的图形在我的手中“活”了起来,充满了生命力。这本书让我看到了设计和编程之间绝妙的融合点,也让我对未来的创作充满了更多的可能性。

评分

这本书对我来说,真是一次意外的惊喜!我一直对视觉艺术和编程结合的世界充满了好奇,但又觉得Processing这个领域似乎有点门槛。市面上关于它的资料很多,但总感觉不够系统,要么过于理论化,要么又过于零散。偶然间翻到了这本书,第一眼就被它清晰的排版和直观的图示吸引了。拿到手后,我迫不及待地翻阅起来,发现作者真的非常有心,从最基础的概念讲起,循序渐进,就像一位经验丰富的老师,耐心地引导着我一步步走进Processing的世界。每一个章节都配有大量的代码示例,而且这些示例都非常贴合实际应用,不像有些书上的例子那样晦涩难懂,读起来充满了乐趣。我特别喜欢书中关于“运动”和“交互”的章节,它们让我看到了编程不仅仅是冰冷的数字和逻辑,更是一种可以创造出鲜活、生动作品的艺术。我尝试着修改书中的代码,观察着屏幕上像素的变化,那种成就感是无与伦比的。这本书真的让我感觉,原来学习编程可以如此有趣和富有创造力,我迫不及待地想继续深入下去,用Processing来表达我脑海中的那些奇思妙想。

评分

作为一个完全没有编程背景的初学者,我一直对编程望而却步,觉得它是一门高深莫测的学问。在朋友的推荐下,我拿到了这本书,并且抱着试试看的心态开始阅读。让我惊喜的是,这本书的入门门槛非常低,作者的语言风格非常亲切,就像一位老朋友在跟你聊天一样,一点点地引导你走进编程的世界。书中没有那些枯燥的术语和复杂的理论,更多的是通过一个又一个生动有趣的例子来让你理解概念。我最喜欢的是书中有大量的“动手实践”环节,让我能够立刻将学到的知识运用起来,这种即时反馈的学习方式让我非常有成就感。我曾经尝试过其他一些编程入门书籍,但都因为太难而放弃了,而这本书让我感受到了编程的乐趣,它让我发现,原来我也可以写出让屏幕动起来的程序!

评分

这本书的内容对我来说,简直是打开了一个全新的世界。我一直对数字艺术和创意编程领域很感兴趣,但一直找不到一个好的切入点。这本书的出现,恰好填补了我的需求。它的内容组织非常严谨,从基础概念到高级应用,层层递进,没有跳跃感。我特别欣赏书中对每一个知识点的解释都非常透彻,而且总是能给出一个非常形象的比喻,让我能够轻松理解那些复杂的算法和原理。我尝试着跟随书中的步骤,构建了一个能够自动生成艺术图案的程序,这个过程让我深刻体会到了编程的魅力——用逻辑的力量去创造美。更重要的是,这本书不仅教授了技术,更激发了我的创造力,让我思考如何将自己的想法用代码实现出来,让我对未来的艺术创作有了新的方向和灵感。

评分

不错的教程。。

评分

不饿错的安安奥美拉挫

评分

工具书,孩子需要适用。

评分

不饿错的安安奥美拉挫

评分

外观质量还可以,送货速度快。

评分

人家原本那么好看的封面,,,唉浪费了

评分

好书

评分

好书,值得购买,强烈推荐

评分

很好的一本书,第二版很新

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有