首页 > 其他分享 >点和圆的关系

点和圆的关系

时间:2023-04-25 20:44:34浏览次数:25  
标签:关系 int void getcenter getX getY 半径

设计一个圆类和一个点类,判断点和圆的关系。

1.首先,圆类我们要设置它的圆心和半径。

2.点要写出它的x坐标和y坐标。

3.判断点和圆的关系就是计算点到圆心的距离,然后用这个距离和半径比较。

4.那么如果这个距离比半径大,就是在圆外,反之就是圆内,如果相等,就在圆上

用代码来解释就是

void panduan(Circle &c,Point &p)//这里传入圆心,和点的坐标
{int juli=(c.getcenter().getX() - p.getX())* (c.getcenter().getX() - 
    (p.getX()) +( c.getcenter().getY() - p.getY())* (p.getX()) + c.getcenter().getY() - p.getY());//这里是(x1-x2)^2+(y1-y2)^2,也就是点到圆心距离的平方
    int L = c.getR() * c.getR();//L是半径的平方
if (juli == L)//我们拿点到距离的平方和半径的平方作比较,就不用开根号了,这里是距离等于半径
    {
        cout << "点在圆上" << endl;
    }
    else if (juli > L)//距离比半径大
    {
        cout << "点在圆外" << endl;
    }
    else//距离比半径小
    {
        cout << "点在圆内" << endl;
    }
}

主要的写完了,剩下的就是创建圆类和点类,然后把上面判断的过程加进去就行了

完整代码是

#include<iostream>
using namespace std;
class Point {
private:
    int m_X;//设置x坐标
    int m_Y;//y坐标
public:
    void setX(int x)//设置x
    {
        m_X = x;
    }
    int getX()//获得x
    {
        return m_X;
    }
    void setY(int y)//设置y
    {
        m_Y = y;
    }
    int getY()//获得y
    {
        return m_Y;
    }
};
class Circle {
public:
    void setR(int r)
    {
        m_R = r;//圆类的设置半径
    }
    int getR()
    {
        return m_R;//获得半径
    }
    void setcenter(Point center)
//这里要给圆设一个圆心 { m_center = center; } Point getcenter() { return m_center;//获得圆心坐标 } private: Point m_center; int m_R; }; void panduan(Circle &c,Point &p) {int juli=(c.getcenter().getX() - p.getX())* (c.getcenter().getX() - (p.getX()) +( c.getcenter().getY() - p.getY())* (p.getX()) + c.getcenter().getY() - p.getY()); int L = c.getR() * c.getR(); if (juli == L) { cout << "点在圆上" << endl; } else if (juli > L) { cout << "点在圆外" << endl; } else { cout << "点在圆内" << endl; } } int main() { Circle c;//创建一个叫c的圆 c.setR(10);//圆的半径设置为10 Point center; center.setX(10);//圆的圆心x坐标为10 center.setY(0);//圆心y坐标为0 c.setcenter(center); Point p;//创建一个叫p的点 p.setX(101);//p点x坐标为101 p.setY(101);//y坐标为101 panduan(c, p);//判断点和圆的关系 return 0; }

 

标签:关系,int,void,getcenter,getX,getY,半径
From: https://www.cnblogs.com/lllyclh/p/17353791.html

相关文章

  • 关系网络
    有n个人,他们的编号为1~n,其中有一些人相互认识,现在x想要认识y,可以通过他所认识的人来认识更多的人(如果a认识b,b认识c那么a可以通过b来认识c),求出x最少需要通过多少人才能认识y。输入第1行3个整数n、x、y,2≤n≤100;接下来的n行是一个nXn的邻接矩阵,a[i][j]=1表示i认识j,a[i......
  • 03.关系映射
    一、实体关系实体——数据实体,实体关系指的就是数据与数据之间的关系例如:用户和角色、房屋和楼栋、订单和商品实体关系分为以下四种:一对一关联实例:学生和校园卡、人和身份证、用户基本信息和详情数据表关系:主键关联(用户表主键和详情主键相同时,表示是匹配的数据)学生......
  • 关于如何清空存在依赖关系的表
    设表student,course,scstudent中的sno为主键course中cno为主键sc中sno和cno为外键 如果按照student,course,sc的顺序情况,那么会出现因为student,course存在依赖关系而无法情况数据的情况因此这种情况下应该将顺序调整为sc,student,course这样就可以啦......
  • 机器学习、神经网络与卷积神经网络 三者的关系
    机器学习和神经网络都是人工智能(AI)领域中的重要概念。机器学习是指让计算机通过自我学习改善性能的一种方法。通常使用大量的数据训练模型,并持续对模型进行调整和改进,从而使其能够有效地处理新的数据并提供准确的预测。神经网络则是一种模拟人类神经系统的计算模型,可以通过多层......
  • 关系运算
    关系代数运算基本关系运算是指对单个或多个关系进行操作的运算,有以下五种:并(Union):用符号∪表示,表示两个具有相同结构的关系的并集,即把两个关系中的元组合并起来,去除重复的元组。差(Difference):用符号-表示,表示两个具有相同结构的关系的差集,即把第一个关系中存在而第二个关系中不......
  • R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化|附代码数据
    全文链接:http://tecdat.cn/?p=31434最近我们被客户要求撰写关于生态学进化树的研究报告,包括一些图形和统计输出。我们围绕进化树技术进行一些咨询,分析生物类群在时间上的多样性是如何变化的我们将用到分类单元数-时间图(Lineages-through-timeplot),该图可以用来描述物种多样化......
  • 【JPA】LocalContainerEntityManagerFactoryBean与EntityManger的关系
    @Autowired@Qualifier("primaryEntityManagerFactory")privateEntityManagerprimaryEntityManager;@Primary@Bean(name="primaryEntityManagerFactory")publicLocalContainerEntityManagerFactoryBeanprimaryEntityManagerFactory(Entit......
  • Matter 与ZigBee、蓝牙、Wi-Fi的关系
     OSI七层网络模型,从高到低,依次为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。 简化一下,将会话层和表示层合并到应用层,数据链路层和物理层合并到底层,形成新的网络模型:应用层、传输层、网络层、底层。 应用层为Matter、传输层为TCP/UDP、网络层为IPv6、......
  • 3d设置关系颜色
    前言3d-force-graph是一个开源的JavaScript库,用于在3D空间中可视化关系网络。这个库提供了许多配置选项,其中一个是设置关系颜色。colorLink属性在3d-force-graph中,我们可以使用colorLink属性来设置关系的颜色。colorLink可以是一个字符串,指定所有关系的颜色;也可以是......
  • 手游(明日方舟)营收与社区动态评论关系分析
    importpandasaspdimportnumpyasnpimportmatplotlibasmpfrompandas.core.algorithmsimportSelectN,diffimportseabornassefrommatplotlibimportpyplotaspltimportwordcloudimportjiebaimportloggingfromPILimportImage##设置中文plt.rcPa......