首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CS热门方向人机交互&图形学全方位解析

编者按:指南者分析是由我们指南者留学新推出的一个专栏。每篇文章都由我们的申请顾问和海外导师精心准备2周以上,千字干货,阅读时间较长,但字字精华,建议收藏“食用”。欢迎各位小伙伴文末留言自己感兴趣的专业与话题,我们会根据大家的需求酌情安排。

本文作者

指南者教育咨询师王老师

本文主要给大家介绍CS的两大分支:人机交互和图形学。

人机交互

人机交互(Human-computer Interaction),是CS里很多同学会申请的方向, 主要是通过设计和使用计算机技术使用来实现人(Users)和计算机之间的联络和通讯。通讯是双向的,一方面人操作电脑,另一方面电脑也要反馈信号,这两方面刚好也是HCI的核心部分。包括人如何跟电脑进行交互,也包括怎样设计新技术让人和电脑的交互能够更加高效,更加安全。

HCI的学科覆盖面非常广,主要包括三个方面,第一方面偏工程,第二偏社科,第三偏艺术。

首先,偏工程的方向包括CS(Computer Science)、EE (Electrical Engineering)、ME(Mechanical Engineering)。

其次是Behavioral Sciences。需要涉及的对象有两个:机器和人。机器是冷冰冰的,但人是有感情的。要做好HCI一定要对人的行为很了解,就要求充分掌握研究人行为的科学,特别是心理学和行为学。

第三是Design(Media Studies)。软件设计要让人感觉到舒服、美观、大方,同时也要有新意。这就不是一门科学,而是一门艺术,所以需要设计者对艺术有一定的了解。

所以也有人说HCI非常奇葩,就是因为它不只是工程和科学,而是综合了各个方面的一门学科。

HCI的两大方向及主要内容:

两大方向

HCI有两大方向,一个是设计的方向,这是属于艺术类,如果你要申请这个方向,需要设计过一些interface,是需要提交作品集的。还有一大方向就是偏工程的,申请HCI的理工科学生,重要性最高的是工程,如果学生对社科和艺术有认识和接触的话,也可以好好强调,但这只是锦上添花而不是必须的。

但如果学生是想申艺术类的方向,那么就会反过来,最终要的Design, Media Studies。同样,如果学生对工程、编程有一定认识的话,那么也是锦上添花的。

主要内容

首先是当下很热门的AR和VR,这是人机交互一个很大的方向。AR是增强现实,VR是虚拟现实。主要就是给用户一种浸没感。比如在看电影的时候,电影屏幕的尺寸是有限的,它不能涵盖你的视线范围,所以你会知道这是在看电影。但如果通过某种方法使你的视角全部覆盖,通过三维技术给你真实的感官体验,让你身临其境,这样的过程就是虚拟现实或增强现实。

第二部分,Ubiquitous Computing(UC),这个词的意思是“无处不在的”。以后的目标是把电脑变成你生活的一部分,他可以和你的衣服甚至和你的皮肤融为一体,跟电脑尽可能地方便交互。

第三部分,就是Social Computing。这主要是通过软件,比如blogs,email,wiki,wechat等来改变社会形态。

总的来说,绝大部分的人机交互都是偏重虚拟现实和UC这两部分,很少有人会做第三部分。

HCI的主要用途:

首先就是Consumer Electronics,比如Smart Phone的多点触摸屏,这其实是一个创举。在以前,触摸屏只能用一个手指来进行操作,比如对窗口进行平移,关闭或打开。而现在的iPhone或者三星的cellphone,都可以通过多点触摸,用两根手指对屏幕进行操作,让窗口变大变小或旋转,这就属于工程领域里的HCI。我去学HCI的学生,很多都是做这类技术。

HCI在游戏行业的用途也非常广,包括任天堂Wii,Xbox,PlayStation。这些主要通过感受用户的身体运动和指令的体感游戏,以及电影、电视机行业,也引入了VR和AR技术。除此之外,医疗、汽车、军工、玩具、教育、机器人也是HCI的主要用途。比如教育方面的远程教育,医疗方面的远程机器人手术等,学HCI的就业面是非常广的

核心专业课程

与HCI领域相关的核心课程,第一是数学课程。由于很多人机交互的程序操作全是靠线性代数进行操作,所以数学课程中,线性代数是核心。第二是计算机理论,包括算法和数据结构。人机交互因为涉及图形学和实时演算,所以非常强调算法的空间和时间效率,这就需要申请人对算法和数据结构有很深刻的认识。第三,还需要掌握一门计算机高级课程,主要指Computer Graphics(计算机图形学)。

由于HCI需要学生不只是懂软件也懂硬件,所以最好学生也学过电子和机械。电子包括数字电路,模拟电路,单片机,信号与系统,电子电路设计,以及各类实验课程。这就需要你既要懂理论,也要懂实践。因为很多装置的设计不止要求软件,还要求硬件的实现。所以申请者如果本身也懂硬件,就会很有优势。

我有很多学生以前是学EE的,转到计算机申HCI,其实是个很好的选择,申HCI能够充分发挥他们的优势。此外,HCI也强调学生机械的能力,包括力学的基础课程,机械设计基础,微机电系统(MEMS),这些也强调理论和实践。因为很多的硬件的实现都是靠机械来实现的。所以如果申请者本科是学机械的,申请HCI也是很合适的。

另外,还有一些非理工类课程,如果申请者能在本科修过或者自学过,也会是一个很大的优势,比如语言学 、社科、认知心理学、社会心理学以及人机交互因素的课程,这些课程大多不是理工科学院开设,而是由社科院开设的。

计算机编程课程,建议掌握Java和C#,这两门语言在用户图像界面(GUI)编程方面非常有优势,这是需要申请者去掌握的。

图形学

CS的另一大分支图形学(CG),也是很有意思的。它主要通过电脑生成两部分,一部分是二维和三维的静态图片,第二部分是把图片放在一起形成电影。我们知道电影的本质就是一串图片,靠人眼视觉暂留的效应来实现一种运动的感觉。所以整个图形学简单来说包括两部分,就是静态图片和电影。

图形学的核心知识

图形学的核心知识包括五部分,第一部分是几何学。由于任何一个图形的本质都是几何,所以需要对平面,立体和解析几何这三方面都要掌握。

第二部分是光学。人眼之所以能看到物体,其本质原因是光线作用。光包括反射,折射和散射。另外,光由于波长不一样,颜色分布也不尽相同。只有通过对这些东西的认识,才能够实现靠电脑向用户呈现一个缤纷复杂的世界,所以光学是本质。光学也分为两部分,一部分是几何光学,一部分是物理光学,这些都需要了解

第三部分是物理学。由于很多图形学都会牵扯到物理模拟,比如固体的碰撞、流体流动、爆炸等都和物理相关,所以需要对物理学有深刻的认识。

第四部分是计算机算法。由于绝大部分的CG算法都非常昂贵,同时对实时运算要求很高,比如用户在打游戏时,游戏事先并不知道用户如何操作,所以它不可能事先生成电影,只能根据用户的输入实时进行渲染和计算,最终向用户呈现出动态的画面,要达到这个结果就非常要求算法的速度,所以一个设计者一定要对算法的研究很深刻,包括算法的空间复杂度和时间复杂度。

第五部分是硬件。很多时候我们需要充分利用硬件的一些特性使它的算法更高效,比如很多机器里有外置显卡,显卡里有一个GPU,如何利用GPU的一些特点和架构去加速运算也是CG的一个大方向,所以申请者最好要对硬件也有认识。

主要内容

图形学的主要内容包括对以下几方面,第一个就是几何模拟。几何模拟是用数字网格离散技术建造复杂几何体,它和很多其它工程计算领域联系紧密。比如做机械或做流体的,很多时候也需要去做几何建模。换句话说,如果学生以前是学机械的,想要转CS,那么就可以充分利用这一点。

第二个内容是渲染。渲染就是将一个数字模型变成一张图片或一部电影。数字模型原本不被看见,你之所以能看到这个模型就是因为它通过渲染来呈现出图片。关于这方面就涉及光线的运用,包括反射,折射,色散,光源等; 还包括色彩理论和计算机显卡/显示器原理,以及人眼视觉生理学方面的知识。

第三个主要内容是物理模拟。很多时候需要模拟流体,包括刚体动力学(物体的碰撞)、弹性体、脆性物体(玻璃的破碎)以及流体。如果你以前是学EE或者ME的,都可以强调你对物理模拟有很深刻的认识,可以很自然地申请CG这个方向。

第四个主要内容是虚拟现实技术。关于这部分内容其实是人机交互和图形学两者之间紧密联系的部分。很多人机交互就是靠CG来实现,很多CG的应用领域之一就是虚拟现实与人机交互。

最后是Animation(动画),把静态图片变成动画其实是3D动画软件里的核心部分之一。很多软件如Maya或3DsMax,Animation都是核心部分。比如《泰坦尼克号》电影里的一些特技就是靠Maya来实现。

主要用途

CG的主要用途其实非常广。

第一,电影行业。比较知名的有Pixar公司,就是那个出品了电影《疯狂动物城》的公司,我有朋友在这个公司做CG。

第二,游戏行业。基本上现代所有游戏都需要实时或非实时3D动画技术,行业需求极大

第三,广告行业。包括2D和3D广告,形式有海报,电视,网页等。

第四,软件用户图形界面。几乎所有软件都需要软件用户图形界面,所以各大IT公司都有相应的职位。

第五,计算机辅助设计CAD,计算机辅助加工CAM,3D打印等。CAD和CAM是当今整个电子设计,服装设计的核心部分,包括3D打印都需要CG技术。很多机械行业转CS的学生可以考虑这个切入点

第六,需要数据可视化的行业。如今有很多行业数据很多,如何让操作者能够直观形象地认识到数据里的一些规律或特点,如何通过计算机向用户呈现非常好理解的画面,这就是CG的应用方向。包括包括科学计算,教育,气象,医疗如核磁共振和CT,生物,建筑设计等方向都需要可视化。

以上六个方面涵盖了整个CG的应用领域,就业面是很广的,基本上CG毕业生都可以从事任何一个子方向的工作。

核心专业课程

数学课程

关于核心课程,首先是数学课程,数学课程中,线性代数是一切几何建模的实现基础。在软件里对几何体进行平移、旋转,变形等操作,这些操作的实现全都是靠线性代数,靠举证来实现,所以线性代数是重中之重

第二部分是数值分析和微分方程,这个课程是一切物理模拟的基础。不管是模拟固体或流体,全都是靠数值分析和微分方程实现。

第三个核心课程是微分几何学,它是一切几何建模的理论基础

第四是离散数学,整个算法的设计,如何高效以及节省空间的实现都是靠离散数学,是图形学算法分析优化的基础。所以这就需要学生对数学的以上四个分支有深刻认识。

计算机理论

第二大部分是计算机理论课程,这一部分主要包括算法和数据结构。首先就需要对常见算法和复杂度分析都要熟练掌握,其次你需要掌握一些常用的复杂的数据结构,这一部分跟人机交互很相似。第三是计算机结构,最好能够掌握一些硬件的知识,比如需要理解GPU和CPU的原理。

计算机高级课程

第三是计算机高级课程。关于这个,最好能上一下研究生的CG课程,很多本科学校都开设了这门课,最好可以旁听下。如果你们学校没有这门课,那么也可以在Coursera网站上自学。

计算机编程

第四是计算机编程。由于整个CG方向里的一些方向和研究都是以光学和力学为基础的,所以最好能掌握一两门编译型的面向对象的语言如C++,Java,同时也最好能学一些物理的课程比如光学,理论(经典)力学,流体力学,弹性力学等。

以上就是对CS两大方向HCI和CG的解析,往期的分析也已贴在下面,如果还有想了解的方向,可以在文章末给我留言。

长按上方二维码添加

关于美国CS申请还有疑问?

添加指南者咨询师王老师微信

获取进一步咨询

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180213G06K5500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券