※ 引述《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
所以應該是這樣吧