• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Deformed Wheel 滾石頭

            Posted on 2010-07-01 19:54 王之昊 閱讀(591) 評論(0)  編輯 收藏 引用 所屬分類: 二分2:30
            Deformed Wheel


            題意:
            給你一個斜面,再給一個凸多邊形的石頭,讓石頭從高出放下,沿著斜面滾動,問石頭重心最后的位置。因為摩擦力很大,石頭不能滑動,只能轉動。(還有很多細節,具體見原題)

                  首先,這里要確定什么時候石頭算穩定了,可以找到石頭和斜面相交的兩個點,一個是相對石頭的最左點A,一個是相對石頭的最右點B,這樣如果石頭要向左轉動,必是繞著A轉;要向右轉動,必是繞著B轉。這里有個問題,如果A,B的橫坐標相同,那么A取最低的那個,B取最高的那個。
                 
                  找到A,B兩點之后,如果重心G 有 A.x<=G.x <= B.x 那么他是穩定的,如果G.x < A.x 那么他是向左轉,如果G.x > B.x那么他是向右轉。
                 
                  其次,要知道石頭如果開始轉動,不論向左向右,轉動多少角度會再次碰到斜面。假設轉動theta再次碰到斜面。我們要求出這個theta的值。這里可以采用二分theta的方法來解決,對于某個確定的角度theta1,直接模擬轉動theta1角度。看是否超出斜面的范圍,如果是,說明theta1大了,否則說明theta1小了。

                  二分的實現上我覺得還是有很多trick的,比如
            1. 在檢查的時候,要檢查石頭上是否存在一點是否在斜面的下側,這里很容易忽視那個支點,如果把支點也一并去檢查,很可能因為精度的關系判他在斜面的下方,結果check函數一直都是不合法。
            2. 向左轉和向右轉的處理上,向左轉我采用的是二分[0,PI]轉角,向右轉我則是二分[-PI, 0]轉角,結果寫在一起就出問題了,向左轉的判定如果在斜面下方,那么是角度大了,向右轉的判定如果在斜面下方,實際上是角度小了,盡管絕對值是大了。還有一種寫法是枚舉[0,PI],在check函數里再判斷是向左轉,還是向右轉。這樣不容易寫錯。

            posts - 26, comments - 7, trackbacks - 0, articles - 17

            Copyright © 王之昊

            久久妇女高潮几次MBA| 精品国产乱码久久久久软件| 久久99精品久久久久久| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 精品无码久久久久久午夜| 久久婷婷国产麻豆91天堂| 香港aa三级久久三级老师2021国产三级精品三级在| 久久伊人色| 久久国产一区二区| 亚洲伊人久久大香线蕉综合图片| 久久精品水蜜桃av综合天堂| 欧美与黑人午夜性猛交久久久| 久久w5ww成w人免费| 伊人伊成久久人综合网777| 99热都是精品久久久久久| 人妻丰满AV无码久久不卡| 日韩中文久久| 精品久久久久久无码免费| 久久精品天天中文字幕人妻| 久久久久久国产精品无码下载 | www性久久久com| 77777亚洲午夜久久多喷| 色偷偷91久久综合噜噜噜噜| 精品久久久久久久久久中文字幕| 国产精品久久国产精品99盘| 久久人人爽人人爽人人片av高请| 久久久久久午夜精品| 一本一道久久a久久精品综合| 精品国产婷婷久久久| 国产高潮国产高潮久久久91 | 久久这里的只有是精品23| 久久亚洲国产成人影院网站 | 国产成人精品久久二区二区| 久久久久久九九99精品| 日本强好片久久久久久AAA| 亚洲国产精品无码久久久不卡| 久久人妻AV中文字幕| 新狼窝色AV性久久久久久| 久久综合给合久久狠狠狠97色 | 久久精品成人一区二区三区| 国产激情久久久久影院老熟女|