#include<iostream>
#include<string>
#include<math.h>
using namespace std;
class Point
{
public:
void setX(int x)
{
X = x;
}
int getX()
{
return X;
}
void setY(int y)
{
Y = y;
}
int getY()
{
return Y;
}
void setZ(int z)
{
Z = z;
}
int getZ()
{
return Z;
}
private:
int X, Y, Z;
};
class Circle
{
public:
void setR(int r)
{
R = r;
}
int getR()
{
return R;
}
void setCenter(Point center)
{
Center = center;
}
Point getCenter()
{
return Center;
}
private:
int R;
int X, Y, Z;
Point Center;
};
void isInCenter(Circle& c, Point p)
{
int distance = sqrt(pow((c.getCenter().getX() - p.getX()),2) + pow((c.getCenter().getY() - p.getY()),2) + pow((c.getCenter().getZ() - p.getZ()),2));
//(c.getCenter().getX() - p.getX())* (c.getCenter().getX() - p.getX()) + (c.getCenter().getY() - p.getY()) * (c.getCenter().getY() - p.getY()) + (c.getCenter().getZ() - p.getZ()) * (c.getCenter().getZ() - p.getZ());
if (c.getR() == distance)
{
cout << "点在圆上" << endl;
}
else if (c.getR() > distance)
{
cout << "点在圆内" << endl;
}
else
{
cout << "点在圆内" << endl;
}
}
int main()
{
Circle c;
c.setR(10);
Point center;
int x,y,z;
cout << "请输入x" << endl;
cin >> x;
cout << "请输入y" << endl;
cin >> y;
cout << "请输入z" << endl;
cin >> z;
x = center.getX();
y = center.getY();
z = center.getZ();
//center.setX();
//center.setY();
//center.setZ();
Point p;
p.setX(10);
p.setY(10);
isInCenter(c, p);
}
C++判断点和圆的关系
最新推荐文章于 2023-11-18 14:56:10 发布