Posted on 2010-03-21 00:36
王之昊 閱讀(227)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
pku
這道題模擬,已知一個(gè)支點(diǎn),去尋找下一個(gè)支點(diǎn),累加這期間的角度直到轉(zhuǎn)到滿意的角度為止。把繞支點(diǎn)的轉(zhuǎn)動(dòng)看成一個(gè)圓,把多邊形的每條線段看成障礙物?,F(xiàn)在來(lái)考慮一些特殊位置。

出題者應(yīng)該會(huì)避免相切的數(shù)據(jù)。和當(dāng)前木棍在同一直線上的特殊點(diǎn),一種可以根據(jù)線段的中心確定它會(huì)不會(huì)阻擋。
另外一種連中心也在同一條直線上。這時(shí)認(rèn)為在有木棍實(shí)體的那側(cè)的特殊點(diǎn)不會(huì)阻擋,而另一側(cè)會(huì)。

總的來(lái)說(shuō),障礙物(一條線段)他可能出現(xiàn)的位置是0~360。而難區(qū)分的是0度和360度。如果發(fā)現(xiàn)一個(gè)點(diǎn)落在0度或360度的位置時(shí),通過(guò)判斷障礙物在左邊(包括平行的時(shí)候)還是在右邊來(lái)確定會(huì)不會(huì)阻擋。
還可以通過(guò)讓木棍轉(zhuǎn)動(dòng)一個(gè)小的角度,看一下是遠(yuǎn)離障礙物,還是和障礙物相交來(lái)確定是否會(huì)阻擋。