osg的数学基础

1、OSG节点平移原理


物体的节点位置P(x,y,z,1),现调用函数osg::Matrix::translate(a, b,c)对其平移,节点的位置将会到达Pl(x+a,y+b,z+c,1)。那么存在一个矩阵M使得 P*M=P1该矩阵为:




通过P与M的乘积,就能得到P1的值。那么OSG中物体的平移其实就是物体的坐标与该M矩阵相乘的结果。
2、OSG节点旋转原理


OSG中对物体的旋转是通过osg::Matrix::rotate ()函数来实现的,该函数能指定绕某一坐标轴旋转某一角度。如果物体原始位置P(x,y,z,1),现调用osg:Matrix::rotate(a, b,c,0),节点将会绕 X, Y, Z 轴分布旋转 a,b, c 角度到达n点。事实证明存在旋转矩阵Mx,My, Mz,使得P*Mx*My*Mz=n。


3 OSG节点缩放原理


节点缩放能够通过osg::Matrix::scale()函数来实现,它能够让物体在某一个轴的方向缩放某一个程度。己知物体节点在X,Y, Z方向的向量大小分别为X,y,Z,如果该节点调用osg::Matrix::scale(a,b,c),那么该物体的大小将会在X,Y,Z轴方向被缩放a,b,c倍。存在如下矩阵:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值