计算机图形学——1.数学基础

本文介绍了计算机图形学中的向量基础知识,包括点乘和叉乘的定义及物理意义,提供了相应的代码实现。点乘用于计算向量在另一向量上的投影,叉乘则用于生成垂直于两个输入向量的新向量。此外,还详细讲解了向量的归一化操作。
摘要由CSDN通过智能技术生成

1.向量的点乘

Dot(a,b)

物理意义:向量a在b上的投影

inline float Dot(const  vec3 &v1, const vec3 &v2){

      return v1.x*v2.x+v1.y*v2.y+v1.z*v2.z;

}

inline float fabsDot(const vec3& v1, const vec3 &v2){

   return fabs(Dot(v1,v2));

}

2.向量的叉乘

Cross(a,b)

物理意义:得到向量c,使其分别垂直于向量a,b.//a,b平面的法向量

v1 x v2 = |   i,      j,      k  |

                | v1.x, v1.y, v1.z|

                | v2.x, v2.y, v2.z|

i,j,k分别为三个轴(0,0,1),(1,0,0),(0,1,0);

三阶行列式求值。对角线原则,左对角线减右对角线

a x b = i*v1.y*v2.z+ j*v1.z*v2.x + k*v1.x*v2.y- k*v1.y*v2.x -i*v1.z*v2.y - j*v1.x*v2.z

inline vec3 Cross(const vec3 &v1, const vec3 &v2){ <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值