很不錯的幾何題。不知道怎麼做就,二分搜
假設答案是 t 秒,那麼 > t 秒的都可以(先走到跟他一樣,而且V > Vp),利用這個性質來二分搜。
所以現在那個一直在繞圈圈的行星,被我們固定住
你只要找到所在位置與該行星的最短距,就解決了
直線永遠是最短距離,所以假如你不會穿越中間的圓圈,就直接拿他們的直線距離。
假設有穿越中間的圓圈,可以知道走切線再走圓弧再走切線,會是最短距離,
所以把他們一一算出來之後,就成功了。
=======================================
子問題-
1. 判斷有沒有穿越中間:直線與中心的距離 <= r 且OAB和OBA都是銳角
2. 直線與中心的距離:算外積後(平行四邊形面積),再除掉底 = 高
3. 判斷兩個向量是否形成銳角:內積後,正的為銳角,負的為鈍角
4. 切線的長度:OA^2 - R^2
5. 圓弧的角度:設切點是C, D,設高是M,
若BOA是銳角: (BOM-BOD-AOC),若BOA是鈍角: (180 - BOM - BOD - AOC)
沒有留言:
張貼留言