GLM(openGL mathematic)库使用记录

1. GLM数学库常用函数
1.1 关于向量
(1)glm库中向量的定义都是使用一维数组
(2)glm::normalize(vector)-----标准化向量
】 normalize 即向量的单位化。
】 向量的单位化:

    // 可以这样使用:
    glm::vec3 a = { 3.0, 2.0, 3.0 };
	glm::vec3 b = { 1.0, 0.0, 3.0 };
	glm::vec3 c = glm::normalize(a*b);
	// 或者:
	glm::normalize(a); // 直接单位化,这里直接修改了参数a
	// 但不能这么使用:
	glm::vec3 b=glm::normalize(c);

总结:可以normalize 一个运算式赋值,直接normalize(a)但不赋值,不能normlize单个向量,然后赋值给其他向量。

(3)glm::cross(vector1,vector2)-----向量的×乘
【注】 向量的叉乘返回一个(右手定则)垂直于两个向量的向量,且这里提醒一下叉乘的计算方式:
i , j , k ,
x , y, z
a, b, c
i–+(yc-bz)
j-- ‘-’(xc-za)…

(4)glm::dot(vector1,vector2)-----向量的点乘
【注】 向量的点乘返回一个小数值,而非向量

Waiting for adding…
1.2 关于矩阵
(1)glm库中矩阵的定义都是使用二维数组
(2)glm库中矩阵的乘法都是相反的。例如AB,在glm中计算的结果与大学所学线代中矩阵的乘法运算结果不同,运算的是课本中BA的结果。

(3)glm::determinant(A)-----求方阵A的行列式,返回一个数值
(4)B=glm::inverse(A)-----求方阵A的逆矩阵,这里返回一个矩阵,需要接收,而不改变参数A。这一点与glm::normalize(a)不同。
(5)B=glm::transpose(A)-----求矩阵的转置,使用通inverse相同
Waiting for adding…
1.3 矩阵与向量之间的运算
(1)矩阵与向量的乘法 (同矩阵与矩阵的乘法一样),都与线性代数中的计算顺序是相反的。
Waiting for adding…

2 矩阵与坐标系的关系
2.1在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值