| 紙上談兵? |
| 送交者: 零加一中 2020年06月08日18:07:55 於 [靈機一動] 發送悄悄話 |
|
20多年前一個晚上,10點半了,電話鈴響起,是一位非常要好的朋友打來的。他在修計算機課,一個回家作業明天要交,實在想不出,就想到了我。 一個多邊形(N條邊),凹凸不限。同一平面有一個點,可以在多邊形內部,也可以在外部。從該點畫一射線,哪一個方向穿透的“邊”最多,有幾條。現在要求用計算機程序完成這個過程。 下面兩行“***”之間,與(簡單)數學有關,不感興趣的讀者可跳過。 *** 稍作思考,我就想到了方法。令該點為原點,將多邊形各點用極坐標寫出,要求角度在0° 和360° 之間。將相鄰點配對,共 N 對。在每一對中,如果起始角度大於終止角度,就將兩點互換,這樣保證了每一對中,第二個角大於第一個角。 將N個角度排序,將從小到大的N個區間(不是N條邊對應的區間)逐個檢驗,看包含了多少對(部分或全部),大部分情況只包含了一條邊對應的角度的一部分。唯一的麻煩是包含了x 正軸的那個區間。我們只要檢驗,在現在的坐標體系,有多少條邊跨越了x 正軸。 *** 第二段中的檢驗過程,很可能並非最佳選擇,還有更好的方法。但這時已經半夜12點多了,不管白貓黑貓,先把老鼠抓住再說。我事後問他,為什麼隔天晚上這麼晚才打電話,不早點來問。他說,不好意思打攪我,走投無路了才給我打電話!真是哭笑不得。 20多年過去,此事已逐漸淡忘。退休後,我家買了一輛 Lexus。一輛車一般壽命10年,太太說,我們也沒幾個10年了,應該享受一下了。 買車時,推銷員使出渾身解數,先進功能介紹了一樣又一樣,真是此車只能天上有。其中有一項功能是開門關門不用鑰匙,只要在車子的某幾個部位之一摸一下就可以了。當然這是有前提的,鑰匙不能太遠,女士們一般把鑰匙放在手提包內,自然就滿足要求了。 幾天前,太太發現車門沒法關,換了我的手去摸,也是不行。忽然她想起,這次鑰匙沒有放在包里,在駕駛座邊上。鑰匙拿出來,再關就可以了。這個設計確實不錯,鑰匙不會忘在車裡。推銷員口若懸河的時候忘了吹。 車子怎麼知道我沒把鑰匙帶出來?我想到了20多年前的槍手經歷。可以在車子的四個角裝四個感應器,四條邊可以看作是四面牆壁,一個簡單程序只要判斷鑰匙是否在“牆“內就可以了。 |
|
![]() |
![]() |
| 實用資訊 | |
|
|
| 一周點擊熱帖 | 更多>> |
| 一周回復熱帖 |
| 歷史上的今天:回復熱帖 |
| 2016: | 連續幾日睡前閱讀樺樹的文字 | |
| 2016: | 我現在非常理解BOX,不過我們老的,可 | |
| 2015: | 聰明的人都能看到18個字 你能? | |
| 2015: | 電腦速度慢的四大解決方法 | |




