游戏开发论坛

 找回密码
 立即注册
搜索
查看: 10731|回复: 30

[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

[复制链接]

33

主题

544

帖子

554

积分

高级会员

Rank: 4

积分
554
发表于 2007-10-2 19:51:00 | 显示全部楼层 |阅读模式
比如,已知一个圆的圆心坐标和半径,还知道矩形4个点的坐标
那么怎么能够快速判断这个圆是否和矩形相交呢?

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2007-10-2 22:40:00 | 显示全部楼层

Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

把矩形四条边的方程列出来
然后看看圆心到这四条边所在的直线上的距离是否小于半径
小于就是相交
大于就是不相交

54

主题

2917

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2007-10-3 10:40:00 | 显示全部楼层

Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

你也可以把矩形扩边出一个圆的半径,然后判断圆心坐标是否在矩形内,简单快捷高效。

14

主题

118

帖子

118

积分

注册会员

Rank: 2

积分
118
发表于 2007-10-3 12:14:00 | 显示全部楼层

Re: [求助]我数学差,请问怎么计算一个圆是否和矩形相交?

直观的方法:
1.判断四条线段是否与圆相交
2.判断圆是否包含矩形
3.判断矩形是否包含圆

22

主题

191

帖子

217

积分

中级会员

Rank: 3Rank: 3

积分
217
QQ
发表于 2007-10-4 09:51:00 | 显示全部楼层

Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

....
ls学啥的啊。。。
直接判断矩形四个点和圆心的距离就可以了

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2007-10-4 09:57:00 | 显示全部楼层

Re: Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

xjyhust: Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

....
ls学啥的啊。。。
直接判断矩形四个点和圆心的距离就可以了

这个方法简单是简单,可当矩形一对边比圆直径还长的时候就有可能出错

32

主题

108

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2007-10-4 14:29:00 | 显示全部楼层

Re: Re: [求助]我数学差,请问怎么计算一个圆是否和矩形相交?

silekey: Re: [求助]我数学差,请问怎么计算一个圆是否和矩形相交?

直观的方法:
1.判断四条线段是否与圆相交
2.判断圆是否包含矩形
3.判断矩形是否包含圆

正解

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-10-4 18:49:00 | 显示全部楼层

Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

Jeminai的方法才是正解,其它的效率不高。

另外,只需要考虑不相交的情况,如果不能排除不相交就说明相交或包含了。

54

主题

2917

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2007-10-4 20:23:00 | 显示全部楼层

Re: Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

Enigmaya: Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

Jeminai的方法才是正解,其它的效率不高。

另外,只需要考虑不相交的情况,如果不能排除不相交就说明相交或包含了。


其实我的方法如果圆在矩形的四个角附近会有点不精确,但这点儿误差通常还是可以接受的。 [em5]

32

主题

108

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2007-10-5 13:41:00 | 显示全部楼层

Re:[求助]我数学差,请问怎么计算一个圆是否和矩形相交?

我想到一个更简单有效的方法。
逆向思考:矩形和圆不相交只有4种情况----圆在矩形的上方、下方、左边、右边。
除了这4种情况,矩形和圆就是相交的。
这个方法简单,准确,高效!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-20 19:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表