目录

  • 05光栅化(三角形的离散化)
    • 1.Canonical Cube to Screen 从标准立方体到屏幕
      • 1.屏幕是什么?What is a screen?
      • 2.光栅化是什么?Raster == screen in German
      • 3.像素Pixel (FYI, short for “picture element”)
      • 4.使用以下矩阵公式将中心本在原点的标准立方体平移到屏幕坐标系的中心
    • 2.成像
      • 1.示波器/CRT阴极射线管成像原理
      • 2.早期电视:通过扫描画线的方式
      • 3.LCD液晶显示器
      • 4.LED发光二极管显示器
    • 3.如何在这些屏幕上画东西(光栅化)?
      • 1.使用三角形表示
      • 2.判断像素和三角形的位置关系:采样
      • 3.实际屏幕上的光栅化

05光栅化(三角形的离散化)

1.Canonical Cube to Screen 从标准立方体到屏幕

1.屏幕是什么?What is a screen?

一个二维数组,数组内存放的是像素。例如1920*1080

2.光栅化是什么?Raster == screen in German

Rasterize == drawing onto the screen 光栅化=把图像画在屏幕上

3.像素Pixel (FYI, short for “picture element”)

For now: A pixel is a little square with uniform color 颜色均匀的小正方形

Color is a mixture of (red, green, blue)

4.使用以下矩阵公式将中心本在原点的标准立方体平移到屏幕坐标系的中心

将立方体乘下面这个矩阵后,宽度变为width,高度变为height,最后一列的作用是将立方体的左下角平移到屏幕的中心,第三列z方向不用改动

也就是将-1-1的立方体转化到下面的屏幕上

2.成像

1.示波器/CRT阴极射线管成像原理

使用spot把信号打在屏幕上,当速度足够快时即可成象

2.早期电视:通过扫描画线的方式

隔行扫描技术:只画一半线,每两张画形成一个动画。目前应用在一些视频压缩中,缺点:会造成一定的画面撕裂

3.LCD液晶显示器

利用液晶的原理来控制显示,液晶通过自己不同的排布影响光的极化,也就是光的偏振方向。液晶中一个像素有两个不同的光栅,左边和右边以不同的方向进行排布。

从物理上来讲,光是有波动性的,光经过一个光栅只会留下光在这一个方向(光栅所规定的方向上)震动的一些能量,通过了光栅之后光栅的振动方向就和这个光栅的振动方向一致。

液晶显示的原理就是通过液晶的扭曲把光的振动方向渐渐调过来。

4.LED发光二极管显示器

3.如何在这些屏幕上画东西(光栅化)?

1.使用三角形表示

1.三角形是最基础的多边形

2.任何多边形都可以拆解为三角形

3.三角形一定是平面的

2.判断像素和三角形的位置关系:采样

在某一点上对函数求值就是采样。我们可以通过采样来离散函数。

利用像素中心对屏幕空间进行采样,通过采样进行光栅化的简单代码思想:如果图像中的点在屏幕中的三角形区域就赋值为1

如何判断一个点在三角形内的函数:做叉积可以判断点是否在三角形内

问题:当一个点在三角形边界上怎么办?答:可自己定义或者=不严格处理。

我们可以不遍历那些没有三角形的屏幕区域。

3.实际屏幕上的光栅化

盖乐世的屏幕绿色密度要高一些:人眼对绿色更为敏感

出现的问题:锯齿/信号走样

【计算机图形学入门】笔记5:光栅化(三角形的离散化)相关推荐

  1. 计算机图形学入门——笔记(一):计算机图形学概述

    四大主题 Rasterization Curves and Meshes Ray Tracing Animation / Simulation 相关语言(API) OpenGL / DirectX / ...

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

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

  3. Games101--现代计算机图形学入门 作业3笔记(渲染管线、着色模型、双线性插值)

    一.渲染管线 一.作业要求 在这次编程任务中,我们会进一步模拟现代图形技术.我们在代码中添加了ObjectLoader(用于加载三维模型),VertexShader与FragmentShader,并且 ...

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

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

  5. GAMES101-现代计算机图形学学习笔记(作业02)

    GAMES101-现代计算机图形学学习笔记(作业02) Assignment 02 GAMES101-现代计算机图形学学习笔记(作业02) 作业 作业描述 需要补充的函数 思路 结果 原课程视频链接以 ...

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

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

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

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

  8. 计算机图形学学习笔记——Whitted-Style Ray Tracing(GAMES101作业5讲解)

    计算机图形学学习笔记--Whitted-Style Ray Tracing GAMES101作业5讲解 遍历所有的像素生成光线 光线与平面求交 遍历所有的像素生成光线 关于作业五中如何遍历所有的像素, ...

  9. 计算机图形学课堂笔记

    计算机图形学 第一章绪论 计算机图形学主要研究内容:计算机中图形的表示方法,以及利用计算机进行图形的计算.处理和显示的相关原理和算法 计算机图形学之父:Ivan Sutherland 1950年第一台 ...

  10. Game101课程笔记_lecture06_光栅化2

    Game101课程笔记_lecture06_光栅化2 1 Antialiasing 反走样 1 采样理论 1 Artifacts:错误,瑕疵.(in Graphics) 2 antialiasing ...

最新文章

  1. 用source命令执行脚本和用sh执行脚本之间的区别
  2. [Treap]JZOJ 4737 金色丝线将瞬间一分为二
  3. IKE phase 2
  4. 绕过CDN查找真实IP 方法简介
  5. 《大话数据结构》简体中文版勘误
  6. lua如何判断是否支持cookie_我们应该如何判断机油是否变质?
  7. 一颗站在技术边缘的土豆
  8. python 发送邮件不显示附件_求助:写python脚本发 带有附件的邮件, 收到邮件后,发现附件直接显示在屏幕上了,而不是以附件形式...
  9. Security+ 学习笔记16 密钥管理
  10. 系统分析师教程电子版资料收集
  11. pycharm读取CSV文件
  12. 人大与加拿大女王大学金融硕士在短学制中成就别样的人生
  13. chrome如何对部分网页截图
  14. 字节跳动2018校招前端面试题
  15. 什么叫h5项目_对移动端h5项目的一点总结
  16. Fortran笔记,Module
  17. python 高斯金字塔_Python OpenCV 之图像金字塔,高斯金字塔与拉普拉斯金字塔
  18. 972信息检索 | 第四章 国内重要的综合性信息检索系统
  19. Multi-Attention Multi-Class Constraint for Fine-grained Image Recognition
  20. 四大开源平台的定位:OpenStack、CloudStack、OpenNebula和Eucalyptus

热门文章

  1. 图片映射(HTML map标签)这么拽,小伙伴们都知道吗?
  2. log4cpp编译使用
  3. 下载安装WindowBuilder插件教程
  4. linux系统weblogic10.3.6(jar) 下载安装
  5. 平安城市,天网工程,雪亮工程这三者的区别
  6. 深度学习是什么?深度学习和神经网络的区别是什么
  7. [C/C++/Qt] 网易云音乐缓存文件批量自动解析解码工具 - CloudMusicCache2Mp3(开源)(Version:1.0)
  8. 高德地图之反地理编码、线路规划、天气查询
  9. ubuntu16.04+caffe+GTX1060+DIGITS安装方法
  10. java写的网络版斗地主_Java实现简单的斗地主游戏