计算矩形与圆形相交与否
**
* 描述: 计算圆形与矩形之间图形相交工具类
* User: YueXZ
* DateTime: 2021/12/8 17:22
* Version:1.0.0
*/
public class ShapeAreaMathUtil {
public static Boolean circleIsOverlap(Circle c1, Circle c2) {
return Math.sqrt((c2.getCenterX() - c1.getCenterX()) * (c2.getCenterX() - c1.getCenterX()) + (c2.getCenterY() - c1.getCenterY()) * (c2.getCenterY() - c1.getCenterY()))
< (c1.getRadius() + c2.getRadius());
}
//以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标 rec1 = [0,0,2,2], rec2 = [1,1,3,3]
public static boolean isRectangleOverlap(double[] rec1, double[] rec2) {
if (rec1[0] == rec1[2] || rec1[1] == rec1[3] || rec2[0] == rec2[2] || rec2[1] == rec2[3]) {
return false;
}
return !(rec1[2] <= rec2[0] || // left
rec1[3] <= rec2[1] || // bottom
rec1[0] >= rec2[2] || // right
rec1[1] >= rec2[3]); // top
}
//其中 (x1, y1) 是矩形左下角的坐标,(x2, y2) 是右上角的坐标。
public static boolean rectangleAndCircleIsOverlap(Double radius, Double x_center, Double y_center, Double x1, Double y1, Double x2, Double y2) {
//判断圆是否在矩形内
if (x1 <= x_center && x2 >= x_center && y1 <= y_center && y2 >= y_center)
return true;
//判断矩形的四个点是否在圆内
if (Math.sqrt((x1 - x_center) * (x1 - x_center) + (y1 - y_center) * (y1 - y_center)) <= radius)
return true;
if (Math.sqrt((x1 - x_center) * (x1 - x_center) + (y2 - y_center) * (y2 - y_center)) <= radius)
return true;
if (Math.sqrt((x2 - x_center) * (x2 - x_center) + (y1 - y_center) * (y1 - y_center)) <= radius)
return true;
if (Math.sqrt((x2 - x_center) * (x2 - x_center) + (y2 - y_center) * (y2 - y_center)) <= radius)
return true;
//矩形的点不在圆内,但矩形与圆相交的情况
if (y1 < y_center && y2 > y_center && ((Math.abs(x1 - x_center) <= radius || Math.abs(x2 - x_center) <= radius)))
return true;
return x1 < x_center && x2 > x_center && ((Math.abs(y1 - y_center) <= radius || Math.abs(y2 - y_center) <= radius));
}
}
文章浏览阅读1.8k次。今天闲来无事看了下python基础知识,当学到数据类型转换的int()方法时候。发现了这么一个有意思的事情,算是IDE或是解释器的一个小BUG。(具体原因暂不明,留待以后查找问题)先讲下环境操作系统: windows10python版本:3.6.5IDE环境: pycharm edu 2018.1 x64解释器: CPython然后 int()方法的作用函数说明int(x..._"请问下面代码存在什么问题? >>> age = 18 >>> message = \"祝杜小帅\" + age +"
文章浏览阅读1.8k次。cmapy在python中使用matplotlib colormaps和opencv。matplotlib提供了很多nice colormaps。cmapy将这些颜色映射公开为颜色列表,这些颜色列表可与opencv一起用于为图像着色或用于python中的其他绘图任务。Original imageviridis请参阅此all colormaps example中截至matplotlib 2.2.3的..._python cmap
文章浏览阅读783次。在MySQL中,触发器可以在你执行INSERT、UPDATE或DELETE的时候,执行一些特定的操作。在创建触发器时,可以指定是在执行SQL语句之前或是之后执行这些操作。通过触发器,你可以实现一些业务逻辑或一些数据限制,在简化应用程序逻辑,优化系统性能时非常有用。但在使用MySQL触发器也有一些注意事项,否则会导致触发器不能工作或不按指定的方式工作。1. MySQL触发器注意事项MySQL触发器使..._加触发器会引发什么问题
文章浏览阅读436次。注:此文章主要基于展锐Android R代码加上学习总结自IngresGe大佬的分析文章目录一、kthreadd二、init三、Init 进程入口3.1 ueventd_main3.2 FirstStageMain3.3 SetupSelinux3.4 SecondStageMaininit.rc文件解析一、kthreadd/bsp/kernel/kernel4.14/kernel/kthread.cint kthreadd(void *unused){ struct task_struct *_init second_stage
文章浏览阅读1.2w次,点赞3次,收藏41次。传输控制协议(Transmission Control Protocol,TCP)是一种传输层协议。TCP使数据包从源到目的地的传输更加顺畅。它是一种面向连接的端到端协议。每个数据包由TCP包裹在一个报头中,该报头由10个强制字段共20个字节和一个0到40 字节的可选数据字段组成。如下图所示:来自于https://www.geeksforgeeks.org 1.源端口号(Source Port):16bits,该字段标识发送方应用程序的端口号。 2.目..._tcp flags
文章浏览阅读149次。JDBC(Java Database Connectivity,Java数据库连接)是Java语言连接数据库的一种规范,它为Java应用程序提供了连接各种关系数据库的统一接口。通过JDBC,Java应用程序可以访问任何提供了JDBC驱动的数据库。注意:从JDBC 4.0开始,不再需要显式加载驱动,因为驱动会在运行时自动加载。但是,如果你正在使用旧版本的JDBC或者出于某种原因需要显式加载驱动,那么仍然可以使用上述方法。通常,你可以使用try-with-resources语句来自动管理这些资源的关闭。
文章浏览阅读2.2k次,点赞2次,收藏15次。核心思想 本文提出一种基于半监督训练的小样本分类算法。所谓半监督就是在训练集中即包括带有标签的图片,也包含不带有标签的图片,作者认为人类在学习物品分类时,也会观察到许多非目标类别的物体,这种学习方式更加接近实际使用需求,并且可以提高算法的泛化能力。本文以原型网络(Prototypical Network)作为baseline,在此基础上提出了三种改进型,以满足无监督训练的需要。与原型网络(Prototypical Network)相似,训练集也划分为支持集与查询集,不同的是在支持集中还包含有不带有标签的_self-supervised continuous meta-learning for few-shot image classification
文章浏览阅读69次。【代码】【终极方案】解决警告信息cudart64_100.dll。_copy cudart64_100.dll
文章浏览阅读1.1w次,点赞5次,收藏34次。1、numpy创建一维数组[ 1] 通过列表生成数组import numpy as npdata1=[5,7,9,20]#列表类型 list arr1=np.array(data1) #ndarray数组类型 numpy.ndarrayprint(data1)print(type(data1)) #type输出数据类型#print((data1,type(data1)print(arr1)print(type(arr1))结果如下:我们可以发现数据类型已经发生了改变,li_numpy创建一维数组
文章浏览阅读1.2k次。本文是笔者学习李立宗老师的Python课程后整理的学习笔记,希望能帮助到有需要的同学,侵删。_自定义整数幂运算无参函数python
文章浏览阅读1.3k次,点赞10次,收藏14次。c/c++的字符和字符串输入输出._c++输出字符串
文章浏览阅读2.6k次。我正在开发一个使用jQuery(前端)和Python(后端)的Web应用程序。同时使PUT请求,以更新数据库中的细节,这是我在控制台得到的错误:错误选项net :: ERR_CONNECTION_REFUSEDOPTIONS “REST API URL” 网:: ERR_CONNECTION_REFUSED我jQuery代码是:$.ajax({type: "PUT",url: "REST API ..._jquery 请求报net::err_connection_refused