// 定义向量类
class Vector
{
public:
double x;
double y;
public:
~Vector(void)
{
}
Vector()
{
x = 1;
y = 1;
}
// 使用两个顶点拉初始化一个向量
Vector(vertex o, vertex d)
{
x = d.x - o.x;
y = d.y - o.y;
}
// 获取向量的角度
double Angle()
{
double radian;
radian = Radian();
double angle = radian*180/3.1415926;
return angle;
}
vertex ToVertex()
{
vertex pt;
pt.x = x;
pt.y = y;
return pt;
}
double Radian()
{
double length = GetLength();
if (length < 0.0000001)
{
return 0.0;
}
double value_sin = y/length;
double value_cos = x/length;
double radian = acos(value_cos);
if (value_sin < 0)
{
radian = 2*3.1415926 - radian;
}
return radian;
}
Vector( double x, double y )
{
this->x = x;
this->y = y;
}
Vector(Vector& other)
{
x = other.x;
y = other.y;
}
void Set( double x, double y )
{
this->x = x;
this-&
定义向量类
最新推荐文章于 2022-01-01 09:55:33 发布