计算机图形学导论(1)-基础数学

来源:互联网 发布:刺客信条mac 编辑:程序博客网 时间:2024/06/08 03:01

前言

最近又参加了伯克利大学的计算机图形学导论。计算机图形学是一门应用十分广泛,也相当复杂的学科,它也被称为程序员三大浪漫之一!另外的两个是编译原理和操作系统。

数学基础

计算机图形学一开始并不要求你有很深厚的数学基础,高中基础数学是完全可以应付过来的。而在图形学中,主要要用到这两个抽象数据结构

  • 向量
  • 矩阵

下面就来说说这两个的基本运算吧。

向量运算

向量是有方向和长度,一般有一个箭头来表示——>,通常我们并不关心向量的坐标。

四则运算

加法

乘以标量、转置、求模

点乘

点乘满足交换律和分配律

叉乘

差乘的一般规律

叉乘不满足交换律!

叉乘使用矩阵来运算

投影

矩阵运算

矩阵是一个NxM的方形阵列,主要用于乘法,不满足交换律!假设有矩阵A乘以矩阵B要进行乘法的条件是先确定A的列数等于B的行数,然后再用A的一行乘以B的一列作为新矩阵的第一行第一列。


转置矩阵

逆矩阵

矩阵主要用来计算物体的平移,缩放,旋转,拉伸,或投影等

物体的运动

缩放

一个二维的缩放矩阵大概是这样的,它表示在x方向放大a倍,y方向上放大b倍:

a00b

斜切

它表示将一个方形在水平方向上拉成平行四边形,y坐标不变:

10a1

旋转

由以上二维旋转矩阵可以推出三维上各个轴上的旋转矩阵

由于矩阵没有交换律,所以坐标变换的顺序不可以轻易改变。

齐次坐标

用3X3矩阵实现平移是一件非常难的事情,所以我们把它变为4X4矩阵并加上w变量,我们称之为其次坐标:

最下角的值我们把它叫做w变量,当这个变量不为一时,我们需要除以w来标准化矩阵,当这个变量为0时,表示这个点离我们无限远。

0 0
原创粉丝点击