- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 矩阵与坐标系的关系
向量在几何上能被解释成一系列与轴平行的位移。如向量[1,-3,4]能被解释成位移[1,0,0],随后位移[0,-3,0],最后位移[0,0,4]。将这个位移序列解释成向量的加法为:一般来说,任意向量v都能写为“扩展”形式:另一种略有差别的形式为:注意右边的单位向量是x,y,z轴。让我们将上面的向量和重新写一遍,这次,分别将p,q和r定义为指向+x,+y和+z方向的单位向量,得到:v=xp+yq+zr现在,向量v就被表示成向量p,q,r的线性变换了。向量p,q,r称作基
2021-12-26 12:21:11
3978
原创 向量投影的实现原理
给定两个向量v和n,能将v分解成两个向量:和。他们分别平行于和垂直于n,并满足v=+。一般称平行分量为v在n上的投影。下面我们先求。观察到平行于n,所以可以得到和n的单位向量是相同的,所以可以得到:因此只要能够求出的模,就能够计算出该投影向量的值了。由三角函数可得到:将代入上式得到:又有公式,最终可以得到至此,就求出了v在n上的投影向量。又因为V=+,所以可以得到垂直向量为:...
2021-12-22 11:23:53
2024
转载 快速排序算法的一些记录
一晃工作已经好多年了,回顾这些年找工作的经历,发现快速排序算法经常被面试官问道,在这里做个记录,也是为加深对算法的理解和认识。下面参考一些其他作者写的详解,做一个记录。 快速排序,就是给基准数据找到其正确索引位置的过程。 假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23,然后分别从数组的两端扫描数组,设两个指示指标:low指向起始位置,high指向末尾。 首先从后半部分开始,如果扫描到的值大于基准数据...
2021-12-21 09:58:41
112
原创 OpenGL 坐标变换-4
1.向量加减2.向量点积也称为数量积,其结果为一个标量,其定义为几何意义:用于计算两个向量之间的夹角a·b>0 方向基本相同,夹角在0°到90°之间 a·b=0 正交(垂直)a·b另外也用于计算投影,投影计算得到一个标量向量A在B上的投影定义为:则AB = A.B / |B|3.向量叉积两个
2018-02-05 22:15:45
290
原创 OpenGL 二维纹理映射-3
#include #include #include #include #include using namespace std;unsigned int img = -1;GLuint vShader,fShader;//顶点着色器对象GLuint programHandle = -1;GLuint VBO, VAO, EBO;GLuint loadPNGTexture
2018-01-28 10:08:31
471
原创 OpenGL Xcode加入libpng库-2
1.在控制台安装MacPorts软件安装工具2.使用MacPorts安装libpng命令为:sudo port install libpng3.在xcode的工程设置中的Header Search Paths添加/opt/local/include/4.在xcode的工程设置中的Library Search Paths添加/opt/local/lib/通过上面四步后理论
2018-01-28 09:52:02
499
原创 OpenGL VAO和VBO画三角形-1
1.VBOVBO归根到底是显卡存储空间里的一块缓存区(Buffer)而已,这个Buffer有它的名字(VBO的ID),OpenGL在GPU的某处记录着这个ID和对应的显存地址。这里对位置,颜色,纹理坐标,法线,还是其他顶点属性进行设置,但是一个VBO对于交给它存储的数据到底是什么,完全不知道。2.VAOVAO的全名是Vertex Array Object,首先,它不是Buffer-
2018-01-24 21:00:00
856
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人