作者:henu_wxj
链接:https://blog.nowcoder.net/n/9913fe21a2f64ef080ed41baada7bd9a
来源:牛客网
这个专题讨论用解析几何的方法解决线段,直线和点的计算问题。
默认使用笛卡尔直角坐标系。
计算点到线段的最近点。
已知线段
存在两种情况:
1.情况一:
![257c2630a49d247bba0796dc365a87b1.png](https://img-blog.csdnimg.cn/img_convert/257c2630a49d247bba0796dc365a87b1.png)
直线AB,下面是Q的三种不同的位置。最近的点的坐标很明显分别对应的三个红色的点。
同理
![6743f544e7cd745d4dedf3038a512465.png](https://img-blog.csdnimg.cn/img_convert/6743f544e7cd745d4dedf3038a512465.png)
直线AB,左右时Q的三种不同的位置。最近点的坐标对应的三个红点。
2.情况二:当
该直线方程为:
垂线方程为
![ae6aaee8baee42bb2429548f8de37d4f.png](https://img-blog.csdnimg.cn/img_convert/ae6aaee8baee42bb2429548f8de37d4f.png)
同理可以求出点到折线,矩形,多边形的最近点。
计算点到圆的最近距离及最近点的坐标。
已知圆心坐标
![d23ed9debdecbbf400ebac449e40a104.png](https://img-blog.csdnimg.cn/img_convert/d23ed9debdecbbf400ebac449e40a104.png)
1. P=A,则点到圆的最近距离为r,点位圆上任意一点的坐标。
2. P=C||P=C',y轴相等,则为:
3. P=D||P=D',x轴相等,则为:
4. P=G||P=G',没有什么关系,存在一个斜率不为0的直线,则斜率为:
直线AG的方程为:
计算两条共线的线段的交点。
对于两条共线的线段,位置关系有以下几种情况:
![dc0b10e0cd6834489e454d91125272d1.png](https://img-blog.csdnimg.cn/img_convert/dc0b10e0cd6834489e454d91125272d1.png)
分别是,没交点,有一个,无穷,无穷。
计算线段与线段的交点。
虽然感觉不太实用,但是姑且还是写出来吧,向量大法好!
首先判断两线段是否相交,
一般情况:
直线方程分别是:
注意斜率为0及斜率不存在的特判。
计算线段||直线和圆的交点。
参考上文:”点到圆的最近距离“求解。
查看作者更多博客:https://blog.nowcoder.net/remil