首页 > 其他分享 >2023.6.25 圆和矩形是否有重叠

2023.6.25 圆和矩形是否有重叠

时间:2023-06-25 16:45:35浏览次数:45  
标签:25 center min i32 圆心 2023.6 input 矩形

image

原问题可以转换为,判断圆心到矩形的最短距离是否小于等于半径。
image
根据这张图,可以得到矩形到圆心的距离是\(\sqrt{x^2 + y^2}\),其中x和y分别是圆心和矩形的横纵坐标之差。

求横纵坐标之差其实也很简单,以横坐标为例,圆心的坐标为x,矩形的坐标是x1和x2。那么就是\(min(|x - x_1|, |x - x_2|)\)。纵坐标同理,可以使用一个函数clmap抽象这个行为。

impl Solution 
{
    pub fn check_overlap(radius: i32, x_center: i32, y_center: i32, x1: i32, y1: i32, x2: i32, y2: i32) -> bool 
    {
        pub fn clamp(input: i32, min: i32, max: i32) -> i32
        {
            if input < min { return min; }
            if input > max { return max; }
            input
        }

        let x = clamp(x_center, x1, x2) - x_center;
        let y = clamp(y_center, y1, y2) - y_center;
        if x * x + y * y <= radius * radius { return true; }
        false
    }
}

标签:25,center,min,i32,圆心,2023.6,input,矩形
From: https://www.cnblogs.com/st0rmKR/p/17503272.html

相关文章

  • AIX中使用DBCA创建数据库ora-12547错误解决一例
                             AIX中使用DBCA创建数据库ora-12547错误解决一例 Couldnotloadprogramoracledevmdm:Symbolresolutionfailedfor/usr/lib/libc.a[aio_64.o]because:Symbolkaio_rdwr64(number1)isnotexportedfrom......
  • 6.25数据类型
    数字类型整数int浮点数float  如:13.14-13.14复数complex  如:4+3j以j结尾表示复数布尔bool  表达现实生活中的逻辑,即真和假,True表示真,False表示假。True本质上是一个数字记作1,False记作0字符串String 描述文本的一种数字类型,是由任意数量的字符如中文、英文、各......
  • ZigBee SOC芯片CC2530F256RHAR 芯片介绍以及原理图
    ZigBee新一代SOC芯片CC2530F256RHAR是真正的片上系统解决方案,支持IEEE802.15.4标准/ZigBee/ZigBeeRF4CE和能源的应用。拥有庞大的快闪记忆体多达256个字节,CC2530是理想ZigBee专业应用。支持新RemoTI的ZigBeeRF4CE,这是业界首款符合ZigBeeRF4CE兼容的协议栈,和更大内存大小将允许芯片......
  • C/C++C/C++语言课程设计参考题目[2023-06-25]
    C/C++C/C++语言课程设计参考题目[2023-06-25]《高级程序设计技术综合课程设计》C/C++语言课程设计参考题目目录信息管理类 1工资管理系统 1职工工资信息管理系统 2职工工资管理系统 2院职工工资管理系统 3公司职工工资管理系统 3工资纳税计算系统 3校际运动会管理系统......
  • 云服务器使用记录-20230625
    三丰云提供稳定可靠的云服务器,搭载宝塔面板,支持多种语言环境(包括PHP等),让您轻松地管理网站和数据。无论您是个人博客、企业官网还是电商平台,都可以快速部署并安全运行。这样,您就可以专注于业务发展,享受高效稳定的云服务体验。我推荐您使用Linux版本的系统,因为它占用的资源较少。......
  • 2023/6/25
    19.3.2,19.3.3(4)......
  • 【雕爷学编程】Arduino动手做(125)---WT588D语音模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • Notes.views.2023-6-25 09:25:45
    目录001011章节123小节不分级备注用———符号,也不特意分级......
  • [ABC259F] Select Edges 题解
    Solution考虑树形\(dp\)。我们可以注意到节点\(i\)的相邻的边中被选中的不超过\(d_i\)条,显然我们可以定义状态\(dp_{u,k}\)表示节点\(u\)连接子节点的边有\(k\)条的最大值。但是此处没有给定\(d_i\)的范围,所以对于一个节点最多可能会有\(n-1\)个点,所以时间复杂......
  • 2023.25 大模型和小模型
    大模型通常指参数较多、层数较深的模型,它们具有更强的表达能力和更高的准确度,但也需要更多的计算资源和时间来训练和推理。常见的大型模型包括深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)等。这些模型适用于数据量较大、计算资源充足的场景,例如云端计算、高性能计算、人工......