作者MOONY135 (谈无慾)
看板C_Sharp
标题Re: [问题] 如何判断点是否在线段上
时间Sat Aug 13 17:50:04 2016
※ 引述《RogerKao (RK)》之铭言:
: 各位大大晚安,小弟第一次在板上PO文,如有冒犯还请见谅。
: 小弟有一问题相问:
: 问题是关於直线段连线的问题,以下所有线段、连线都是rectilinear的
: 假设目前已知存在某线段(即知其头尾座标)
: 例如(0,10)->(10,10),其中(10,10)为可连接之端点
: 接着我有一点(7,6),想求此点连线到该线段或是该端点的最短距离
: 就会有两个连法,第一个连法就是直接垂直往上连到(7,10)
: 第二个连法就是往右边画线到(10,6)再往上连到(10,10),而产生两段线段。
: 当然我可以直接看出(7,6)->(7,10)走的距离比较短。
: 但我怎麽判断走到(7,10)之後,线段不会再往右边连到(10,10)?
: 也就是我如何判断我的中继点已经在已知线段上,而不再继续连线?
: 我是有想到一个方法就是判断欲连接点(7,6)之X值是否在第一线段之X值范围内
: 即 0 <= 7 <= 10,若是则可直接垂直连至线段Y=10上,但总觉得应该有更好
: 的方式,因为这样我线段数一多的时候判断式似乎就更加复杂了。
: 因为一旦第二个点连至第一个点或第一个点产生之线段之後,其第二个点或其线段也会
: 变成下一个点可连接之选择。
: 叙述不佳的话还请各位大大见谅!
http://imgur.com/nj21NDE
http://imgur.com/MYnTTH7
所以应该是这样吧
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.225.53.41
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1471081807.A.AA1.html
1F:→ Litfal: 你这也太辛苦,用斜率算正交就好了 08/13 18:11
2F:→ MOONY135: 求角度而已 其实用投影概念也可以吧 08/13 20:02
3F:→ Litfal: 把数学式写下来就是很复杂阿XD 08/13 20:34
4F:→ MOONY135: 反正他只想问有没有其他方法 这就是其他方法阿 08/13 20:39
5F:推 neo5277: 推推 08/14 13:25
6F:→ RogerKao: 感谢!看懂了! 08/16 23:26