我是靠谱客的博主 洁净柜子,最近开发中收集的这篇文章主要介绍计算机图形学笔记1.变换向量 Vectors矩阵变换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 向量 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.变换向量 Vectors矩阵变换的全部内容,希望文章能够帮你解决计算机图形学笔记1.变换向量 Vectors矩阵变换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部