用最简单,最快速的方法计算出下面这个圆形是否和正方形相交

时间:2023-01-06 17:24:37
用最简单,最快速的方法计算出下面这个圆形是否和正方形相交
具体题目如图: 用最简单,最快速的方法计算出下面这个圆形是否和正方形相交

思路: 这道题其实将三维退化到二维空间,那就比较简单了。 两图形不相交,那么圆心到四条边的距离全部小于半径或者全部大于半径

那么只要编程实现如下:

由于题目是三维坐标,而这个圆坐落于y平面内,这里简化为2维坐标

1,顺时针输入正方形的4个顶点,判断是不是正方形,不是重新输入

2,输入圆心坐标

判断过程:

3,求出四条方程,分别是:L1,L2,L3,L4;即输入顶点(1,2)(2,3),(3,4),(1,4)构成的直线。

4 ,求出圆心到L1,L2,L3,L4的距离,都大于3或者都小于3的话,那么不相交,否则相交。