已知两点,求两点与原点连线的角度

/*
怎么求夹角;已知两点坐标要求其到原点连线的夹角,
那么我们可以用向量去做,
用向量的积除以向量模的乘积,在求其反函数,
然后转换为角度就可以知道其角度为多少了;
向量的模的乘积怎么算:      sqrt(x^2+y^2);
向量的乘积   x1*x2+y1*y2;
*/
#include<iostream>
#include<cmath>
using namespace std;
const double PI=acos(-1.0);
int main()
{
	double x1, x2, y1, y2;
	double mo, ji;
	int t;
	scanf("%d", &t);
	while (t--)
	{
		scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
		mo = sqrt(x1*x1 + y1*y1)*sqrt(x2*x2 + y2*y2);
		ji = x1*x2 + y1*y2;
		printf("%.2lf\n", acos(ji / mo) / PI*180.0);
	}
	return 0;
}

 

posted @ 2018-08-17 16:50  Horken  阅读(1239)  评论(0编辑  收藏  举报