OpenGL

六、OpenGL 向量 矩阵

2020-07-17  本文已影响0人  夏天的枫_

一、向量

math3d 库中点乘API
// m3dDotProduct3 函数获得2个向量之间的点乘结果
float m3dDotProduct3(const M3DVector3f u , const M3dVector3f v);
// 2. m3dGetAngleBetweenVector3 即可获取2个向量之间的夹角弧度值
float m3dGetAngleBetweenVector3(const M3DVector3f u ,const M3DVector3f v);
// m3dCrossProduct3 函数获得2个向量叉乘,最终得到一个新向量
void m3dCrossProduct3(M3DVector3f result,const M3DVector3f u,const M3DVector3f v);
矩阵

OpenGL约定中,默认以列矩阵作为对矩阵的描述,且以一维数组作为对矩阵的存储,其他编程中多以二维对矩阵的存储形式。
以列矩阵为例,一个矩阵和一个向量相乘时,必须要求矩阵的行数与向量的列数相同,才能进行相乘计算。

模型 说明
视图变换 指定观察者位置
模型变换 在场景中移动物体
模型视图 描述视图/模型变换的二元性(2种看到模型转换的方式)
投影 改变视景体大小和设置它的投影方式
视口 伪变化,对窗口上最终输出进行缩放

模型变换

模型变换:用于操纵模型与其中某特定变换,这种变换将对象移动到需要的位置,通过旋转、缩放、平移。两种看待模型变换的方式: ①移动观察者 ② 移动坐标系

void m3dTranslationMatrix44(M3DMatrix44f m, float x, float y, float z);
// m3dEGtOrAD(45.0) : 度数转弧度
m3dRotaionMatrix44(m3dEGtOrAD(45.0),float x,float y float z)
void m3dScaleMatrix44(M3DMatrix44f m, float xScale, float yScale, float zScale);
上一篇 下一篇

猜你喜欢

热点阅读