青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

同一坐標系中,由任意兩點計算地圖旋轉角度(轉載)

一、引言

在各種GIS/GPS應 用中,地圖旋轉是不可或缺的一部分,尤其明顯的是用在實時導航,對象跟蹤等應用方面。用來計算地圖旋轉時偏轉角的坐標點有動態和靜態兩種之分。動態在這里 指的是在已知當前點的情況下,下一點的具體位置是不確定的;而靜態指的是下一點的具體位置是確定的。動態的應用我們常見到的是GPS導航、游戲中的賽車(多賽道、可轉彎等)以 及調度等中的實時地圖旋轉,而靜態更常見的是作為一種功能的演示,如模擬導航,模擬賽車等。地圖旋轉只有在同一坐標系中進行才有意義,地圖旋轉角度的計算 才有依據,本文主要著重點在于如何由前后兩點計算地圖旋轉角度,同時主要考慮動態的方式,靜態方式的旋轉地圖原理是一樣的,就不分開介紹了。

二、約定和術語

²      參考坐標系:本文所依據的坐標系為北京54下的依據高斯克呂格投影所建立的坐標系,即高斯平面坐標系,它的圖像如圖:


X
代表為正北方向,Y代表正東方向,為了使y值都為正,將縱坐標軸西移500km

²      正切函數是直角三角形中,對邊與鄰邊的比值。放在直角坐標系中(如圖)即 tanθ=y/x

其中tanθ的定義域為(-∏/2,+∏/2),值域為(-,+)

²         偏轉角:約定偏轉角為北偏東的角度,將地圖按照偏轉角進行旋轉后將始終朝著運動方向行駛。在高斯平面坐標系中,正北即為X軸,正東即為Y軸,所以tanθ還是為y/x,只是角度的位置有了變化,如圖所示。

²         反正切:函數y=tanx的反函數叫做反正切函數,記做:y=arctanx.
定義域:R;值域:(-π/2,π/2)
三、計算偏轉角

假設存在一起始點pntBegin,并且存在一個原點為pntBegin的平面坐標系,同時約定要旋轉的角度為rotateAngle,則下一點pntDest根據方位有幾種情況,其示意圖如下,我們可以分類進行討論:


l       pntDest.x1>=pntBegin.x0,則該點在第一和第四象限,具體對應點為pntDest(1)pntDest(4),分別對應的北偏東角度為α(1)和α(4),根據Y值的不同,我們又可以分兩種情況,

n       若pntDest.y>=pntBegin.y://在第一象限
rotateAngle=arctan2(fabs(p0.x-p1.x),fabs(p0.y-p1.y));

n       若pntDest.y<pntBegin.y://在第四象限
rotateAngle=arctan2(fabs(p0.x-p1.x),fabs(p0.y-p1.y));

rotateAngle=∏-rotateAngle;

l       pntDest.x1<pntBegin.x0,則該點在第二和第三象限,具體對應點為pntDest(2)pntDest(3),分別對應的北偏東角度為α(2)和α(3),根據Y值的不同,分兩種情況進行討論,

n       若pntDest.y>=pntBegin.y://在第二象限
rotateAngle=arctan2(fabs(p0.x-p1.x),fabs(p0.y-p1.y));
rotateAngle= 2*∏-rotateAngle;

n       若pntDest.y<pntBegin.y://在第三象限
rotateAngle=arctan2(fabs(p0.x-p1.x),fabs(p0.y-p1.y));

rotateAngle=∏+rotateAngle;

四、在超圖平臺中實現
:開發語言為VC6,平臺為eSuperMap;

代碼如下:

 1
 2void CCarNaviView::RotateMap(CPoint pntBegin,CPoint pntNext)
 3{    
 4    //計算旋轉角度
 5    double dAngle=CalculateRotateAngle(pntBegin,pntNext);
 6    //地圖旋轉
 7    m_MapWnd.GetDrawParam()->SetMapRotationAngle( dAngle );
 8    m_MapWnd.Refresh();
 9}

10
11/**//// \brief 由前后兩點計算當前地圖偏轉角并進行地圖旋轉
12/// \param pntbegin 起始點
13/// \param pntbegin 下一點
14/// \return 地圖要旋轉的角度(北偏東)
15/// \remark 為適應習慣用法,點坐標的表示方法為cpoint(x,y),如pntbegin(x,y)代表的含義為:
16///          x->正東,即為高斯投影中的Y,y->正北,代表高斯投影中的x

17double CCarNaviView::CalculateRotateAngle(CPoint pntBegin,CPoint pntNext)
18{
19    CPoint pntFirst(pntBegin);
20    CPoint pntSecond(pntNext);
21    
22    double dRotateAngle = atan2(fabs(pntBegin.x-pntNext.x),fabs(pntBegin.y-pntNext.y));
23    
24    //如果下一點的橫坐標大于前一點(在第一和第四象限)
25    if (pntNext.x>=pntFirst.x)
26    {
27        //在第一象限(0<=dRotateAngle<=90)
28        if (pntNext.y>=pntFirst.y)
29        {
30            //不做任何處理
31            dRotateAngle=dRotateAngle;
32        }

33        else
34        {
35            dRotateAngle=PI-dRotateAngle;
36        }

37    }

38    else//(在第二和第三象限)
39    {
40        //第二象限
41        if (pntNext.y>=pntFirst.y)
42        {
43            dRotateAngle=2*PI-dRotateAngle;
44        }

45        else//第三象限
46        {
47            dRotateAngle=PI+dRotateAngle;
48        }

49    }

50    return dRotateAngle;
51}

posted on 2012-05-17 03:53 大龍 閱讀(699) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品系列| 久久精品综合| 日韩午夜在线电影| 久久成人免费| 亚洲香蕉视频| 国产精品成人一区二区网站软件| 亚洲大胆人体视频| 久久久久青草大香线综合精品| 这里只有视频精品| 欧美午夜宅男影院| 亚洲香蕉在线观看| 99精品国产在热久久婷婷| 91久久精品国产91性色| 亚洲欧美日韩第一区| 欧美大片在线影院| 亚洲国产91| 欧美成人免费在线观看| 久久成人资源| 亚洲精品国偷自产在线99热| 免费日韩视频| 羞羞答答国产精品www一本| 亚洲一区在线视频| 日韩亚洲一区二区| 欧美日韩午夜在线视频| 99天天综合性| 亚洲深夜影院| 国产一区二区观看| 另类成人小视频在线| 久久久在线视频| 亚洲欧洲久久| 亚洲老司机av| 国产精品毛片大码女人| 欧美尤物一区| 久久一区二区三区四区五区| 亚洲精选久久| 亚洲视频导航| 好吊一区二区三区| 亚洲福利视频网站| 国产精品成人在线| 久热精品视频在线观看一区| 欧美高清视频一区| 亚洲欧美日韩在线不卡| 久久精品人人做人人爽电影蜜月| 亚洲欧洲精品一区二区精品久久久| 亚洲精品自在久久| 国产一区二区欧美| 亚洲精品国产精品国自产在线| 国产精品成人一区二区艾草| 麻豆精品精华液| 国产精品国产精品| 另类专区欧美制服同性| 国产精品久久久久久久久久久久久久| 极品av少妇一区二区| 亚洲人成网站在线观看播放| 国产精品乱人伦中文| 欧美gay视频激情| 国产精品九色蝌蚪自拍| 男人的天堂亚洲在线| 国产精品对白刺激久久久| 你懂的成人av| 国产视频久久网| 亚洲美女免费精品视频在线观看| 国产网站欧美日韩免费精品在线观看| 欧美国产日本高清在线| 国产日产欧产精品推荐色| 亚洲三级免费| 中文一区字幕| 久久精品99无色码中文字幕 | 欧美精品一区二区三区四区| 久久国产精品久久久久久久久久| 欧美大片91| 久久九九热免费视频| 欧美日韩一本到| 亚洲国产高清一区| 国产主播在线一区| 亚洲一区二区三区777| 亚洲最新视频在线| 欧美成人精品福利| 欧美成人精品福利| 国语对白精品一区二区| 亚洲中无吗在线| 亚洲欧美国产日韩天堂区| 欧美日韩不卡| 亚洲乱码一区二区| 99国产精品视频免费观看一公开| 久久在线精品| 久久人人爽人人| 国产亚洲精品资源在线26u| 亚洲影院高清在线| 欧美诱惑福利视频| 国产欧美一区二区三区国产幕精品| 一区二区高清视频| 亚洲欧美国产高清| 国产欧美日韩精品专区| 午夜久久福利| 久久综合成人精品亚洲另类欧美| 国产一区二区在线观看免费播放| 午夜精品久久久久久久99热浪潮 | 久久成人18免费观看| 国产老女人精品毛片久久| 亚洲欧美另类中文字幕| 午夜精品久久久久| 国产亚洲精品aa| 久久久久国产精品一区二区| 美国十次成人| 亚洲欧洲中文日韩久久av乱码| 免费久久99精品国产自| 亚洲国产视频直播| 亚洲视屏在线播放| 国产欧美精品xxxx另类| 久久久久成人精品免费播放动漫| 欧美高清不卡在线| 一区二区电影免费观看| 国产精品嫩草久久久久| 欧美专区18| 亚洲韩国青草视频| 欧美一级精品大片| 亚洲激情图片小说视频| 国产精品久久久一区二区三区| 久久精品99| 夜久久久久久| 美女视频网站黄色亚洲| 一本色道**综合亚洲精品蜜桃冫| 国产精品久久久久久久第一福利 | 欧美午夜激情在线| 欧美影视一区| 日韩视频一区二区在线观看| 久久精品日产第一区二区| 亚洲日本欧美日韩高观看| 国产精品午夜电影| 亚洲国产老妈| 国产日韩成人精品| 久久久久国产一区二区三区| 亚洲第一区在线观看| 亚洲香蕉在线观看| 亚洲第一免费播放区| 国产精品美腿一区在线看| 久久国产视频网| 一本一道久久综合狠狠老精东影业| 久久精品99国产精品| 夜夜嗨av一区二区三区四区| 国产一区二区三区成人欧美日韩在线观看| 美女日韩欧美| 亚洲欧美中文另类| 一本色道88久久加勒比精品| 久久综合免费视频影院| 亚洲视频欧美视频| 亚洲精品在线视频观看| 国产一区二区无遮挡| 国产精品国产精品| 欧美激情成人在线| 久久精品夜色噜噜亚洲aⅴ| 中文av一区二区| 亚洲日本在线观看| 欧美成人精品福利| 久久免费偷拍视频| 性欧美video另类hd性玩具| 99热在这里有精品免费| 亚洲国产精品一区二区www在线| 国产欧美日韩另类一区| 国产精品igao视频网网址不卡日韩| 女人香蕉久久**毛片精品| 久久精品亚洲一区| 久久精品免费播放| 久久精视频免费在线久久完整在线看| 亚洲神马久久| 亚洲小少妇裸体bbw| 亚洲天堂av在线免费观看| 999亚洲国产精| 99热在这里有精品免费| 日韩亚洲欧美一区二区三区| 亚洲乱码国产乱码精品精天堂| 亚洲区免费影片| 91久久久国产精品| 亚洲精品视频一区二区三区| 亚洲欧洲美洲综合色网| 91久久久亚洲精品| 亚洲精品日韩激情在线电影| 亚洲精品免费网站| 夜夜嗨av一区二区三区网页 | 国产精一区二区三区| 国产精品美女一区二区| 国产精品免费看片| 国产亚洲一区二区三区在线播放| 国内自拍亚洲| 亚洲国产一区在线观看| 亚洲精品综合| 亚洲欧美变态国产另类| 欧美在线资源| 久热精品视频在线免费观看| 欧美激情国产日韩| 日韩一级免费| 亚洲欧美日韩精品久久久久| 久久久久欧美精品| 欧美电影在线免费观看网站 | 久久精品一本久久99精品| 久久偷看各类wc女厕嘘嘘偷窃| 免费观看成人www动漫视频| 欧美国产日韩亚洲一区| 99视频一区二区|