- 积分
- 64893
- 明经币
- 个
- 注册时间
- 2005-11-29
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2014-4-23 17:47:21
|
显示全部楼层
本帖最后由 llsheng_73 于 2014-4-23 22:02 编辑
图上所有pt1都是自己在它附近点取的,然后计算出pt1后画出的圆?
如果是这样的话,有个问题是你的两条线它并不平行,要计算在你所点击的点附近计算一个与两条线相切的圆很麻烦
计算pt到pl1,pl2的最近距离点p1,p2
计算延长p1pt到pl2的交点p21,延长p2pt到pl1的交点p11
现在可以计算出最距离了及圆心位置了
分别计算p1,p11和p2,p22的中点o1,o2, 线段o1o2的长度为过pt点的这两长线的距离,圆心o为o1,o2的中点
最后以o到其中一条线的最近距离作为半径绘圆
但是这样它并不严密,估计那个圆并不能同时与两条多线段相切,那个距离应该也不对
如果直接取得过p1和p2的子线段作出它的角平分线,求P1pt到角平分线的交点用为圆心,可以和两条多线段相切,但对于多线段上点很多的情况或者是有凸度的情况显然也不适合
希望高手们给出正确答案吧
|
|