Ccocos2d-x中的一些常用数学函数

本文详细探讨了Cocos2d-x游戏引擎中常用的数学函数,包括坐标转换、几何形状碰撞检测以及矩阵变换等核心概念。通过实例解析,帮助开发者更好地理解和应用这些函数,提升游戏开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用Coco2d-x做游戏开发,要用到比较多的数学计算,引擎本身提供了很多方便的的数学函数,方便我们的数学计算。以下是在网上收集到的一些常用的数学方法,分享给大家!
1.向量的运算
ccpAdd(v1, v2); // 等价 ccp(v1.x+v2.x, v1.y+v2.y);
ccpSub(v1, v2); // 等价 ccp(v1.x-v2.x, v1.y-v2.y);
ccpNeg(v) // 等价 ccp(-v.x, -v.y); 
ccpMult(v, s); //等价 ccp(v.x * s, v.y * s); s是个浮点数
ccpMidpoint(v1, v2); // 等价 ccp( (v1.x + v2.x)/2, (v1.y + v2.y)/2 ); 取两向量的中点
ccpLength(v) // 返回向量v的长度,即点v到原点的距离
ccpLengthSQ(v) // 返回向量v的长度的平方,即点v到原点的距离的平方 
ccpDistance(v1, v2) // 返回点v1到点v2的距离 
ccpDistanceSQ(v1, v2) // 返回点v1到点v2的距离的平方 
ccpNormalize(v) // 返回v的标准化向量,就是长度为1 
2.关于角度的计算
ccpRotate(v1, v2); // 向量v1旋转过向量v2的角度并且乘上向量v2的长度。当v2是一个长度为1的标准向量时就是正常的旋转了,可以配套地用ccpForAngle
ccpToAngle(v); // 返回向量v的弧度 
ccpAngle(a, b); // 返回a,b向量指示角度的差的弧度值
ccpRotateByAngle(v, pivot, angle) // 返回向量v以pivot为旋转轴点,按逆时针方向旋转angle弧度
ccpAngleSigned(const CCPoint& a, const CCPoint& b)//b为基准向量,a为旋转向量,返回向量a,b之间的夹角
ccpPerp(v); // 等价于 ccp(-v.y, v.x); 向量v逆时针旋转90度
ccpRPerp(v); // 等价于 ccp(v.y, -v.x); 顺时针旋转90度 ccpForAngle(a); // 返回一个角度为弧度a的标准向量  
3.关于一些常用的宏
CC_RADIANS_TO_DEGREES(a); // 弧度转角度
CC_DEGREES_TO_RADIANS(a); // 角度转弧度 
CCRANDOM_0_1(); // 产生0到1之间的随机浮点数 
CCRANDOM_MINUS1_1(); // 产生-1到1之间的随机浮点数 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值