吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 659|回复: 4
收起左侧

[学习记录] [学习记录] C++,从入坑到埋了自己(九)续

[复制链接]
tester001 发表于 2022-7-31 15:57
* 点和圆的位置关系
* 在圆内、在圆上、在圆外
* 坐标计算公式(x1-x2)^2+(y1-y2)^2 = R^2

[C++] 纯文本查看 复制代码
#include<iostream>
using namespace std;
/*
* 点和圆的位置关系
* 在圆内、在圆上、在圆外
* 坐标计算公式(x1-x2)^2+(y1-y2)^2 = R^2
*/

//定义点类
class Point
{
public:
	//设置X的坐标值
	void setX(double sx)
	{
		P_X = sx;
	}
	//获取X的坐标值
	double getX()
	{
		return P_X;
	}
	//设置Y的坐标值
	void setY(double sy)
	{
		P_Y = sy;
	}
	//获取Y的坐标值
	double getY()
	{
		return P_Y;
	}
private:
	int P_X;
	int P_Y;
};

//定义圆类
class Circle
{
public:
	//设置半径
	void setR(double sr)
	{
		C_R = sr;
	}
	//获取半径
	double getR()
	{
		return C_R;
	}
	//设置圆心坐标
	void setCenter(Point Center)
	{
		CP = Center;
	}
	//获取圆心坐标
	Point getCenter()
	{
		return CP;
	}
private:
	double C_R;
	Point CP;   //圆心坐标
};

//位置关系函数
void Pos_Relationship(Point &PP, Circle &CP)
{
	double Distance = (PP.getX() - CP.getCenter().getX()) * (PP.getX() - CP.getCenter().getX()) + (PP.getY() - CP.getCenter().getY()) * (PP.getY() - CP.getCenter().getY());
	double rad = CP.getR() * CP.getR();
	if (Distance == rad)
	{
		cout << "这个点在圆上" << endl;
	}
	else if (Distance > rad)
	{
		cout << "这个点在圆外" << endl;
	}
	else
	{
		cout << "这个点在圆内" << endl;
	}
}

//主函数
int main()
{
	//这是一个圆
	Circle C1;
	Point Center;
	Point P1;
	//设置半径
	C1.setR(2);
	//设置圆心
	Center.setX(10);
	Center.setY(0);
	C1.setCenter(Center);
	//设置需要比较的点
	P1.setX(10);
	P1.setY(11);
	//进行比较
	Pos_Relationship(P1, C1);
	system("pause");
	return 0;
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

apples1949 发表于 2022-7-31 16:10
发求助区不太好吧。。
sam喵喵 发表于 2022-7-31 16:34
楼主何不研究下碰撞算法,写成代码发上来就厉害啦&#128077;
zhcj66 发表于 2022-7-31 20:36
 楼主| tester001 发表于 2022-7-31 20:49
sam喵喵 发表于 2022-7-31 16:34
楼主何不研究下碰撞算法,写成代码发上来就厉害啦&#128077;

还在学习起步,后续会发
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-9 03:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表