虚拟现实技术的价值

Values of Virtual Reality Technology

曾国屏 李正风

清华大学科学技术与社会研究所 100084

Zeng Guoping Li Zhengfeng

Institute of Science, Technology & Society, Tsinghua University, 100084, Beijing

虚拟现实(Virtural Reality)技术是20世纪90年代以来兴起的一种新型信息技术。作为人与计算机生成的虚拟环境进行交互作用的一种手段,人们将虚拟现实技术看作是仅次于互联网的改变世界未来的重要技术,认为它不但将改变人类从事科学研究、技术设计和生产实践的方式,而且为促进人的认识能力的全面发展提供了新的工具。虽然虚拟现实技术目前仍存在诸多尚待解决的理论问题和尚待克服的技术障碍,对于人类生活所产生的巨大影响也不过初显端倪,但已经引起了人们的广泛关注。人们探讨的视角也已经从技术层面延伸到哲学和文化学层面。文献〖1〗以及本文的工作是这种延伸的一个部分。

1

对于人类文化发展历史的考察表明,虚拟现实技术具有悠久的前史。人类不同时期以不同方式遗留下来的绘画、雕塑,以及不同民族所创造的、以展示丰富的历史文化内涵和复杂的现实价值追求为主题的戏剧、舞蹈等艺术表现形式,都可以说是人类尝试超越文字表现力的局限、超越时间与空间的约束,用形象、色彩和周边条件来创造虚拟化的信息环境的努力。18世纪出现的全景画,可谓构造沉浸式的虚拟体验景象的早期技术。20世纪中叶以来,人们进一步发展出全景电影,创建体验剧场以突破银幕的壁障,更强烈地表达了人类的上述追求。然而直到多媒体计算机系统的出现,才真正具有了综合处理音频、视频、图象、数据和文字等多类信息的全面功能。通过利用并集成这种高性能的计算机软硬件并使之与各类先进的传感器相联接,人们才有可能创建一个使参与者具有身临其境的沉浸感和完善的交互作用能力,并能帮助和启发其构思的适人化的多维信息空间,即创建一个比较完备的虚拟现实系统。正如Burdea G.在“Virtual Reality Systems and Application”一文中所概括的,这种虚拟现实系统的基本特征可以简捷地表征为三个“I”,即沉浸性、交互性和构想性(Immersion-Interaction-Imagination)〖2〗。

沉浸被通俗地解释为“身临其境”,这意味着参与者将不是以敏锐的双眼和聪慧的大脑介入虚拟环境,而是要以完整的生物个体融入虚拟系统。通过这种融入,作为生物体的各种生理活动,如视觉、听觉和触觉等感知行为,以及喜悦、悲伤、紧张与恐惧等心理反应,都将得到充分的表达。从这种意义上讲,沉浸意味着体验,意味着逻辑与形象的结合、认知与感知的统一。正是这种特点,使得虚拟现实技术成为“身体在知识探求过程中的能动作用得以保证的第一个智能技术”(〖3〗,viii)。

要理解虚拟现实技术认识论价值的这种特殊性,需要明晰意会知识在人类实践中的重要性以及体验在获得意会知识过程中的作用。中国古代哲学家庄子和现代西方哲学家M.波兰尼等都曾对意会知识作过详尽的分析。庄子称之为“不知之知”,波兰尼称之为“难言知识(tacit knowledge)”。在他们看来,这种意会知识比能够明确表达的言传知识居于更基础的地位。“不知而后知”(〖4〗,p.225),“不依靠不能言传的理解我们就什么也说不出来”(〖5〗,preface)。不但我们知道的东西要多于我们所能诉说的东西,而且“知之所知寡而身之所有者众”〖6〗。所以意会知识比言传知识更基本。可以说,人类的大部分技巧和专门能力都是这类难以言说的知识,“甚至在现代工业中,难以描述的知识仍然是技术的一个重要部分”(〖5〗,p.52)。那么,如何才能获得这种意会知识呢?必须依靠个人的内在体悟。“通过了解同样活动的全过程,我们才能了解另一个人的内心东西。一个想掌握师傅技巧的新手总是力图把师傅在实践上的综合技巧作为样板从内心上纳入自己的活动。通过这样的内心探索,新手就得到了师傅的技巧感。棋手通过重复师傅的棋而进入师傅的思想境地。”〖7〗显然,获得这种意会知识的过程,只能是一个身体和心灵亲自经历的、“可传而不可受,可得而不可见”的个人化的体验过程。由此也决定了意会知识必然地是个体的知识和体验的知识。

体验行为随时发生于人们生活的现实进程中,但同现实体验相比较,通过沉浸到虚拟环境之中而生成的体验过程却有着显著不同的特征,正是这些特征,突现出虚拟现实技术的重要。其一,现实体验受制于特定的时空约束。如庄子所说,“井蛙不可以语于海者,拘于虚也;夏虫不可以语于冰者,笃于时也。”(〖4〗,p.139)然而虚拟现实技术却可以突破这种时空界限,使人们体验到在现实中无法体验的东西。比如去体验一个历史人物的内心活动,体验一种战争场景。再如,飞行模拟,这一最复杂和使用时间最久的虚拟现实应用,就比驾驶一架真正的飞机还要逼真。可以说,虚拟技术拓展着人类体验的范围,它“容许我们‘亲身’体验各种可能发生的情况”〖8〗。正是因为具有这种特征,所以虚拟现实技术成为最受娱乐界青睐的高新技术。其二,现实体验的发生具有随机性和不可操作性。因为不但现实的体验环境的形成,往往取决于各种构成因素的偶然聚集,而且这种体验环境与具有特定理解能力的体验主体的遭遇也不是必然发生的。这样,与“时过境迁”相并行,现实体验通常是随机的,不可重复的,是可遇而不可求的。即便能够人工创建这种环境,也往往受到时空条件以及物质和资本等方面的限制。所以,虽然现实的体验经常发生,但仍然是“稀缺的”并且是难以利用的资源。而在虚拟现实技术中,体验环境是由计算机生成的虚拟环境,作为尽可能反映客观事物特点和自然过程规律—这体现了虚拟环境生成的“真实性”要求—的技术构筑物,这一环境一方面在有效再现日常体验环境的同时,克服了日常体验环境的随机性和不可重复性,另一方面,还可以创造出许多的虚拟情景乃至虚幻情景。这样,使虚拟现实中的体验具有了可设计性、可操作性,从而可以更好地服务于获取特定技能和知识的体验目的。其三,现实体验的获得通常伴随着非期望实践结果的发生。人类总是通过学习而不断进步的,但经验的积累、技能的习得乃至知识的创新常常只是实践失误以及由此而带来的不可挽回的损失的副产品,即“吃一堑”方能“长一智”。而虚拟现实技术可以在某种程度上改变这种状况。虚拟现实这一体验环境允许人们出现各种错误,并从错误中寻找正确的东西,但却不必付出现实的代价。正如N.Negreoponte所描述的:刚刚训练出来的、但已练就一身好本领的飞行员之所以能在初试牛刀时就驾驶一架满载乘客的“真正”波音747客机,原因就是他们在飞行模拟器上学习驾驶技术,要比他们在真正的飞机上学到的还要快,还要多。在模拟器中,飞行员会置身在现实世界里可能不会出现的所有罕见情况中,包括飞机几乎相撞或裂成几段。显然,正是在虚拟环境中的虚拟化体验,使人们获得了关于各种可能情况下正确行动的感受和知识。从这种角度讲,虚拟现实技术中的这种沉浸式体验,本质上是一种特殊的人类实践。由于这种“虚拟实践”能够极大地降低人们在现实实践中出现失误和偏差的可能性,所以它对于人类的进步具有极其重要的意义。这既是虚拟现实技术受到人们高度重视的主要原因,也是使其特殊的认识论价值得以展现的一个关键。

2

虚拟现实技术不但追求身临其境般的沉浸,而且力图尽可能地实现人与虚拟现实系统之间的交互作用。如果说沉浸意味着体验,那么体验的目的终将落实于对对象的操作和改造。这种基于沉浸式体验的操作和改造的过程,正是人与对象发生交互作用的过程。

1965年,I.Sutherland发表题为“终将的显示”的论文,描述了如何把计算机显示屏幕作为“一个观看虚拟世界的窗口”的具体设想。这篇论文被公认为是研究虚拟现实系统的开端。但今天看来,虚拟现实技术要解决的问题远比仅仅开发一个显示设备要复杂得多,因为它需要考虑虚拟环境系统的所有主动和被动的部分。具体地说,虚拟现实作为一个封闭的回路系统,虚拟环境生成系统将生成的用以仿真现实环境的图象、音响、压力等等通过人机接口系统作用到用户的感官,并实时通过传感器测试与跟踪用户的行动和反应,以便实时调整生成的序列,用户则通过交互方式可以实际感知和响应虚拟环境。如果说在数字化的单维信息空间中,人与计算机通过键盘、二维鼠标和显示屏等发生联系,人类以往的经验仅仅以数字化形式存储在数据库内,人只是单纯地从计算机系统的外部去观察计算处理的结果。那么,在适人化的多维信息空间中,人不是作为外在物而与虚拟现实系统相对立,相反,人作为该系统的一个环节而存在。在接受虚拟系统提供的各种感官信息的同时,人基于过去的经验、现时的体验以及虚拟系统的输出,经过判断和决策而对系统进行操纵和控制,由此改变着参与者仅仅作为单纯的接受者的被动状态。

虚拟现实系统中参与者与虚拟环境之间的交互作用,使得虚拟现实技术中的人机关系具有了新的涵义。在计算机发明以来的传统信息处理环境中,计算机始终居于主导地位。例如在传统的仿真和建模环境中,虽然主观上强调要发挥人的主动作用,但由于客观上计算机只能处理数字化信息,所以人不得不迎合计算机所能提供的技术条件。但在虚拟现实环境中,一系列技术“瓶颈”的不断克服,不但使计算机能够适应人所惯用的信息获取形式和思维过程,而且提供了三维空间传感器、数据手套、头盔式显示器等新的人机接口。尽管目前的技术进步距离人们的目标还有很大差距,但初步结果仍是令人鼓舞的。这种结果表明,虚拟现实技术的发展将会创造一个更加和谐的人机关系,即从立足于机器,使人的发展服从于机器苛刻而狭窄的技术要求,改变到立足于人,使机器的多方面技术功能成为满足人类全面发展需求并激发其各种潜能的工具。在这种以人为主导的人机关系中,人机界面不再是分隔主体与客体的屏障,相反是两者实现互动的中介。而这种互动使得自笛卡尔以来始终占据主导地位的主体—客体严格两分的关系得到消解。主体与客体之间的相互促进、相互生成,取代了两者之间的相互对立、相互役使。

虚拟现实技术的交互性同样使得精神与物质、影像与实在这样的本体论问题变得尖锐起来。在虚拟现实中,“虚拟”与“现实”以非常规的方式结合在一起。不但人创造并改变着虚拟环境,而且虚拟世界也深刻影响着人们获得客观世界信息以及重构客观世界模式的方式。虚拟现实虽然是虚拟的,但它给予人们的体验却是实实在在的。特别是随着虚拟现实技术的不断发展,至少就虚拟现实作为对现实的仿真来说,这种“人工经验”与真实经验的差别将越来越小,人们在虚拟现实中获得的人工经验完全可以同在现实生活中获得的经验相媲美。那么,随着人们大量采用虚拟现实技术时刻的到来,人工经验与真实经验的区分将更加困难,人工经验也必将极大地影响人们的真实经验。并进而深刻影响人们的实在观,影响人们在虚拟与现实、人工经验与真实经验交互作用中对于客观世界的准确认识。正是因为对这种影响有清晰的理解,所以麦克尔·海姆(Michael Heim)这样写道:由于虚拟现实技术的不断进步,“本体论转换—实在转换的问题已经变得愈来愈明显了。”(〖3〗,xiii

虚拟现实技术的发展,也使人们获得了思考和表达传统哲学问题的新的概念框架。事实上,虚拟现实技术刚刚出现,便立即引起了哲学家的关注。从这一技术出发,人们开始以新的方式重新解读哲学史。柏拉图的洞穴学说可以说是一个古老的“虚拟现实”问题,贝克莱的主观唯心论,则把人所认识的外在世界看作是一个虚拟化的存在。在当代物理学哲学和科学哲学所讨论的一个前沿问题,即关于实在论与反实在论的争论中,虚拟现实的哲学意蕴更受到人们特别的注意。在一些持有反实在论立场的学者看来,借用虚拟现实的概念,可以有力地支持反实在论。比如威廉·西格(William Seager)就认为,在范·弗拉森的“构造经验主义”反实在论中,如果将中心概念“理论沉浸”改用为“虚拟现实”,就可以更好地弥补其哲学论证中的缺陷〖9〗。此外,克劳斯·迈因泽尔(Klause Mainzer)还把多维信息空间与普特南的“缸中之脑”联系了起来,以提醒人们注意这样的观点:我们的所有印象也许都是由我们的大脑及其精神状态产生出来的幻象〖10〗。哲学家们之所以看重虚拟现实技术的哲学内涵,提出这些迷惑人的哲学问题,这并非他们完全忘记了世界时的玩笑,而是一种深刻的思考。这种思考不但可以激励我们不断审查已有的论证思路论据的有效性,而且能够引导我们开拓新的思想道路。

3

虚拟现实技术中人与虚拟环境的交互作用,在本质上意味着它不是预成性的而是生成性的,不是因循的而是创造的,“构想性”所要表达的正是该技术的这一禀性。如果说沉浸性是使人具有真实感并获得体验的根本,交互性是实现人机和谐的关键,那么,构想性则是辅助人类进行创造性思维的基础。

可以说,沉浸性、交互性与构想性紧密交织在一起,使虚拟现实技术成为富有创新内涵的认识工具。从模型的角度理解这一技术,可以清楚地看到这一点。J.Lanierz80年代初正式提出“virtual reality”一词时便已指出,研究虚拟现实技术的目的是提供比传统的计算机模拟更好的方法。在虚拟现实技术中,通过与虚拟情景之间的交互式作用,参与者能够适时地调节、改变模型,并对模型进行多角度的处理。比如将封闭的模型方便地转换为开放的模型,以观察其不同的效应。这里,模型的优化贯彻于建立模型的整个过程。在这个过程中,参与者的价值期望和人文理想可以即时地得到比较,并能够方便地得到调整和落实。在这个过程中,虚拟现实的“虚拟性”和“逼真性”被统一在一起,这既表现在实物模型虚拟情景化,也表现在抽象模型形象具体化。不论是事物模型还是概念模型,都变成了虚拟世界中的现实。可以说,虚拟现实技术使模型—作为主客体之间的特殊中介—的工具性和对象性的双重品质发挥得淋漓尽致。

正是由于虚拟现实中的仿真模拟具有突出的特点,所以它不但为科学研究提供了新的更富成效的认识工具,而且已经并将继续引起设计制造业的巨大变革。在科学研究中,科学家可以形象地探讨高度抽象的研究对象,并能精确地对之施加影响。比如将微观世界的分子运动生动具体地展现出来,使人们能从三维空间中各个不同的角度观察和研究分子,能够对分子进行裁剪重组以研究其性能的变化。在设计制造中,虚拟现实技术使设计者和用户都能在设计的全过程中“身临其境”地看到设计的结果,可以鸟瞰设计对象的全貌,可以深入设计对象的内部,可以通过交互作用修改设计并观察其后效。这种设计过程不只是缩短了设计时间、节约了设计成本,更重要的是克服了传统设计方法很难避免的一个缺陷:对于产品的具体印象和感受必然发生于产品完成之后。它模糊了设计与制造之间的界限,使制造同设计一样,成为不断创生新思想、萌发新观念的过程。虚拟现实技术的这种特点,决定了它不是批量化生产的技术,相反,是一种个性化的技术。

虚拟现实技术构想性的创造内涵不仅体现在工作方式的变革上,更重要的是体现在工作制度的变革上。制度作为一系列正式约束和非正式约束组成的规则网络,它制约着人们的行为,减少专业化和分工发展带来的交易费用的增加,解决人类所面临的合作问题,并通过提供激励机制和抑制机会主义行为而创造有效组织运行的条件。显然,制度状况与生产方式和技术水平是相互制约的。20世纪的文化批判理论表明,工业社会中的技术进步往往以人的个性的丧失为代价。如卢卡奇在《历史和阶级意识》一书中指出:工人的人的属性和特征日益表现为只是错误的源泉。“人既不是在客观上也不是在他同他的工作关系上表现为劳动过程的真正主人。相反,他是被结合到机械体系中的一个机械部分。”〖11〗这种看法在法兰克福学派代表人物马尔库塞关于单向度的人的理论中,有更深刻的阐述。他提出了一个著名的公式:技术进步=社会财富的增长=奴役的扩展,以此来表达他的技术理性批判思想。但值得我们注意的是,这里所说的技术不仅是一种工具或一种程序,而且还是一种技术制度。换言之,工业社会中的技术发明是服从工业生产标准化、批量化、专业化和集权化的制度法则的。与这种制度法则相匹配,技术往往表现为对人的自由和个性的扼杀,成为统治人的力量。同这种状况相比较,适人化的多维信息空间中的虚拟现实技术与网络技术等其他技术一起,开始向人们展示一种新的技术制度出现的可能性。

事实上,虚拟现实技术和其他许多先进技术的出现,已经在推动着生产管理模式的变化。以1991年出版的《21世纪制造企业战略》为代表,人们已经认识到,一种被称之为“灵捷制造”的新的制造系统模式开始形成。“灵捷”(Agile)意味着“聪明、机智而快速”,灵捷制造的特点主要表现为以下几方面:首先,是产品改型对市场需求的快速反应性;其次,是公司规模与构成以至管理模式随生产任务变化的快速响应性;再次,是坚持高质量和优质服务的持续性。如果说大规模的批量生产面对的是共性化了的顾客,是以共性来淹没和压制个性,那么灵捷制造面对的是作为个体的顾客,是以首先承认个性化需求的合理性为前提的。不仅如此,灵捷制造还要充分考虑各市场地区的客观条件,这些条件既反映着人们的社会、政治和经济价值观,也反映着人们对环保、安全、能源供应能力等问题的关心。显然,要实现这样的灵捷制造,需要高度灵活的柔性生产系统,而虚拟现实技术为这种生产系统提供了必要的技术支撑。一方面,虚拟设计和虚拟制造验证是这种生产系统所必需的,另一方面,虚拟现实技术也有助于实现具有动态特征和高度柔性的组织形式。在这种组织形式中,分布在世界各地的物质资源和组织资源被灵活地综合为具有强大竞争力的、依靠电子手段联系的经营“实体”—虚拟公司,以使不同的企业能够实现合作来共同应对市场的快速变化。要使这种虚拟公司更好地发挥作用,不仅需要严密的通用数据交换标准、许多人可以同时使用的同一软件以及宽带通信信道,而且需要虚拟现实技术的支持,目前以初步形态出现的虚拟会议、虚拟办公室已经清楚地展示出虚拟技术的这一作用。

以上分析表明,虚拟现实技术不但可以提供一种个性化的生产工具,而且有助于滋生一种个性化的工作制度。这将为人们摆脱单一生产模式下的个性丧失提供可能。可以说,继网络技术之后,虚拟现实技术将进一步促进计算机这一技术成果的人性化。换言之,虚拟现实环境中的个人将具有计算机技术发展以来未曾有过的主动性,作为参与者个体的追求和理想也会因为虚拟现实技术的进步而得到更好的张扬。

同时,虚拟现实技术对于远距离通信概念的扩展,也会极大地促进不同社会成员之间的全面交往。如果根据哈贝马斯的观点,技术异化的根源在于以工具合理性为特征的劳动的过度发达吞没了主体间的合理的交往行为,由此导致人的全面物化并屈从于技术社会的统治。那么,在虚拟现实技术和其它的先进技术所支持的新的工作方式中,是不是有条件改变工具合理性与交往合理性之间的对立呢?是不是能够使人的主体性得以确立并在一定程度上摆脱人的异化状态呢?在虚拟现实技术尚处在萌芽阶段的今天,我们无法全面而准确地回答这一问题,但有理由认为,这种可能性是存在的。

〖1〗 曾国屏:虚拟现实—一项变革认识方法的技术,自然辩证法研究,19977)。

〖2〗 汪成为等:灵境(虚拟现实)技术的理论、实现及应用,清华大学出版社,广西科学技术出版社,199656

〖3〗 Michael Heim,Metaphysics of Virtual Reality,Oxford:Oxford University Press,1993.

〖4〗 王夫之:庄子解,北京:中华书局,1964

〖5〗 M.Polanyi,Personal Knowledge,Chicago university Press,1958.

〖6〗 庄子集释,中华书局,1961225

〖7〗 转引自刘仲林:意会理论:当代认识论热点,自然辩证法通讯,19921)。

〖8〗 N.尼葛洛庞帝:数字化生存,海南出版社,1996140

〖9〗 William Seager,Ground Truth and Virtual Reality:Hacking vs.Van Fraassen,Philosophy of Science,1995,62:459-478.

〖10〗Klause Mainzer,Thingking in Complexity,Belin:Spinger,1996,Section 5.4.

〖11〗卢卡奇:历史和阶级意识,重庆出版社,198996

posted @ 2005-11-14 17:20 智能机器 阅读(563) | 评论 (0)编辑 收藏

下一代游戏

曾经,DOOM开始了3D游戏的时代,将PC游戏带入一个新的阶段。

下一代游戏又将是什么样子?

windows游戏编程大师技巧》的作者Andre LaMothe 认为下一代3D游戏将有一个显著特征,即大规模运用高级的人工智能技术(AI)。确实,目前主流的大型3D游戏虽然在场景表现,灯光渲染,物理模拟等方面已经达到相当的水准,但在人工智能方面却仍处于“弱智”的阶段。可以想象,当游戏中怪物、敌人等电脑角色表现出一定的智能,拥有类似人类的知觉、情感,这该是多么的令人向往。

但电脑角色的智能其实是人机交互中机器一方的体验,其智能水平的提高对于人的一方来说主要带来心理上的真实感增强,而对于感官来说,真实感并没有多少变化。这一点,恐怕要依赖已经发展越来越快的虚拟现实技术。

虚拟现实技术(VR)大规模应用于游戏可能是一个更具革命性的创举。并且由于人工智能本身的发展问题,VR可能比AI更快大规模进入游戏领域。目前国外某些游乐园已经有应用VR技术创造的游乐项目、体育游戏。国内也已经有公司在尝试开发基于VR技术的游戏。不过由于VR技术对硬件设备的依赖性,发展尤其是普及速度将会是个严重问题。不过趋势大体不会变:即大规模高级的AIVR3D ,将会大大影响人类生活的下一代超级游戏。

posted @ 2005-11-07 18:03 智能机器 阅读(195) | 评论 (0)编辑 收藏

关于计算机图形学的学习(转载)

关于计算机图形学的学习 作者FatGarfield
原贴地址:http://www.china-pub.com/computers/bbs/addfollow.asp?id=36986&rootid=2&boardid=1
注意:
本文尽量避免理论化的描述,试图用最通俗的语言介绍一下计算机图形学的学习,以及一些参考书目和网络资源;
本文不涉及对概念的定义,以免陷入学术讨论之中
本文是作者学习计算机图形学的体会,如果有不同的意见,请不要攻击和漫骂

本文合适的题目应当是:白话说学计算机图形学?

1. 引言
什么是计算机图形学? 本文尽量避免给它做严格的定义,但是通常来说,计算机图形学是数字图象处理的逆过程,这只是一个不确切的定义,后面我们会看到,实际上,计算机图形学、数字图象处理和计算机视觉在很多地方的区别不是非常清晰的,很多概念是相通的。
计算机图形学是用计算机来画东西的学科,数字图象处理是把外界获得的图象用计算机进行处理的学科。在法国,图形图象是一门课程。
如何学习计算机图形学呢?除了计算机图形学的基础知识以外,你还需要有以下的知识,你懂的越多,当然做的越好。
* 英语, 你一定要把英语学好,如果你想学习计算机图形学的话,尽量看英文的书籍和资料
* 数学, 计算机图形学里面的数学用的比较多,,我们可以列举一些常用的:
高等数学,数值分析,微分几何,拓扑,概率, 插值理论,(偏)微分方程…
* 物理, 如果你要进行基于物理的建模,一些物理理论是要学习的:
力学(运动学,动力学,流体力学…),光学,有限元…
* 编程语言: C或C++是计算机图形学最通用的‘普通话’,
* 数据结构: 你需要数据结构来描述你的图形对象,除了通用的链表、树等数据结构外,图形学还有自己特殊的数据结构
* 其他类别: 有的时候你需要其他学科的知识,根据你的需要去学习吧

上面列举的不是你必须学习的东西,而是计算机图形学可能会用到的东西,一定要记住,不要指望通过一本教材就学会计算机图形学,它比你想象的要复杂的多。

2. 图形学的问题
每个学科都有自己学科的特定问题,图形学要解决的是如何画出图来,得到需要的效果,当然这是图形学最大的一个问题。

在开始学习计算机图形学的时候,找一本简单的书看,对计算机图形学有个大概的认识,你就可以开始图形学之旅了:

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition
OpenGL SuperBible (3rd Edition) 

是比较好的学习计算机图形学的入门教材,在练中去学,一开始就去啃

Foley的
Computer Graphics: Principles and Practice, Second Edition in C 
不是好主意,会看的一头雾水,一本什么都讲的书的结果往往是什么都没讲清楚。
当你把OpenGL的基本内容掌握之后,你对图形学就有了大概的了解了

那么下面你可以来学习一下计算机图形学的数据结构和算法,下面的书比较适合
Joseph O'Rourke 的Computational Geometry in C,书里面有C的源代码,讲述简单,清晰,适合程序员学习

总的来说,计算机图形学涉及到2大部分:建模和渲染
2.1建模

你想画一个东西,首先要有它的几何模型,那么这个几何模型从什么地方来呢?下面的书很不错的:
Gerald Farin 的Curves and Surfaces for CAGD: A Practical Guide
这本书就有一点的难度了,呵呵,要努力看啊

这本书算是CAGD (计算机辅助几何设计)的经典图书,CAGD方面的全貌,还有2本很好的讲述曲面的书Bezier和Nurbs的书

Les A. Piegl, Wayne Tiller 的The Nurbs Book 
书里面有NURBS曲线、曲面的程序伪代码,很容易改成C的,书讲的通俗、易懂,但是你要有耐心看的:)

曲线与曲面的数学
这本书是法国人写的中文翻译版,里面还有Bezie本人写的序J,翻译的很不错的,看了你就掌握Bezier曲面技术了


//另外一些你想知道的事情:其他的造型方式-开始
注意:在后面会有这样的章节,标明
//另外一些你想知道的事情:其他的造型方式-开始
//另外一些你想知道的事情:其他的造型方式-结束
里面是我认为的一些高级话题,跳过他们不影响你学习计算机图形学,但是要学好就要注意了,呵呵
还有其他的一些造型技术,比如:
隐式曲面(Implicit Surface)的造型:
就是用函数形式为F( x ,y ,z  = 0的曲面进行造型,这样的造型技术适合描述动物器官一样的肉乎乎的东西,有2本书推荐大家
Jules Bloomenthal编辑的Introduction to Implicit Surfaces,是一本专著,讲述了Implicit Surface建模型(Modeling),面片化(Polygonization),渲染(Rendering)的问题
Luiz Velho 的 Implicit Objects Computer Graphics 也是一本专著,讲述个更新的一些进展

细分曲面(Subdivision Surface)造型
当用NURBS做造型的时候,曲面拼接是复杂的问题,在动画的时候,可能产生撕裂或者褶皱,Subdivision Surface用来解决这个问题
Joe Warren的Subdivision Methods for Geometric Design: A Constructive Approach就是这方面的专著

从实际物体中得到造型,现在的技术可以用三维扫描仪得到物体表面的点,然后根据这些点把物体的表面计算出来,称为重建(Reconstruction),因为这些技术之在文章中论述,所以我们省略对它的描述

//另外一些你想知道的事情:其他的造型方式-结束


下面还是一个高级话题:)

//另外一些你想知道的事情:光有造型是不够的!-开始
在你的几何模型做好之后,有一些问题需要对这个模型进一步处理,得到适合的模型,当面片很多的时候,或者模型很复杂的时候,需要对几何模型进行简化,才可以满足一些实时绘制的需要,这个技术叫做层次细节(LOD-Level of Detail)。下面的书就是讲这个的:
David Luebke编著的 Level of Detail for 3D Graphics
//另外一些你想知道的事情:光有造型是不够的!-结束

2.2渲染
有了模型,怎么把这个几何模型画出来呢?这个步骤就是渲染啦
如果你看了上面的OpenGL的书,那么你就知道一些渲染的知识了,但是别高兴的太早,OpenGL使用的是局部光照模型(Local Illumination Model),不要被这个词吓住了

Local illumination Model指的是在做渲染的时候只考虑光源和物体之间的相互作用,不考虑物体和物体之间的影响,所以OpenGL不支持阴影,一个(半)透明物体的效果..,这些需要考虑物体之间的影响才可以实现。

//另外一些你想知道的事情:OpenGL可以实现阴影-开始
OpenGL本身不支持,但是通过一些方法可以实现的:),用Google搜索一下
Shadow Volume, OpenGL就找到答案啦
//另外一些你想知道的事情:OpenGL可以实现阴影-结束

Global Illumination Model 这类模型考虑的就比较全啦。现在关于Global Illumination的技术有3大类,具体的技术就不在这里介绍了,如果想了解,可以联系我,大家一起讨论:

光线追踪(Ray Tracing)
关于Ray Tracing的好书有2本:

Andrew Glassner 的An Introduction to Ray tracing 
Glasser是图形界的名人,这本书也是Ray Tracing的经典

R. Keith Morley, Peter Shirley 的Realistic Ray Tracing, Second Edition
这本书第一版是伪代码,第二版是C代码。它的结构不是很清楚,虎头蛇尾的感觉。

辐射度(Radiosity)
关于Radiosity的好书有4本:
Michael Cohen 的Radiosity and Realistic Image Synthesis , Cohen获得SIGGRAPH 1998计算机图形学成就奖,他把Radiosity变成实际可用,现在Cohen在MSR图形::URL::http://research.microsoft.com/~cohen/CohenSmallBW2.jpg

Francois X. Sillion的Radiosity and Global Illumination , Sillion是法国人,他的主要研究方向是Radiosity,这本书写的很不错的,非常清晰

Philip Dutre 的新书Advanced Global Illumination ,看起来还不错,刚拿到手,还没看,呵呵,所以不好评价

Ian Ashdown的Radiosity: A Programmer's Perspective 
有源代码的书啊!! 就凭这个,得给5*****

Photon mapping
这个我也不知道怎么翻译,呵呵。这个技术出现的比较晚,一本好书!
Henrik Wann Jensen的Realistic Image Synthesis Using Photon Mapping
Henrik Wann Jensen是Photon mapping技术的发明者

3.3这些也是图形学吗? 图形和图象的区别模糊了:(
除了上面讲的‘经典’的计算机图形学,还有下面的一些东西,它们也叫计算机图形学吗?是的!!!
3.3.1非真实性图形学(Non-Photorealistic Graphics)
真实性不是计算机图形学的唯一要求,比如:你给我画一个卡通效果的图出来,或者我要用计算机画水彩画怎么办?或者:把图象用文字拼出来怎么做?,解决这些问题要用到非真实性图形学, 好书继续推荐!!!
Bruce Gooch, Amy Ashurst Gooch的 Non-Photorealistic Rendering 

3.3.2体图形学(Volume Graphics)
用CT机做很多切片(比如头骨),那么能通过这些切片得到3D的头骨吗?Volume Graphics就是解决这样的问题的
Min Chen 编著的Volume Graphics 

上面的2个图形学技术就和图象的界限不明显了,实际上他们是图形图象的综合


4 .还有其他的书吗?
还有一些好书啊,呵呵,好书看不完的:),继续放送:

Graphics Gems I ~ V,一大帮子人写的书,包括研究人员,程序员…
有计算机图形学的各种数据结构,编程技巧

Tomas Akenine-Moller 等人编著的Real-Time Rendering (2nd Edition) 
许多最新的计算机图形学进展

David Ebert等人的Texturing & Modeling: A Procedural Approach, Third Edition 
讲述如何通过程序实现纹理、山、地形等图形学要素
F. Kenton Musgrave号称分形狂(Fractal Mania)
Ken Perlin就是Perlin噪声的发明者,用过3d软件的人对Perlin Noise不会陌生的

关于图形学的特定对象,有特定的专题图书,
Evan Pipho Focus On 3D Models,对于图形学的常用模型格式,进行了讲解
Trent Polack的 Focus On 3D Terrain Programming ,讲地形的
Donald H. House 的Cloth Modeling and Animation ,讲布料的
Nik Lever的Real-time 3D Character Animation with Visual C++ ,讲角色动画的
……

还有:)
Richard Parent的 Computer Animation: Algorithms and Techniques,当然是讲动画的啦,呵呵。
David H. Eberly的3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics ,有代码的啊!呵呵:)

最后,没事情的时候,看看下面的书吧
Alan H. Watt, 3D Computer Graphics (3rd Edition) 

James D. Foley等人的 Computer Graphics: Principles and Practice in C (2nd Edition) ,这本圣经没事的时候再看吧,呵呵

累了:( 不说了,上面的书差不多了,还有一些shader的书,我不了解,以后会补上的:)

5.从哪里找到这些书啊?还有什么资源啊?
我保证,上面的书在www.amazon.com 都可以买到:) 别打我

那好,大部分的书在国家图书馆可以复印到,北京的兄弟有福啦,3年前的书借出来复印,1角/页,但是新书要早图书馆里复印,5~6角/页,还是比Amazon便宜啊,呵呵。

不行大家就到国外买,合买吧,还负担的起。
我对DirectX不了解,所以没有涉及关于DirectX的内容:)
posted @ 2005-11-04 12:43 智能机器 阅读(1966) | 评论 (0)编辑 收藏

basic

3D场景生成,图形变换,碰撞检测,物性模拟,纹理映射,灯光模型,图形特效算法设计,游戏AI.

1)C++和汇编语言(MMX,SSE,SSE2)自如地运用;
2)30分钟之内想到正确的五子棋AI算法设计思路和方向;
3)完全理解STL为什么这么重要;
4)独立地解决所有的编译与链接问题,哪怕从来没有遇到的问题,也不需要询问任何人;
5)英文网站是首要信息来源;
6)能够读懂英语写成的国际标准,
7)站在集合论的角度思考算法问题;
8)理解一个简单的驱动程序,理解一个简单3 D交互程序;
9)体会到线性代数和概率论在实际编程工作中的极端重要性;
10)完全理解COM的设计思想,尤其能够理解COM为什么要设计成这样;
......
posted @ 2005-10-28 09:48 智能机器 阅读(181) | 评论 (0)编辑 收藏
仅列出标题
共2页: 1 2