#include<iostream>
using namespace std;
class pointer
{
public:
void setX(int x)
{
m_X = x;
}
int getX()
{
return m_X;
}
void setY(int y)
{
m_Y = y;
}
int getY()
{
return m_Y;
}
private:
int m_X;
int m_Y;
};
class circle
{
public:
void setR(int r)
{
m_R = r;
}
int getR()
{
return m_R;
}
void setCenter(pointer Center)
{
m_Center = Center;
}
pointer getcenter()
{
return m_Center;
}
private:
pointer m_Center;
int m_R;
};
void distince(circle &c, pointer &p)
{
int m_Count =
(c.getcenter().getX() - p.getX()) * (c.getcenter().getX() - p.getX()) + (c.getcenter().getY() - p.getY()) * (c.getcenter().getY() - p.getY())
-c.getR() * c.getR();//两点之间的距离的平方减去半径的平方
if (m_Count > 0)
{
cout << "在圆外" << endl;
}
else if (m_Count == 0)
{
cout << "在圆上" << endl;
}
else
cout << "在圆内" << endl;
}
int main()
{
pointer p;
p.setX(10);
p.setY(10);//点(10,10);
circle c;
pointer Center;
Center.setX(5);
Center.setY(5);
c.setCenter(Center);
c.setR(5);//创建一个圆心为(5,5),半径为5的圆;
distince(c, p);
return 0;
}
c++圆和点位置关系的判断
最新推荐文章于 2024-05-20 19:43:04 发布