这期内容当中小编将会给大家带来有关使用C++怎么判断一个点是否在圆内,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
圆的头文件
#ifndef __CRICLE_H__
#define __CRICLE_H__
#include "point.h"
class Circle
{
public:
//创建圆
void init(int r, int x, int y);
//判断点是否在 当前圆 内
bool inCircle(Point &p);
private:
Point _c;
int _r;
};
#endif// __CRICLE_H__
点的头文件
#ifndef __POINT_H__
#define __POINT_H__
class Point
{
public:
//创建点
void init(int x, int y);
//测一个点和当前点的距离的平方
int distance(Point &p);
private:
int _x;
int _y;
};
#endif//__POINT_H__
圆的源文件
#include "circle.h"
void Circle::init(int r, int x, int y)
{
_r = r;
_c.init(x, y);
}
bool Circle::inCircle(Point &p)
{
//计算点p和 当前圆圆心c 的距离
int dis = p.distance(_c);
//和半径比较
if (dis <= _r*_r)
return true;
else
return false;
}
点的源文件
#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文件
#include <iostream>
#include "circle.h"
#include "point.h"
using namespace std;
int main()
{
//一个点
Point p;
p.init(1,2);
Circle c;
c.init(3, 0, 0);
if (c.inCircle(p))
cout << "在圆内" << endl;
else
cout << "在圆外" << endl;
return 0;
}
上述就是小编为大家分享的使用C++怎么判断一个点是否在圆内了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。