64,636
社区成员
发帖
与我相关
我的任务
分享
double Tri(Point p1,Point p2)//形参是Point类的对象p1,p2
{
double angle;
if (p1.x == p2.x && p1.y < p2.y)
return 90.0;//如果x坐标相等,p1的y值小于p2的y值,则方位角是90
if (p1.x == p2.x && p1.y > p2.y)
return 270.0;//如果x坐标相等,p1的y值大于p2的y值,则方位角是270
if (p1.y == p2.y && p1.x < p2.x)
return 0.0;//如果y坐标相等,p1的x值小于p2的x值,则方位角是180
if (p1.y == p2.y && p1.x > p2.x)
return 180.0;//如果y坐标相等,p1的x值大于p2的x值,则方位角是180
angle = atan((p1.y - p2.y) / (p1.x - p2.x)) * (180.0 / M_PI); //得到弧度制的角
if (p1.x < p2.x && p1.y < p2.y)
return angle; //标准情况下正常输出。
if (p1.x > p2.x)
return 180.0 + angle;//angle正负都有可能。
if (p1.x < p2.x && p1.y > p2.y)
return 360.0 + angle;//angle是负值。
}
[/quote]两个向量内积不行吗?double Tri(Point p1,Point p2)//形参是Point类的对象p1,p2
{
double angle;
if (p1.x == p2.x && p1.y < p2.y)
return 90.0;//如果x坐标相等,p1的y值小于p2的y值,则方位角是90
if (p1.x == p2.x && p1.y > p2.y)
return 270.0;//如果x坐标相等,p1的y值大于p2的y值,则方位角是270
if (p1.y == p2.y && p1.x < p2.x)
return 0.0;//如果y坐标相等,p1的x值小于p2的x值,则方位角是180
if (p1.y == p2.y && p1.x > p2.x)
return 180.0;//如果y坐标相等,p1的x值大于p2的x值,则方位角是180
angle = atan((p1.y - p2.y) / (p1.x - p2.x)) * (180.0 / M_PI); //得到弧度制的角
if (p1.x < p2.x && p1.y < p2.y)
return angle; //标准情况下正常输出。
if (p1.x > p2.x)
return 180.0 + angle;//angle正负都有可能。
if (p1.x < p2.x && p1.y > p2.y)
return 360.0 + angle;//angle是负值。
}
double Tri(Point p1,Point p2)//形参是Point类的对象p1,p2
{
double angle;
if (p1.x == p2.x && p1.y < p2.y)
return 90.0;//如果x坐标相等,p1的y值小于p2的y值,则方位角是90
if (p1.x == p2.x && p1.y > p2.y)
return 270.0;//如果x坐标相等,p1的y值大于p2的y值,则方位角是270
if (p1.y == p2.y && p1.x < p2.x)
return 0.0;//如果y坐标相等,p1的x值小于p2的x值,则方位角是180
if (p1.y == p2.y && p1.x > p2.x)
return 180.0;//如果y坐标相等,p1的x值大于p2的x值,则方位角是180
angle = atan((p1.y - p2.y) / (p1.x - p2.x)) * (180.0 / M_PI); //得到弧度制的角
if (p1.x < p2.x && p1.y < p2.y)
return angle; //标准情况下正常输出。
if (p1.x > p2.x)
return 180.0 + angle;//angle正负都有可能。
if (p1.x < p2.x && p1.y > p2.y)
return 360.0 + angle;//angle是负值。
}
#include<math.h>
//反余弦函数:acos()
double acos(double x)
//反正弦函数:asin()
double asin(double x)
//反正切函数:atan()
double atan(double x)
自己慢慢琢磨吧。刚开始学都难,不琢磨永远都不会。祝你好运。