一闪一闪的Android视图

在创建Android的布局文件时会用到各种标签来定义视图,对于这些标签总能项目代码或者Android的源码中找到对应的类定义。如果标签是包含了整个包(package)路径,那么就可以直接对应到该视图类上;假如标签只是个简单的类名,那么系统就会以下边的前缀列表依次去寻找该类。

Source code     private static final String[] sClassPrefixList = { “android.widget.”, “android.webkit.”, “android.app.” };

万一类不存在,那就说明这个布局文件将无法正常地被LayoutInflater填充成视图层次结构。不过也有几个标签是没有对应的类定义的,但它们在Android开发文档中有被介绍,比如<include/>和<merge/>标签。它们作为视图优化的功能标签,并不生成实际的视图呈现在页面上。对这两个标签的具体处理方式,可以在LayoutInflater的源码中找到答案。

在源码中会可能会看到一些其他特殊的标签定义,本文就是要来介绍其中的<blink/>标签。这个标签并没有在文档中做任何介绍,实际上只是Android 4.0(Ice Cream Sandwich, ICS)带进来的一个菜单而已。使用这个标签包裹其他视图,可以让其不停地闪烁:

Source code     <?xml version=”1.0″ encoding=”utf-8″?> <FrameLayout xmlns:android=”http://schemas.android.com/apk/res/android” android:layout_width=”match_parent” android:layout_height=”match_parent”>   <blink android:layout_gravity=”center” android:layout_width=”match_parent” android:layout_height=”wrap_content”>   <TextView android:layout_gravity=”center” android:textSize=”21sp” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:text=”http://blog.iderzheng.com”/>   </blink>   </FrameLayout>

blink标签效果

http://blog.iderzheng.com/wp-content/uploads/2015/07/android-blink-tag.webm

blink标签其实也是又对应的类定义的,而且它就定义在LayoutInflater里。从源码中可以看出它只是一个FrameLayout然后间隔地在页面上绘制视图。

Source code     private […]

精致的利己主义者和常青藤的绵羊

(《南方周末》,2015年7月30日)

现在很多忧国忧民的老派人物已经对中国的大学,包括一流名校,有点不敢抱太大希望了。中国大学给人的印象是不但学术创新能力不行,就连社会责任感也不行,用北大钱理群的话说,培养出来的学生都是“精致的利己主义者”。那么礼失求诸野,美国大学又如何呢?常青藤名校学生,是否都是德才兼备,文能安邦武能定国,充满英雄主义和冒险精神的人中之龙凤?在美国名校读本科 — 而不是一般中国留学生读的、以搞科研发论文为目标的研究生 — 是一种怎样的体验?

像这样的问题光问哈佛女孩刘亦婷不行,最好再找个懂行的本地人问问,比如耶鲁教授William Deresiewicz[1]。 他去年出了一本书,叫做《优秀的绵羊》(Excellent Sheep)。这个称号并不比“精致的利己主义者”好听。

显然这是一本批评美国名校教育的书,不过这本书并不只是图个吐槽的痛快,它讲述了一点名校的运行机制。此书没提中国,可是我想如果把中美两国名校教育放在一起比较一下,将是非常有意思的事情。作为中国读者,如果你不怎么了解美国教育,读完这本书可能会惊异于中美大学的巨大差异;如果你已经有所了解美国教育,读完可能会惊异于中美大学有巨大的相似性。

也许我们还可以思考一下,现代大学到底是干什么用的。

好得像绵羊一样的学生

为说话方便,我们虚构两个学生:中国清华大学的小明,和美国耶鲁大学的Joe。能入选各自国家的顶级名校,这二人显然都是出类拔萃的精英。人们相信他们都是未来社会栋梁,甚至有可能成为各自国家的领导人。

然而在此时此刻,小明的形象距离领导人还相差很远。他来自中国某个边远地区,身体谈不上健壮,带个眼镜,社会经验相当有限,也不怎么善于言谈,简直除了成绩好一无所长。刻薄的人可能会说小明有点读书读傻了,是高考的受害者。

但小明其实是高考的受益者。他是自己家族,甚至可以说是家乡的骄傲。为了得到这位全省状元,清华招生组曾把小明请到北京陪吃陪玩,美其名曰“参观校园”,直到看着他填报了志愿才算放心,简直是球星的待遇[2]。

Joe的父亲是某大公司CEO,母亲在家做全职主妇。由于父母二人都是耶鲁的毕业生,Joe上耶鲁只不过是遵循了家族传统而已。美国大学录取并不只看分数,非常讲究综合素质。跟小明相比,Joe可谓是多才多艺。他高中时就跟同学搞过乐队,能写能弹能唱,从小就精通游泳、网球和冰球,而且入选校队参加比赛。Joe的组织能力很强,是高中学生会副主席,而且他很有爱心,经常去社区医院帮助残疾人做康复运动。

要论解决刁钻古怪的高考数学题,Joe肯定不如小明 — 但是Joe的学习成绩并不差。Joe从高二开始就选修了几门大学先修课程(叫做“AP”,advanced placement),还没上大学已经具备微积分和宏观经济学的知识,这都是小明从未学习过的、高考范围以外的内容。

跟很多名校一样,耶鲁甚至允许Joe高中毕业后先玩一年再入学,一方面休息休息,一方面趁着年轻看看世界。Joe并没有浪费这一年时间。在欧洲游历了半年之后,他在父亲帮助下前往非洲,以志愿者身份在比尔及梅琳达·盖茨基金会工作了几个月,任务是帮助赞比亚减少艾滋病毒感染。

小明深知自己的一切荣誉都来自分数。只有过硬的分数才能让他拿到奖学金、出国留学、找份好工作,夺取光明前途。为此,小明在清华的学习策略跟高中并无区别,那就是一定要门门功课都拿优等。

Joe的大学生活就比小明丰富多了。他是多个学生组织的成员,每逢假期就去做志愿者或者去大公司实习,有相当专业的体育运动,而且经常跟老师和同学们交流读书心得!

所以中美大学教育的确是非常不同。可是如果你据此认为,相对于小明苦逼的应试教育,Joe正在经历的素质教育非常快乐,或者你认为Joe是比小明更优秀的人才,那你就完全错了。事实上,Joe和小明是非常相似的一类人。

Joe为什么要参加那么多课外活动?因为这些活动是美国学生评价体系的重要组成部分,像考试分数一样重要。跟小明刷GPA(平均学分籍点)一样,Joe刷课外活动的经验值也只不过是完成各种考核指标而已。每天忙得焦头烂额的Joe,对这些事情并没有真正的热情。比一心只想着考试的小明更苦的是,Joe还必须顾及自己在师生中的日常形象,这就是为什么他需要知道别人经常谈论的每一本书都说了什么 — 所以他用只读开头、结尾和书评的方式假装读过很多本书。至于能从一本书中真正学到什么,Joe根本没时间在乎。

如果说小明是个精致的利己主义者,其实Joe也是。上世纪六七十年代和更早时候的大学生的确都很有社会责任感,非常关心国家大事,甚至愿意为了社会活动而牺牲学业。可能因为各行业收入差距越来越大,也可能因为大学学费越来越贵,现在的大学生竞争非常激烈,根本没时间管自己生活以外的事情。除了拿经验值走人,他们并不打算对任何事物做特别深入的了解。清华的学生还有闲情逸致搞个女生节向师妹师姐致意,而耶鲁这种水平的顶尖美国大学中,学生们经常忙得没时间谈恋爱。

Joe和小明的内心都非常脆弱。一路过关斩将进入名校,他们从小早就是取悦老师和家长的高手。别人对他们有什么期待,他们就做什么,而且一定能做好。层层过关的选拔制度确保了这些学生都是习惯性的成功者,他们从未遇到挫折 — 所以他们特别害怕失败。进入大学,他们的思想经常走极端,做事成功了就认为自己无比了不起,一旦失败就认为自己简直一无是处。Joe曾经真诚的认为如果考不进耶鲁,他就与一个屠宰场工人无异。

面对无数跟自己一样聪明一样勤奋的人,他们的情绪经常波动,充满焦虑。他们选课非常小心谨慎,专门挑自己擅长的选,根本不敢选那些有可能证明自己不行的课程。

人们印象中的名校应该不拘一格降人才,每个学生都根据自己的个性选择不同的道路,百花齐放。然而事实是在追求安全不敢冒险的氛围下,学生们互相模仿,生怕跟别人不一样。小明一入学就在最短的时间内跟师兄们学会了自己学校的切口和校园BBS上的专用语,哪怕跟校外的人交谈也要蹦出几个“x字班”之类的黑话,而绝不会明明白白地跟你说院系年级。他们不是尽力表现自己的与众不同,而是与“自己人”的相同!

什么时候考托福、哪个老师的课不容易拿分、考研找工作的各种手续、就连办出国打预防针总共会被扎几次,BBS上都有详细的“攻略”。小明对这些进身之道门清,津津乐道,遇到与攻略稍有差异的局面都要上网仔细询问,不敢越雷池半步。小明的师兄梁植在清华拿了三个学位而没找到毕业后该去干什么工作的攻略,习惯性地在一个电视访谈节目向评委请教,结果遭到了老校友高晓松的怒斥[3]。

高晓松说:“你不去问自己能为改变这个社会做些什么,却问我们你该找什么工作,你觉得愧不愧对清华十多年的教育?”

高晓松大概也会看不起Joe。刚入学时,Joe们被告知耶鲁是个特别讲究多样性的大学,他们这些来自五湖四海不同种族、身怀多项技能的青年才俊将来的发展有无限的可能性。那么这些拥有得天独厚的学习条件的精英学生,是否会有很多人去研究古生物学,很多人致力于机器人技术,很多人苦学政治一心救国,很多人毕业后去了乌干达扶贫呢?

当然不是。学生们慢慢发现真正值得选择的职业只有两个:金融和咨询。有统计[4]发现2014年70%的哈佛学生把简历投到了华尔街的金融公司和麦卡锡等咨询公司,而在金融危机之前的2007年,更有50%的哈佛学生直接去了华尔街工作。对比之下,选择政府和政治相关工作的只有3.5%。

金融和咨询,这两种职业的共同点是工资很高,写在简历里很好看,而且不管你之前学的是什么专业都可以去做。事实上这些公司也不在乎你学了什么,他们只要求你出身名校聪明能干。

别人怎么要求,他们就怎么反应。不敢冒险,互相模仿。一群一群的都往同样的方向走。这不就是绵羊吗?

假贵族和真贵族

既然是绵羊,那就好办了。中国学生也许不擅长当超级英雄,当个绵羊还是非常擅长的。你只要使用“虎妈”式的训练法,甭管钢琴还是大提琴,你要什么经验值我就给你什么经验值不就行了吗?如果清华大学入学有音乐要求,我们完全可以想见小明一定会熟练掌握小提琴。如果说中国教育的特点是分数至上,现在美国教育不也是讲credentialism吗?美国名校难道不应该迅速被华人学生占领吗?

没有。近日有报道,华裔学生Michael Wang,2230分的SAT成绩(超过99%的考生),4.67的GPA,全班第二,13门AP课程,而且还“参加了国家的英语演讲和辩论比赛,数学竞赛,会弹钢琴,在2008年奥巴马总统就职典礼上参加合唱团的合唱”[5],在2013年申请了7所常青藤大学和斯坦福大学,结果被除了宾夕法尼亚大学之外的所有学校拒绝。

这又是什么道理?华人,乃至整个亚裔群体,哪怕是成绩再好,文体项目再多,你要求的我都会,还是经常被常青藤大学挡在门外。很多人认为这是针对亚裔的种族歧视。最近有人联合起来要起诉哈佛大学录取不公平,他们的官方网站就叫“哈佛不公平”(harvardnotfair.org)。

但是读过《优秀的绵羊》我们就会明白,这些整天立志“爬藤”亚裔学生根本没搞明白藤校是怎么回事儿。

稍微具备一点百科知识的人都知道,所谓常青藤盟校,最早是一个大学体育赛事联盟。可是如果你认为这些大学当初组织起来搞体育赛事,是为了促进美国青年的体育运动,你就大错特错了。常青藤的本质,是美国上层社会子弟上大学的地方。

十九世纪末,随着铁路把全国变成一个统一的经济体,白人盎格鲁-撒克逊新教徒,也就是WASP,中的新贵不断涌现,他们需要一些精英大学来让自己的子弟互相认识和建立联系。这些大学录取要求会希腊语和拉丁文,这都是公立高中根本不教的内容,这样平民子弟就被自动排除在外。

所以精英大学本来就是精英阶层自己玩的东西,是确保他们保持统治地位的手段。自己花钱赞助名校,让自己的孩子在这些大学里上学,然后到自己公司接管领导职位,这件事外人几乎无法指责。哈佛是个私立大学,本来就没义务跟普通人讲“公平”。

当时“有资格上”哈佛的学生进哈佛相当容易,录取根本就不看重学习成绩。事实上一直到1950年,哈佛每十个录取名额只有13个人申请,而耶鲁的录取率也高达46%,跟今天百里挑一甚至千里挑一的局面根本不可同日而语。

相对于学习成绩,学校更重视学生的品格养成,搞很多体育和课外活动,以人为本。也许那时候的美国名校,才是我们心目中的理想大学,是真正的素质教育。

然而精英们很快意识到这么搞不行。一方面新的社会势力不断涌现,一味把人排除在外对统治阶层自己是不利的。另一方面这些“贵族”子弟的学业的确不够好。

[…]

Howdy Stranger! Worldwide photo walks August 22nd and 23rd

There is a long tradition in the Flickr community of taking portraits of strangers, then sharing the story of the encounter with the world. From groups like 100 Strangers, to personal projects by Flickr members to document the people we find in the streets and out in public, the results of these meetings can […]

图说2015用户体验行业调查报告

     2015年7月19日,由国际体验设计协会(IXDC)主办的亚洲最具影响力体验设计盛宴“国际体验设计大会” 在北京•国家会议中心圆满闭幕。在17日的大会主题演讲上,IXDC副会长胡晓分享了《2015用户体验行业调查报告》,报告通过从业者画像、薪资、跳槽、满意度、企业团队、核心竞争力六个方面的全面调查,对整个行业情况进行了系统的分析,为用户体验从业者了解行业现状和发展提供了客观有力的参考。本次行业调查报告由IXDC 联合腾讯 CDC 共同完成,本文以图表方式对报告核心内容进行解读。

一、同行都是谁?

     用户体验行业从业者年龄普遍偏小,从业时间较短,年轻化趋势明显;学历偏高,本科以上从业者占比大,行业专业要求在不断提高。此外,大部分从业者在民营或者外企工作,市场对于体验行业的需求旺盛。

     当前用户体验行业的主要工作岗位包括,管理、视觉设计、交互设计、用户研究、产品等,不同工作岗位的从业者有着鲜明的特点。

二、同行的薪资水平是多少?

     用户体验行业超过三成从业者税前薪资收入在5~15w,工作类别不同,薪资水平有一定区别。团队和项目管理薪资分布范围较广,高于其他岗位。

 

     影响从业者薪资水平的主要因素是工作岗位、从业年限、公司规模;影响薪资涨幅的主要因素是公司规模和行业所属领域,企业规模越大,薪资涨幅相对较高。

 

三、哪些人想跳槽?

     从业者跳槽的调查分析显示,有六成以上的从业者有过跳槽经历,未来一年有五成从业者考虑换工作。从业者跳槽的主要因素是“产品项目状况”、 “公司团队状况”、“薪酬和福利待遇”以及“培训学习机会”。

     不难发现,用户体验行业的流动性在逐渐增加,从业者们的选择机会也越来越多,从业者的职业规划也更加多元化,这对用户体验团队、工作环境、培训等都提出了更高的要求。

四、同行对工作都满意吗?

     2015年用户体验行业从业者工作满意度为比2014有一定提升,行业信心指数比2014年略有下降。影响满意度的主要因素是“薪酬”、“工作内容”、“是否有话语权”,各类别从业者工作满意度存在差异。

五、行业发展趋势如何?

     报告显示,本次调查的65.5%从业者都在互联网公司工作,其中三成从业者在1000人以上的大公司工作。一般仅千人以上大型综合性公司和专门设计类的公司才设有用户体验部门,不过用户体验团队的规模在逐年扩大,行业趋于互联网化的同时,用户体验团队建设也越来越受到重视。

六、哪些能力最重要?

     调查分析发现,为了保证核心竞争力,用户体验行业的从业者需要具备的通用能力有“沟通”、“需求理解”、“团队合作”、“用户体验思维”、“逻辑分析”等,但不同类别的用户体验从业者能力要求的侧重点有所差异。

     本次行业调查的参与人员主要是一二线城市的大中小型企业从业者,调查问卷从设计、发布、回收到数据分析、报告编写均由“腾讯问卷”负责,行业报告完整版可通过腾讯CDC官网或者IXDC官网下载阅读。腾讯问卷(wj.qq.com)是腾讯CDC根据多年问卷调查经验开发的在线问卷调查平台,该平台前身是腾讯公司内部进行用户、市场、产品研究的重要问卷调查工具。

完整报告:2015国际用户体验大会行业报告[完整版]

(本文出自腾讯CDC博客: http://cdc.tencent.com/?p=8575)

[…]

聊出一个未来

在过去的很长一段时间里,每当我坐在电脑前,父母的问候语总是“在聊天吗”,一定程度上可见网络聊天之深入人心。科学一点,翻看近几年不同地区互联网用户时间的分配比例数据,聊天时间通常也占据前三位之一。这似乎已经是司空见惯的形势,然而仔细品味,会发现聊天并不是件简单的事情。

 

社交场景

大家最熟悉的聊天工具莫过于IM产品。从QQ、微信,海外的Line、Whatsapp,到各种在历史浪潮中前赴后继的聊天产品,说明了人们对于聊天的热情。可以想见这些产品在设计之初的心愿极为简单,将现实生活中的人人互动电子化,让人在远程场景下聊起来。

虽说聊天是最早被互联网化的人类活动之一,但其产品形式仍然深深根植于物理世界中对话交互方式之中。纵观各聊天界面的基本布局,其实大同小异,只是根据各自的具体使用场景增添或减少一些细节罢了(此处以手机端界面为例)。

上图是三个操作系统中的三款聊天产品,可见聊天软件再改变,聊天界面的基础格局也很难变出花来。所以虽然市场上聊天产品很多,但它们却在某种意义上做着同一件事——培养用户在聊天界面中的互动习惯,只消输入-发送,对话就此开始。

 

服务场景

对于用户触达极广的聊天工具,自然而然带动增值服务的渗入。而这些服务以什么形式来呈现是个值得探讨的有趣话题。在我印象中最早的尝试在短信时代已初见端倪。如给中国移动账号充值的过程:

在这一案例中,服务方并不能真正读懂用户的自然语言,于是和用户约定了一个“通信协议”,从而实现了在短信界面上进行简单的充值查询等操作。这看上去像是移动基于自身功能和当时的服务现状而适配出的一个折中方案,但却带给我们很多启发。如今,大家对于聊天界面的解读更加灵活,许多产品主动采用了这种交互形式,并将其结合到了更为自然的使用场景中。例如手机QQ中发送文件到自己的电脑和QQ服务号的界面,均是在IM的框架下进行设计。这些功能的优势或源于聊天软件既已被广泛安装的事实,但神奇的是这种通过对话形式实现服务和功能的方式有着广泛的适应性。

在服务号中,用户收到的信息有可能来自客服人员,有可能来自系统已设置好的字段,也有可能是一篇事先撰写的文章,而这些都被包装在一个服务帐号中。这其中涉及的信息推送和服务响应在聊天界面下变成了一种连贯的体验,用户能感知更像是一种量体裁衣的服务方式;对商家而言,聊天界面的的推送无疑有着更高的触达率。相比于提供/进入一个商品或服务界面进行信息寻找或查询,服务号的形式能够让服务方和用户建立更为亲密的关系。

而文件传输场景则是另一种有趣的尝试。发送文件给自己的电脑被设计成与发送给自己的好友一致的交互逻辑,这实则在人机交互的领域引入了一个前瞻的样式:无论界面两端是人抑或系统,都视为平等的互动对象。这对用户而言无需再怀抱“我在使用一个复杂软件的心态”——由对话界面引出的拖拽发送等操作似乎比单纯的“列表选择-确认”更易理解,也更具人情味。

这种样式很容易让人想到火热的物联网。物联网目标在让每个物件在互联网中拥有自己的ID,而拥有ID之后是不是意味着它们也可以出现在你的好友列表里?试想我们在QQ里发送信息给我的好友“家”:

我-今天有人来找我吗?

家-并没有。

事实上,在QQ的好友列表里已经出现了我的设备分组,似乎这一构想也并不遥远。当好友列表可以承载的对象愈多,也便意味着我们可以通过“聊天”与愈多的事物建立关系。

 

泛沟通场景

以上我们看到了聊天软件的触角正在向不同的领域延伸,而事实上,非聊天产品们也在做聊天的事情,而这种融合在广泛的生活场景中“聊天界面”又有了更多变幻空间。如现今视频播放界面中喜闻乐见的弹幕,它将聊天直接插入到视频画面之中,虽然融合的方式简单粗暴,却带来了意想不到的社交增强效果,在某些场景下带来了广泛的共鸣。在声音制作分享产品echo中,音乐播放界面甚至直接使用弹幕作为界面主体。对于一个缺乏视觉元素的产品,这是一个值得一试的做法,而对于一个UGC的社区,利用聊天拉动气氛更是情理之中。

还有在诸如支付、游戏等场景中,聊天都成为不可或缺的元素。聊天的界面促进了社交氛围和关系链的生长,而在此之上多方参与的场景的建立也更为迅速。

此外,以苹果Siri、微软Cortana等为代表的智能个人助手则是泛沟通场景更加超前的参与者。与上文提到的产品不同,它们不追求帮助建立关系网,它们直接参与到对话之中。或许,称它们为“他们”更为合适。

这些产品的本质形态是极简的聊天界面,而开发者也很热衷于将其包装成一个人格形象。在其出现之初,我们都十分热衷于“调戏”他们,一方面是因为我们对于智能技术的好奇,同时也说明”聊天“的社交属性是最容易被接受的。但成熟人机社交的愿景毕竟还停留在电影里,这些产品更多的价值在于将复杂的搜索行为简化成为了一个提问和解答的过程。理论上,如果算法足够智能,我们需要的所有信息都可以通过这一个窗口来获得。不过,除却声音交互的障碍,这种“你来我往”的聊天模式能多大程度覆盖我们的生活还是个值得商榷的事情。当然,并不是所有产品都需要有强大的技术后盾才能尝试,披着“智能助手“的外衣亦可带来意外的效果。

上图为一个图片处理网站AVA的首页截图。这个网站能够帮你把图片加工成炫酷的线勾风格。然而让用户上传图片是一个成本较高的事情。AVA的做法是在用户进入网页时出现一个对话形式界面,和用户打打招呼,聊聊天气,不知不觉中上传一张图片似乎也并不是什么可怕的操作了。

 

一点推测

HCI界的大拿Terry Winograd教授曾在书中说,我们与世界的交互形式有三种,manipulation(操作)/locomotion(移动)/conversation(对话)。这让笔者对聊天这一互动形式充满遐想。人工智能是一种很自然的期待,但这种对人全盘模拟的方式也许会在其实现过程中受到挑战;除此之外,我们亦可怀抱“聊天”心态来思考,把每一件事情都理解成为不同对象间信息交流的过程,那几乎可以发现在每一个场景中都有聊天的身影。例如,阅读可以看作为作者与读者间的一次对话,书籍的内容则是作者在聊天过程中发出的第一个信息,而通常情况下读者并不能作出反馈。这种单向的“聊天”有的时候并不是一个完美的体验。所以,或许在未来,书籍的呈现会有更多形式,读者也能更容易地获得作出回应和发布感受的途径。

畅想归畅想,回到对聊天本质的探究,我们会发现横亘在对话参与者间最大的问题就是如何确保”我们在谈论同一个东西”(如上图)。所以信息学家们把交流的本质模型转化成了信息的编码和解码过程,而聊天界面正使用了我们最熟悉的自然语言作为中间信息的转化——事实上理解成语言是因此需求发展而来也许更为确切。有人会问任何界面中难道不都是用的文字语言吗,事实是文字的位置、粗细乃至色彩都已经使其传递的信息大大超越了文本信息本身,不能视其为单纯使用了自然语言的编码。所以聊天界面可视为最接近人们自然交流形式的一种互动界面之一。

当我觉得一样事物有趣,不由自主地立马开始思索这种乐观是否过于盲目。无疑,聊天界面天生自带社交环境的塑造能力,且学习成本低。但需承认,聊天界面其实并不适用于复杂任务,譬如创造一张好看的图片,这意味着它无法取代很多过程性的操作;在极简单场景下它同样不适用,例如我们在查询天气的时候更习惯在搜索框里键入关键字“天气”,而并非“天气怎么样”。这或许也可理解为聊天方式在塑造我们的用户界面,而使用过程中聊天也在发生着改变。聊天界面并不是最有效率的,同时又是相对被动和节制的。这种复杂的属性让聊天界面的或者成为锦上添花,或者变成一盘鸡肋。不过,谁说聊天界面不能因此做一些改变呢?你关注的公众号可是会天天给你推送段子的呢。

 

结束语

在目前阶段,我们对于一切人化的技术都充满热情,所以无论从产品还是人机互动层面,聊天界面都充满了可讨论性。但我并不喜欢粗暴地一步走到传说中的聊天机器人时代,我们需要充满创意地同时审慎地设计并运用聊天界面——不能好好地聊出一个未来,倒不如静静地等着她到来。

关于聊天界面,也欢迎大家共同探讨。

[…]

相册的逆袭:Qzone5.5动画诞生记

还记得当年Qzone5.0的宣传动画吗?没错,就是去年年底发布的很酷炫的动画短片,也正是通过它,让大家对5.0有了一个全新的认识。 友情附赠5.0动画的地址:http://v.qq.com/page/j/v/6/j0159ozmzv6.html 这一次,我们重新启程,空间团队倾情打造了新版5.5的宣传动画。

一、动画故事构思

我们不断探索新的动画表现形式,以致于为用户提供一个全新的视角,来认识我们新版产品的特征。这次选择了适宜动画表现的“旅行相册”和“亲子相册”。旅行相册:将用户的照片自动整理成游记;亲子相册:帮用户随时记录宝宝的成长。那么,基于这两种相册“智能化+情感化” 的特征,动画形式也想通过更加趣味、魔幻的Stop Motion(定格动画)形式来尝试。

二、分镜头脚本设计

分镜头脚本的设计经历了从三维到二维的转变过程。在初版画面形式的设计上,希望以更加酷炫的方式来呈现,如:3d人物折纸,手翻书等(左图),但这种动画方式在拍摄和后期的阶段会耗费大量的时间成本,因此,我们在此基础上做了简化,将其“扁平化”处理(右图),通过实拍+后期的方法,来打造更富表现力的动画效果。

三、道具筹备+影棚实拍

1. 道具筹备 由于动画需要打包到App客户端之中,而且还需预留时间做动画后期、与开发联调等,所以真正留给实拍的时间是非常短暂的,这里还要根据实际的拍摄难度随时修改剧本。因此,一部分道具在开拍之前进行收集、打印、裁剪;其余大部分道具是需要在现场根据实际需要边做边拍。

2. DIY拍摄架 为了丰富动画的镜头语言,以及增加画面的设计美感,我们尝试通过双机位来进行拍摄。在顶部+侧面安置两台相机,顶机位用来交代全景,侧机位用来捕捉画面的细节。但是受制于拍摄条件有限,必须利用现有的设备,来手工来搭建适合在顶部悬挂相机的拍摄架。

3. 开机拍摄 一切准备就绪,接下来就要投入紧张地拍摄了。Stop Motion(定格动画)的最大特点就是“纯手工”制造,因此,需要极具耐心的模型动画师来完成重任。为了保证画面中的元素可以均匀地移动,我们通过坐标纸来对构图、以及小元素进行定位,在元素移动时,需要参考之前定好的坐标点,与此同时,还使用直尺来测量道具移动的距离,因此,每移动一张都是一个不小的挑战。(可以透露一下,我们此次一共拍了1000余张图片素材,素材累计超过20G)。

这里的原则是“不拍满”,在拍摄时,一些不确定的画面,或是需要后期做动画的小元素不拍入主画面,小元素后期重新补拍。

四、基于实拍画面,继续丰富动态元素。

为了使画面达到可控的效果,我们在拍摄时通过以下两种方式来为后期制作做好铺垫。 1. 横幅拍摄。原始画面是以5600×3700 的分辨率拍摄的,这样可以便于在后期重新裁切与构图,以及在横向上制造画面运动,丰富动画的镜头语言。 2. 预留“空白位置”。以便于在后期随时增加或替换动态元素,画面做到随时可控,也减少补拍甚至重拍的成本。

将这些拍摄素材进行初剪辑,然后将关键画面打印出来,对脚本进行二次梳理,并在新的脚本上标注好需要增添的动态元素,为下一步的素材准备做好铺垫。

五、动画后期设计

视频的分辨率按照iPhone 6plus的尺寸(1920×1080)来制作,这样便于向下做降级处理,以适应不同分辨率的手机屏幕。动画后期主要是通过After Effects和Premiere来完成的。After Effects的工作包含:原始素材的剪辑、调速、动态元素合成、调色、渲染输出;Premiere的工作包含:配乐、音效、音画节奏同步、编码渲染。由于制作量相当庞大,因此,这里选了几个有代表性的流程进行介绍,其余内容不做赘述。

由于动画是以逐帧的方式来制作的,而且在现场是分为多个场景来分别拍摄,最终的素材难免出现细微的差别,所以在后期,我们通过既定的色调,统一对分场景进行调色,以达到画面影调统一的效果。

在本片中,制作的难点是多层画面的合成,以下面的场景为例,我们通过在AE中搭建一个虚拟的3D场景,通过设置摄像机、灯光、3D素材图层,然后逐一对子图层制作动画,以达到真实的动画效果。

为了实现更加细腻的场景过渡,在“旅行相册”与“亲子相册”的衔接点上,对上层内容做动态Mask,下层内容做Motion Blur的形式来完成场景间的转接,最终达到更加趣味和流畅的视觉效果。

六、动画编码与压缩

最终的动画需要打包到app客户端里面,最大的挑战在于如何保证文件既小又清晰,这里的处理方法是: 1. 做分辨率降级。由原始的1920×1080,降级到1280×720。 2. […]

【译文】设计师对可扩展设计工具的探索

【译者注】人们普遍认为,流程和工具不重要,重要的是想法和思路。话虽如此,不过我认为流程和工具也能反映一个设计师的设计态度以及个人思维方式。那些愿意折腾愿意改变的设计师,在接受新的设计思想和趋势时往往更容易适应。本文作者Benjamin Berger是一名来自法国的交互设计师,文中他介绍了常用的设计工具并找出了这些工具协同时的弊端,提出了自己基于原子设计思维之上的进一步想法,你愿意和他一起探讨吗?

要是我们把2015年叫做设计工具井喷之年,应该不会有多大异议吧。

数据证明,目前大约34.7%(超过三分之一)的Medium文章与设计工具有关。但人们仍然习惯使用静态图形工具来制作界面。当依旧使用本地存储照片,每次设计都重新制作每个组件时,我无法理解程序员只写下三行代码然后不断使用真实数据衍生出其它模式的行为…

以下是我常用的设计工具:

Sketch:常用来制作线框、界面,偶尔绘制图形。 Illustrator & Photoshop:用作图标设计、图形绘制、照片编辑等,但凡不适合用Sketch处理的都会考虑它俩。 Invision:用来制作简单的线框原型。 Principle & After Effect:用来制作交互复杂的原型。(Principle仍在内测,公开后你会得到更多关于这个工具的信息) Zeplin:用以辅助设计师和前端开发的协同配合。

我认为Sketch与Zeplin之间依然有很大的空隙等待填补。

从创意到产品开发会经历数个阶段,一旦概念设计和线框完成之后,就需要考虑视觉定义了。主要页面的布局与视觉风格需要反复尝试才能找出最适合目标用户,并且能从竞品中脱颖而出的一套。

我将之称为创意阶段。Sketch的故事板特别好用,你能快速的设计稿之间进行迭代,尝试不同的图形、按钮、字体,放在一起依次查看。

直到进入下一步:产出阶段。

之所以叫做产出阶段是因为此时已完成了视觉定义,确定了字体、颜色、布局、形状等元素,接下来就是产出数页高精度视觉稿,即大家熟知的首页、设置、好友列表、个人资料、关注、启动页等等。我习惯戴上耳机听着音乐来搞定它们。

那么问题来了

从单一页面开始完成所有的页面设计,不仅花费了很多时间,而且极易消耗脑细胞。设计师青睐的Sketch对于这类批量产出类的工作无能为力。

更糟糕的是,有时即使尚未定义视觉语言,依旧需要设计这些页面,在已有项目上设计新的功能,或是将当前项目交接给后续的设计师。

2015年,我依旧尝试不同的工具组合并将其规则记录下来。

编程思维

当被问到是否会写代码时,我回答:“不会,但略懂一些代码原理。”

对我来说,弄明白我的设计如何以技术方式实现特别重要,因为它不仅让我设计出比较可行的产品,也能提升创意能力。

我学会了Javascript的基础和PHP/Mysql的逻辑,还会一点儿HTML/CSS。

我习惯频繁的与开发团队沟通,从而理解他们的工作内容。我知道iPhone的应用是由很多不同视图组成,数据如何迁徙转移,我该如何图形化的表达它们。

这些让我从图形元素的结构视角去看待一个产品,不是以代码编辑器的模糊印象去揣摩实现方式,而是像一个超大谜题一样抽丝剥茧的理解它们是如何构建和相互影响的。

原子设计思维

一旦你以编程思维开始思考设计时,你开始剖析产品的每个图形要素,这就是被称作原子设计的思维。

简单说,像字体、图片、图标或者按钮等每一个物体都称作原子。 然后原子们可以组成分子,正如细胞(列表条目)一般。 一堆细胞变成一个组织,即列表。 如此反复。

在我们公司,前端开发通常制定一套全景规范用以描述产品的各个设计原子,分子和组织。

我喜欢以乐高积木的方式来畅想设计(我朋友形容设计学校就像幼儿园一样,无非是讲设计原子按照积木一样拼来拼去…)。

但是我需要将该流程直接适配到一个视觉设计工具中去,用来为我的设计工作增强一致性和效率。

假如能够在一个面板或者在故事板中设计所有的设计原子,不用操心对齐、字体、颜色等,它们会自动处理好。

想象如果能够不断的将原子设计规范传到下游设计公司那该多美。

Matej Hrescak开发了一个Sketch插件能够快速进行组件设计,对我来说仅仅起了个好头,我希望将其继续升级。

工作原理

一旦视觉语言确认,你可以据此制作一个单独文档来搞定规范,并且移除软件其它的无用信息。

第一步,设定颜色、主字体、图形、边距、留白。 第二步,开始设定更精细的原子:标题、文本字体、按钮和输入框。 最后,在故事板中制作基本的文本和图层: 然后通过右键给它们赋予预设的样式。 矩形会自动嵌套预设的风格样式,正如你手动编辑过该标签一样。通过设置边距,按钮会根据标签文本的长度自动适应,通过留白设置可以将故事板内部元素自动对齐。

我们还可以设置更复杂的组织(例如导航栏)来保持各处的一致性。 在此基础上可以添加更多功能,使得通过设置每个元素来自动生成页面、列表、卡片成为可能。改动设计设定会自动应用到所有元素上。这样能够很方便的测试不同的颜色、字体风格等等的效果。

制作界面模板套件将不费吹灰之力,通过预设原生组件就能实现。

从事移动设计3年之后,我依然能够清晰的记得导航栏的精确高度是多少。

当然,设定部分元素时,我们也可以为颜色、字体对比、快速制作响应式元素、调色板等及时的提供一些可用性提示,而不用担心过多细节。

[…]

大灭绝时代(五)海洋酸化,生命无法承受之变

本文作者:Lewind

前文回顾:大灭绝时代(四)海底的时光机

自从霍尔-斯宾塞于2008年发表了关于洞口系统的第一篇论文之后,人们对于酸化及其影响的热情立刻被引爆了。国际性的研究项目如“海洋酸化的生物学冲击”(BIOACID)和“欧洲海洋酸化项目”(EPOCA)都有了资助,成百上千的实验研究得以开展。这些实验的地点,有的在船上,有的在实验室里,还有被称为中型实验生态系统的封闭空间,那是一小片可以人为控制其条件的真正海洋。

一次又一次地,这些实验证实了二氧化碳浓度提高所带来的危害。虽然有许多物种显然可以过得不错,甚至在酸化的海洋中生长得很旺盛,但也有很多的物种做不到这一点。有些生物被证明是很脆弱的,比如小丑鱼和太平洋牡蛎,它们往往是水族馆里或餐桌上的熟面孔;其他一些可能不那么吸引人(或者不那么好吃),但却可能对于海洋生态系统更为重要。例如单细胞浮游植物赫氏球石藻(Emiliania huxleyi)就是其中之一。这种球石藻把自己包裹在微型的方解石盘中。在显微镜下观察,它看起来就像是某种疯狂的艺术作品: 一个表面贴满纽扣的足球。在一年中的某些特定时期,赫氏球石藻会大量出现,把广阔海域变成乳白色。它构成了很多海洋食物链的基底。海蝴蝶(Limacina helicina)是一种翼足目的海螺,长得像是带翅膀的蜗牛。它生活在北冰洋里,是很多更大型动物的重要食物,包括鲱鱼、鲑鱼和鲸。上述两种生物似乎对酸化高度敏感: 在一项中型实验生态系统的研究中,赫氏球石藻在二氧化碳水平提高后全部消失了。

乌尔夫·希博塞尔是来自德国基尔海洋地质科学亥姆霍茨中心一名主攻生物学方向的海洋学家,主持有若干项重大的海洋酸化研究,地点位于挪威、芬兰以及斯瓦尔巴特群岛近海。希博塞尔发现,在酸化的海水中活得最好的那些物种主要是不足2微米的浮游生物。它们太小了,以至于自己形成了一套微型的食物网。当这些超微型浮游生物的数量增加时,它们用掉了更多养分,大型生物就此遭殃。

“如果你问我未来会发生什么,我认为我们手上最确凿的证据表明,将会出现生物多样性的下降。”希博塞尔告诉我说,“一些具有高度忍耐力的生物将变得数量庞大,但也会丧失整体的多样性。这是过去每一次物种大灭绝中所发生过的事情。”

海洋酸化有时与全球变暖并称“邪恶双子”。这种讽刺的说法可谓名副其实,甚至可能有些太客气了。没有一种单一的机制可以解释历史上的所有物种大灭绝,然而海洋化学成分的改变似乎是一个很好的指示器。海洋酸化至少在五次大灭绝中的两次(二叠纪末期和三叠纪末期)起了一定作用,而且很可能在另一次(白垩纪末期)中也是主要因素。人称“多尔斯阶更替”(Toarcian Turnover)的灭绝事件发生于1.83亿年前的侏罗纪。在这次事件中,有确凿证据表明出现了海洋酸化。古新世末期也有类似的证据,那是约5500万年前,当时一些海洋生物遭遇了严重的危机。

“噢,海洋酸化,”扎拉斯维奇曾在多布崖告诉我,“这一来要留下多么可怕的一层哪。”

为什么海洋酸化如此危险?这个问题之所以难于回答,只是因为答案实在太多了。酸化可能对一种生物不同的基础生理过程造成影响,比如代谢、催化酶的活性以及蛋白质的功能,具体取决于这种生物调节其自身内在化学环境的能力强弱。由于酸化会改变微生物种群的构成,也就改变了关键营养物质的可获取性,比如铁和氮。基于类似的原因,酸化改变了穿过水体的光线强弱;基于另一些不同的原因,酸化还能改变声音传播的方式。(笼统来讲,酸化会让海洋变得更嘈杂。)酸化似乎很可能促进有毒藻类的生长。它还会对光合作用造成巨大影响——很多植物物种有可能受益于提高的二氧化碳水平——也会改变水中溶解金属形成化合物的情况,在某些条件下产生有毒的物质。

在众多可能造成的冲击之中,最严重的一个或许要牵涉到被称为钙化者(calcifier)的一群生物。(钙化者这个术语包括了任何能够用碳酸钙矿物来构建外壳或外骨骼的生物,除动物之外,也包括用碳酸钙矿物来建造内部架构的水生植物。)海洋中的钙化者是形形色色的不同生物。像海星和海胆一样的棘皮动物是钙化者,像蛤和牡蛎等软体动物也是钙化者。同样是钙化者的还包括甲壳纲的藤壶。许多种类的珊瑚是钙化者,这是它们建筑那些最终成为珊瑚礁的塔状构造的方式。许多种类的海草是钙化者,它们摸起来是坚硬的,而且易碎。珊瑚藻也是钙化者,这种微小的生物生长在一起时,看起来就像是一抹粉色的油漆。腕足类动物是钙化者,球石藻、有孔虫以及许多种类的翼足目动物也都是钙化者。这份名单还可以一直写下去。据估计,钙化作用的演化在生命历史上独立出现的次数不下20次,而且很可能还要高于这个数字。

从人类的角度来看,钙化有点像是建筑工作,又有点像是炼金术。为了建造它们的壳或外骨骼或方解石板,钙化者必须把钙离子(Ca2+)和碳酸根离子(CO2-3)结合到一起,形成碳酸钙(CaCO3)。但是,以在正常海水中获得的离子浓度,钙和碳酸无法彼此结合。因此实际上,钙化者必须在钙化地点改变水体化学环境,从而促成它们自己的化学反应。

海洋酸化增加了钙化的成本,因为可以用于生产碳酸钙的碳酸根离子浓度下降了。二氧化碳溶于水之后,一部分仍以二氧化碳的形式存在,pH值不改变,另一部分则与水分子结合形成碳酸(H2CO3)。如果还是用建筑工作来打比方的话,这情况就像是你想要盖一栋房子,可是有人不停地从你这里偷砖。海水酸化得越严重,钙化者就要消耗越多的能量来完成必需的生理过程。在某个pH值上,海水彻底变成腐蚀性的,固态的碳酸钙开始溶解。这就是为什么离阿拉贡堡洞口太近的帽贝,最终会在壳上出现穿孔。

实验室里的实验研究表明,钙化者尤其将遭受海洋pH值下降的严重冲击,而阿拉贡堡的消失物种名单证实了这一点。在pH值为7.8的区域,消失物种有四分之三是钙化者。其中包括几乎无处不在的穿孔藤壶,生命力极强的地中海贻贝以及马旋鳃虫。其他消失的钙化者还有狐蛤(Lima lima),一种常见的双壳纲动物;斑纹钟螺(Jujubinus striatus),一种巧克力色的海螺;以及叫作沙虫螺(Serpulorbis arenarius)的软体动物。与此同时,有钙化功能的海草全部消失了。

据在这一地区工作的地质学家说,阿拉贡堡的这些洞口涌出二氧化碳气体的历史长达数百年,甚至还要更久。任何软体动物、藤壶或者龙骨虫如果能够在几个世纪的时间里变得适应低pH值的环境,那么它们肯定已经这样做了。“它们有一代又一代的时间去适应这里的环境,但却始终没有做到。”霍尔-斯宾塞如是评论道。

此外,如果pH值降得更低,对于钙化者来说就更糟糕。在靠近那些洞口的地方,冒出来的二氧化碳气泡已经连成了一条气体带。霍尔-斯宾塞发现那里没有任何钙化者。事实上,在那个停车位大小的区域里存活下来的生物只有几种顽强的本地藻类,一些入侵藻类,一种虾,一种海绵,还有两种海蛞蝓。

“在气泡冒出来的地方,你不会看到任何钙化生物,完全没有。”他告诉我,“想象一下,在一个被污染的港口里,你往往只能找到寥寥几种像野草一样顽强的生物,成功地应对了剧烈变化的环境。但是在这儿,只要提高二氧化碳浓度,你就能看到这种景象了。”

迄今为止,人类排入大气的二氧化碳中差不多有三分之一都被海洋吸收了。这相当于1500亿吨,相当震撼。与人类世的其他许多方面一致,惊人之处不仅在于其规模,更在于其速度。为了方便理解,我们不妨用酒精来做个不怎么恰当的比喻: 同样是喝掉半打啤酒,在一个月内喝完和在一小时内喝完,对于你血液化学组成的影响是有很大区别的。加入等量二氧化碳,在一百万年内加入或是在一百年内加入,对于海洋化学组成的影响也是有很大区别的。对于你的肝脏而言,摄入酒精的速率是关键;对于海洋而言,速率同样是关键所在。

如果我们向空气中排放二氧化碳的速度更慢一些,像岩石风化这样的地质学过程就会来扮演对抗酸化的角色。而实际上,事情发生得太快,那些缓慢起效的力量来不及发挥作用。正如蕾切尔·卡森之前对一个非常不同但又同样重大的问题所做的评论:“时间是必不可少的关键要素,但现代社会所缺少的恰恰是时间。”

在哥伦比亚大学拉蒙特多尔蒂地球观测所,巴贝尔·霍尼施领导的一组科学家近期发表了一篇综述,总结了在地质历史的久远过去曾经发生过二氧化碳改变的证据。文中写道,即使在历史上发生过若干次严重的海洋酸化,但是“没有任何一次过去的事件完全符合”当前正在发生的情况,这是由于“目前正在进行的二氧化碳排放有着前所未有的高速”。实际上,本来就没有多少方法可以向空气中迅速注入数亿吨的碳。对于二叠纪末期大灭绝,人们能找到的最佳解释就是今天西伯利亚地区的大规模火山爆发。但即使是这样一个形成了今天所谓西伯利亚暗色岩的壮阔事件,其所排放的碳按年来计算,可能仍不及我们的汽车、工厂以及发电厂的碳排放量。

通过燃烧煤和石油等矿藏,人类把数千万年来——大多数情况下是数亿年来——所隔绝起来的碳重新释放到空气中。在这个过程中,我们不仅是在开地质历史的倒车,并且是以一种极不正常的速度。

在学术期刊《海洋学》的一期特刊中,宾夕法尼亚州立大学的地质学家李·孔普和布里斯托尔大学的气候模型学家安迪·里奇韦尔共同撰文评述酸化问题:“当前地球所经历的就像是一场巨型实验,这在地质学上是异乎寻常的,也很可能是地球历史上前所未有的。造成这一切的关键就是二氧化碳的排放速率。”如果人类在这条路上持续走下去的话,“那么在我们这颗星球的历史上,人类世留下的地质学印记所体现出来的事件,即便不是最为灾难性的事件之一,也一定是最为显著的事件之一”。

本文为松鼠叶盛最新译作《大灭绝时代》的节选连载篇目之五,点击标签“大灭绝时代”可阅读所有相关内容。

《大灭绝时代》,作者为美国知名记者伊丽莎白·科尔伯特,荣获了2015年第99届普利策非虚构类写作奖。作者在序言中写道:

第六次大灭绝的故事,至少根据我所选择的内容来说,分为十三章。每一章的主线是在某一方面具有代表性的一个物种:美洲乳齿象,大海雀,还有一种在白垩纪末期与恐龙一起消失的菊石。本书前面几章所涉及的物种已经灭绝了,因此这一部分主要是在介绍远古的大灭绝及其曲折的发现过程,自法国博物学家乔治•居维叶以始。本书的第二部分讲的是发生在当下的事情,在日益支离破碎的亚马孙雨林中,在迅速变暖的安第斯山坡面,在大堡礁的外围海域里。我选择前往这些特定地点的原因对于一个记者来说都很普通,无非是那里有个科考站,或者是有人邀请我参与一次科考活动。当今正在发生巨变的范围是如此之大,以至于我可以随便去往某处,只要在正确的指引之下,都能发现灭绝的现象。本书中还有一章所讲述的灭绝差不多算是发生在我家后院里——很可能也同时发生在你家后院里。

如果说灭绝是一个令人恐惧的话题,那么大灭绝就更是如此。但这同时又是一个令人感兴趣的迷人话题。在接下来的文字之中,我要尝试着去表述其两面性——既有我们所了解到的事实带来的兴奋,也有与之俱生的恐惧。我希望,本书的读者在掩卷之时,能够对于我们活在其中的非凡一刻心存感激。

关于

题图由海洛创意(HelloRF)提供

Android漏洞Stagefright影响9.5亿设备

安全公司Zimperium称,Android一个深植于系统内部的漏洞Stagefright,允许黑客利用一条短信控制目标手机,即使手机机主没有打开和阅读短信。该漏洞影响除Lollipop之外的所有Android系统,影响9.5亿部设备,绝大部分设备很有可能永远也不会获得漏洞修补的机会。漏洞位于被广泛用于处理媒体格式的代码库内,攻击者可以发送特制的MMS格式短信利用该漏洞。研究人员称,攻击者甚至可以在用户察觉前删除短信。该漏洞具有极端的危险性,原因是它不需要受害者的任何操作。这与钓鱼攻击不同,攻击者可以在你睡觉的时候触发漏洞。在你醒来之后,所有的攻击痕迹就全部抹掉了。你以为一切如常,但实际上手机已经被植入了木马。该漏洞不仅仅影响Android,还影响Firefox OS和Firefox浏览器,Firefox 38以及后续版本已经修复了漏洞。

蒙特卡罗方法入门

本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method)。

一、概述

蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。

它非常强大和灵活,又相当简单易懂,很容易实现。对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。

它诞生于上个世纪40年代美国的”曼哈顿计划”,名字来源于赌城蒙特卡罗,象征概率。

二、π的计算

第一个例子是,如何用蒙特卡罗方法计算圆周率π。

正方形内部有一个相切的圆,它们的面积之比是π/4。

现在,在这个正方形内部,随机产生10000个点(即10000个坐标对 (x, y)),计算它们与中心点的距离,从而判断是否落在圆的内部。

如果这些点均匀分布,那么圆内的点应该占到所有点的 π/4,因此将这个比值乘以4,就是π的值。通过R语言脚本随机模拟30000个点,π的估算值与真实值相差0.07%。

三、积分的计算

上面的方法加以推广,就可以计算任意一个积分的值。

比如,计算函数 y = x2 在 [0, 1] 区间的积分,就是求出下图红色部分的面积。

这个函数在 (1,1) 点的取值为1,所以整个红色区域在一个面积为1的正方形里面。在该正方形内部,产生大量随机点,可以计算出有多少点落在红色区域(判断条件 y < x2)。这个比重就是所要求的积分值。

用Matlab模拟100万个随机点,结果为0.3328。

四、交通堵塞

蒙特卡罗方法不仅可以用于计算,还可以用于模拟系统内部的随机运动。下面的例子模拟单车道的交通堵塞。

根据 Nagel-Schreckenberg 模型,车辆的运动满足以下规则。

当前速度是 v 。 如果前面没车,它在下一秒的速度会提高到 v + 1 ,直到达到规定的最高限速。 如果前面有车,距离为d,且 d < […]

Category

Archives