Quantcast
Channel: 少数派
Viewing all articles
Browse latest Browse all 13778

幕后丨教育的最高境界,就是让你体会到知识震撼人心的美:专访「分形的奥秘」

$
0
0

512325dee7402883efeb7bc09fd8decd547e1_mw

关于「幕后」

我们每天会接触大量的软件、硬件,但是多数时间下,都只是以固有的「使用者」视觉去体验和评判,快节奏的模式让我们没时间体会太多背后的理念。「幕后」栏目 因此而生,我们会不定期邀请一些制作者,讲述他们在产品开发 / 制作过程中的点滴。

对于大多数用户来说,「分形的奥秘」可能是一款完全不知道用来干什么的应用。

少数派曾经介绍过这款奇妙的应用,它首先通过引导讲解,让你明白什么是分形、朱利亚集以及图案形成的机理。之后你可以通过自定义参数,创建自己的分形,并把这些漂亮的图案保存下来,用作独一无二的壁纸。利用出色的图像渲染技术和作者对数学的理解和创意,「分形的奥秘」让一个简单的数学公式变得极具艺术感。 

但是不管从哪个角度来看,「分形的奥秘」都算是一款小众应用,相信很多人都和我们一样好奇,为什么要开发一款如此小众的应用?在采访了应用的开发者张弓之后我们发现,这款神奇的应用背后,是他对于教育的理解。而曾经在微软和阿里两家大公司工作过的他,之所以选择这个主题的应用,也是基于它对于独立应用的看法。

 数学趣味应用诞生记

我非常崇尚教育,人的成长离不开教育。我试图利用计算机领域的先进技术,将一些极其抽象的数学概念和现象以一种形象的方式呈现出来。

π:介绍一下你自己。

大家好!我是张弓,一名 iOS 开发者。我毕业于北航计算机系,曾任职微软亚洲研究院、阿里巴巴云计算(阿里云)。目前正在创业,并在业余时间进行独立软件创作。以前开发过 iOS 应用「老台历」,以及现在的「分形的奥秘」。我前不久刚创建了 个人博客,大家可以在这里持续关注我的动态。

π:是怎么想起来做「分形的奥秘」这款应用的?

说起来,这个原因既简单又复杂。其实我就是那种可以在编程当中体会到极大乐趣的人,在整个创作过程中我都可以体会到全身心投入的美妙状态。如果最终的作品还能给一些朋友带来乐趣和享受,那就更好了,这就是我独立创作「分形的奥秘」这一应用的核心动力。

我相信有很多独立开发者都是以这样一种热情去从事他们的热爱的事业的。不过「分形」这个主题并非是我一时突发奇想而选定的,它经过了非常认真的挑选和考虑。

第一,做小众主题要比做大众主题更适合个人开发者。小众主题的用户量小,从市场的角度看,大公司、以及那些必须考虑发展空间的团队就不会选择去做小众产品。而对个人开发者来说,产品代表了他们的创意、观念、品味和喜好,他们往往非常关注自身个性的表达。App Store 也一向非常支持此类有特色的独立应用和独立游戏。所以对个人开发来说,小众主题的产品更有可能从 App Store 中脱颖而出,很多优秀的独立软件就是这样诞生的。

第二,主题本身要有趣。数学这个主题的趣味性就非常强,即便它有时显得有些深奥。对于数学趣味性的挖掘,我觉得最到位的要数「Matrix67」大神了,他的趣味数学博客在网络上非常有名,强烈推荐数学爱好者订阅。「分形的奥秘」中的一些灵感就来自于他的文章,在此还要向他致敬!

第三,我希望大家能从我的应用中收获一些有趣的数学知识。我非常崇尚教育,人的成长离不开教育。我试图利用计算机领域的先进技术,将一些极其抽象的数学概念和现象以一种形象的方式呈现出来。「分形的奥秘」通过一系列新颖的交互与动态效果,向大家讲述了分形理论中一些经典原理与概念,并试图让大家体会到其中的神奇。「分形的奥秘」中呈现出的很多有趣的东西是在传统书本上难以找到的。

π:你认为「分形的奥秘」的受众是哪些?他们可以从中获得什么?

「分形的奥秘」这款 App 主要面向的是那些对数学知识感兴趣的朋友们。我小时候就非常喜欢翻看百科全书里面自然科学那一卷,纵然有很多看不懂的地方,但也总可以从里面体会到知识本身的趣味性。我希望「分形的奥秘」也是这样,能让大家体会到数学的奇妙。

另外,「分形的奥秘」也对那些喜欢在 iPhone 上尝试新奇应用的朋友们有一定吸引力。分形图的变化十分丰富,他们可以用「分形的奥秘」来生成独一无二的分形图,再配合其它图像处理 App,一定可以创作出很多不凡的分形艺术作品。

π:用户在 App Store 中评论道「教育的最高境界就是让人体会到知识震撼人心的美」,你是如何看待这条评论的?

「分形的奥秘」是一款教育类应用,我一直都非常关心大家是否能从中切实地学到一些知识,并体会到数学本身的美感。正如这位朋友所说的,好的教育应该能够激发人们探索的兴趣,同时又有一定挑战性。很高兴看到 App Store 中朋友们的评价都非常赞,我相信大家一定是从「分形的奥秘」中体会到了分形数学的美感和震撼。能获得这样的评价和肯定,我非常欣慰。

π:「分形的奥秘」目前只展示了朱利亚集,之后会不会加入更多的内容?

「分形」是个内容相当丰富的主题,你可以在 Matrix67 大神的博客里搜索到数十篇有关分形的文章。此外「分形」还与其它一些有趣的概念有着密切关系,像是「混沌」、「蝴蝶效应」等。我很希望能围绕这个创意主题做出一个系列,让更多朋友与我一起体验知识的奇妙。

π:对于那些看见数学就头痛的人来说,会没有耐心去看第一部分的讲解,你是否有考虑换一种引导方式?

我十分理解这种「头痛」。就以我自己来说吧,以前上学的时候,我是个比较「偏科」的理科生。每次要阅读长篇课文、答文科题的时候我都会「头痛」,一些不太易读的文学作品我更是无法理解其乐趣何在。

高考之后,我反而逐渐体会到了文学的趣味与美感。我发现一些初看起来晦涩难懂的文字,静下心来多读几遍自会体会到其中的乐趣。就像读《红楼梦》一样,读五遍有五遍的乐趣,读十遍有十遍的感慨。很多时候知识本身是有趣的,只是在应试教育之下,乐趣都被学习压力掩埋了。

理科的知识也是类似的,而且更加抽象飘渺,它的复杂度和难度是确实存在的。「分形数学」更是一门高深的学问。但是,只要你开始试图去理解它,你就会发现它其实并没有那么困难。「分形的奥秘」所讲述的就是分形数学中最有趣味性的那部分知识,而且我淡化了其中晦涩的理论,因此你只需要高中水平的数学基础就可以完全看懂。我保证你在认真读过这部分讲解后,会感叹数学的神奇。

困难的图形性能优化

生成一张分辨率为 1080x1920 的分形图就要经过上亿次复数运算;进一步地,如果要做到流畅的实时图像生成,那么每秒钟还要生成接近 60 幅图像,这对移动设备的计算能力是颇具挑战的。

π:在开发过程中遇到的最大困难是什么?

图形性能优化是「分形的奥秘」整个开发过程中最难的一个环节。

计算机生成朱利亚集分形图像的计算量还是挺大的,因为最终图上的每个像素都要经过约百次计算才能确定其颜色。生成一张分辨率为 1080x1920 的分形图就要经过上亿次复数运算;进一步地,如果要做到流畅的实时图像生成,那么每秒钟还要生成接近 60 幅图像,这对移动设备的计算能力是颇具挑战的。

为了实现这一目标,我必须混合使用多种优化手段来降低计算量、提高计算效率。在这些优化手段中,有的是从数学角度进行的优化,有的是从视觉心理学角度进行的优化。其中有些方法是从维基百科上看到的,有些是我自己发掘的。把这些方法用计算机语言实现出来后,再结合到一起,通过反复的实验来调校参数,最终才能做到「流畅」的实时分形动画。这部分工作非常的有趣,也确实比较难。我之后应该会在博客上专门写一篇技术文章来讨论这些优化方法。

另外,为了最大限度发挥 iOS 设备的计算能力,我还在「分形的奥秘」中使用了苹果近年才推出的 Metal 技术,而非传统的 OpenGL。这项技术还比较新,文档和样例都不够丰富,并且要具备一定的计算机图形学和 GPU 编程基础才能顺利上手。这部分技术钻研起来也是比较难的。

不过也正是因为存在这些困难,App Store 上才几乎没有同类应用能像「分形的奥秘」一样,能让你看到分形图的形状是如何跟着数学参数变化的。

用 Xcode 进行性能调试

π:在移动设备上实时渲染分形图像是一项极富挑战性的任务,我们可以看到「分形的奥秘」生成的图像都非常精美,你是如何将效果很好的实现出来?

这里的挑战其实是回答一个美学问题:究竟怎样给分形图上色才能让它看起来舒服、美观?由数学公式计算得到的原始图像数据其实是没有颜色概念的,必须经过人为的「着色」过程才能得到我们熟悉的彩色分形图。

使用不同的着色方法,得到的结果自然不同。如果你在搜索引擎上搜索分形图片,你会找到很多颜色生硬的分形图,看起来并不舒服,有的甚至会让人感到眩晕和不适。所以在项目初期,我在 Photoshop 里花了不少时间去实验和尝试不同的着色方法。

最后,我得到了一种简单而有效的方法,能让图形看起来温和、美观,而且还不破坏其数学特性的表达。这也就是大家在「分形的奥秘」应用中看到的效果。里面主要利用了一些色彩空间变换、非线性映射等方法,再加上一些后期特效,最终呈现出精美的图形。

关于独立开发

独立开发会给你带来很多宝贵的机遇与可能性。

π:作为曾经在微软和阿里工作过的工程师,是什么原因让你走上了独立开发这条路?

我是为了和志同道合的朋友一起创业才离开大公司的,同时在 Gap Year 期间利用独立开发来主动探索一些新的机遇。

独立开发是我的一项爱好,也是一门手艺,是一种创作。在我的理解中,软件创作与其它类型的创作一样,需要坚实的专业技能,也需要大量的个人精力投入。在创作过程中,创作人可以最大限度地运用自己的才能,去解决问题、去创造价值、去表达观点。从中收获的成就感与满足感,是无与伦比的。正如创作「分形的奥秘」期间,我时常会进入那种「将自己所学的专业知识发挥到极致」的淋漓畅快的巅峰体验。所以,软件创作一直对我有很强的吸引力。

从这个角度上看,软件创作更是一种艺术。与工作和创业不同,从事独立开发,既没有工资又没有投资,很多时候还不盈利,这是很多拥有「独立创作」想法、但却未付诸实践的朋友所最担忧的问题。这个问题是实际存在的,所以,如果要将独立开发做为一项职业选择,就要清楚自己期望从中获得什么,以及如何间接地盈利。我对这个问题给出的答案是:独立开发会给你带来很多宝贵的机遇与可能性。

举例来说,我曾经在读大学期间利用空闲时间开发过一款农历应用「老台历」,当时用户反馈也相当好。而仅因为这一款作品,我在毕业求职时就获得了很强的主动权,大公司的 Offer 待遇也给的更高;还曾有投资人给出了合作意向,不过当时自己商业知识比较匮乏,我没有抓住机会。

即便如此,从 App Store 上赚来的外快还是让我用上了新款的 MacBook。现在,我开发「分形的奥秘」也是这样,你投入的精力和热情,会很快转变为机遇和可能,其潜在价值有时是非常高的,而且是你在大公司工作时难以获得的。

当你处于职业生涯的打拼阶段时,花一些时间来主动争取一些新的机会,探索不同的可能性,是值得的。要知道,世界上有不少伟大的公司,最初都是从少数人的爱好开始的,甚至他们最初根本就没想着创办公司。所以,不要低估独立创作的潜在价值。

π:在你独立开发「分形的奥秘」的过程中,有哪些心得和体会?

方法学(Methodology)很重要。这个词本身可能存在一些歧义,我在这里想表达的是:在开展一项工作前,不妨先研究一下工作中究竟应当采用何种方法、何种原则和规则,以及思考一下究竟怎样系统化地、有条理地开展这项工作。

今天的软件工业领域已经比十年前成熟多了,几乎每个开发环节你都可以找到一大把现成的工具去辅助完成你的工作,而且很多工具还是免费的、开源的。这无疑是一件好事,但随之而来的问题是,工具自己并不会告诉你「如何去使用它才能真的让它发挥正面的作用」。不因地制宜地使用它们,还可能会得到反面效果。

有时你会听别人推荐某某效率类应用非常好用,能大幅提高工作效率,但自己一用却不以为然,体会不出好处。这往往就是因为真正起作用的「方法」并不是包含在工具当中的,况且别人的方法也并不一定适合自己。软件开发是一项精细而耗时的工作,讲究方法、选择合适的方法,尤为重要。

我在开发「分形的奥秘」的过程中,使用了很多优秀的工具。除了编程用的核心工具外,还有Trello、GitHub、OmniPlanMindNodeMWeb、Sketch、Photoshop、Xcode Playground、性能分析工具、单元测试工具等等。我逐渐发现,如何用好这些工具,让它们对开发过程和最终产品有实在的贡献,真的是一门学问。

所以,我特别提倡广大开发者、软件团队的管理者要多从方法学的角度进行思考,不盲目使用工具。

用 OmniPlan 做计划

π:谈谈你对苹果平台上软件产品的理解。

在我看来,苹果平台上最有特点的一类软件产品,就是那些同时实现「专业性」与「趣味性」的软件产品。

「专业性」是指软件是为某个专业领域打造的,能够满足领域内的特有需求,并且能够在软件中体现出高水平的专业素质;「趣味性」是指软件产品能够给用户带来一种有趣的、巧妙的体验,而不是枯燥的、沉闷的。

想在一款专业软件中同时实现这两种特点,在产品设计上是有一定难度的。若过于强调专业内容,产品就会显得乏味,趣味性降低;而过多地引入趣味元素,又会使产品显得幼稚,从而丧失专业性。

苹果自家推出的 GarageBand 就是同时做到「专业」和「有趣」的一个典型代表。GarageBand 是一款为个人音乐爱好者或小型乐队设计的音乐创作软件,你可以用它来演奏、录制、合成、编辑、发布个人音乐作品。就算你不是专业的音乐人,也可以在里面毫无障碍地尝试各种电子乐器,它就像是一个玩儿不坏的玩具;如果你需要制作音乐,它也能够帮你轻松愉悦地完成一系列专业的音乐编辑工作。

优秀的软件设计就是这样的,它能够将一项复杂任务巧妙地安排在一起,使其变得有条理、有秩序,从而不仅帮我们完成任务,还能让我们体会到愉悦感。

类似的软件还有很多,比如为天文爱好者设计的 Star Walk、为专业图像处理人员设计的Pixelmator、为写作人员设计的 iA Writer 等等。此类软件一直苹果平台所推崇的,是能够体现苹果对软件设计理解的一类应用。预计在今年九月份召开的苹果新品发布会上,苹果还会推出 iPad 上的专业编程学习工具「Swift Playground」,相信它的专业性和趣味性又会刷新很多人对「编程」这项工作的认识。

π:有什么其他数学科普类 App 推荐?

App Store 里的教育分类下推荐了很多优秀的科普类应用,我经常会去尝试那里的应用。给大家推荐这几个数学相关的 App:四维空间Wolfram Alpha有数Math 42

π:分享一下你用「分形的奥秘」生成的图像或壁纸。


点击查看大图

更多幕后故事:



文章来源 少数派 ,原作者 少数派Matrix ,转载请注明原文链接



喜欢少数派?欢迎关注我们的微博:@少数派sspai ,微信公众号: sspaime
少数派( http://sspai.com )

c1166f663b2e792adf0652ae3bf3e70252e54_mw


Viewing all articles
Browse latest Browse all 13778

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>