初中一年级的题
c语言吧
全部回复
仅看楼主
level 7
ok狂吃狂吃狂吃
楼主
有许多圆,(已知坐标和半径), 和已知两端点坐标的一段线段 如何判断 这些圆是否与该 线段 相交? (线段有很多,需要考虑动态的)
我的思路是:根据两点得到该直线的方程,然后求出过圆心且垂直于该直线的垂线,联立两个方程得出交点(垂足)坐标,判断垂足(x,y)是否在线段上 ,如果在线段上 再继续判断垂距与半径R的关系
若是单个方程相对容易点 但因为是很多线段 ,所以要总结出来规律 各位有木有好的办法
2015年07月21日 02点07分
1
level 7
民国王思聪
你能计算出直线方程了,为什么不直接用圆心到直线的距离与半径做比较呢?非得麻烦的算垂足干啥?点到直线的距离你应该会算吧?
2015年07月21日 03点07分
2
ok狂吃狂吃狂吃
因为平面内还有许多圆,全部都要判断 与该线段的位置关系 注意是线段 算直线的话,超出线段外的就是错的
2015年07月21日 03点07分
level 7
ok狂吃狂吃狂吃
楼主
联立两方程时候,解遇到问题 点很多 (动态的点)要动态解方程 无法动态的根据两个点和圆心求出 圆心到该直线垂足坐标
2015年07月21日 03点07分
3
level 7
ok狂吃狂吃狂吃
楼主
就是参数 两点坐标 和 圆心坐标,圆半径 ,求出圆心垂直于该直线的垂足
2015年07月21日 03点07分
4
level 13
yuki_Kanade
用二楼的方法不就好了
2015年07月21日 03点07分
5
yuki_Kanade
原来初一就学这东西了
2015年07月21日 03点07分
ok狂吃狂吃狂吃
无法动态求出 垂足坐标
2015年07月21日 03点07分
level 12
小鸟游六🌼
楼主进错吧了出门直走数学吧
2015年07月21日 03点07分
6
ok狂吃狂吃狂吃
数学吧也有发帖
2015年07月21日 03点07分
小鸟游六🌼
回复
ok���Կ��Կ���
:楼主加有132个吧有何作用
2015年07月21日 03点07分
ok狂吃狂吃狂吃
回复
ѩ������t
:啥
2015年07月21日 03点07分
小鸟游六🌼
回复
ok���Կ��Կ���
:就是关注的贴吧有132个额。。
2015年07月21日 03点07分
level 7
ok狂吃狂吃狂吃
楼主
一个平面 有许多圆,一截线段, 我们要得到的是 线段 与这些圆的位置关系
直线是无限长的 如果全部用点到直线距离公式,是错的 没办法判断 这个距离在不在线段上
主要问题就是有 线段两端点坐标 和 圆心坐标,圆半径 ,求出圆心垂直于该直线的垂足 有了垂足判断垂足是否在线段上就可以判断圆与线段的位置关系
遇到问题无法动态 根据已知条件求出垂足坐标
2015年07月21日 03点07分
8
level 13
我变成鱼了
还算什么垂足真是太麻烦了。。
这个问题可以简化成两个子问题:
1. 圆与线段所在直线是否相交?如不相交则必然与线段也不相交,如相交,求出两个交点P1、P2(联立圆方程和直线方程求解)。
2. 如果线段与圆相交,交点必为P1、P2,检查下面2个条件,其中一个成立即可保证P1、P2至少一点落在线段上,即线段与圆相交:
min(Px.x, Py.x) <= P1.x <= max(Px.x, Py.x)
min(Px.x, Py.x) <= P2.x <= max(Px.x, Py.x)
2015年07月21日 04点07分
9
ok狂吃狂吃狂吃
不错
2015年07月21日 04点07分
ok狂吃狂吃狂吃
我遇到的问题就是 联立两个方程如何编程求解呢?
2015年07月21日 04点07分
我变成鱼了
回复
ok���Կ��Կ���
:化成圆标准式(x-Px)^2+(y-Py)^2=R、线段标准式y=ax+b或x=b,自己手算出公式解就行
2015年07月21日 04点07分
我变成鱼了
@我变成鱼了
线段已知两点用比例式吧 x(P1.y-P2.y) = y(P1.x-P2.x)
2015年07月21日 04点07分
level 11
三六五ლ
签到什么的实在是太慢了,所以我现在养成了看贴就回的好习惯
2015年07月21日 04点07分
10
1