首页 > 其他分享 >Note of SHU Computer Graphics (01): 计算机图形学概述

Note of SHU Computer Graphics (01): 计算机图形学概述

时间:2023-09-02 19:44:29浏览次数:39  
标签:动画 01 计算机 显示器 图形学 Note 图形 绘制

什么是计算机图形学?

研究怎样利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科,这里的图形是指三维图形的处理。

  • 图形: 计算机图形学的研究对象
    • 能在人的视觉系统中产生视觉印象的客观对象
    • 包括自然景物、拍摄到的图片、用数学方法描述的图形等等
  • 构成图形的要素:
    • 几何要素:刻画对象的轮廓、形状等
    • 非几何要素:刻画对象的颜色、材质等

用计算的方法, 将物理世界映射到虚拟数字世界 (即对物体的几何与物理属性与规律进行表达与仿真, 并真实地呈现与交互);
再通过虚拟世界的计算最终反向作用于真实世界.

  • 通过计算表达、仿真和理解客观世界

计算机中表示图形的方法

  • 点阵表示
    • 枚举出图形中所有的点的灰度或颜色 (强调图形由点构成)
    • 简称为图像(数字图像)
  • 参数表示
    • 由图形的形状参数 (方程或分析表达式的系数,线段的端点坐标等) + 属性参数 (颜色、线型等) 来表示图形
    • 简称为图形
图形(graphic) 图像(image)
数据来源 虚拟世界 客观世界
处理方法 几何变换, 裁剪, 隐藏线(面)消除, 明暗处理, 纹理生成等 图像增强, 分割, 理解, 识别等
理论基础 放射与透视变换, 样条几何, 计算几何, 分形等 数字信号处理, 概率与统计, 模糊数学等
用途 计算机艺术, 计算机模拟, 计算机动画等 遥感, 医学, 工业, 航天航空, 军事等

研究内容

如何在计算机中表示图形、以及利用计算机进行图形的计算处理和显示的相关原理与算法,构成了计算机图形学的主要研究内容。包括:

  • 图形硬件、图形标准、图形交互技术、光栅图形生成算法、
  • 曲线曲面造型、实体造型、真实感图形计算与显示算法,
  • 科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。

归纳为:

  • 图形的输入: 如何开发利用图形输入设备及软件将图形输入到计算机中去,以便作各种处理。
  • 图形的处理: 包括对图形进行变换 (几何变换,投影变换) 和运算(集合运算),着色,形变等……
  • 图形的输出: 如何将图形特定的表示形式转换成图形输出系统便于接受的表示形式,并将图形在显示屏、打印机绘图机等输出设备上输出。

计算机图形学发展历史

1950s

  • 1950: 第一台图形显示器作为 MIT 的 Whirlwind I 计算机的附件诞生, 类似于示波器的 CRT 来显示简单图形. (CRT的出现为计算机生成和显示图形提供了可能.)
  • 1958: Calcomp corp 由联机的数字记录仪发展成滚筒式绘图仪; GerBer crop 把数控机床发展成为平板式绘图仪.
  • 50年代末期: MIT的林肯实验室在 “Whirlwind” 计算机上开发 SAGE 空中防御体系,通过光笔在屏幕上指点与系统交互。(标志着交互式图形技术的诞生.)

1960s

  • 1962: 雷诺汽车公司的工程师 Pierre Bézier 提出 Bézier曲线曲面的理论.
  • 1963: MIT 林肯实验室的 Ivan Sutherland 发表了题为 “Sketchpad:一个人机交互通信的图形系统” 的博士论文,提出了基本交互技术图元分层表示概念及数据结构。确定了交互图形学作为一个学科分支的地位。 Sutherland 本人也被公认为图形学之父。1988年被授予图灵奖。
  • 1964: MIT 的教授 Steven A. Coons 提出了超限插值的新思想,通过插值四条任意的边界曲线来构造曲面。

1970s

  • 光栅图形学迅速发展
    • 区域填充、裁剪、消隐等基本图形概念、及其相应算法纷纷诞生
  • 图形软件标准化
    • 1974: ACM SIGGRAPH的与 “与机器无关的图形技术” 的工作会议,提出了图形软件标准化问题
    • ACM 成立图形标准化委员会,制定 “核心图形系统”(Core Graphics System)
    • ISO 发布 CGI、CGM、GKS、PHIGS 等标准。
  • 真实感图形学
    • 1970: Bouknight 提出了第一个光反射模型
    • 1971: Gourand提出 “漫反射模型+插值” 的思想,被称为 Gourand 明暗处理
    • 1975: Phong提出了著名的简单光照模型 - Phong 模型
  • 实体造型技术
    • 英国剑桥大学 CAD 小组的 Build 系统
    • 美国罗彻斯特大学的 PADL-1 系统

1980s

  • 1980: Whitted 提出了一个光透视模型 - Whitted 模型,并第一次给出光线跟踪算法的范例。
  • 1984: 美国 Cornell 大学和日本广岛大学的学者分别将热辐射工程中的辐射度方法引入到计算机图形学中,提出基于辐射度的图形绘制方法。
  • 图形硬件和各个分支均在这个时期飞速发展
    • 出现了带有光栅扫描显示器的微型计算机和图形工作站
    • 奔腾 III 和奔腾 IV 系列 CPU、高性能显卡和液晶显示屏,高传输率大容量硬盘、Internet

1990 - now

  • 微机和软件系统的普及使得图形学的应用领域日益广泛
  • 计算机图形学朝着标准化、集成化和智能化的方向发展
  • 多媒体、人工智能、计算机可视化、虚拟现实等分支蓬勃发展
  • SGI 公司开发的 OpenGL 开放式三维图形标准,微软公司为 PC 游戏开发的应用程序接口标准 DirectX, Adobe 公司 Postscript 等,均朝着开放式、高效率的方向发展

硬件的发展

图形显示器

60年代中期:画线显示器 (亦称矢量显示器); 需要不停的刷新,设备昂贵,限制普及。
60年代末: 存储管式显示器
70年代初: 刷新式光栅扫描显示器出现,大大地推动了交互式图形技术的发展。以点阵形式表示图形,使用专用的缓冲区存放点阵,由视频控制器负责刷新扫描

图像输入设备

第一阶段:控制开关、穿孔纸等等
第二阶段:键盘
第三阶段:二维定位设备,如鼠标、光笔、图形输入板、触摸屏等等,
第四阶段:三维输入设备(如空间球、数据手套、数据衣),用户的手势、语音表情等等
第五阶段:用户的思维

图形软件发展及软件标准形成

三种类型的计算机图形软件系统:

  • 用某种语言写成的子程序包 (图形库) (便于移植和推广、但执行速度相对较慢,效率低):
    • GKS (Graphics Kernel System)
    • PHIGS (Programmer’s Hierarchical Interactive Graphics system )
    • GL,DirectXDraw & DirectX3D
  • 扩充计算机语言,使其具有图形生成和处理的功能 (简练、紧凑、执行速度快,但不可移植)
    • Turbo Pascal、Turbo C,AutoLisp等。
  • 专用图形系统 (效率高,但系统开发量大,可移植性差)

趋势: 开放式、高效率

计算机图形学的应用

  • 计算机辅助设计与制造(CAD/CAM)
  • 图形用户界面(GUI)
  • 地理信息系统(GIS)
  • 计算机艺术
  • 简单的二维交互式绘图 (PhotoShop, Flash, CorelDraw)
  • 非真实感绘制(NPR,Non-Photorealistic Rendering)
  • 科学计算可视化
  • 虚拟现实(Virtual Reality)
  • 影视动画(Movies & Animations)
  • 游戏(Video Games)
  • 设计(Design)
  • 字体设计(Typography)

计算机图形学的重要技术

真实感图形实时绘制

真实感绘制的主要任务是模拟真实物体的物理属性,简单的说就是物体的形状,光学性质,表面的纹理和粗糙程度,以及物体间的相对位置,遮挡关系等等。

  • 研究内容:
    • 光照模型:简单光照模型;局部光照模型;整体光照模型
    • 绘制方法:光线跟踪;辐射度

物体网格模型的面片简化:
对网格面片表示的模型,在一定误差的精度范围内,删除点、边、面,从而简化所绘制场景的复杂层度,加快图形绘制速度

基于图象的绘制 (IBR,Image Based Rendering):
完全摒弃传统的先建模,然后确定光源的绘制的方法。它直接从一系列已知的图象中生成未知视角的图象,适用于野外极其复杂场景的生成和漫游。

自然景物模拟

野外场景远远复杂于室内场景,绘制难度更大,方法更趋多样化.
主要绘制山、水、云、树、草、火等等.
绘制火的粒子系统(Particle System),基于生理模型的绘制植物的方法,绘制云的细胞自动机方法等.

计算机动画

分类

  • 二维动画
    • 图象变形
    • 形状混合
  • 三维动画
    • 关键帧动画
    • 变形物体的动画
    • 过程动画
    • 关节动画与人体动画

造型技术

  • 规则形体:
    • 欧氏几何方法
  • 不规则形体:
    • 分形几何方法
    • 粒子系统
    • 纹理映射
  • 实体造型
  • 基于物理的造型
  • 基于图像的造型

计算机图形学发展趋势

目前,图像视频等二维数据的采集很方便,使用照相机、摄像机即可以进行采集,但是采集三维数据却没有一个便携的采集设备,随着采集设备的不断进步,预测图形学在三维数据采集方面会有一个集中的爆发。

绘制的逼真效果和速度之间有很大的鸿沟。越是逼真的效果渲染速度越慢,要达到同时做到实时速度和完全逼真的目标,还有很长的路要走。

虚拟现实/增强现实的技术和产品的发展。HoloLens、Oculus

图形设备

  • 图形显示设备
    • 图形输出包括图形的显示和图形的绘制,图形显示指的是在屏幕上输出图形
    • 图形绘制通常指把图形画在纸上,也称硬拷贝,打印机和绘图仪是两种最常用的硬拷贝设备

以下内容略, 详细可翻 PPT

  • 彩色CRT显示器
  • 球面显示器与柱面显示器
  • LCD显示器基本原理

图形处理器

图形处理器是图形系统结构的重要元件,是连接计算机和显示终端的纽带。

早期的图形处理器只包含简单的存储器和帧缓冲区,它们实际上只起了一个图形的存储和传递作用,一切操作都必须有CPU来控制。

现在的图形处理器不单单存储图形,而且能完成大部分图形函数,专业的图形卡已经具有很强的3D处理能力,大大减轻了CPU的负担,提高了显示质量和显示速度。

原理略

图形输入设备

标签:动画,01,计算机,显示器,图形学,Note,图形,绘制
From: https://www.cnblogs.com/jamesnulliu/p/noteofshucg-01.html

相关文章

  • NOIP2013提高组复赛day1解析
    1.错误原因:想的太复杂正解:10^k轮,会使x号小伙伴变到(x+m*10^k)%n号,直接套用公式代码:#include<bits/stdc++.h>#definelllonglongusingnamespacestd;lln,m,k,x;llquickPow(lla,llb,llmod){ llans=1; while(b){ if(b&1)ans=((ans%mod)*(a%mod))%mod; a=((......
  • 01-Trie - 解决异或问题的 Trie
    前言Trie树就是所谓的字典树(前缀树),每个节点都是一个字母,用来解决单词匹配的问题。而01-Trie是一种特殊的字典树,其中的节点的值都在\({0,1}\)中。01-Trie可以用来解决一部分异或问题。......
  • 【AcWing 3713】不同的子序列——动态规划(2019年南京大学考研机试题)
    给定一个字符串\(S\)和一个字符串\(T\),请问共有多少个\(S\)的不同的子序列等于\(T\)。输入格式第一行包含整数\(Q\),表示共有\(Q\)组测试数据。每组数据第一行包含字符串\(S\),第二行包含字符串\(T\)。输出格式每组数据输出一行,一个结果,由于结果可能很大,因此输出其......
  • 【题解】Luogu-P2482 SDOI2010 猪国杀
    写了\(358\)行,\(11.94\mathrm{KB}\),有这么几个地方写挂了:反猪决斗一定选主猪。游戏结束判定是主猪死亡或全部反猪死亡。决斗可能被反杀,之后不能再出牌。点击查看代码#include<bits/stdc++.h>usingnamespacestd;intn,m;charCh[3];queue<char>Deck;in......
  • 将word和endnote进行关联
     001、初始状态 0001、以管理员什么运行  002、点击选项 003、点击加载项 004、点击转到 005、点击添加 006、endnote安装位置示例:(C:\ProgramFiles(x86)\EndNoteX9\Product-Support\CWYW) 007、点击确定 008、最终效果 。 ......
  • H1H1Wifi模块-ESP-01s使用的基本操作
    H1H1Wifi模块-ESP-01s蓝牙,ESP-01s,Zigbee,NB-Iot等通信模块都是基于AT指令的设计AT指令简介AT指令集是从终端设备(TerminalEquipment,TE)或数据终端设备(DataTerminalEquipment,DTE)向终端适配器(TerminalAdapter,TA)或数据电路终端设备(DataCircuitTerminalEquipment,DCE)发......
  • 计算机操作系统考研复习day01
    操作系统简介:操作系统是充当计算机硬件与用户的中介,是最基本的系统软件。操作系统的特征:1.并发。2:共享。3:虚拟:4:异步并发:这点要与并行相互区别,一个是时间段,一个是时间点。共享:比如Jay的一路向北这个资源,只要你有VIP,你就可以听,别人也可以听,共享资源虚拟:将实体虚拟化,比如页段这......
  • P1463 [POI2001] [HAOI2007] 反素数 题解
    P1463[POI2001][HAOI2007]反素数题解可以发现,最大的不超过\(n\)的反素数就是\(1\simn\)中因数最多的数字。证明:设\(x,x\in[1,n]\)为\(1\simn\)中因数最多的数字,则\(x<y\len\)都不会成为答案,因为存在\(x<y\)因数比\(y\)多,同时也不会存在\(y'<x\)......
  • Python初级学习20230901
    Python初级学习20230901运算符--->优先级和结合性左结合:从左往右进行计算(大部分运算符)右结合:从右往左进行计算(赋值运算符,正负号,索引和切片)assert断言语句a=1asserta==1#后面可以不加asserta==1,'这里写的是如果出错时的提示语句,AssertionError:内容'容器型数......
  • 01-集合框架概述.
    01-集合框架概述.1.内存层面需要针对于多个数据进行存储。此时,可以考虑的容器有:数组、集合类2.数组存储多个数据方面的特点:数组一旦初始化,其长度就是确定的。数组中的多个元素是依次紧密排列的,有序的,可重复的(优点)数组一旦初始化完成,其元素的类型就是确定的。不是此类型的元......