计算机图形学 opengl版本 第三版------胡事民 第四章 图形学中的向量工具
计算机图形学 opengl版本 第三版------胡事民 第四章 图形学中的向量工具
一 基础
1:向量分析和变换 两个工具 可以设计出各种几何对象
点和向量基于坐标系定义
拇指指向z轴正方向 从x轴的正向握向y轴的正向, 可以分为左手和右手坐标系。
点A到点B的位移称为向量v 则v=B-A 尾-头
一个n维向量是一个n元组 w=(w1,w2,w3,...)
用矩阵来表示向量 更加方便清晰
2:向量的基本运算法则
向量a b 标量s (实数) a=(a1,a2,a3) (向量的坐标表示) b=(b1,b2,b3)
加法:a+b= (a1+b1,a2+b2,a3+b3)
乘法:s(a)=(s*a1,s*a2,s*a3)
有些系统中 标量s表示复数 这里不讨论
3. 向量的线性组合
m个向量v1,v2,v3...vm
向量w=a1v1+a2v2+a3v3+...am+vm
其中am为标量
特殊的线性组合:仿射组合 凸组合
向量的仿射组合:标量系数的和为1 且仅和标量有关
a1+a2+a3+...+am=1
两个向量a和b的仿射组合形式
(1-t)a+(t)b
向量的凸组合:标量的和为1 且 各个标量>=0
4.向量的度量和单位向量
w为向量
|w|=根号下(w1^2+w2^2+w3^2+....+wn^2) 勾股定理 模为头尾两点的距离
有时需要缩放向量 使向量的长度为一,这一过程被叫做向量的归一化 归一化的结果为单位向量
为了得到a的归一化向量 我们可以用1/|a|数乘a
a的单位向量=a/|a| 其中|a|!=0
例如:a=(3,-4) 那么|a|=5 归一化的结果为a^=(3/5,-4/5) 有时我们也吧单位向量看成方向。
任何一个向量都可以写成:a=|a|a^ 向量的模乘方向
二.点积
1.两个工具 点积 和叉积
点积得到一个标量,用于二维向量
叉积得到一个向量 用于三维向量
a.b=a1b1+a2b2
定义:
n维向量v=(v1,v2,v3...vn) w=(w1,w2,w3...wn)
点积d表示为v.w=v1.w1+v2.w2+...vn.wn
性质:对称性(交换):a.b=b.a
线性:(a+c).b=a.b+c.b
同质性:(s.a).b=s(a.b)
|b|.|b|=b.b
2.两向量的夹角:
b=(|b|cos∠b,|b|sin∠b)
c=(|c|cos∠c,|c|sin∠c)
b.c=|b|.|c|.cos∠c.cos∠b+|b|.|c|.sin∠c.sin∠b
b.c=|b|.|c|.cos∠boc
上式两边同时除以|b||c|
cos(∠boc)=b^.c^ 两个向量b和c之间的夹角的余弦等于归一化后向量的点积
3.b.c的符号和正交性
b.c>0 角度小余90度
b.c=0 角度等于90度 此时b垂直于c 则称向量b和向量c是正交的。
b.c<0 角度大于90度
正交也叫直交或者垂直
三维形式常用 叫做标准单位向量,分别称为 i j k
定义:三维空间的标准单位向量有如下分量的向量
i=(1,0,0) j=(0,1,0) k=(0,0,1) 也可以写成矩阵的形式
任意一个三维向量如(a,b,c)都可以写成另一种形式
(a,b,c)=ai+bj+ck
4.二维正交向量
a=(ax,ay)的正交向量为b(-ay,ax) 导致a.b=0 两个向量垂直 ⊥
与a向量的正交向量有无穷多个 任何一个数成b的结果都是与a正交的
定义:给定a=(ax,ay) 则a⊥ =(-ay,ax) 与a逆时针正交
a像左转90度a⊥ a想右转90度为-a⊥
a⊥ 的一些有趣的属性
1.线性 ( a+b)⊥ =a⊥ +b⊥ 对任意标量A 有(Aa)⊥ =Aa⊥
2.a⊥⊥ =(a⊥ )⊥ = - a
3. 正交点积 a⊥ .b=axby-aybx 其中a=(ax,ay)
a⊥ .a=0
|a⊥ |^2=|a|^2 两正交向量具有相同的长度
a⊥ .b=-b⊥ .a 反对称性 例如(0,1) 和(-1,0) 为反对称性
4.
行列式
上面的两个证明 将坐标带入后化简即可得到
5.正交投影和点到直线的距离
图形学中常出现的问题
a 将一个向量投影到另一个向量上
b 将一个向量分解成不同方向上的分量
c 找到一点到另一条直线的距离
k和m是待定的常数 c=kv+mv⊥
我们说从c到v的正交投影是kv并且点c到直线的距离是|mv⊥|
求出k和m 的方法:等式两边同时乘以一个v
c.v=kv.v+v.mv⊥
k=c.v/v.v
两边同时乘以 v⊥
m=c.v⊥/v⊥.v⊥
距离=m .v⊥
也等于
例题:4.3.5
将向量c(6,4)到v=(1,2)的正交投影 并画出相关的向量
用4.20的公式:(14/5,28/5)
例题:4.3.6
求点c=(6,4)到过点(1,1)和(4,9)的直线的距离
6.投影的应用:反射
入射角等于出射角
转载于:https://www.cnblogs.com/dongguolei/p/10228728.html
计算机图形学 opengl版本 第三版------胡事民 第四章 图形学中的向量工具相关推荐
- 计算机图形学 opengl版本 第三版------胡事民 第三章更多的绘图工具
opengl 计算机图形学 第三版 第二部分 第三章更多的绘图工具 3.1 概述 第2章中 我们绘图使用的是屏幕窗口的基础坐标系 以像素为单位 屏幕坐标从左下角x从0延伸到scr ...
- Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25
Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...
- 矩阵笔记4:矩阵分析(第三版)-史荣昌-第四章:矩阵分解
文章目录 0 笔记说明 1 书本内容 1.1 矩阵的满秩分解 1.2 矩阵的正交三角分解(UR.QR分解) 1.3 矩阵的奇异值分解 1.4 矩阵的极分解 1.5 矩阵的谱分解 2 听课笔记 2.1 ...
- 某公司的员工分为5类,每类员工都有相应的封装类。(黑马第三版Java基础入门 第四章编程题)
(1) Employee:这是所有员工总的父类. ① 属性:员工的姓名,员工的生日月份 ② 方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励 ...
- 将大核卷积分三步,清华胡事民、南开程明明团队全新视觉骨干VAN,超越SOTA ViT和CNN...
来源:机器之心 来自清华大学和南开大学的研究者提出了一种新型大核注意力(large kernel attention,LKA)模块,并在 LKA 的基础上构建了一种性能超越 SOTA 视觉 trans ...
- 把大核卷积拆成三步,清华胡事民团队新视觉Backbone刷榜了,集CNN与ViT优点于一身...
梦晨 发自 凹非寺 量子位 | 公众号 QbitAI 在视觉任务上,CNN.ViT各有各的优势和劣势. 于是,以经典Backbone为基础.细节上相互借鉴,成了最近一个热门研究方向. 前有微软Swin ...
- 南大周志华清华胡事民入围院士候选!计算机领域共计7人
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 2021 ...
- 《数据库原理与应用》(第三版)书后上机练习题——第六章
<数据库原理与应用>(第三版)书后上机练习题--第六章 书上给的三个表的数据 题目错误的地方 所有关于VB课的题目,这里可以选择把表中的Java课改成VB课,或者把题目中的VB课改为Jav ...
- 清华大学胡事民是计算机视觉,ResNet也能用在3D模型上了,清华「计图」团队新研究已开源...
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 用AI处理二维图像,离不开卷积神经网络(CNN)这个地基. 不过,面对三维模型,CNN就没有那么得劲了. 主要原因是,3D模型通常采用网格数 ...
最新文章
- Spring Autowired 注入失败总是Null
- 百度如何能实时检索到15分钟前新生成的网页?--转
- 基于VTK的MFC应用程序开发(1)
- 一种 Android 应用内全局获取 Context 实例的装置
- python建立列表_python创建列表和向列表添加元素的实现方法
- Java编程字符逆序输出_用JAVA编写一程序:从键盘输入多个字符串到程序中,并将它们按逆序输出在屏幕上。...
- 机器学习笔记八之机器学习系统设计
- python-利用生成器函数生成斐波那契数列
- AppList.json文件为空,主界面清缓存后加载后还正常显示
- sklearn.neighbors.kneighbors_graph的简单属性介绍
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_15_常用的函数式接口_Predicate接口练习-集合信息的筛选...
- 【第二周】结对编程体会
- 洛谷OJ:P3811 【模板】乘法逆元(线性递推求逆元)
- java加密与解密(一)
- 深度学习之图像分类(七)--ResNet网络结构
- 结合实际案例谈谈项目管理经验
- 当冬日阳光照耀我孤苦的心怀
- 使用AVProVideo的一点小坑
- 关于ckeditor富文本编辑器上传图片返回“不正确的服务器响应”的解决方案
- 【QQ群讨论精华】关于Move,Copy与Referrence
热门文章
- 和县机电工程学校工业机器人_成都机电工程学校专业有哪些
- 深圳先进院研究生计算机专业,2020年中科院深圳先进技术研究院全日制硕士研究生统考专业说明...
- 电商android studio,谷歌 Android Studio 4.0 Beta 5 发布
- vue 指令 v-on 函数传参
- pytorch 回归预测(时间序列)
- python threading.Condition
- python click
- TensorFlow tf.keras.layers.GlobalAveragePooling1D
- c hello world
- java createchannel_【原创】java NIO FileChannel 学习笔记 新建一个FileChannel