用最简单,最快速的方法计算出下面这个圆形是否和正方形相交。"
3D 坐标系原点(0.0,0.0,0.0)
圆形:
3D 坐标系原点(0.0,0.0,0.0)
圆形:
正方形:半径r = 3.0圆心o = (*.*, 0.0, *.*)
4 个角坐标;1:(*.*, 0.0, *.*)2:(*.*, 0.0, *.*)3:(*.*, 0.0, *.*)4:(*.*, 0.0, *.*)
我的解题思路是:两图形不相交,那么圆心到四条边的距离全部小于半径或者全部大于半径
那么只要编程实现如下:
由于题目是三维坐标,而这个圆坐落于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的话,那么不相交,否则相交
不清楚能不能实现,编编看吧
定于明天把程序写完:上秒的思路还是有问题,有几种情况没有考虑清楚,原因是可能入手的面不对。