Solution 23: 判断矩形和圆是否相交

问题描述

将原题简单化,在二维平面上怎么判断一个矩形(已知四个矩形的角的坐标)和一个圆(已知圆心坐标和半径)是否相交?

解决思路

枚举各种情况。但是有简单的处理方式。如下图(字丑勿怪= =)

程序

比较简单,就忽略了><

时间: 2024-08-27 00:26:03

Solution 23: 判断矩形和圆是否相交的相关文章

判断矩形和圆是否相交

判断矩形和圆是否相交 思路: 方法一:先判断矩形是否在圆内(矩形的四个顶点是否在圆内),若是则不相交,否则再判断圆心到矩形四条边的最短距离(点到线段的最短距离)是否存在小于半径的,若是则相交(认为矩形包括圆是不相交的,已经先排除了). 方法二:圆分平面为四部分, 方法二:圆分平面四部分,不相交的情况分了几种:长方形在圆形上面,长方形在圆形下面,长方形在圆形左边,长方形在圆形右边,长方形在圆形内部,圆形在长方形内部. 方法三:矩形分平面九部分,用矩形的四个边,把空间划分成为9个区域,判定圆心的位置

zoj 1608 Two Circles and a Rectangle 判断两个圆是否能放入一个矩形中

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=608 分析: 两个圆放到矩形的临界点图为: 其中a为长, b为宽, r1 > r2 红色三角形的三边长分别为: x = a - (r1 +r2) y = b - (r1 + r2) z = r1 +r2 当 x ^ 2 + y ^ 2  >= z^2 时, 显然 矩形是可以放进去圆的. 代码如下: int main() { double w, l , r1 ,r2

ZOJ 1675 矩形与圆的面积交

Little Mammoth Time Limit: 5 Seconds      Memory Limit: 32768 KB      Special Judge It is well known that mammoths used to live in caves. This is a story of a little mammoth who lived in a cave with his mummy and daddy. The mammoth was little and ver

实验12:Problem D: 判断两个圆之间的关系

Home Web Board ProblemSet Standing Status Statistics Problem D: 判断两个圆之间的关系 Problem D: 判断两个圆之间的关系 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 381  Solved: 325[Submit][Status][Web Board] Description 定义Point类,包括double类型的两个属性,分别表示二维空间中一个点的横纵坐标:定义其必要的构

【IT公司100题-7】-判断两个链表是否相交

问题:有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环.1.如何判断一个链表是不是这类链表? 问题扩展:1.如果链表可能有环呢?2.如果需要求出两个链表相交的第一个节点呢? 分析: 在无环的情况下,如果两个链表有结点相同,那么它们下一结点也相同,如此可推出尾结点也相同. 那么只要判断两链表的尾结点是否相同.(O(len1+len2)) 1 struct Node { 2 int data; 3 int Node *next; 4 };

hdu6354 /// 圆的相交

题目大意: 给定m r 初始圆盘以原点为圆心半径为r 给定m个圆的圆心(x,y) 半径r 保证m个圆互不相交且不会覆盖圆盘 用这m个圆来切割初始的圆盘求最后圆盘外围的长度 求圆与圆盘的交点 减去圆盘上两点间的周长 加上圆上两点间的周长 判断一下方向 #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define LL long long #define PI acos(-1) #define pb(a)

判断俩个链表是否相交

判断俩个链表是否相交给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交.为了简化问题,我们假设俩个链表均不带环.问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列?ANSWER:struct Node {  int data;  int Node *next;};// if there is no cycle.int isJoinedSimple(Node * h1, Node * h2) {  while (h1->next != NULL) {   

poj1039——计算几何 求直线与线段交点,判断两条直线是否相交

poj1039——计算几何  求直线与线段交点,判断两条直线是否相交 Pipe Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9439   Accepted: 2854 Description The GX Light Pipeline Company started to prepare bent pipes for the new transgalactic light pipeline. During the de

【编程题目】编程判断俩个链表是否相交

第 7 题(链表)微软亚院之编程判断俩个链表是否相交给出俩个单向链表的头指针,比如 h1,h2,判断这俩个链表是否相交.为了简化问题,我们假设俩个链表均不带环.问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列? 看到这个题目我很困惑.如果链表的结构是下面这个样子 typedef struct ListNode { int m_Value; ListNode * p_Next; }ListNode; 那么一旦有相交,链表的后端就都是一模一样的了啊?因为交叉点只可能有一个