Loading [MathJax]/jax/output/HTML-CSS/jax.js

2020年6月16日 星期二

用反射法找出最短路徑

出處:Paul Lockhart, Measurement, Harvard University Press. Part 1, Section 25.

問題:Suppose two points lie between parallel lines. What is the shortest path from one to the other that hits both lines?

(中譯:假設有兩個點位於兩條平行線之間,請找出連接這兩點且經過兩條直線上各一點的最短路徑。)


解答

首先,為了描述方便,我們對圖上的線與點進行命名:


然後隨意在L1L2上取兩個點AB,並連接起來:


我們並不曉得A,B這兩個點是否滿足題目條件。將P點對L1反射後得P,將Q點對L2反射後得Q,同時也將路徑線段進行反射:


由反射的對稱性,此時有
¯PA+¯AB+¯BQ=¯PA+¯AB+¯BQ.
從圖可以看得出來,¯PA,¯AB,¯BQ這三個線段所構成的路徑略顯歪曲,所以絕非最短路徑。

為取得最短直線路徑,我們可以連接¯PQ


此時設¯PQL1交於C,與L2交於D,而¯CD¯AB交於K


根據「三角形兩邊和大於第三邊」的道理,顯然有
¯PA+¯AB+¯BQ=(¯PA+¯AK)+(¯KB+¯BQ)>¯PK+¯KQ=¯PQ.
將路線反射回去到兩平行線之內,就得到


實線部分就是滿足題目所求的最短路徑。

整理:處理本題的步驟是

  1. 將起點與終點對平行線反射。
  2. 兩個反射點連接所得線段與本來平行線的交點就是所要求的點。


沒有留言:

張貼留言