文章目录

  • 向量 Vectors
  • 矩阵
  • 变换

向量 Vectors

  • Dot product
  • Cross product
  • Orthonormal bases and coordinate frames
  1. Dot product


Dot Product in Graphics

  • Find angle between two vectors (e.g. cosine of angle between light source and surface)
  • Finding projection of one vector on another

1.向量的点乘可以告诉我们方向性(基本一致、基本相反、基本垂直)
2.两个向量在方向上有多接近

  1. Cross product
    右手螺旋定则,拇指方向即两向量叉乘后结果的方向。(也就意味着叉积不满足交换律)

    如果在一个坐标系中,向量x叉乘向量y得到向量z,就假设这是右手系。

a叉乘b,右手螺旋定则可得到z为正,即b在a左侧;即a在b右侧。

判断p点是否在三角形内部?
AB叉乘AP,得到的结果向外,即p点在AB左侧,同理得到P点在BC左侧,也在CA左侧。
对于任何三角形(不管输入为逆时针或顺时针),P点一直在三条边的左边(或三条边的右边),那么P点就在三角形内部。

定义一个坐标系:

矩阵

Matrices
Matrix-Matrix Multiplication

  • Properties
    Non-commutative(AB and BA are different in general)
    Associative and distributive
    -(AB)C=A(BC)
    -A(B+C) = AB + AC
    -(A+B)C = AC + BC

把一个向量看成列向量,矩阵在左,向量在右

  • Transpose of a Matrix
  • Identity Matrix and Inverses
  • Vector multiplication in Matrix form

变换

transformation

  • Modeling
  • Viewing

2D transformations

  • Representing transformations using matrices
  • Rotation, scale, shear

Homogeneous coordinates

  • Why homogeneous coordinates
  • Affine transformation

2D:
缩放:

镜像

切变:
比如在二分之一a处,水平方向的移动是二分之一乘以a,即a乘以y,可得任何x在水平方向上的移动都是a乘以y

旋转矩阵:
Rotate (about the origin (0, 0), CCW by default)


注:一个矩阵的逆等于它的转置,即为正交矩阵

通过两个特殊点推出旋转公式

线性变换(写成矩阵形式)

Homogeneous coordinates 齐次坐标
如下平移操作:

这就不是线性变换了,但我们不想让平移成为一个特例,于是引入了齐次坐标。
向量具有平移不变性,向量的最后一个维度增加一个0,目的是让平移后不变,并且让以下操作正确:
注:在齐次坐标的表示下,两个点相加表示这两个点的中点。

仿射变换可以用齐次坐标表示

可以用齐次坐标把这些变换写成统一的形式:

逆变换

Composing Transforms组合变换
从右向左变换


矩阵没有交换律,但有结合律,可以把矩阵相乘成一个矩阵,这个矩阵就表示了很多的变换。

变换的分解:

3D Transformations

先线性变换再平移

变换:


Viewing transformation

  • View / Camera transformation
  • Projection transformation
    • Orthographic projection
    • Perspective projection



直接旋转并不好求,可以先求逆变换,而这个矩阵逆又等于矩阵转置

Projection transformation

正交投影

z轴上,远小于近,(相机朝-z方向看)
• Slightly different orders (to the “simple way”)

  • Center cuboid by translating
  • Scale into “canonical” cube
    • Caveat
  • Looking at / along -Z is making near and far not intuitive (n > f)
  • FYI: that’s why OpenGL (a Graphics API) uses left hand coords.

正交投影
• Recall: property of homogeneous coordinates

  • (x, y, z, 1), (kx, ky, kz, k != 0), (xz, yz, z2, z != 0) all represent
    the same point (x, y, z) in 3D
  • e.g. (1, 0, 0, 1) and (2, 0, 0, 2) both represent (1, 0, 0)

    挤压




取远平面的中心点:

计算机图形学笔记1.变换相关推荐

  1. 计算机图形学笔记(观测变换、模型变换、视图变换、投影变换、视口变换)

    计算机图形学笔记(观测变换.模型变换.视图变换.投影变换.视口变换) 目录 计算机图形学笔记(观测变换.模型变换.视图变换.投影变换.视口变换) 一.简介 1.模型变换(Model transform ...

  2. 计算机图形学笔记(一)渲染管线概述

    计算机图形学笔记(一)渲染管线概述 写在前面:因为之前有学习过图形学,博文是对过去知识的拾遗和对学习过程中的总结记录,所以在内容组织上可能不符合逻辑,某些比较熟悉的内容不会体现或简述:在整理资料的时候 ...

  3. 计算机图形学二维变换知识点,计算机图形学 二维变换及二维.ppt

    计算机图形学 二维变换及二维 第三章 二维变换及二维观察 本章主要内容 3.1二维图形的基本变换 3.2窗口视图变换 3.3复合变换 3.4二维图形裁剪 3.5本章小结 3.1 二维图形的基本变换 3 ...

  4. 3、计算机图形学——模型视图变换、投影变换与视口变换

    一.模型视图变换 模型视图变换主要是为了让摄像机回归到世界坐标的原点并且和拍摄物体一起进行变换,便于计算 模型视图变换的根据就是物体和相机的相对位置不变,那么,投影得到的图片也是不变的 首先规定相机拍 ...

  5. 计算机图形学笔记 (第一周)

    1.计算机图形学:研究通过计算机将物体表示为图形并显示的一门学科. 表示: 将物体表示为图形:造型/建模 显示:将表示后的图形显示出来: 渲染/绘制 2.文字/文本:图形/图像:  图形本质也是一种语 ...

  6. 计算机图形学笔记五:光栅化(消隐算法)和 前几节内容总结

    消隐算法和前几节内容总结 1.消隐算法 1.1画家算法(Painter's Algorithm) 1.2 Z-Buffer算法 2.前几节内容总结 1.消隐算法 1.1画家算法(Painter's A ...

  7. 计算机图形学笔记 || 自由曲线和曲面

    一.基本概念 初等解析曲面(平面.圆柱面.球面等):自由曲面,一类不能用初等解析函数完全清楚地表达全部形状的曲面,这方面的研究形成了"计算机辅助设计". 直线段有三种表示方法,设直 ...

  8. 计算机图形学笔记——第7章 二维几何变换 Python

    第7章 二维几何变换 应用于对象几何描述并改变它的位置.方向或大小的操作称为几何变换(geometric transformation). 几何变换有时也称为建模变换(modeling transfo ...

  9. 计算机图形学笔记七:Shading 2(着色频率,图形(实时渲染)管线)

    着色频率,图形(实时渲染)管线 1.着色频率(方法)(Shading Frequencies) 1.1平面着色(Flat shading) 1.2高洛德着色(Gouraud shading) 1.3冯 ...

最新文章

  1. 女程序员也有35岁危机焦虑吗?
  2. Web-Rtmp: 使用 WebSocket 在网页上播放 RTMP 直播流
  3. 数据库文档生成数据库脚本工具
  4. VTK:图表之ConstructTree
  5. JEPaas代码_((列表,表单)刷新列表||刷新表单数据
  6. h2database连接字符串
  7. vue练习之vue+cnode api
  8. 【网络小说推荐】纨绔才子
  9. Bootstrap 滚动监听(Scrollspy)插件
  10. 管理感悟:你是产品的第一个用户
  11. EDA技术实用教程 | 复习一 | IP核的概念和分类
  12. 计算机应用技术和cad,计算机图形技术与CAD
  13. 号称最安全的Mega网盘加密方法分析
  14. python一阶差分_Python使用pandas对数据进行差分运算的方法
  15. MediCool天使投资计划
  16. 刷入twrp_twrp刷入面具进入recovery(twrp)的方式获取root刷入第三方rom获取第三方rom包类原生rom包的网络连接受限问题
  17. 关于外卖骑手被困在算法里的问题解决方法浅析
  18. 小议SCI 论文攻略(转载)
  19. 安装深度linux系统卡住不动,Linux安装系统卡住
  20. mybatisMyBatis的嵌套查询-collection

热门文章

  1. mptcp linux 升级,Ubuntu12.10编译MPTCP
  2. 主成分分析与奇异值分解
  3. C++内存分析(二)
  4. ThinkPhp5开发实战1:搭建环境配置TP5框架(持续更新收藏关注)
  5. PPO算法经典论文阅读
  6. 03 可配置表决器设计与功能验证(附源码)
  7. git在项目中忽略包node_modules依赖包和git 指令常用汇总
  8. 名词解释第五十四讲:应用落地
  9. 在CentOS 8.3中使用ifconfig添加虚拟网卡
  10. 哈希碰撞攻击与防范机制