C++ A method of determining whether a point is inside a circle
- 2020-06-07 04:55:07
- OfStack
This paper shares the method of C++ to determine whether a point is inside a circle for your reference. The specific content is as follows
The header file for the circle
#ifndef __CRICLE_H__
#define __CRICLE_H__
#include "point.h"
class Circle
{
public:
// Create a circle
void init(int r, int x, int y);
// Determine if the point is The current round Within the
bool inCircle(Point &p);
private:
Point _c;
int _r;
};
#endif// __CRICLE_H__
Dot the header file
#ifndef __POINT_H__
#define __POINT_H__
class Point
{
public:
// Create a point
void init(int x, int y);
// measuring 1 The square of the distance between the point and the current point
int distance(Point &p);
private:
int _x;
int _y;
};
#endif//__POINT_H__
Source file for the circle
#include "circle.h"
void Circle::init(int r, int x, int y)
{
_r = r;
_c.init(x, y);
}
bool Circle::inCircle(Point &p)
{
// Calculation point p and The current center of the circle c The distance from the
int dis = p.distance(_c);
// To the radius
if (dis <= _r*_r)
return true;
else
return false;
}
Point to the source file
#include "point.h"
void Point::init(int x, int y)
{
_x = x;
_y = y;
}
int Point::distance(Point &p)
{
int dis = (_x-p._x)*(_x-p._x)
+ (_y-p._y)*(_y-p._y);
return dis;
}
main file
#include <iostream>
#include "circle.h"
#include "point.h"
using namespace std;
int main()
{
//1 A point
Point p;
p.init(1,2);
Circle c;
c.init(3, 0, 0);
if (c.inCircle(p))
cout << " In the circle " << endl;
else
cout << " Outside the circle " << endl;
return 0;
}