(事先说明:知识来源于:《GPU 编程与CG 语言之阳春白雪下里巴人》这里只是个人理解解读,为以后回顾。如果有错希望提醒改正)
14、determinant(m) :计算矩阵的行列式因子。
行列式因子(λ)含义:原矩阵看做二维数组,for循环i行i列减去 λ 的到新 数组(矩阵)。新 数组(矩阵)的含λ子矩阵(k阶)一定存在不为零的一个。(原矩阵3*3,子矩阵为其中圈一个2*2(k=2)并且含λ参数)同时λ要保证k阶子矩阵们的首项为1公因式既最大公因式。A(λ)为k级行列式因子。等价的λ矩阵具有相同的秩与相同的各级行列式因子。 0<k<r(r为原矩阵的秩)
猜想:这里按函数的功能输入的m应该是k阶子矩阵的k值。(如有错误希望提醒改正)
15、dot(A,B):返回A 和B 的点积(dot product)。点积得到是一个数不再是向量。参数A、B可以是标量,也可以是向量。标量既没有方向只有大小,向量(矢量)有大小有方向。(应为:标量乘标量还是标量(无方向),所以不可以输入于叉积cross(A,B))。(标量:列int.string,float1等)。
16、exp(x):计算e的x次方的值,e= 2.71828182845904523536。
17、exp2(x):计算2的x次方的值。
18、floor(x):对输入参数向下取整。列:(1.1~1.9)都取 1,对应ceil(x)。
19、fmod(x,y): 返回x/y 的余数。如果y 为0,结果不可预料。(使用时注意y不能为0)。
20、fiac(x):返回标量或矢量的非整数部分,既小数或分数部分。等价于(fmod(x,1))。
21、frexp(x, out exp):将浮点数x 分解为尾数和指数,即x = m* 2^exp,返回m,并将指数存入exp 中;如果x 为0,则尾数和指数都返回0。
(用2进制表示x,m为小数点位数(列:0.01)注意有两个传出数据(exp,m))。
22、isfinite(x):判断输入数据是否每一个都为有限数,(输入矢量时要判断x,y,z等)是返回true。(返回为false时,两种情况:一:数据为无限数,二:参数为非数据(传入string类型))。
23、isinf(x): 判断输入数据是否每一个都是无限数,是返回true。(同理返回false有两种情况)
24、isnan(x):判断输入数据是否每一个都为非数据,是返回true。
25、ldexp(x, n)计算x*2的n次方值。
26、lerp(a, b, f)计算 a +f*(b-a)的值。的到的值在[a,b]之间。f取值[0,1]
27、lit(NdotL, NdotH, m) :(原话有点长但是很好理解)N 表示法向量;L 表示入射光向量;H 表示半角向量;m 表示高光系数。函数计算环境光、散射光、镜面光的贡献,返回的4 元向量:X 位表示环境光的贡献,总是1.0;Y位代表散射光的贡献,如果N • L < 0,则为 0;否则为N • LZ位代表镜面光的贡献,如果 N • L < 0或者N • H < 0,则位 0;否则为(N • H)m;W 位始终位1.0
(返回值有变化的为Y,Z。Y实现漫反射相关,z实现镜面反射镜面相关)
、、、、、、、、、、、、、、、以下为原书截图、、、、、、、、、、、、、