C/C++基础 atan2的用法

文章介绍了C语言中doubleatan2(doubley,doublex)函数的用法,该函数返回点(x,y)相对于x轴的角度,以弧度表示。角度在区间(-π,π]内,正角度表示逆时针,负角度表示顺时针。示例代码展示了如何在四个象限中使用该函数并转换为度数。

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

        C 语言里 double atan2(double y,double x) 返回的是原点至点(x,y)的方位角,即与 x 轴的夹角。返回值的单位为弧度取值范围为(-π, π]。结果为正表示从 X 轴逆时针旋转的角度,结果为负表示从 X 轴顺时针旋转的角度。若要用度表示反正切值,请将结果再乘以 180/π。另外要注意的是,函数atan2(y,x)中参数的顺序是倒置的,atan2(y,x)计算的值相当于点(x,y)的角度值。

 

 例子:

#include "stdio.h"
#include "math.h"
#include<iostream>
using namespace std;

double PI = 3.1415926535897932384626433832795;

struct Point
{
	int x;
	int y;
};  //最后的分号千万不能省略

int main()
{
	struct Point P1, P2, P3, P4;
	P1.x = 20, P1.y = 30;		//第1象限点
	P2.x = -45, P2.y = 23;		//第2象限点
	P3.x = -73, P3.y = -38;		//第3象限点
	P4.x = 29, P4.y = -47;		//第4象限点

	cout << "第1象限:P1.x P1.y" <<":"<< P1.x <<" "<< P1.y << endl;
	cout << "atan2: " << atan2(P1.y, P1.x) * 180 / PI << endl;

	cout << "第2象限:P2.x P2.y" <<":"<< P2.x <<" "<< P2.y << endl;
	cout << "atan2: " << atan2(P2.y, P2.x) * 180 / PI << endl;

	cout << "第3象限:P3.x P3.y" <<":"<< P3.x <<" "<< P3.y << endl;
	cout << "atan2: " << atan2(P3.y, P3.x) * 180 / PI << endl;

	cout << "第4象限:P4.x P4.y" <<":"<< P4.x <<" "<< P4.y << endl;
	cout << "atan2: " << atan2(P4.y, P4.x) * 180 / PI << endl;

	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值