欢迎对计算机图形学、计算机视觉、虚拟现实、游戏动画感兴趣的老师、同学与我联系,相互学习交流!
我的一些同学和朋友在Intel、IBM、Nvidia、AMD、Autodesk、腾讯、百度、新浪、阿里、盛大、搜狗、华为、中兴等知名IT企业工作,如果你足够优秀,我可以帮你联系内推应聘。
浙江大学、中国科学技术大学等高校也有一些和我有合作的老师。如果你是一名优秀的本科生,我可以帮你推荐联系导师;如果你是优秀的研究生,我可以推荐你交流。
Have fun doing research !
浙江大学、中国科学技术大学等高校也有一些和我有合作的老师。如果你是一名优秀的本科生,我可以帮你推荐联系导师;如果你是优秀的研究生,我可以推荐你交流。
Have fun doing research !
我的研究方向:
给在读研究生+未来要读研同学们的一封受益匪浅的信(zz)
当你上课感觉就像打酱油时,当你对研究生很迷茫时,当你坐在电脑前孜孜不倦时,请看下面的文章,很受用,至少我心里现在没有以前浮躁。好的文章有时能改变一个人的精神状态,下面就是其中之一。
上海大学一位老师说:“不可否认的是,研究生面临着比较大的生存压力,但是要平衡自己的方向,在没有生存威胁的情况下,要专注于学习。”他表示,在社会心理普遍比较浮躁的情况下,就要求研究生要拿出宽广的视野来,权衡自己眼前的利益和长远发展的基础,“疯狂做兼职是没有自信的表现。”他认为,研究生要从长远来看,看到社会整体的发展趋势,坚定发展的信念,不为暂时的困难所束缚,尤其是不要被眼前一时的较小的物质利益所蒙蔽。“在校研究生100万,在我国整个人口结构中占的比例是非常低的。研究生仍然是社会的精英群体,既然是精英群体,就要有责任感和使命感。”
读研首先要改变的是自己的心理状态,说起来简单,但实际上很困难。不过既然已经上了研,就不要抱怨了,努力想想自己该干啥才是王道。首先需要明确几种好的心态。
1. 无论做研究还是做工程,不要期待导师给你太多的指导,这点全世界都一样,不要抱怨,独立解决问题的能力就是这样锻炼出来的。好的导师能够在大方向上给一些意见,但具体的工作是需要自己去做的。
2. 别人没有义务来帮助你,不管是师兄或同学,最可靠的人永远是自己。别人帮助你,要表示感谢,并努力帮助别人。别人不帮助你,也不要抱怨。
3. 不要抱怨课程无聊,老师讲的不好。读到研究生,自学能力没有的话不如退学。
4. 研究生毕业不见得能找到好工作,好工作是给能力强的人,不是给学历高的人,见到nb的本科生,也要虚心学习。
研究生期间应该做的事情:
1. 养成锻炼身体的习惯,30以前你找病,30以后病找你。
2. 如果你学的专业,中国不是最好的,那么请好好学英语,请不要说什么英语教育是毒瘤的狗屁话,研究生毕业前,至少也要达到能够进行英语面试的准备。
3. 努力做一个善良的人,学着改变自己,控制自己的欲望。善待你周围的人。
4. 学习时间管理的方法,订计划,执行计划。这个习惯会让你终身受益。
5. 学习怎么使用google scholar,包括各类搜索方法。
6. 争取每一个能让自己能力增强的机会(实习,比赛之类的),个人建议大家要努力争取实习机会,和导师好好商量,3个月的相关领域的实习会对能力的帮助很大。对找好的工作也是一个有利的筹码。
7. 每天看书。除本专业的相关书籍外,看半个小时其它方面的书:经济学,管理学,各类励志书籍。 还可以看看一些牛人的blog。
8. 养成写东西的习惯。定期写blog是一个好办法,写做是一个锻炼自己逻辑思维能力的好办法。
9. 多动手,对cs的同学来说,多写程序,多看程序。自己去找英文论文看。
10. 培养游戏之外的一些爱好。
11. 和别人讨论的时候,先理解别人的观点,学会聆听。写了一些,如果不足,大家补充。
研究生毕业前应该具备的能力:
1. 能把自己的观点说清楚。口头+书面。
2. 能够顺利的专业英语论文,基本不要翻译软件。
3. 对自己的职业有初步的规划和想法。
4. 知识面扩大,做好踏入社会的准备。
5. 身体健康,还能打打球。
6. 有一帮不错的朋友,能够互相帮助。
book list:
1. 高效能人士的七个习惯 (建议多读几遍)
2. 要事第一 (学学定计划,规划时间)
3. 聪明人的训练 (励志的看以上三本就可以了)
4. 经济学 (第17版)
5. 什么是数学 理工科强烈推荐
6. 人性的弱点
如何充实地度过研究生生活:
笛卡尔说过:“最有价值的知识是方法的知识。”
一、研究生期间我们应该做什么
1)建立合理的知识结构:尽量广地涉猎学科基本知识,尽量深地了解研究领域方方面面、过去和现在
2)掌握独立研究的方法和技能:尽量多的学习各种研究方法,熟练掌握研究过程和步骤
3)学会写论文:写论文不仅是训练表达能力,更是训练思维的逻辑性,论文体例虽是八股,但却是整理思路、与他人沟通的有效结构,不可不尊重
就个人而言,个人心理管理就是经常自我心态调整。知足长乐、量力而行
1、研究和娱乐要相结合
2、凡事都是都有它存在的理由,不要经常有抱怨
3、不要随随便便拿两个人来比,只看到他所得到的,却看不到他所失去的,这有什么意义?
4、正确面对困境,用辩证的眼光去看问题。
二、如何确定适合自己的研究领域?
(小故事)有一个草坪铺路的故事可以用来回答这个问题。保护草坪是很难的,因为草坪上的路往往并不是按人的方便性来修的。有一次一个设计师承接了一个项目,交付使用后在这个建筑物的周围全部铺上了草坪,没有路,任人去踩,几个月后,草坪上就分明出现了几条道:有粗有细,然后他就此基础上修路,也有粗有细,结果可想而知。
在开始的时候,你可以没有明确的目标,只要张开你的所有触角,去看,去读,去感受,你会不自觉地爱看一些东西,那是你的兴趣,也是你的知识结构决定的,日子久了,也会出现几条路,这些路也都可以通向你要追求的目标。学会倾听心音,让心来告诉你如何走,就不会被别人的价值观、流行的热点牵着跑。
三、如何进入一个研究领域?
进入一个领域最简单也是最有效的办法是找一本这个领域最早的论述专著或教材,比如协作学习,可以看Robert E. Slavin《Cooperative Learning》。当你把这个领域的基本概念的内涵以及相互之间的关系搞清楚了之后,再去读这个领域的论文,你就会因为心中有数而能够很好地把握了。这种工作必须要先做,不可以在网上乱搜论文,否则,你会感到:看了20篇文章,对这个领域的认识还没有形成,这些概念自相矛盾。有此认识还算幸运,有的人恐怕被偏见所引导,还不知道,这是最可怕的。
四、如何选定一个研究课题
对于现在我们研一的学生,在学习基础课程的同时不妨多做一些泛读:
1。浏览各有关协会的网站,看看最近召开的学术会议的议题
2。翻翻国内有关的期刊,看看最近这些年大家都在忙什么
根据你自己的知识结构,你会很自然地有所倾向,再多看看你感兴趣的话题,比较之后,也许就形成了你的论文选题了。
PS:听过一句话,不管现在的专业是不是热门,或者多么地不堪,但是,一旦不爱自己的专业,自甘平庸,那毕业的时候真的死定了。不管多烂的专业,先爱她,然后学好她
part2
1 从来就没有太晚的时候
很多人老是说自己基础如何如何差,担心搞不定。有这种心态是很自然的,但是不要因此而否定自己的能力。人都是逼出来的。我当年本科 也是烂的一塌糊涂,但是上了研究生后我说要用三年的时间做一点事情证明给自己。事在人为,才坐了三年的冷板凳,到了毕业的时候论文专利什么都有了(SCI 6篇,1作四篇,IF总和超过16,专利一项现在公示)。
2 定位决定地位
我当初上研究生的时候,老听博士师兄们讨论SCI,一问才知道就是发表的文章被一个叫web of science的搜索引擎收录的文章。虽然中文杂志有一些被收录,但是英文杂志几乎全部收录。于是我就想既然如此直接发英文文章岂不省事。中文文章审稿慢,周期长。另外再考虑到中国的国情,和自己以后想走的路。还是直接走国际路线比较好。我毕业的时候所有的文章都是英文的,现在回过头来看,也觉得英文文章不是太难。
3 导师的层次决定你的层次
如果你是一个勤于努力的人,想要飞的更高的话,导师的层次决定了你的层次。以我导师为例,他在我们这个这个方向研究搞了几十年, 是国际公认的牛人之一。所以他接触的都是我们这个方向一流的人物。他也经常邀请一些大牛来所以做报告。这些都是很好的交流和学习的机会,而一般导师的学生是不能有这个机会的。他看问题和做事的方法给了我很多启发,所以选择导师很重要,站的高才能看的远。
4 交流很重要
通俗的说法就是多和牛人聊天。什么是牛人,我的看法是比你自己强的都是牛人。所以不$2教授博导,副教讲师,还是前辈师兄,只要能就某一个问 题和你讨论,都是学习的好机会。我这三年聊的最多的就是和我的副导师也是我导师的在读博士,刚开始聊很具体的问题,后来讨论的面就比较广了。三年下来,感 觉就不一样。当然为了准备讨论的题目而翻看资料论文,也是一个积累的过程。
5 文献要多看
刚开始看文献的时候,什么杂志都看。到后来就发现了本专业的主流杂志,所以这几个杂志几乎是每期浏览,重点阅读。一个杂志一旦成为了本专业的 主流,那一个定有很多年的积累,对于一个初入此到的新人来说,可以起到事半功倍的作用。另外web of scienc提供文章的引用报告,对于一篇文章可以查到其引用的详细相信,通过引用可以到了解导这篇文章的分量。当文章看到一定数量之后,你也会发现其实 一个方向,做的最好的往往就是那几个到十几个小组。这样的话就可以对这些小组的文章进行系统阅读和跟踪研究。有人的地方就有江湖,学术界也是另外一个江湖,不了解江湖的形势怎么能混的下去呢?。
6 水平是慢慢提高的
大家都想发IF高的杂志,但是水平的提高是一步一步来的。 像我刚开始的论文投在IF一点几的杂志上,到了研二就投到了IF四点几的杂志上。所以从无到有是一个过程,从良到优还是一个过程。欲速则不达。
7 活要干的漂亮
很过国际一流的杂志,文章的组织,图表的设计都很漂亮,还有老外的ppt一般也做的比我们要好。有人说有了好的结果才是最重要的,但是如果 不会完美的表达自己的结果也算是为山九仞,功亏一篑。一个好的研究人员,不光需要做出好的工作,还需要将此工作介绍给同行的能力。一篇好的论文不光是一篇 好的报告,应该是一件完整的艺术品。回国头来看,现在自己对当年发表的论文在构图方面还觉得的有很多地方做的不是太好。当然了现在的眼光也很当年不一样 了。像Latex这样的软件学会了还是很有用的。
8 要有一点历史知识
对于本学科的发展历程要有一个大致的认识,最好做一番横向和纵向的比较。横向的就是和其它的学科发展相比较,认识到本学科现在所处的地位。纵向就是比 较它的发展过程,如果该学科现在热,为什么热,如果冷,为什么冷。一两年看不出来,放到十年二十年,甚至五十年这样一个范围,就可以看得比较清楚了。很多国外专业的经典书籍一般第一章都是介绍学科发展历史的。
9 如何找牛人
下面几个办法我觉得还不错,大家试试如何。
一个是本专业的主流期刊,里面的编委都是在本领域成名的人物。
第二就看本专业的会议的顾问名单,再 烂的会议也能找几个牛人来充充场面。至于他们来不来开会就另当别论了。
第三一般一个成熟的学科都会有国际的学术团体,学会。像APS,ACersS, IEEE等。
这些学会一般每年都会有年会,会上一般都会发几个大奖来肯定牛人鼓励后进。找到这样的获奖名单,一个一个的看,也会找到不少已经是牛人或者快 要成为牛人的人。对于本专业的牛人,尤其是国际上认可的那些人,要知道他们的名字,更要知道他们为什么成名。用web of science,很容易找到某个人最高引的文章。不管懂不懂下载下来看看,如果你能从文章里面看出来该文为何高引,你的水平也就很不错了。
研究生阶段的学习是从事科学研究的开端,是人生中的关键一步。回顾自己的基础研究学习生活,主要体会有以下几点:
1. 持之以恒的精神。基础研究工作是非常艰难的事情,一旦我们确定一个研究方向以后,尤其是对于进入一个新的研究领域而言,没有近似的研究成果可以借 鉴。这个的研究过程是一件非常艰难和困苦的事情,这个过程有可能需要几个月甚至几年,这期间最重要的就是需要坚持。记得2004年8月在交大的一个高级力 学培训班上,一个交大的教授讲他研究的一个项目已经有1年多了,但是毫无进展。哈佛大学的锁志刚教授说再坚持一下,很快就会好起来的。坚持是我们最终解决问题的心态,具有这个心态是进行科学研究的基础。
2. 开放合作交流的意识。在进行研究的过程中,会遇到很多问题,由于自己知识积累有限。因此要经常与自己的导师以及领域内的教授进行讨论交流,他们的一 句话往往会一针见血的指出问题的关键。这个过程往往是判断你的观点正确与否的一个途径。这个过程也是培养自己具有团队意识的过程。另外对于一流的大师我们 也不要惧怕,要敢于表达自己点观点,有时候哪怕即使是错误的。
3. 保持一个好奇心。学科之间的交叉越来越多,了解其它学科的知识对于启发自己的思维以及解决自己领域的问题有时会起到柳暗花明的作用。对于新的科技报 道以及进展,要了解要思考。对于新鲜的事物要具有想了解的想法。一个广泛的兴趣爱好和好奇心是培养自己具有丰富想象力的前提,也是使自己进行创新的原动力。
总之,做研究要一步一个脚印踏踏实实进行,不能为求一时的结果或成绩而违反科学道德,要有耐心、恒心和自信心。用钟万勰院士的一句话就是:“ 科学研究,要独立自主,要走自己的路;人生不会一帆风顺,难免有不如意事。把握住自己的方向,毋为一时得失所惑,切要,切要。”
10 文章多多益善
这是一个人心浮动的年代,也是一个没有英雄的年代。像爱因斯坦那样靠两三篇文章就可以惊动世界的时代已经一去不复返了。因此搞研究的人如果 这一辈子只有几篇文章也是不正常的。而文章往往是对科研工作的提炼和总结。因此只要做研究,尤其是基础研究,论文应该是必须的。现在很多人是大同行,而不 是小同行。具体到某一个点上,可能与你相同的组全世界也没有几个。 因此通过发表在国际公认的学术期刊上的文章作为一个评价体系,也是有一定道理的。考虑的中国的国情,如果只靠同行的评价,碍于人情世故,很难得到一个公正 的评价。既然国内现在以SCI为标准,那这个参数的值当然是越大越好了。有人说不能为了文章而文章,不能灌水。但是如果一个人可以在本行业的主流国际期刊 发表文章,只要不造假抄袭,就算灌水也总比在国内那些杂志上灌水强。在不能得到一个更加合理科学的评价体系前,多发SCI也是一个合理的选择。与其抱怨论 文,还不如趁早研究论文是个什么东西。很多事情外面看很难,走进去了也就是那么一回事情了。
上海大学一位老师说:“不可否认的是,研究生面临着比较大的生存压力,但是要平衡自己的方向,在没有生存威胁的情况下,要专注于学习。”他表示,在社会心理普遍比较浮躁的情况下,就要求研究生要拿出宽广的视野来,权衡自己眼前的利益和长远发展的基础,“疯狂做兼职是没有自信的表现。”他认为,研究生要从长远来看,看到社会整体的发展趋势,坚定发展的信念,不为暂时的困难所束缚,尤其是不要被眼前一时的较小的物质利益所蒙蔽。“在校研究生100万,在我国整个人口结构中占的比例是非常低的。研究生仍然是社会的精英群体,既然是精英群体,就要有责任感和使命感。”
读研首先要改变的是自己的心理状态,说起来简单,但实际上很困难。不过既然已经上了研,就不要抱怨了,努力想想自己该干啥才是王道。首先需要明确几种好的心态。
1. 无论做研究还是做工程,不要期待导师给你太多的指导,这点全世界都一样,不要抱怨,独立解决问题的能力就是这样锻炼出来的。好的导师能够在大方向上给一些意见,但具体的工作是需要自己去做的。
2. 别人没有义务来帮助你,不管是师兄或同学,最可靠的人永远是自己。别人帮助你,要表示感谢,并努力帮助别人。别人不帮助你,也不要抱怨。
3. 不要抱怨课程无聊,老师讲的不好。读到研究生,自学能力没有的话不如退学。
4. 研究生毕业不见得能找到好工作,好工作是给能力强的人,不是给学历高的人,见到nb的本科生,也要虚心学习。
研究生期间应该做的事情:
1. 养成锻炼身体的习惯,30以前你找病,30以后病找你。
2. 如果你学的专业,中国不是最好的,那么请好好学英语,请不要说什么英语教育是毒瘤的狗屁话,研究生毕业前,至少也要达到能够进行英语面试的准备。
3. 努力做一个善良的人,学着改变自己,控制自己的欲望。善待你周围的人。
4. 学习时间管理的方法,订计划,执行计划。这个习惯会让你终身受益。
5. 学习怎么使用google scholar,包括各类搜索方法。
6. 争取每一个能让自己能力增强的机会(实习,比赛之类的),个人建议大家要努力争取实习机会,和导师好好商量,3个月的相关领域的实习会对能力的帮助很大。对找好的工作也是一个有利的筹码。
7. 每天看书。除本专业的相关书籍外,看半个小时其它方面的书:经济学,管理学,各类励志书籍。 还可以看看一些牛人的blog。
8. 养成写东西的习惯。定期写blog是一个好办法,写做是一个锻炼自己逻辑思维能力的好办法。
9. 多动手,对cs的同学来说,多写程序,多看程序。自己去找英文论文看。
10. 培养游戏之外的一些爱好。
11. 和别人讨论的时候,先理解别人的观点,学会聆听。写了一些,如果不足,大家补充。
研究生毕业前应该具备的能力:
1. 能把自己的观点说清楚。口头+书面。
2. 能够顺利的专业英语论文,基本不要翻译软件。
3. 对自己的职业有初步的规划和想法。
4. 知识面扩大,做好踏入社会的准备。
5. 身体健康,还能打打球。
6. 有一帮不错的朋友,能够互相帮助。
book list:
1. 高效能人士的七个习惯 (建议多读几遍)
2. 要事第一 (学学定计划,规划时间)
3. 聪明人的训练 (励志的看以上三本就可以了)
4. 经济学 (第17版)
5. 什么是数学 理工科强烈推荐
6. 人性的弱点
如何充实地度过研究生生活:
笛卡尔说过:“最有价值的知识是方法的知识。”
一、研究生期间我们应该做什么
1)建立合理的知识结构:尽量广地涉猎学科基本知识,尽量深地了解研究领域方方面面、过去和现在
2)掌握独立研究的方法和技能:尽量多的学习各种研究方法,熟练掌握研究过程和步骤
3)学会写论文:写论文不仅是训练表达能力,更是训练思维的逻辑性,论文体例虽是八股,但却是整理思路、与他人沟通的有效结构,不可不尊重
就个人而言,个人心理管理就是经常自我心态调整。知足长乐、量力而行
1、研究和娱乐要相结合
2、凡事都是都有它存在的理由,不要经常有抱怨
3、不要随随便便拿两个人来比,只看到他所得到的,却看不到他所失去的,这有什么意义?
4、正确面对困境,用辩证的眼光去看问题。
二、如何确定适合自己的研究领域?
(小故事)有一个草坪铺路的故事可以用来回答这个问题。保护草坪是很难的,因为草坪上的路往往并不是按人的方便性来修的。有一次一个设计师承接了一个项目,交付使用后在这个建筑物的周围全部铺上了草坪,没有路,任人去踩,几个月后,草坪上就分明出现了几条道:有粗有细,然后他就此基础上修路,也有粗有细,结果可想而知。
在开始的时候,你可以没有明确的目标,只要张开你的所有触角,去看,去读,去感受,你会不自觉地爱看一些东西,那是你的兴趣,也是你的知识结构决定的,日子久了,也会出现几条路,这些路也都可以通向你要追求的目标。学会倾听心音,让心来告诉你如何走,就不会被别人的价值观、流行的热点牵着跑。
三、如何进入一个研究领域?
进入一个领域最简单也是最有效的办法是找一本这个领域最早的论述专著或教材,比如协作学习,可以看Robert E. Slavin《Cooperative Learning》。当你把这个领域的基本概念的内涵以及相互之间的关系搞清楚了之后,再去读这个领域的论文,你就会因为心中有数而能够很好地把握了。这种工作必须要先做,不可以在网上乱搜论文,否则,你会感到:看了20篇文章,对这个领域的认识还没有形成,这些概念自相矛盾。有此认识还算幸运,有的人恐怕被偏见所引导,还不知道,这是最可怕的。
四、如何选定一个研究课题
对于现在我们研一的学生,在学习基础课程的同时不妨多做一些泛读:
1。浏览各有关协会的网站,看看最近召开的学术会议的议题
2。翻翻国内有关的期刊,看看最近这些年大家都在忙什么
根据你自己的知识结构,你会很自然地有所倾向,再多看看你感兴趣的话题,比较之后,也许就形成了你的论文选题了。
PS:听过一句话,不管现在的专业是不是热门,或者多么地不堪,但是,一旦不爱自己的专业,自甘平庸,那毕业的时候真的死定了。不管多烂的专业,先爱她,然后学好她
part2
1 从来就没有太晚的时候
很多人老是说自己基础如何如何差,担心搞不定。有这种心态是很自然的,但是不要因此而否定自己的能力。人都是逼出来的。我当年本科 也是烂的一塌糊涂,但是上了研究生后我说要用三年的时间做一点事情证明给自己。事在人为,才坐了三年的冷板凳,到了毕业的时候论文专利什么都有了(SCI 6篇,1作四篇,IF总和超过16,专利一项现在公示)。
2 定位决定地位
我当初上研究生的时候,老听博士师兄们讨论SCI,一问才知道就是发表的文章被一个叫web of science的搜索引擎收录的文章。虽然中文杂志有一些被收录,但是英文杂志几乎全部收录。于是我就想既然如此直接发英文文章岂不省事。中文文章审稿慢,周期长。另外再考虑到中国的国情,和自己以后想走的路。还是直接走国际路线比较好。我毕业的时候所有的文章都是英文的,现在回过头来看,也觉得英文文章不是太难。
3 导师的层次决定你的层次
如果你是一个勤于努力的人,想要飞的更高的话,导师的层次决定了你的层次。以我导师为例,他在我们这个这个方向研究搞了几十年, 是国际公认的牛人之一。所以他接触的都是我们这个方向一流的人物。他也经常邀请一些大牛来所以做报告。这些都是很好的交流和学习的机会,而一般导师的学生是不能有这个机会的。他看问题和做事的方法给了我很多启发,所以选择导师很重要,站的高才能看的远。
4 交流很重要
通俗的说法就是多和牛人聊天。什么是牛人,我的看法是比你自己强的都是牛人。所以不$2教授博导,副教讲师,还是前辈师兄,只要能就某一个问 题和你讨论,都是学习的好机会。我这三年聊的最多的就是和我的副导师也是我导师的在读博士,刚开始聊很具体的问题,后来讨论的面就比较广了。三年下来,感 觉就不一样。当然为了准备讨论的题目而翻看资料论文,也是一个积累的过程。
5 文献要多看
刚开始看文献的时候,什么杂志都看。到后来就发现了本专业的主流杂志,所以这几个杂志几乎是每期浏览,重点阅读。一个杂志一旦成为了本专业的 主流,那一个定有很多年的积累,对于一个初入此到的新人来说,可以起到事半功倍的作用。另外web of scienc提供文章的引用报告,对于一篇文章可以查到其引用的详细相信,通过引用可以到了解导这篇文章的分量。当文章看到一定数量之后,你也会发现其实 一个方向,做的最好的往往就是那几个到十几个小组。这样的话就可以对这些小组的文章进行系统阅读和跟踪研究。有人的地方就有江湖,学术界也是另外一个江湖,不了解江湖的形势怎么能混的下去呢?。
6 水平是慢慢提高的
大家都想发IF高的杂志,但是水平的提高是一步一步来的。 像我刚开始的论文投在IF一点几的杂志上,到了研二就投到了IF四点几的杂志上。所以从无到有是一个过程,从良到优还是一个过程。欲速则不达。
7 活要干的漂亮
很过国际一流的杂志,文章的组织,图表的设计都很漂亮,还有老外的ppt一般也做的比我们要好。有人说有了好的结果才是最重要的,但是如果 不会完美的表达自己的结果也算是为山九仞,功亏一篑。一个好的研究人员,不光需要做出好的工作,还需要将此工作介绍给同行的能力。一篇好的论文不光是一篇 好的报告,应该是一件完整的艺术品。回国头来看,现在自己对当年发表的论文在构图方面还觉得的有很多地方做的不是太好。当然了现在的眼光也很当年不一样 了。像Latex这样的软件学会了还是很有用的。
8 要有一点历史知识
对于本学科的发展历程要有一个大致的认识,最好做一番横向和纵向的比较。横向的就是和其它的学科发展相比较,认识到本学科现在所处的地位。纵向就是比 较它的发展过程,如果该学科现在热,为什么热,如果冷,为什么冷。一两年看不出来,放到十年二十年,甚至五十年这样一个范围,就可以看得比较清楚了。很多国外专业的经典书籍一般第一章都是介绍学科发展历史的。
9 如何找牛人
下面几个办法我觉得还不错,大家试试如何。
一个是本专业的主流期刊,里面的编委都是在本领域成名的人物。
第二就看本专业的会议的顾问名单,再 烂的会议也能找几个牛人来充充场面。至于他们来不来开会就另当别论了。
第三一般一个成熟的学科都会有国际的学术团体,学会。像APS,ACersS, IEEE等。
这些学会一般每年都会有年会,会上一般都会发几个大奖来肯定牛人鼓励后进。找到这样的获奖名单,一个一个的看,也会找到不少已经是牛人或者快 要成为牛人的人。对于本专业的牛人,尤其是国际上认可的那些人,要知道他们的名字,更要知道他们为什么成名。用web of science,很容易找到某个人最高引的文章。不管懂不懂下载下来看看,如果你能从文章里面看出来该文为何高引,你的水平也就很不错了。
研究生阶段的学习是从事科学研究的开端,是人生中的关键一步。回顾自己的基础研究学习生活,主要体会有以下几点:
1. 持之以恒的精神。基础研究工作是非常艰难的事情,一旦我们确定一个研究方向以后,尤其是对于进入一个新的研究领域而言,没有近似的研究成果可以借 鉴。这个的研究过程是一件非常艰难和困苦的事情,这个过程有可能需要几个月甚至几年,这期间最重要的就是需要坚持。记得2004年8月在交大的一个高级力 学培训班上,一个交大的教授讲他研究的一个项目已经有1年多了,但是毫无进展。哈佛大学的锁志刚教授说再坚持一下,很快就会好起来的。坚持是我们最终解决问题的心态,具有这个心态是进行科学研究的基础。
2. 开放合作交流的意识。在进行研究的过程中,会遇到很多问题,由于自己知识积累有限。因此要经常与自己的导师以及领域内的教授进行讨论交流,他们的一 句话往往会一针见血的指出问题的关键。这个过程往往是判断你的观点正确与否的一个途径。这个过程也是培养自己具有团队意识的过程。另外对于一流的大师我们 也不要惧怕,要敢于表达自己点观点,有时候哪怕即使是错误的。
3. 保持一个好奇心。学科之间的交叉越来越多,了解其它学科的知识对于启发自己的思维以及解决自己领域的问题有时会起到柳暗花明的作用。对于新的科技报 道以及进展,要了解要思考。对于新鲜的事物要具有想了解的想法。一个广泛的兴趣爱好和好奇心是培养自己具有丰富想象力的前提,也是使自己进行创新的原动力。
总之,做研究要一步一个脚印踏踏实实进行,不能为求一时的结果或成绩而违反科学道德,要有耐心、恒心和自信心。用钟万勰院士的一句话就是:“ 科学研究,要独立自主,要走自己的路;人生不会一帆风顺,难免有不如意事。把握住自己的方向,毋为一时得失所惑,切要,切要。”
10 文章多多益善
这是一个人心浮动的年代,也是一个没有英雄的年代。像爱因斯坦那样靠两三篇文章就可以惊动世界的时代已经一去不复返了。因此搞研究的人如果 这一辈子只有几篇文章也是不正常的。而文章往往是对科研工作的提炼和总结。因此只要做研究,尤其是基础研究,论文应该是必须的。现在很多人是大同行,而不 是小同行。具体到某一个点上,可能与你相同的组全世界也没有几个。 因此通过发表在国际公认的学术期刊上的文章作为一个评价体系,也是有一定道理的。考虑的中国的国情,如果只靠同行的评价,碍于人情世故,很难得到一个公正 的评价。既然国内现在以SCI为标准,那这个参数的值当然是越大越好了。有人说不能为了文章而文章,不能灌水。但是如果一个人可以在本行业的主流国际期刊 发表文章,只要不造假抄袭,就算灌水也总比在国内那些杂志上灌水强。在不能得到一个更加合理科学的评价体系前,多发SCI也是一个合理的选择。与其抱怨论 文,还不如趁早研究论文是个什么东西。很多事情外面看很难,走进去了也就是那么一回事情了。
数学在计算机图形学中的应用
“学习计算机图形学需要多少的数学?”这是初学者最经常问的问题。狭义的计算机图形学指的是传统的三维建模,绘制,动画等,而广义的计算机图形学还包括计算机图像处理,视频处理,计算机视觉和机器学习等领域。
答案取决于你想在计算机图形学领域钻研多深:
如果仅仅使用周围唾手可得的图形软件,如Photoshop, 3D Studio Max, Maya, AutoCAD等,你不需要知道多少数学知识;通过掌握简单的概念和阅读使用教程你就能使用这些软件的基本功能;但是如果你想精通这些软件,你还是需要学习计算机图形学的一些入门知识的;
如果想学习计算机图形学的入门知识,你至少需要掌握代数,三角学和线性代数的一些基本知识;这也是要成为图形软件高手所必需掌握的;
如果想成为一名计算机图形学的研究工作者,那么对数学的学习将是“活到老,学到老”。重要的是,从以前看似枯燥的数学到看到它的实际应用的过程中,你会更容易享受数学的美妙。在你不断进行计算机图形学的研究的过程中,你会感觉到你的数学知识越来越不够用,从而真正理解“数学不是没有用,而是不够用!”。
如果你并不特别喜欢数学,是否仍有在计算机图形学领域工作的机会?是的,计算机图形学的确有一些方面不需要考虑太多的数学问题。你不应该因为数学成绩不好而放弃它,如果你对计算机图形学具有强烈兴趣和好奇心的话,而且你还特别喜欢和擅长计算机编程的话。不过,如果学习了更多的数学知识,那么你将在研究课题上有更多的选择余地。如果你要做很好的计算机图形学的研究工作,则建议你还是多学习些数学。
对于在计算机图形学中哪些数学才是重要的?这个问题是没有明确的答案的。这领域里不同的方面要求掌握不同的数学知识,也许兴趣将会决定了你的方向。那些基本的数学知识和分析能力是最重要的,而其他的数学则是根据你所从事的方向相关。
下面将介绍我们认为对于计算机图形学有用的数学。别以为想成为一名计算机图形学的研究者就必须精通各门数学!在大学里,你所学的那些数学看起来都很抽象,枯燥无味,这是因为你并不知道它们的用处,甚至连讲课的老师也不知道,而你们的目的只是记住那些定理和公式,考个好分数。与大学学习数学不一样的是,你在计算机图形学的学习和研究过程中会感受到数学的用处和美妙,这时你学习数学的目的将更加明确,兴趣将更加浓厚,学习方法将更加有效。因为你是在使用数学的过程中在学习数学!想想看你是如何学会中文说话的?为了对用于计算机图形学的数学有一个全面的看法,这里特地列出了很多方面。注意,不是这里提到的每个方面你都必须熟悉,许多研究工作者从不需要考虑下面提到的某些数学知识,成功的研究者总是将某一方面的数学知识和数学工具用到极致!
最后,虽然读了这篇文章后,你应该会对数学在计算机图形学中的应用有所了解,不过这也是一家之言。也许你应该阅读更多的此类文章,或者至少从其他从事计算机图形学工作的人那里了解不同的学习重点。
初等代数和三角学
对于计算机图形学的初学者来说,高中的代数和三角学可能是最重要的数学。日复一日,我从简单的方程解出一个或更多的根。我时常还要解决类似求一些几何图形边长的简单三角学问题。代数和三角学是计算机图形学的最基础的知识。
那么高中的几何学怎么样呢?可能让人惊讶,不过在多数计算机图形学里,高中的几何学并不经常被用到。原因是许多学校教的几何学实际上是如何建立数学证明的课程。虽然证明题对提高智力显然是有效的,但对于计算机图形学来说,那些与几何课有关的定理和证明并不常被用到。如果你毕业于数学相关领域(包括计算机图形学),就会发现虽然你在证明定理,不过这对开始学习图形学不是必要的。
如果精通代数和三角学,就可以开始读一本计算机图形学的入门书了。下一个重要的用于计算机图形学的数学——线性代数,多数此类书籍至少包含了一个对线性代数的简要介绍。
推荐的参考书:
Computer Graphics: Principles and Practice
James Foley, Andries van Dam, Steven Feiner, John Hughes
Addison-Wesley
线性代数
线性代数的思想贯穿于计算机图形学。事实上,只要牵涉到几何数值表示法,就常常抽象出例如x,y,z坐标之类的数值,我们称之为矢量。计算机图形学自始至终离不开矢量和矩阵。用矢量和矩阵来描述旋转,平移,或者缩放是再好不过了。高中和大学都有线性代数的课程。只要想在计算机图形学领域工作,就应该打下坚实的线性代数基础。我刚才提到,许多图形学的书都有关于线性代数的简要介绍——足够教给你图形学的第一门课。
数学分析(微积分学)
微积分学是高级计算机图形学的重要成分。如果打算学习研究图形学,我强烈建议你应该对微积分学有初步认识。理由不仅仅是微积分学是一种很有用的工具,还有许多研究者用微积分学的术语来描述他们的问题和解决办法。另外,在许多重要的数学领域,微积分学被作为进一步学习的前提。学习了基本代数之后,微积分学又是一种能为你打开多数计算机图形学与后继的数学学习之门的课程。
微分几何
微分几何学研究描述和控制光滑曲线,曲面的方程。如果你要计算出经过某个远离曲面的点并垂直于曲面的矢量(法向矢量)就会用到微分几何学。让一辆汽车以特定速度在曲线上行驶也牵涉到微分几何学。有一种通用的绘制光滑曲面的图形学技术,叫做“凹凸帖图”,这个技术用到了微分几何学。另外,要研究曲面的一些几何性质,如曲率、可展性、测地性质等,需要较多的微分几何知识。如果要着手于用曲线和曲面来创造形体(在图形学里称之为建模),你至少应该学习微分几何学的基础。
数值方法(计算方法)
几乎任何时候,我们在计算机里用近似值代替精确值来表示和操作数值,所以计算过程总是会有误差。而且对于给定的数值问题,常常有多种解决的方法,一些方法会更块,更精确或者对内存的需求更少。数值方法研究的对象包括“计算方法”和“科学计算”等等。这是一个很广阔的领域,而且我将提及的其他几门数学其实是数值方法的一些分支。这些分支包括抽样法理论,矩阵方程组,数值微分方程组和最优化。
推荐的参考书:
Numerical Recipes in C++: The Art of Scientific Computing
William Press, Saul Teukolsky, William Vetterling and Brian Flannery
Cambridge University Press
抽样法理论和信号处理
在计算机图形学里我们反复使用储存在正规二维数组里的数字集合来表示一些对象,例如图片和曲面。这时,我们就要用抽样法来表示这些对象。如果要控制这些对象的品质,抽样法理论就变得尤为重要。抽样法应用于图形学的常见例子是当物体被绘制在屏幕上时,它的轮廓呈现锯齿状的边缘。这锯齿状的边缘(被认为是“混淆”现象)是非常让人分散注意力的,用抽样法中著名的技术例如回旋,傅立叶变换,空间和频率的函数表示就能把这个现象减少到最小。这些思想在图像和音频处理领域是同样重要的。
推荐的参考书:
The Fourier Transform and Its Applications
Ronald N. Bracewell
McGraw Hill
矩阵计算
计算机图形学的许多问题要用到矩阵方程组的数值解法。一些涉及矩阵的问题包括:找出最好的位置与方向以使对象们互相匹配(最小二乘法),创建一个覆盖所给点集的曲面,并使皱折程度最小(薄板样条算法),还有材质模拟,例如水和衣服等。在图形学里矩阵表述相当流行,因此在用于图形学的数学中我对矩阵方程组的评价是很高的。
推荐的参考书:
Matrix Computations
Gene Golub and Charles Van Loan
Johns Hopkins University Press
物理学(物理模拟)
物理学显然不是数学的分支,它是自成一家的学科。但是在计算机图形学的某些领域,物理学和数学是紧密联系的。在图形学里,牵涉物理学的问题包括光与物体的表面是怎样互相影响的,人与动物的移动方式,水与空气的流动。为了模拟这些自然现象,物理学的知识是必不可少的。这和解微分方程紧密联系,我将会在下一节提到微分方程。
微分方程的数值解法(有限元方法)
我相信对于计算机图形学来说,解微分方程的技巧是非常重要的。像我们刚才讨论的,计算机图形学致力于模拟源于真实世界的物理系统。波浪是怎样在水里形成的,动物是怎样在地面上行走的,这就是两个模拟物理系统的例子。模拟物理系统的问题经常就是怎样解微分方程的数值解。请注意,微分方程的数值解法与微分方程的符号解法是有很大差异的。符号解法求出没有误差的解,而且时常只用于一些非常简单的方程。有时大学课程里的“微分方程”只教符号解法,不过这并不会对多数计算机图形学的问题有帮助。
在对物理系统的模拟中,我们把世界细分为许多表示成矢量的小元素。然后这些元素之间的关系就可以用矩阵来描述。虽然要处理的矩阵方程组往往没有很精确的解,但是取而代之的是执行了一系列的计算,这些计算产生一个表示成数列的近似解。这就是微分方程的数值解法。请注意,矩阵方程的解法与微分方程数值解法的关系是很密切的。
最优化
在计算机图形学里,我们常常为了期望的目标寻求一种合适的描述对象或者对象集的方法。例如安排灯的位置使得房间的照明看起来有种特殊的“感觉”,动画里的人物要怎样活动四肢才能实现一个特殊的动作,怎样排版才不会使页面混乱。以上这些例子可以归结为最优化问题。十年前的计算机图形学几乎没有最优化技术的文献,不过最近这个领域越来越重视最优化理论。我认为在计算机图形学里,最优化的重要性将会日益增加。
概率论与统计学
计算机图形学的许多领域都要用到概率论与统计学。当研究者涉足人类学科时,他们当然需要统计学来分析数据。图形学相关领域涉及人类学科,例如虚拟现实和人机交互(HCI)。另外,许多用计算机描绘真实世界的问题牵涉到各种未知事件的概率。两个例子:一棵成长期的树,它的树枝分杈的概率;虚拟的动物如何决定它的行走路线。最后,一些解高难度方程组的技巧用了随机数来估计方程组的解。重要的例子:蒙特卡罗方法经常用于光如何传播的问题。以上仅是一部分在计算机图形学里使用概率论和统计学的方法。
另外,在机器学习和统计学习中,需要非常多和深入的统计学知识。
拓扑学
用一句话来形容拓扑学,它研究油炸圈饼与咖啡杯为什么在本质上是相同的。答案是他们都是只有一个洞的曲面。对于计算机图形学来说,拓扑学的形式(符号表示法)是表达思想的简便方法,常用于分析一些曲面的性质,在形状分析、形状匹配和搜索中得到应用。
黎曼几何
黎曼几何是研究流形曲面上的微积分与微分几何。不同与三维欧氏空间,它研究的曲面是在流形曲面上,其中用到不同的度量。这部分数学知识有点抽象,但是同样有效地被用到计算机图形学中。如共形几何理论就被发展起来在计算机图形学中得到广泛的应用。
抽象代数
抽象代数就是研究群论,环论和域的代数学。相对于线性代数,内容也比较抽象。在计算机图形学上也时有用到。
计算几何
计算几何学研究如何用计算机高效地表示与操作几何体。典型问题如,碰撞检测,把多边形分解为三角形,找出最靠近某个位置的点,这个学科包括了运算法则,数据结构和数学。图形学的研究者,只要涉足创建形体(建模),就要大量用到计算几何学。
推荐的参考书:
Computational Geometry in C
Joseph O'Rourke
Cambridge University Press
Computational Geometry: An Introduction
Franco Preparata and Michael Shamos
Springer-Verlag
其他几何学
一些其他的几何学,如《仿射几何》、《射影几何》在计算机图形学的某些问题上用得比较多,对工程具有较大的促进应用。
总结:数学应用和数学理论
对于图形学来说,以上提到的许多数学学科都有个共同点:比起这些数学的理论价值,我们更倾向于发掘它们的应用价值。不要惊讶。计算机图形学的许多问题和物理学者与工程师们研究的问题是紧密联系的,并且物理学者与工程师们使用的数学工具正是计算机图形学研究者们使用的。多数研究纯数学理论的学科从不被用于计算机图形学。不过这不是绝对的。请注意这些特例:分子生物学正利用节理论来研究DNA分子动力学,亚原子物理学用到了抽象群论。也许有一天,纯数学理论也能推动计算机图形学的发展,谁知道呢?
事实上,文章中所提到一些数学分支,按照我国的教育体制,在数学系本科的学生(或者硕士研究生阶段的理工科学生)基本都能接触到。但是大学所学习的数学比较偏重于证明以构建完备的数学理论框架,而不太注重实际的使用,现在的大学教师授课的方式也是这样。
我认为,学习数学最好的方式就是使用它,使用它越多,你就觉得它越有用,越有趣,学得就越好,也越快,越扎实。当然,很少有人能精通全部的知识,对于计算机图形学的学习和实践,应当采取掌握较为宽广的数学知识基础,在需要的时候,对相关的数学知识再进行深入的学习和挖掘;不要因为自身数学知识的匮乏而沮丧,更不能因此而敌视数学,保持对计算机图形学强烈的兴趣和乐观上进的学习态度是学习计算机图形学的关键。
还有一点需要指出的是,在学习计算机图形学的过程中,你会发现各个方面的数学知识都会被用到,因此你掌握的数学知识会比较全面,也知道如何在实际中应用。这可能是应用数学在所有学科得到最好的体现。相反,一些做纯理论的数学工作者,掌握的数学知识就是他们所研究的一块,而对其他的数学知识掌握得就不够好,他们做得比较深入。当然,做应用数学和理论数学都有值得敬仰的地方,一个侧重在实际应用,而另一个侧重在理论深度,但要做好都不是很容易。数学说到底还是要学老用的。相对来讲,做计算机图形学能看到学到的数学在实际中所用了,“所用即所学”。试想一下,当你能看到自己做的美妙的东西被别人看到且被敬仰的时候,你的成就感一定会很大!
最后说一点的就是,学习计算机图形学和从事计算机图形学的研究,除了数学基础外,还需要较强的计算机编程能力,你务必要掌握和熟练一门编程语言,一般建议C/C++,因为你要实现出你的想法,你必须编程去实现出来,做出漂亮的结果。编程也是很有趣的,只要你有兴趣,提高是非常快的!当然,这里我不阐述如何提高编程的能力和水平的方法。“数学”和“编程”,两手都要抓,两手都要硬!提醒大家一点的是,如果你对编程兴趣不大,或者就不愿编程,那你就不适合选择计算机图形学,可能更适合选择其他方向,比如统计学或理论数学。
注:本文由Greg Turk. “Mathematics for Computer Graphics, August 1997.” 及网上的中文翻译整理扩充而得。
答案取决于你想在计算机图形学领域钻研多深:
如果仅仅使用周围唾手可得的图形软件,如Photoshop, 3D Studio Max, Maya, AutoCAD等,你不需要知道多少数学知识;通过掌握简单的概念和阅读使用教程你就能使用这些软件的基本功能;但是如果你想精通这些软件,你还是需要学习计算机图形学的一些入门知识的;
如果想学习计算机图形学的入门知识,你至少需要掌握代数,三角学和线性代数的一些基本知识;这也是要成为图形软件高手所必需掌握的;
如果想成为一名计算机图形学的研究工作者,那么对数学的学习将是“活到老,学到老”。重要的是,从以前看似枯燥的数学到看到它的实际应用的过程中,你会更容易享受数学的美妙。在你不断进行计算机图形学的研究的过程中,你会感觉到你的数学知识越来越不够用,从而真正理解“数学不是没有用,而是不够用!”。
如果你并不特别喜欢数学,是否仍有在计算机图形学领域工作的机会?是的,计算机图形学的确有一些方面不需要考虑太多的数学问题。你不应该因为数学成绩不好而放弃它,如果你对计算机图形学具有强烈兴趣和好奇心的话,而且你还特别喜欢和擅长计算机编程的话。不过,如果学习了更多的数学知识,那么你将在研究课题上有更多的选择余地。如果你要做很好的计算机图形学的研究工作,则建议你还是多学习些数学。
对于在计算机图形学中哪些数学才是重要的?这个问题是没有明确的答案的。这领域里不同的方面要求掌握不同的数学知识,也许兴趣将会决定了你的方向。那些基本的数学知识和分析能力是最重要的,而其他的数学则是根据你所从事的方向相关。
下面将介绍我们认为对于计算机图形学有用的数学。别以为想成为一名计算机图形学的研究者就必须精通各门数学!在大学里,你所学的那些数学看起来都很抽象,枯燥无味,这是因为你并不知道它们的用处,甚至连讲课的老师也不知道,而你们的目的只是记住那些定理和公式,考个好分数。与大学学习数学不一样的是,你在计算机图形学的学习和研究过程中会感受到数学的用处和美妙,这时你学习数学的目的将更加明确,兴趣将更加浓厚,学习方法将更加有效。因为你是在使用数学的过程中在学习数学!想想看你是如何学会中文说话的?为了对用于计算机图形学的数学有一个全面的看法,这里特地列出了很多方面。注意,不是这里提到的每个方面你都必须熟悉,许多研究工作者从不需要考虑下面提到的某些数学知识,成功的研究者总是将某一方面的数学知识和数学工具用到极致!
最后,虽然读了这篇文章后,你应该会对数学在计算机图形学中的应用有所了解,不过这也是一家之言。也许你应该阅读更多的此类文章,或者至少从其他从事计算机图形学工作的人那里了解不同的学习重点。
初等代数和三角学
对于计算机图形学的初学者来说,高中的代数和三角学可能是最重要的数学。日复一日,我从简单的方程解出一个或更多的根。我时常还要解决类似求一些几何图形边长的简单三角学问题。代数和三角学是计算机图形学的最基础的知识。
那么高中的几何学怎么样呢?可能让人惊讶,不过在多数计算机图形学里,高中的几何学并不经常被用到。原因是许多学校教的几何学实际上是如何建立数学证明的课程。虽然证明题对提高智力显然是有效的,但对于计算机图形学来说,那些与几何课有关的定理和证明并不常被用到。如果你毕业于数学相关领域(包括计算机图形学),就会发现虽然你在证明定理,不过这对开始学习图形学不是必要的。
如果精通代数和三角学,就可以开始读一本计算机图形学的入门书了。下一个重要的用于计算机图形学的数学——线性代数,多数此类书籍至少包含了一个对线性代数的简要介绍。
推荐的参考书:
Computer Graphics: Principles and Practice
James Foley, Andries van Dam, Steven Feiner, John Hughes
Addison-Wesley
线性代数
线性代数的思想贯穿于计算机图形学。事实上,只要牵涉到几何数值表示法,就常常抽象出例如x,y,z坐标之类的数值,我们称之为矢量。计算机图形学自始至终离不开矢量和矩阵。用矢量和矩阵来描述旋转,平移,或者缩放是再好不过了。高中和大学都有线性代数的课程。只要想在计算机图形学领域工作,就应该打下坚实的线性代数基础。我刚才提到,许多图形学的书都有关于线性代数的简要介绍——足够教给你图形学的第一门课。
数学分析(微积分学)
微积分学是高级计算机图形学的重要成分。如果打算学习研究图形学,我强烈建议你应该对微积分学有初步认识。理由不仅仅是微积分学是一种很有用的工具,还有许多研究者用微积分学的术语来描述他们的问题和解决办法。另外,在许多重要的数学领域,微积分学被作为进一步学习的前提。学习了基本代数之后,微积分学又是一种能为你打开多数计算机图形学与后继的数学学习之门的课程。
微分几何
微分几何学研究描述和控制光滑曲线,曲面的方程。如果你要计算出经过某个远离曲面的点并垂直于曲面的矢量(法向矢量)就会用到微分几何学。让一辆汽车以特定速度在曲线上行驶也牵涉到微分几何学。有一种通用的绘制光滑曲面的图形学技术,叫做“凹凸帖图”,这个技术用到了微分几何学。另外,要研究曲面的一些几何性质,如曲率、可展性、测地性质等,需要较多的微分几何知识。如果要着手于用曲线和曲面来创造形体(在图形学里称之为建模),你至少应该学习微分几何学的基础。
数值方法(计算方法)
几乎任何时候,我们在计算机里用近似值代替精确值来表示和操作数值,所以计算过程总是会有误差。而且对于给定的数值问题,常常有多种解决的方法,一些方法会更块,更精确或者对内存的需求更少。数值方法研究的对象包括“计算方法”和“科学计算”等等。这是一个很广阔的领域,而且我将提及的其他几门数学其实是数值方法的一些分支。这些分支包括抽样法理论,矩阵方程组,数值微分方程组和最优化。
推荐的参考书:
Numerical Recipes in C++: The Art of Scientific Computing
William Press, Saul Teukolsky, William Vetterling and Brian Flannery
Cambridge University Press
抽样法理论和信号处理
在计算机图形学里我们反复使用储存在正规二维数组里的数字集合来表示一些对象,例如图片和曲面。这时,我们就要用抽样法来表示这些对象。如果要控制这些对象的品质,抽样法理论就变得尤为重要。抽样法应用于图形学的常见例子是当物体被绘制在屏幕上时,它的轮廓呈现锯齿状的边缘。这锯齿状的边缘(被认为是“混淆”现象)是非常让人分散注意力的,用抽样法中著名的技术例如回旋,傅立叶变换,空间和频率的函数表示就能把这个现象减少到最小。这些思想在图像和音频处理领域是同样重要的。
推荐的参考书:
The Fourier Transform and Its Applications
Ronald N. Bracewell
McGraw Hill
矩阵计算
计算机图形学的许多问题要用到矩阵方程组的数值解法。一些涉及矩阵的问题包括:找出最好的位置与方向以使对象们互相匹配(最小二乘法),创建一个覆盖所给点集的曲面,并使皱折程度最小(薄板样条算法),还有材质模拟,例如水和衣服等。在图形学里矩阵表述相当流行,因此在用于图形学的数学中我对矩阵方程组的评价是很高的。
推荐的参考书:
Matrix Computations
Gene Golub and Charles Van Loan
Johns Hopkins University Press
物理学(物理模拟)
物理学显然不是数学的分支,它是自成一家的学科。但是在计算机图形学的某些领域,物理学和数学是紧密联系的。在图形学里,牵涉物理学的问题包括光与物体的表面是怎样互相影响的,人与动物的移动方式,水与空气的流动。为了模拟这些自然现象,物理学的知识是必不可少的。这和解微分方程紧密联系,我将会在下一节提到微分方程。
微分方程的数值解法(有限元方法)
我相信对于计算机图形学来说,解微分方程的技巧是非常重要的。像我们刚才讨论的,计算机图形学致力于模拟源于真实世界的物理系统。波浪是怎样在水里形成的,动物是怎样在地面上行走的,这就是两个模拟物理系统的例子。模拟物理系统的问题经常就是怎样解微分方程的数值解。请注意,微分方程的数值解法与微分方程的符号解法是有很大差异的。符号解法求出没有误差的解,而且时常只用于一些非常简单的方程。有时大学课程里的“微分方程”只教符号解法,不过这并不会对多数计算机图形学的问题有帮助。
在对物理系统的模拟中,我们把世界细分为许多表示成矢量的小元素。然后这些元素之间的关系就可以用矩阵来描述。虽然要处理的矩阵方程组往往没有很精确的解,但是取而代之的是执行了一系列的计算,这些计算产生一个表示成数列的近似解。这就是微分方程的数值解法。请注意,矩阵方程的解法与微分方程数值解法的关系是很密切的。
最优化
在计算机图形学里,我们常常为了期望的目标寻求一种合适的描述对象或者对象集的方法。例如安排灯的位置使得房间的照明看起来有种特殊的“感觉”,动画里的人物要怎样活动四肢才能实现一个特殊的动作,怎样排版才不会使页面混乱。以上这些例子可以归结为最优化问题。十年前的计算机图形学几乎没有最优化技术的文献,不过最近这个领域越来越重视最优化理论。我认为在计算机图形学里,最优化的重要性将会日益增加。
概率论与统计学
计算机图形学的许多领域都要用到概率论与统计学。当研究者涉足人类学科时,他们当然需要统计学来分析数据。图形学相关领域涉及人类学科,例如虚拟现实和人机交互(HCI)。另外,许多用计算机描绘真实世界的问题牵涉到各种未知事件的概率。两个例子:一棵成长期的树,它的树枝分杈的概率;虚拟的动物如何决定它的行走路线。最后,一些解高难度方程组的技巧用了随机数来估计方程组的解。重要的例子:蒙特卡罗方法经常用于光如何传播的问题。以上仅是一部分在计算机图形学里使用概率论和统计学的方法。
另外,在机器学习和统计学习中,需要非常多和深入的统计学知识。
拓扑学
用一句话来形容拓扑学,它研究油炸圈饼与咖啡杯为什么在本质上是相同的。答案是他们都是只有一个洞的曲面。对于计算机图形学来说,拓扑学的形式(符号表示法)是表达思想的简便方法,常用于分析一些曲面的性质,在形状分析、形状匹配和搜索中得到应用。
黎曼几何
黎曼几何是研究流形曲面上的微积分与微分几何。不同与三维欧氏空间,它研究的曲面是在流形曲面上,其中用到不同的度量。这部分数学知识有点抽象,但是同样有效地被用到计算机图形学中。如共形几何理论就被发展起来在计算机图形学中得到广泛的应用。
抽象代数
抽象代数就是研究群论,环论和域的代数学。相对于线性代数,内容也比较抽象。在计算机图形学上也时有用到。
计算几何
计算几何学研究如何用计算机高效地表示与操作几何体。典型问题如,碰撞检测,把多边形分解为三角形,找出最靠近某个位置的点,这个学科包括了运算法则,数据结构和数学。图形学的研究者,只要涉足创建形体(建模),就要大量用到计算几何学。
推荐的参考书:
Computational Geometry in C
Joseph O'Rourke
Cambridge University Press
Computational Geometry: An Introduction
Franco Preparata and Michael Shamos
Springer-Verlag
其他几何学
一些其他的几何学,如《仿射几何》、《射影几何》在计算机图形学的某些问题上用得比较多,对工程具有较大的促进应用。
总结:数学应用和数学理论
对于图形学来说,以上提到的许多数学学科都有个共同点:比起这些数学的理论价值,我们更倾向于发掘它们的应用价值。不要惊讶。计算机图形学的许多问题和物理学者与工程师们研究的问题是紧密联系的,并且物理学者与工程师们使用的数学工具正是计算机图形学研究者们使用的。多数研究纯数学理论的学科从不被用于计算机图形学。不过这不是绝对的。请注意这些特例:分子生物学正利用节理论来研究DNA分子动力学,亚原子物理学用到了抽象群论。也许有一天,纯数学理论也能推动计算机图形学的发展,谁知道呢?
事实上,文章中所提到一些数学分支,按照我国的教育体制,在数学系本科的学生(或者硕士研究生阶段的理工科学生)基本都能接触到。但是大学所学习的数学比较偏重于证明以构建完备的数学理论框架,而不太注重实际的使用,现在的大学教师授课的方式也是这样。
我认为,学习数学最好的方式就是使用它,使用它越多,你就觉得它越有用,越有趣,学得就越好,也越快,越扎实。当然,很少有人能精通全部的知识,对于计算机图形学的学习和实践,应当采取掌握较为宽广的数学知识基础,在需要的时候,对相关的数学知识再进行深入的学习和挖掘;不要因为自身数学知识的匮乏而沮丧,更不能因此而敌视数学,保持对计算机图形学强烈的兴趣和乐观上进的学习态度是学习计算机图形学的关键。
还有一点需要指出的是,在学习计算机图形学的过程中,你会发现各个方面的数学知识都会被用到,因此你掌握的数学知识会比较全面,也知道如何在实际中应用。这可能是应用数学在所有学科得到最好的体现。相反,一些做纯理论的数学工作者,掌握的数学知识就是他们所研究的一块,而对其他的数学知识掌握得就不够好,他们做得比较深入。当然,做应用数学和理论数学都有值得敬仰的地方,一个侧重在实际应用,而另一个侧重在理论深度,但要做好都不是很容易。数学说到底还是要学老用的。相对来讲,做计算机图形学能看到学到的数学在实际中所用了,“所用即所学”。试想一下,当你能看到自己做的美妙的东西被别人看到且被敬仰的时候,你的成就感一定会很大!
最后说一点的就是,学习计算机图形学和从事计算机图形学的研究,除了数学基础外,还需要较强的计算机编程能力,你务必要掌握和熟练一门编程语言,一般建议C/C++,因为你要实现出你的想法,你必须编程去实现出来,做出漂亮的结果。编程也是很有趣的,只要你有兴趣,提高是非常快的!当然,这里我不阐述如何提高编程的能力和水平的方法。“数学”和“编程”,两手都要抓,两手都要硬!提醒大家一点的是,如果你对编程兴趣不大,或者就不愿编程,那你就不适合选择计算机图形学,可能更适合选择其他方向,比如统计学或理论数学。
注:本文由Greg Turk. “Mathematics for Computer Graphics, August 1997.” 及网上的中文翻译整理扩充而得。
带学生的第一封信
***,
附件是第一个练习,你的进度可能会和要求的不一样,没有关系。开始打牢基础更重要,而不是追求速度。做完后可以按要求把完成的作业email给我,我会给你进一步的训练要求。遇到问题,多想多问多查,google必不可少,有问题的话也可以随时同我交流。
Graphics和Vision的研究都和真实世界密切联系,还是非常有意思的;做这方面的工作可以向其他人show,会给人带来很强的成就感;另外,找到好工作机会也比较多,也有很多进一步深造的空间。不过想要入门,开始是需要付出艰辛努力的。希望你能在这些练习中逐渐进步,逐渐成长。
开始的练习主要面向编程、基本算法、图像处理等。后面我会根据你的基础、进度、研究兴趣等做出调整。总的来说,我希望能花半年多时间完成编程练习,后面可以让你开始做第一篇学术论文,可以基本编程、算法入门,从而了解什么是做科研。无论将来是不是做graphic或vision方面的内容,都可以快速上手,事半功倍。
童晶
附件是第一个练习,你的进度可能会和要求的不一样,没有关系。开始打牢基础更重要,而不是追求速度。做完后可以按要求把完成的作业email给我,我会给你进一步的训练要求。遇到问题,多想多问多查,google必不可少,有问题的话也可以随时同我交流。
Graphics和Vision的研究都和真实世界密切联系,还是非常有意思的;做这方面的工作可以向其他人show,会给人带来很强的成就感;另外,找到好工作机会也比较多,也有很多进一步深造的空间。不过想要入门,开始是需要付出艰辛努力的。希望你能在这些练习中逐渐进步,逐渐成长。
开始的练习主要面向编程、基本算法、图像处理等。后面我会根据你的基础、进度、研究兴趣等做出调整。总的来说,我希望能花半年多时间完成编程练习,后面可以让你开始做第一篇学术论文,可以基本编程、算法入门,从而了解什么是做科研。无论将来是不是做graphic或vision方面的内容,都可以快速上手,事半功倍。
童晶