图形学-基础数学
2015-06-24 17:45
253 查看
opengl只接受凸多边形
凸多边形: 指多边形任意非相邻的两点的连线位于多边形的内部。
计算漫反射颜色的方法:
Cdiff = max{N • L, 0} * Cmat * Cli
其中N代表顶点的单位法线, L代表从顶点指向光源的单位向量。Cmat 是表面的材料颜色, Cli是光源的颜色。Cdiff则计算出来的结果。在例子中我们使用的是白光,所以我们可以直接忽略掉Cli 因为乘以{1, 1, 1, 1}结果不变。
点乘==内积,得到的是一个数值
叉乘==外积,得到的是一个向量
面的法向量: 就是两个面中向量的外积
点的法向量: 就是包含这个点的所有面的法向量之和
克莱因瓶:
莫比乌斯带:
莫比乌斯带是个“不可定向的”曲面(non-orientable surface)。而普通的纸带圈或者球面是可定向(orientable)的。直观上可以这样解释:在球面或者普通纸带圈的每一个点,可以找两个方向相反的箭头与该曲面垂直,比如一个向外的箭头和一个向内的箭头。我们只取其中一个,比如向外的那个。我们可以连续地把这个箭头在曲面上移动,使之始终与曲面垂直并且指向外。我们把这个箭头称做曲面的一个定向。
上述两者是同构的,把克莱因瓶沿一条线剪开就是莫比乌斯带
opengl和dx使用的矩阵乘法的不同:
行矩阵:(dx使用)
三个轴向量为前三行,最后一行为位移变换
连乘时从左到右接合,左边的变换先应用
变换向量时为vector * matrix
列矩阵:(opengl使用)
三个轴向量为前三列,最后一列为位移变换
连乘时从右到左接合,右边的变换先应用,注意这和*运算符的接合顺序相反
变换向量时为matrix * vector
dx的变换矩阵:
平移:
绕x轴旋转:
绕y轴旋转:
绕z轴旋转:
缩放:
从图上看,旋转矩阵其实描述的是,一个圆上的两点之间的相对关系
凸多边形: 指多边形任意非相邻的两点的连线位于多边形的内部。
计算漫反射颜色的方法:
Cdiff = max{N • L, 0} * Cmat * Cli
其中N代表顶点的单位法线, L代表从顶点指向光源的单位向量。Cmat 是表面的材料颜色, Cli是光源的颜色。Cdiff则计算出来的结果。在例子中我们使用的是白光,所以我们可以直接忽略掉Cli 因为乘以{1, 1, 1, 1}结果不变。
点乘==内积,得到的是一个数值
叉乘==外积,得到的是一个向量
面的法向量: 就是两个面中向量的外积
点的法向量: 就是包含这个点的所有面的法向量之和
克莱因瓶:
莫比乌斯带:
莫比乌斯带是个“不可定向的”曲面(non-orientable surface)。而普通的纸带圈或者球面是可定向(orientable)的。直观上可以这样解释:在球面或者普通纸带圈的每一个点,可以找两个方向相反的箭头与该曲面垂直,比如一个向外的箭头和一个向内的箭头。我们只取其中一个,比如向外的那个。我们可以连续地把这个箭头在曲面上移动,使之始终与曲面垂直并且指向外。我们把这个箭头称做曲面的一个定向。
上述两者是同构的,把克莱因瓶沿一条线剪开就是莫比乌斯带
opengl和dx使用的矩阵乘法的不同:
行矩阵:(dx使用)
三个轴向量为前三行,最后一行为位移变换
连乘时从左到右接合,左边的变换先应用
变换向量时为vector * matrix
列矩阵:(opengl使用)
三个轴向量为前三列,最后一列为位移变换
连乘时从右到左接合,右边的变换先应用,注意这和*运算符的接合顺序相反
变换向量时为matrix * vector
dx的变换矩阵:
平移:
绕x轴旋转:
绕y轴旋转:
绕z轴旋转:
缩放:
从图上看,旋转矩阵其实描述的是,一个圆上的两点之间的相对关系
相关文章推荐
- [SoapUI] 如何让某个步骤的Assertion失败之后继续执行后面的步骤
- IOS项目之分层MVVM
- 列表树的用法。
- centos怎么安装stardict词典
- 如何去做UI适配
- sql except 用法,找两个表中非共同拥有的
- return (time() - date('Z'))
- 排序算法系列之冒泡排序
- CDOJ邱老师选妹子(数位DP)
- python __file__的绝对路径与import的搜索路径
- 一张金融IC卡的交易流程(一)-----基本数据Tag
- 使用phonegap建立安卓webapp项目及其问题总结
- 利用WebMatrix安装drupal7 基于IID+SqlExpress
- 27. 搭建Git服务器
- Programming Quick Start Guide翻译
- 55.统计字符串中大小写的个数
- 奇特的网格加载效果
- 如何提高代码质量1
- 平行志愿需研究 拉开梯度合理定位
- JCOP Shell常用指令