【JAVA 第四章 流程控制语句】课后习题 判断两个圆是否相交 圆和直线的位置关系
知识点:
1.点到直线的距离公式
d = Ax +By +C = 0 根号 A^2+B ^2
2.直线方程的一般式
Ax + Bx + C = 0
A = y2 -y1
B =x1 -x2
C = x2 * y1 - x1 *y2
3.两圆关系:
圆心距 大于 半径和 = 相离
圆心距 等于 半径和 = 相切
圆心距 小于 半径和 = 相交
圆心距 + 小圆半径 小于大圆半径 = 包含关系
4.圆与直线的位置关系
- d < r 相交
- d = r 相切
- d > r相离
public class Test{public static void main(String[] args) {MyCircle mc = new MyCircle();mc.r = 4;mc.areaCricle();System.out.println();mc.circumference();System.out.println();mc.intersect(1,2,3,4,5,6);System.out.println();mc.myLineCircle(1,2,3,4,5,6);}
}class MyCircle{int centerCricle;//圆心int r;//半径double pi = 3.14;public void areaCricle(){//计算圆的面积 S = π r的 平方System.out.println(pi*r*r);}public void circumference(){//计算圆的周长 c = 2 π r = π dSystem.out.println(2*pi*r);}public void intersect(int x1,int y1,int x2,int y2,int circleR1,int circleR2){//判断元是否相交 半径和等于圆心距 相切 半径和 小于圆心距 相离 半径和大于圆心距 相交//圆心距+小圆半径 小于大圆半径 是包含关系否则相交//求两点距离 既是圆心距double d = Math.sqrt(Math.pow(x1-x2,2) + Math.pow(y1-y2,2));if (circleR1 + circleR2 < d){System.out.println("两圆相离");}if (circleR1 + circleR2 == d){System.out.println("两圆相切");}if (circleR1 + circleR2 > d){System.out.println("两圆相交");}}//直线与圆的位置关系public void myLineCircle(int x1,int y1,int x2,int y2,int cx,int cy){//公式 d=|Ax0+By0+C|/√(A^2+B^2)int a = y2-y1;int b = x1-x2;int c = x2*y1 - x1*y2;double d;d=Math.abs(a*cx + b*cy + c) / Math.sqrt(a*a+b*b);if (d > r){System.out.println("圆和直线的关系是:相离");}if (d == r){System.out.println("圆和直线的关系是:相切");}if (d < r){System.out.println("圆和直线的关系是:相交");}}}
【JAVA 第四章 流程控制语句】课后习题 判断两个圆是否相交 圆和直线的位置关系相关推荐
- 【JAVA 第四章 流程控制语句】课后习题 直线斜率 以及判断坐标是否在直线上点到直线的距离
不知道对不对,请教大神帮忙找下.公式是否有错 import java.util.Scanner;public class Test {/*设计并实现一个MyLine 类,它表示直线.构造方法中使用两个 ...
- 【JAVA 第四章 流程控制语句】课后习题 二维坐标距离 三角形判断等
知识点: 1.三角形的判断公式 两边之和大于第三边 2.二维坐标两点距离公式 根号[(x1-x2)平方+(y1-y2)平方] 3.JAVA Math.pow(变量,指数); 的运用 4.JAVA Ma ...
- 【JAVA 第四章 流程控制语句】课后习题 冒泡排序的运用
知识点: 冒泡排序的运用 public class Test{/*定义一个一维数组 存储随机生成的100个整数* 利用你所书序的一种排序方法进行升序排序,输出排序前后内容*/public static ...
- 《机器学习》 周志华学习笔记第四章 决策树(课后习题)python 实现
一.基本内容 1.基本流程 决策树的生成过程是一个递归过程,有三种情形会导致递归返回 (1)当前节点包含的yangben全属于同一类别,无需划分: (2)当前属性集为空,或是所有yangben在所有属 ...
- python程序设计课后答案第四章_Python程序设计课后习题答案-第一单元
<Python程序设计课后习题答案-第一单元>由会员分享,可在线阅读,更多相关<Python程序设计课后习题答案-第一单元(3页珍藏版)>请在人人文库网上搜索. 1.习题1一. ...
- python从零到一之基础篇 第 四 章 流程控制语句
python基础篇学习 第一章 第二章(上) 第二章(下) 第三章 今天开始学习第四章
- 【JAVA 第三章 流程控制语句】课后习题 三角形面积计算
知识点: 1.三角形面积公式: s=(a+b+c)/2 面积=s(s-a)(s-b)(s-c)的开根 2.java.lang.Math;的运用 Math.sprt(s);开根 //编写读入三边长,计算 ...
- 【JAVA 第三章 流程控制语句】课后习题 月历打印
知识点: 1.闰年的计算方式((year % 4 ==0 && year % 100 != 0 )|| year % 400 ==0) 闰年二月份有 29天 平年28 年 public ...
- 【JAVA 第三章 流程控制语句】课后习题 随机整数最大值和最小值
知识点: 1.随机数 Math.random()的使用 //生成100个 0~99的随机整数,找出最大 和最小,统计大于50的整数个数public static void main(String[] ...
最新文章
- webpack 最简打包结果分析
- Day11多态部分-6 【1.5 多态的好处和弊端】
- 远程办公首日企业通讯软件崩溃、紧急扩容,云办公怎么了?
- 【计蒜客习题】蒜头君运送宝藏
- JZOJ 3055. 【NOIP2012模拟10.27】比赛
- 如何批量将 jpg 图片转换为 png 格式
- 由iconfont引起的svg、ttf、woff、woff2图标的研究及转换(svgs2fonts)
- 二阶魔方万能还原公式_二阶魔方复原方法
- 英特尔下月将推出双核Atom处理器及配套主板
- NerveBridge 助力 YF 和 Bingoo 社区实现资产跨链
- YII2 高级版本 发送163邮件
- Rational Rose2007的安装
- 12. 综合练习 - 相亲APP
- word里的表格出现换页表格不会自动跳到下一页(已解决)
- 不用动脑的Maxent下载过程
- 关于sudo:no tty present and no askpass program specified
- ar vr mr 计算机技术,VR、AR、MR、还有云计算,他们到底是什么?
- SF26 | 适用于商品+股指的枢轴点趋势策略
- S7 A7 K7 V7区别
- 合肥计算机学校排名2015,2015安徽高校排名情况
热门文章
- dsh批量管理linux服务器
- C++ 常用基础概念
- Shell——test 命令
- 【C++】由指针常量和常量指针引发的问题
- 前端开发 margin外边距 0229
- 190829课堂母版与子版
- linux-权限设置--facl基本
- -bash: mysql: command not found解决方法(zabbix监控mysql失败)
- (原創) 如何将字符串前后的空白去除? (使用string.find_first_not_of, string.find_last_not_of) (C/C++)...
- Synchronize和ReentrantLock区别