三角函数(度)
- float agk::Sin( float a );
计算角度a的正弦值并返回。
参数:a为角度。 - float agk::Cos( float a );
计算角度a的余弦值并返回。
参数:a为角度。 - float agk::Tan( float a );
计算角度a的正切值并返回。
参数:a为角度。 - float agk::ASin( float a );
计算角度a的反正弦值并返回。
参数:a为角度。 - float agk::ACos( float a );
计算角度a的反余弦值并返回。
参数:a为角度。 - float agk::ATan( float a );
计算角度a的反正切值并返回。
参数:a为角度。 - 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
}
三角函数(弧度)
- float agk::SinRad( float a );
- float agk::CosRad( float a );
- float agk::TanRad( float a );
- float agk::ASinRad( float a );
- float agk::ACosRad( float a );
- float agk::ATanRad( float a );
- float agk::ATan2Rad( float y, float x );
- 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四舍五入之后的整数。