在三维图形问题中,点和直线计算是很常见的,比如,已知三维空间中一条直线和任意非直线上的点,求点到直线的垂线(或垂点),这个问题比较典型,基本上就属于一系列三维空间点与直线关系的代表。 首先如下图:学到现在的几何向量,一眼就看得出来,只需要根据向量PC1与向量PV的点积等于0,得到方程组就可以最终计算出P点坐标了。首先我们确定三维空间中P点表示法,使用C1 + n*dir的形式,其中C1为起始点,dir为单位朝向向量,n为模长。那么计算如下:推算出来计算公式,
最近又回顾了一遍叉积,概念我们应该了解,几何上就是向量a和b,那么向量a和b的叉积得到向量c,向量c与向量a和b相互垂直,也就是说向量c垂直于向量a和b所在的平面,同时向量c的模长等于向量a和b组成的平行四边形的面积。 物理上叉积的意义就是力矩的意义。 这里回顾一下以前写的叉积篇:叉积 实际上有个重要的问题以前忽视掉了,那就是unity左手坐标系中的叉积计算遵循左
最近又跑去温习基础数序去了,没办法,人对某个事物的永久记忆是七次理解才能达成,所以抽空写一些常用的数学计算。 在二维和三维开发中,计算向量之间夹角属于很常见的操作,在数学中我们可以使用下面: 1.余弦定理,如果我们知道三边的情况下,使用余弦定理可以计算出任意角的角度,如图: 2.点乘(点积),我们可以通过点乘(点积)推导出: &n
三维引擎中Camera类带有一系列几何函数,这里我们看一下unity中这两个Camera提供的几何函数的意义和实现: 1.ScreenToViewportPoint 顾名思义就是屏幕坐标转视口坐标,在渲染流程中,建模->世界->视口->裁剪->视图得到屏幕坐标系中坐标数值,那么阶段性反过来从屏幕到视口的坐标变换也好理解,屏幕的左下角(0,0)到右上角(wi
这一篇是几何向量的扩展篇之一,因为后面要讲到的CG技术需要这一篇的数学基础,所以额外开一篇进行讲解。 这次我们就观察学习二维中点与直线的重要关系,垂线或者说图形学中的法线,因为这和后续的反射向量、光追计算、镜面计算等有很大依赖关系,比如说我们有一个顶点P处于一块二维镜面前,求这个顶点P在二维镜面中的倒影顶点P',这就需要求出顶点P到镜面所处的直线L的垂线及距离了,如下图: 首先确定镜面直线L的方程:A*x+B*y+C = 0,
二维向量即平面向量,三维向量即空间向量。平面向量是在二维平面内既有方向又只有大小的量,物理学中也称作矢量,与之相对的是只有大小、没有方向的数量(标量)。空间中具有大小和方向的量叫做空间向量。向量的大小叫做向量的长度或模(modulus)。规定,长度为0的向量叫做零向量,记为0。模为1的向量称为单位向量。与向量a长度相等而方向相反的向量,称为a的相反向量。记为-a;方向相等且模相等的向量称为相等向量。三维的主要特点在于: (1) 空间目标通过X、Y、Z三个坐标轴定义,空间关系基于体进行划
平面向量知识整理2020-06-28 13:46:04
概念:平面向量的说的向量,指的是:有大小,有方向,无起点其中所谓的无起点,指的是起点不重要,而并不是没有。常见的运算:(1)加(x1,y1)+(x2,y2)=(x1+x2,y1+y2)(2)减(x1,y1)-(x2,y2)=(x1-x2,y1-y2)(3)数乘k(x1,y1)=(kx1,ky1)(4)点乘(x1.y1).(x2.y2)=x1x2+y1y1(5)求模求模即是求向量大小,有两种写法|(x1,y1)|=√(x1.y1).(x1.y1)  
之前学习完矩阵的理解和作用,又经历过一轮基本仿射变换推导,我想大家对矩阵在实际程序中的应用应该基本了解了,这里我们就实际应用一下。 之前学习的变换过程基本都是变换一个“规范”的图形,这次我们就反过来,把一个“不规范”的图形变换“规范”。 首先作为码农们,我们应该都会阅读大量书籍的,但是为了方便我自己下载过大量pdf文档,因为那样我不需要随身带一本厚重厚重的书,只用带个ipad就
之前我们学习了理解了图形学中的线性代数,而且实际的操作了图形的基础变换,既然学习完基本变换了,那么接下来就看看一些不常见的特殊变换,下面我们就看看错切变换,也称为切变。 这里要介绍一下仿射变换的一个特点,就是“平直性”,因为前面我们理解仿射变换是一个线性变换加上一个平移,线性这个性质就保证了直线变换后还是直线,所以仿射变换,变换后的图形,是直线边的还是直线边。 切变是一种特殊的“平直性”变
这篇博文我只是准备对上一篇博文的内容进行扩展,因为上一篇我写完二维xy仿射坐标系的变换,这一篇我就扩充到三维xyz仿射坐标系的变换推导。 前面我们已经理解学习完矩阵在图形学中的作用,所以这一篇我只做纯推导和图形应用演示。 1.矩阵操作三维仿射坐标系平移,如下图: &nbs