求线段或直线与圆的交点

设圆心为O,圆半径为r,直线(或线段)L上的两个点为P1、P2。

第一步:如果L是线段且P1,P2都包含在O内,则没有交点。

第二步:如果L平行于y轴:

1. 计算圆心到L的距离d。

2.如果d>r,则L月圆没有交点。

3.利用勾股定理,可以求出两个交点坐标,但要注意L和圆相切的情况。

第三步:L如果L平行于x轴,做法与第二步类似。

第四步:如果L既不平行于x轴也不平行于y轴,可以求出L斜率K,然后列出L的点斜方程和圆方程((x-a)²+(y-b)²=r²,(a,b)为圆心坐标)联立就去交点。

第五步:如果L是线段,对于第二至第四步中求出交点还要分别判断是否属于该线段范围。

转载于:https://my.oschina.net/1024bits/blog/783602

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值