文章目录

  • 前言
  • 一、定义
  • 二、主要内容
    • 1.建模(Modeling)
    • 2. 渲染(Rendering)
    • 3. 动画(Animation)
    • 4. 人机交互(Human–Computer Interaction, HCI)
  • 三、基础知识
    • 图形学几何基础
      • 1、3d几何形状的显示表示和隐式表示
      • 2、计算几何中曲线曲面的表示
      • 3、Loop Subdivision细分
  • 未完待续

前言

学习三维点云处理的入门,刘利刚老师详细阐述了计算图形学的定义,研究的范围和研究的应用。


一、定义

计算机图形学是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。

二、主要内容

计算机图形学主要包含四大部分的内容:建模(Modeling)、渲染(Rendering)、动画(Animation)和人机交互(Human–computer Interaction, HCI)。

1.建模(Modeling)

要在计算机中表示一个三维物体,首先要有它的几何模型表达。表达一个几何物体可以是用数学上的样条函数或隐式函数来表达;也可以是用光滑曲面上的采样点及其连接关系所表达的三角网格来表达(即连续曲面的分片线性逼近)。

  • 计算机辅助设计(CAD)中的主流方法是采用NURBS(非均匀有理B-样条、Bezier曲线曲面)方法
  • 细分曲面(Subdivision surface)造型方法,作为一种离散迭代的曲面构造方法
  • 利用软件的直接手工建模。商业化的三维建模软件有Autodesk 3D Max和 Maya。
  • 基于笔划或草图交互方式的三维建模方法。(这还是第一次听说)
  • 基于图像或视频的建模方法。这是传统的计算机视觉所要解决的基本问题。三维重建
  • 基于扫描点云的三维重建
  • 基于现有模型来合成建模的方法。(这也是第一次听说)

2. 渲染(Rendering)

3. 动画(Animation)

4. 人机交互(Human–Computer Interaction, HCI)

三、基础知识

1.计算机图形学里面用到的数学比较多,列举一些常用的,包括:微积分、线性代数、矩阵计算、微分几何、数值计算和分析、计算方法、偏微分方程、微分方程数值解、最优化、概率、统计、计算几何等。

2.C/C++是计算机图形学最常用的编程语言。

3.英文

4.好奇心

图形学几何基础

GAMES101课程笔记-----几何


1、3d几何形状的显示表示和隐式表示

目前几何形状表示有很多,但是可以依据是否能直观得到几何形状来分为两种。

隐式表示:

  • algebraic surface代数曲面
  • Constructive Solid Geometry(CSG)3D体积做布尔运算
  • distance functions距离函数,特别地,解析形式表达有Signed Distance Field
  • level sets (水平集),Grid方式描述distance函数
  • Fractals分形几何,具有自相似/递归性质

显式表示:

  • point cloud点云
    点云(point cloud)是指透过3D扫描器所取得之资料型式。
    扫描资料以点的型式记录,每一个点包含有三维座标,有些可能含有色彩资讯(R,G,B)或物体反射面强度。[1]
  • triangle/polygon mesh多边形网格
    多边形网格(Polygon mesh)是三维计算机图形学中表示多面体形状的顶点与多边形的集合,它也叫作非结构网格。
    这些网格通常由三角形、四边形或者其它的简单凸多边形组成,这样可以简化渲染过程。但是,网格也可以包括带有空洞的普通多边形组成的物体。
  • 体素
    体素或立体像素(voxel),是体积像素(volume pixel)的简称。概念上类似二维空间的最小单位——像素,像素用在二维电脑图像的视频数据上。体积像素一如其名,是数字数据于三维空间分区上的最小单位,应用于三维成像、科学数据与医学视频等领域。有些真正的三维显示器运用体素来描述它们的分辨率,举例来说:可以显示512×512×512体素的显示器。
    如同像素,体素本身并不含有空间中位置的数据(即它们的坐标),然而却可以从它们相对于其他体素的位置来推敲,意即它们在构成单一张体积视频的数据结构中的位置。

2、计算几何中曲线曲面的表示

  • subdivision, NURBS
  • Bezier surfaces
  • NURBS

3、Loop Subdivision细分

位移贴图 需要模型足够细致,于是需要细分(最好是动态细分)

  • subdivision surfaces细分曲面

未完待续

提示:这里对文章进行总结:

计算机图形学入门知识相关推荐

  1. 计算机图形学入门(一)-线性代数部分知识1

    本部分主要介绍了向量的点乘与叉乘在图形学中的基本应用,介绍了图形学中常用的2D矩阵变换,例如缩放.对称.切变换.旋转.平移.逆变换.组合变换和分解变换.还有在图形学中为了简化操作而采取的添加维度的方法 ...

  2. 计算机图形学入门(二)-线性代数部分知识2视图变换和投影变换

    本章主要进行了视图/相机变换的求解,和两种投影变换的求解(正交投影.透视投影),并且简单的完善了3D旋转变换的介绍. 主要的学习过程来自下面的视频,本文只会有主要的基础内容,默认一些知识大家是掌握的, ...

  3. Games101计算机图形学入门基础之一:向量变换、矩阵变换、视图变换、欧拉角与四元数

    Games101计算机图形学入门基础之一:向量变换.矩阵变换.齐次坐标.欧拉角与四元数 目录 Games101计算机图形学入门基础之一:向量变换.矩阵变换.齐次坐标.欧拉角与四元数 前言 向量 向量加 ...

  4. 计算机图形学入门-线性代数复习

    本专栏内容整理了GAMES101的计算机图形学课程的主要内容,作为我学习计算机图形学的一份复习备份或叫做笔记.内容中如有错误,或有其他建议,欢迎大家指出. 附上GAMES101计算机图形学课程:GAM ...

  5. Games101计算机图形学入门基础之二:光栅化

    Games101计算机图形学入门基础之二:光栅化 引言 三角形的离散化 采样 走样 走样带来的瑕疵 反走样 先模糊再采样 傅里叶变换 低通滤波 卷积 多重采样抗锯齿(超采样) 深度缓存 可见性与遮挡( ...

  6. GAMES101-现代计算机图形学入门-闫令琪——Lecture 05 Rasterization 1 (Triangles)

    GAMES101-现代计算机图形学入门-闫令琪--Lecture 05 Rasterization 1 (Triangles) 目录 GAMES101-现代计算机图形学入门-闫令琪--Lecture ...

  7. 游戏开发计算机图形学杂项知识系列:OpenGL红宝书中第一个渲染程序Triangles常见问题归总

    游戏开发计算机图形学杂项知识系列:OpenGL红宝书中第一个渲染程序Triangles常见问题归总 声明:未经作者允许,严禁商用,转载请标明出处和来源,谢谢 转载自:https://www.cnblo ...

  8. 计算机图形学最基本知识,计算机图形学基础知识重点整理.doc

    计算机图形学基础知识重点整理 计算机图形学复习资料 第一章 1 图形学定义 ISO的定义:计算机图形学是研究怎样利用计算机表示.生成.处理和显示图形的原理.算法.方法和技术的一门学科. 通俗定义:计算 ...

  9. OpenGl计算机图形学入门

    OpenGl计算机图形学入门 前言 一.OpenGl及GLSL 二.语言 1.C++及C++应用程序 (1)C++ (2)C++应用程序 三.库 1.GLFW 窗口管理库 2.GLEW 扩展库 3.G ...

  10. 对计算机图形学知识总结第二版,计算机图形学入门总结!

    图形学实验在百度网盘. 1. Why study transformation 1.1 Modeling translation (平移) rotation(旋转) scaling (缩放) proj ...

最新文章

  1. java 压缩文件tar_使用Java API进行tar.gz文件及文件夹压缩解压缩
  2. Django(models中字段+参数)
  3. VTK修炼之道11:基本数据结构_数据对象数据集
  4. safari检查元素_如何防止Safari检查是否使用Apple Pay
  5. 父亲的忠告:把孩子培养成普通人
  6. centos运行python程序_CentOS 7定时执行python脚本
  7. 学软件测试看什么书籍推荐?
  8. Being a good boy in the spring festival NIM博弈
  9. memcached的安装(server、client)、magent整合
  10. 总结《Ray Tracing in One Weekend》
  11. Visual C# 2008+SQL Server 2005 数据库与网络开发-- 5.1 计算
  12. Node.js视频教程
  13. matlab2010 simulink,张德丰 (2010) MATLAB/Simulink建模与仿真实例精讲. 机械工业出版社, 北京....
  14. 2018年湘潭大学程序设计竞赛 E 吃货
  15. networkx节点显示、节点中心性度量
  16. 5G聚合路由器有哪些优势?能应用在哪些场景?
  17. Rust中的所有权和借用的关系图
  18. 漫画分销系统服务器配置,漫画分销平台怎么选择?月流水30万的老手来说两句!...
  19. 爬取唯品会口红数据,这次哪家打折力度最大?我看到0.8折的
  20. Android 应用桌面角标显示

热门文章

  1. MySQL数据库索引面试题(最新版)
  2. rpg存档修改网站_Switch上国宝级欧美版RPG游戏推荐
  3. 前端页面预览word_html页面在线预览word
  4. 使用 stress 命令对cpu进行压力测试
  5. 变砖的平板怎样重装android,台电平板电脑刷机教程,小编教你台电平板电脑怎么刷机...
  6. Java计算器源码java计算器代码java科学计算器代码
  7. 让图片自适应屏幕大小
  8. 音乐和计算机跨界融合,音乐类综艺跨界融合有了新思路
  9. apollo 横纵向控制改成MPC控制方式
  10. 如何快速离职?离职交接工作清单(前端)