Appgamekit指令之数学(c++版)

三角函数(度)

  1. float agk::Sin( float a );
    计算角度a的正弦值并返回。
    参数:a为角度。
  2. float agk::Cos( float a );
    计算角度a的余弦值并返回。
    参数:a为角度。
  3. float agk::Tan( float a );
    计算角度a的正切值并返回。
    参数:a为角度。
  4. float agk::ASin( float a );
    计算角度a的反正弦值并返回。
    参数:a为角度。
  5. float agk::ACos( float a );
    计算角度a的反余弦值并返回。
    参数:a为角度。
  6. float agk::ATan( float a );
    计算角度a的反正切值并返回。
    参数:a为角度。
  7. float agk::ATan2( float y, float x );
    在平面直角坐标系中,计算向量(x,y)与x轴正半轴的夹角并返回,夹角范围-180至180。
    参数:x为向量横坐标,y为向量纵坐标。

示例代码:

int app::Loop (void)
{
	agk::PrintC("Atan2(1,0)=");
	agk::Print(agk::Str(agk::ATan2(1,0)));
	agk::PrintC("Atan2(-1,0)=");
	agk::Print(agk::Str(agk::ATan2(-1, 0)));
	agk::PrintC("Atan2(0,1)=");
	agk::Print(agk::Str(agk::ATan2(0, 1)));
	agk::PrintC("Atan2(0,-1)=");
	agk::Print(agk::Str(agk::ATan2(0, -1)));
	agk::Sync();
	return 0; // return 1 to close app
}

在这里插入图片描述
8. float agk::ATanFull( float x, float y );
在平面直角坐标系中,计算向量(x,y)与y轴负半轴的夹角并返回,夹角范围0至360,逆时针方向递增,适用于2D游戏中。
参数:a为角度。

示例代码:

int app::Loop (void)
{
	agk::PrintC("ATanFull(1,0)=");
	agk::Print(agk::Str(agk::ATanFull(1, 0)));
	agk::PrintC("ATanFull(-1,0)=");
	agk::Print(agk::Str(agk::ATanFull(-1, 0)));
	agk::PrintC("ATanFull(0,1)=");
	agk::Print(agk::Str(agk::ATanFull(0, 1)));
	agk::PrintC("ATanFull(0,-1)=");
	agk::Print(agk::Str(agk::ATanFull(0, -1)));
	agk::Sync();
	return 0; // return 1 to close app
}

在这里插入图片描述

三角函数(弧度)

  1. float agk::SinRad( float a );
  2. float agk::CosRad( float a );
  3. float agk::TanRad( float a );
  4. float agk::ASinRad( float a );
  5. float agk::ACosRad( float a );
  6. float agk::ATanRad( float a );
  7. float agk::ATan2Rad( float y, float x );
  8. float agk::ATanFullRad( float x, float y );

功能全部同上,前6个参数单位是弧度,后2个返回值单位是弧度

常用函数

绝对值

float agk::Abs( float a );
返回a的绝对值。

向上取整

int agk::Ceil( float a );
返回大于或等于a的最小整数。

取余

  • float agk::FMod( float a, float b );
    返回浮点数a除浮点数b的余数。
  • int agk::Mod( int a, int b );
    返回整数a除整数b的余数。

向下取整

int agk::Floor( float a );
返回小于或等于a的最大整数。

自然对数

float agk::Log( float a );
返回a的自然对数。或者说是返回底数为e,真数为a的对数值。
就是数学中的 ln

幂函数

  • float agk::Pow( float a, float b );
    返回a的b次的值。
  • float agk::Sqrt( float a )
    返回根号a的值。

随机数

  • UINT agk::Random( );
    产生介于0和65535之间的随机数并返回。
  • UINT agk::Random( UINT from, UINT to );
    产生介于from和to 之间的随机数并返回。
  • int agk::Random2( );
    产生介于-2,147,483,648和2,147,483,647之间的随机数并返回,速度较慢。
  • int agk::Random2( int from, int to );
    产生介于from和to 之间的随机数并返回。
  • int agk::RandomSign( int value );
    随机返回value的正数或负数。
  • void agk::SetRandomSeed( UINT seed );
    设置随机种子,适用于Random。相同的种子产生的随机数序列一样。
  • void agk::SetRandomSeed2( UINT seed );
    设置随机种子,适用于Random2。相同的种子产生的随机数序列一样。

截断

int agk::Trunc( float a );
返回小数的整数部分。

四舍五入

int agk::Round( float a );
返回小数a四舍五入之后的整数。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序鸡

如果帮到您,点个赞鼓励一下吧。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值