计算机图形学知识综述

CG复习总结Computer Graphics

Goals in Detail

  Introduce basic concepts of computer graphics

  Describe the 3D graphic representation flow in current PC

  Describe some fundamental algorithms used in computer graphics

  Introduce the computer graphics programming with OpenGL

  Enhance the ability on programming and data structure exertion

  Research in CG community

Contents

  Survey of CG and Overview of Graphics Systems

  Line/Circle Drawing algorithm

  Polygon Fill Algorithm

  Introduction to OpengGL Programming

  Lighting model

  Geometric Transformations

  Clipping

  Visible-Surface Detection

Graphics in “Computer Graphics”

  是指由点、线、面、体等几何要素(geometric attribute)和明暗、灰度(亮度)、色彩等视觉要素(visual attribute)构成的,从现实世界中抽象出来的图或形

Tasks of CG

  Generating 2D images of a 3D world represented in Computer by Computing, NOT by sensing.

  (3D Models -> rendering -> 2D images)

Overview of the course

  Geometry (Modeling)

    – View, Transformation of Models (模型的投影和变换)

    – Bezier Curves

    – B-Spline Curves

    – Triangle Mesh(三角网)

    – Deformation (变形)

  Rendering : photorealistic rendering and non-photorealistic rendering

    – Basic Concepts, OpenGL

    – Lighting (光照)

    – Ray Tracing (光线跟踪)

    – Acceleration of Ray Tracing(光线跟踪加速)

    – Texture (纹理)

    – Shadow (阴影)

    – Radiosity(辐射度)

Research Hot Topics

  • Rendering

  • Computer Animation

  • Geometry

  • Video-based rendering

Geometric Transformation

  Geometric transformation in 3D space

  Translation(平移)

  Scaling(放缩)

  Rotation(旋转)

  Homogeneous Coordinates(齐次坐标)

  Global Transformation and Local Transformation

Projection

  Perspective projection (透视投影)

  Perspective projections in OpenGL

    void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble   top, GLdouble znear, GLdouble zfar );

    void gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble zNear,  GLdouble zFar );

  Parallel projection (平行投影)

  Clipping

    Point clipping (点的裁减) :是否在区域内部

  Line clipping (线的裁减)

    Binary Region Codes(区域编码) :4-digit code CtCbCrCl(上下右左)

    Mid-point Partition Algorithm(中点分割算法:二分)

  Polygon clipping (多边形的裁减)

    输出顶点为0~2.

  Transformation from window to viewport

    glFrustum函数和glViewport函数

Graphics Pipeline

图形学流水线可以概括为:

局部坐标的3D模型通过3D空间的几何转换得到全局坐标的3D模型,通过投影得到投影坐标系中的2D图形,通过窗口裁剪得到窗口坐标系中已裁剪的2D图形,通过窗口到视口的变换,得到视口坐标系中的2D图形,通过光栅化得到视口坐标系中的2D图像

Visibility Detection

  Why to do it

    Avoiding ambiguity (消除二义性)

    Get the correct visual effect (正确绘制)

    Improving rendering rates (提高绘制效率)

  Back-Face Detection(后向面判别)

    实现与平面法向的夹角V· N<0为前向面,V· N>0为后向面

  Visible-Surface Detection Methods

    Ray Casting Method(了解):光线投射法

    Z-buffer, Scan-Line Z-buffer(详细掌握)

    stores a depth value for each pixel on the screen

    Scan-Line Z-buffer:To process one scan-line of the screen at a time in order  to reduce storage requirements

    Area-Subdivision Method(了解)

    Depth Sorting Method(整体掌握)

Lighting

Shading(着色)

  Polygonal Shading

    – Flat shading(平面着色)

    – Interpolative shading(插值着色):Interpolate color in interior

    – Gouraud shading(高洛德着色 )

      Face normal取平均得到vertex normal计算得到vertex color然后Interpolate  colors across polygon

    – Phong shading (different from Phong illumination)(Phong着色)

      Interpolate normals rather than colors

Photorealistic Rendering Ray-tracing

  • Introduction of ray tracing

  • Ray intersection(光线求交)

  • shadows(阴影)

  • Transparence and specular reflection(透明和镜面反射)

  • textures(纹理)

光线追踪的核心在于光线求交(Ray intersection)

The Simplest Ray Tracing:Ray Casting(光线投射)

Texture

  Texture mapping(纹理映射) or texturing(贴纹理)

  Texture usage

    Texture acquisition(纹理获取)

      Taking photograph

      Procedure texture(过程纹理)

      Texture synthesis(纹理合成)

    Texture mapping(贴纹理)

    Texture filtering(纹理滤波)

      Aliasing(走样)和Anti-aliasing(反走样)

NPR stroke(非真实感绘制过程)

Let computer have partial or aggressively complete capability of artists, that is selectively rendering objects stylized and abstracted.(让计算机有艺术家的能力:抽象)

名词解释

Animation :动画

Simulation :模拟,仿真

Deformation :变形

Triangle Mesh :三角网

3D Data Acquisition and Modeling :三维数据采集和建模

Color Space :RGB、CMY、HSV、CIE XYZ

Diffuse :漫发射

Ambient :环境光

Specular :高光(镜面反射)

Cathode ray tube(CRT) :阴极射线管

Raster-Scan Display :光栅扫描显示器

frame buffer :帧缓冲(A memory area that image is stored in)

Resolution  :分辨率

OpenGL :Open Graphic Library (开放的图形编程库)

Clipping :剪裁

Composite Transformation :综合变换

Depth overlaps checking :深度重叠测试

Details

1、画出多个茶壶围绕中心一周

2、void glTranslatef(float x, float y, float z);如何使用,平移前的坐标是如何指定的?(移动整个物体)

x, y and z is the translation distances along the three axes.

3、void glRotate{fd} (TYPE angle, TYPE x, TYPE y, TYPE z);

绕vector(x,y,z)旋转angle角度

4、void  glScale{fd}(TYPE Sx, TYPE Sy, TYPE Sz)

Sx,Sy,Sz分别为x,y,z变换的倍数

5、Local transformation can be implemented by inverse the multiplying order of the global transformation :局部变换可以通过全局变换的逆乘法顺序实现(顺序完全颠倒即可)

6、Global Transformation and Local Transformation

  Global transformation

    每一次变换均可以看成是相对于原始坐标系执行的

    后调用的变换矩阵乘在先前矩阵的左边

    先调用的变换矩阵先执行

  Local transformation

    每一次变换均可以看成是在上一次变换所形成的新的坐标系中进行

    后调用的变换矩阵乘在先前矩阵的右边

    后调用的变换矩阵先执行

7、void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble  znear, GLdouble zfar );

void gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar );

  两个函数的使用方法:

8、Z-buffer算法

  Z-Buffer算法在像素级上以近物取代远物。面片在屏幕上的出现顺序是无关紧要的。

时间: 2024-12-28 16:08:17

计算机图形学知识综述的相关文章

计算机图形学 复习笔记

计算机图形学 复习笔记 (个人整理,仅做复习用 :D,转载注明出处:http://blog.csdn.net/hcbbt/article/details/42779341) 第一章 计算机图形学综述 研究内容 图形的概念:计算机图形学的研究对象 能在人的视觉系统中产生视觉印象的客观对象 包括自然景物.拍摄到的图片.用数学方法描述的图形等等 图形的要素 几何要素:刻画对象的轮廓.形状等 非几何要素:刻画对象的颜色.材质等 图形表示法 点阵表示 枚举出图形中所有的点,简称为图像. 参数表示 由图形的

计算机图形学学习方法和相关书籍,做游戏,GIS,虚拟现实,三维引擎的都可以看看.

本书参照<<图形学扫盲>> 整理的,原文内容引子: http://www.cppblog.com/lai3d/archive/2008/12/30/70796.html 前言: 以我现在的水平观之,3D图形学分3大块的学习内容: a.空间几何数学:空间几何变换,加速算法,多边形技术,曲线和曲面,相交测试,碰撞测试. b.光照着色系统:光照,纹理贴图,高级象素着色光照,艺术性渲染. c.程序技术性应用:公告板,精灵,天空盒,体绘制,材质系统,场景图,渲染队列. 在实际学习过程中,3个

计算机图形学

计算机图形学学习网站: 清华大学计算机图形学课程 第一章 图形学简介 1.1 计算机图形学的研究内容1.2 发展的历史回顾1.3 应用及研究前沿1.4 图形设备 2学时 第二章 颜色模型.图像基本知识.Phong光照模型 2.1 颜色模型    2.1.1 颜色模型的视觉基础    2.1.2 RGB颜色模型    2.1.3 HSV颜色模型    2.1.4 其它颜色模型2.2 图像基本知识2.3 Phong光照模型 2学时 第三章 视图模型变换 3.1 视图模型变换和视点的意义3.2 视图变

3D计算机图形学零起点全攻略(转)

3D计算机图形学零起点全攻略 这篇文章不包含任何技术知识,但我的希望它能指明一条从零开始通往3D领域的成功之路.我将罗列我看过的相关经典书籍作为学习文献,阅读规则是每进入下个内容,我都会假设已经完成前面全部的文献研习内容.相信若能按照这条路走到最后,会有所进益. 完成整部分内容需要具备基础: 英语:CET4以上 数学:精通数字加减乘除法. 物理:基本力学. 计算机:了解电脑的基本知识,熟练使用Windows. 电脑配置: CPU:双核1.5以上 显卡:NVIDIA GeForce8400G MS

【计算机图形学课程】二.MFC鼠标响应函数模拟画图软件

上一篇文章我们讲述MFC绘制图形的基本函数,包括绘制直线.绘制矩形.绘制椭圆及绘制文字,同时通过绕圆旋转和矩形平移简单的理解了图形学知识.这篇文章我将介绍鼠标响应和键盘响应,通过这些事件让学生实现一个类似画图的简单软件,同时充分发挥学生想象,自己创作东西.        前文:       [计算机图形学课程]一.MFC基本绘图函数使用方法 一. MFC工程创建及鼠标响应 新建一个MFC 单文档的应用程序"MousePic". 然后,选择"View(视图)"->

[图形学] 计算机图形学 with OpenGL第一篇

<计算机图形学>(第四版)正在学习中,学习目的是为了在Unity中使用shader实现不同的渲染效果. 希望在这里能把学习过程中学到的知识和遇到的问题记录下来. 工作环境是:Xcode8.3.2. 代码目录是:https://github.com/p0e0o0p0l0e0/Computer_Graphics.git 目标学习内容有以下几章,已经学到第8章. 第3章:计算机图形学软件 第4章:输出图元 第5章:图元的属性 第6章:实现图元及属性的算法 第7章:二维几何变换 第8章:二维观察 第9

【计算机图形学】OpenGL+VS2015相关类库配置

1 WiKi OpenGL一直是事实上的计算机图形学标准,截止2016年06月,OpenGL版本已经更新到4.5.不过DirectX发展迅速,大有OpenGL落后的态势,知乎上的该话题的讨论:https://www.zhihu.com/question/23241456.所以OpenGL为了追赶DirectX,推出 了glNext(Vulkan API),相关讨论https://www.zhihu.com/question/28039310. 2 相关资料 图形学的经典书籍是<Computer

【3D计算机图形学】变换矩阵、欧拉角、四元数

[3D计算机图形学]变换矩阵.欧拉角.四元数 旋转矩阵.欧拉角.四元数主要用于:向量的旋转.坐标系之间的转换.角位移计算.方位的平滑插值计算.   一.变换矩阵: 首先要区分旋转矩阵和变换矩阵: 旋转矩阵:向量绕某一个轴旋转,用3x3的矩阵表示. 变换矩阵:向量的移动.旋转.缩放,用4x4的矩阵表示. 这里额外补充一个知识,就是三维坐标变换是用4x4矩阵(采用齐次坐标)而不是3x3矩阵的原因是:统一平移和缩放(本来是向量加法来描述)为矩阵乘法的形式来计算.所以旋转矩阵也扩展为4x4矩阵,这样一来

计算机图形学研究领域分哪些

计算机图形学各个领域的目标或许不同,但最终的形式都是渲染(即绘制)在二维的显示设备上的图像.下面是一个简单(可能并不完全)的分类: ?计算机图形学-领域及分支: ?1 绘制1.1 真实感绘制(非实时)1.1.1 光线追踪(Ray-tracing)1.1.2 全局光照(Global Illumination)......1.2 实时绘制1.2.1 Shading(BRDF, Programmable Shading等)1.2.2 纹理(Texture Synthesis, 反走样, 采样等)1.2