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

大龍的博客

常用鏈接

統計

最新評論

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

一、引言

在各種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>
            先锋影音国产一区| 欧美激情久久久久久| 欧美人与性动交cc0o| 久久福利资源站| 欧美一区二区视频观看视频| 国产精品永久免费观看| 久久av资源网| 久久亚裔精品欧美| 一本色道久久88综合亚洲精品ⅰ | 好看不卡的中文字幕| 久热爱精品视频线路一| 欧美成人免费在线| 亚洲自拍啪啪| 久久乐国产精品| 一本色道久久综合| 欧美一区二区成人| 亚洲精品久久嫩草网站秘色| 中日韩在线视频| 在线成人激情| 一区二区三区.www| 亚洲电影成人| 一区二区三区黄色| 在线观看日韩av电影| 亚洲免费av电影| 激情综合在线| 亚洲男同1069视频| 亚洲美女黄色| 欧美中文字幕| 亚洲一区中文| 欧美成人精品| 久久亚洲不卡| 国产精品女人网站| 最新高清无码专区| 狠狠网亚洲精品| 一区二区三区日韩欧美| 亚洲国产一区二区精品专区| 亚洲欧美日韩专区| 一本久道综合久久精品| 久久久另类综合| 欧美一区久久| 国产精品第一区| 亚洲黑丝在线| 亚洲电影成人| 久久露脸国产精品| 久久久精品2019中文字幕神马| 欧美日韩1区2区| 欧美激情一二区| 在线观看欧美成人| 欧美在现视频| 久久久久久久激情视频| 国产精品www色诱视频| 亚洲精品乱码久久久久久| 在线观看91精品国产麻豆| 亚洲视频在线观看| 亚洲欧美国产毛片在线| 国产精品v欧美精品v日韩精品| 亚洲第一综合天堂另类专| 有码中文亚洲精品| 久久精品国产99国产精品| 久久久国产精品一区二区三区| 国产精品一区一区三区| 亚洲一区二区三区中文字幕在线| 亚洲主播在线观看| 国产精品欧美风情| 性做久久久久久久免费看| 久久国产一区二区三区| 国产欧美日韩精品在线| 亚洲女女女同性video| 性伦欧美刺激片在线观看| 亚洲欧美日本视频在线观看| 欧美私人网站| 亚洲综合成人婷婷小说| 午夜精品久久| 国产欧美一区二区精品性 | 久久欧美中文字幕| 激情懂色av一区av二区av| 久久女同精品一区二区| 欧美成人dvd在线视频| 亚洲二区三区四区| 欧美激情亚洲国产| 国产精品99久久99久久久二8| 亚洲在线免费视频| 国产亚洲欧美一区二区三区| 久久久久久9| 亚洲第一精品夜夜躁人人爽| 亚洲精选一区| 国产精品色婷婷| 久久精品亚洲乱码伦伦中文| 欧美激情第三页| 亚洲欧美激情诱惑| 伊人成年综合电影网| 欧美精品v日韩精品v韩国精品v| 亚洲精品视频一区| 久久蜜桃精品| 在线亚洲激情| 黄色精品一区二区| 欧美日韩国产经典色站一区二区三区| 亚洲小视频在线观看| 欧美+亚洲+精品+三区| 一区二区三区黄色| 国产综合久久| 欧美日韩国产综合视频在线观看中文 | 国产精品狠色婷| 久久精品在线观看| 一本色道久久综合亚洲精品高清| 久久九九国产精品| 在线一区观看| 亚洲国产cao| 国产欧美亚洲一区| 欧美日韩一区精品| 裸体歌舞表演一区二区| 亚洲一区二区视频在线观看| 欧美国产丝袜视频| 久久久久久久波多野高潮日日| 一区二区三区免费网站| 激情综合久久| 国产欧美日韩一区二区三区在线观看 | 国产欧美日韩另类一区| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲午夜精品在线| 亚洲精品少妇30p| 欧美成人一区二区三区片免费| 欧美一级在线视频| 亚洲欧美999| 亚洲午夜精品一区二区三区他趣| 在线精品高清中文字幕| 亚洲综合二区| 欧美有码在线视频| 亚洲免费视频一区二区| 亚洲精品在线电影| 亚洲国产精品成人久久综合一区| 国产免费一区二区三区香蕉精| 欧美午夜精品久久久久久人妖| 欧美freesex8一10精品| 久久久久久久久久久成人| 欧美一区二区精品| 欧美在线不卡视频| 欧美一级专区| 久久av在线看| 久久伊人一区二区| 狼狼综合久久久久综合网| 久久精品道一区二区三区| 欧美有码在线观看视频| 欧美一区亚洲| 久久亚洲精品视频| 蜜桃av一区二区在线观看| 蜜臀av在线播放一区二区三区| 久久久一区二区| 欧美成人精品在线视频| 欧美二区乱c少妇| 欧美精品一区三区在线观看| 欧美精品久久99| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 日韩午夜激情av| 亚洲视频碰碰| 欧美一区二区三区日韩| 久久手机精品视频| 欧美激情无毛| 在线中文字幕一区| 欧美在线免费一级片| 久热这里只精品99re8久| 免费视频久久| 欧美三级电影一区| 国产主播精品在线| 最新亚洲一区| 午夜精品在线| 免费观看日韩av| 亚洲理伦在线| 欧美一区二区三区男人的天堂 | 国产精品一区二区女厕厕| 好看不卡的中文字幕| 日韩视频在线永久播放| 亚洲在线一区| 免费毛片一区二区三区久久久| 亚洲精品美女在线| 欧美中文在线观看国产| 欧美激情综合五月色丁香| 国产日韩精品在线观看| 亚洲国产精品精华液2区45| 亚洲欧美变态国产另类| 美女亚洲精品| 亚洲一区二区欧美| 欧美va天堂va视频va在线| 国产精品日韩一区| 亚洲激情综合| 久久一区二区三区超碰国产精品| 亚洲区中文字幕| 久久免费国产精品| 国产老女人精品毛片久久| 亚洲精品在线视频观看| 久久免费午夜影院| 亚洲视频一二| 欧美人与性禽动交情品| 亚洲福利专区| 久久精品一二三| 亚洲欧美伊人| 国产精品视频1区| 在线一区视频| 91久久久久久久久| 久久久天天操|