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

大龍的博客

常用鏈接

統(tǒng)計(jì)

最新評(píng)論

同一坐標(biāo)系中,由任意兩點(diǎn)計(jì)算地圖旋轉(zhuǎn)角度(轉(zhuǎn)載)

一、引言

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

二、約定和術(shù)語(yǔ)

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


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

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

其中tanθ的定義域?yàn)椋?/span>-∏/2,+∏/2),值域?yàn)?/span>(-,+)

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

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

假設(shè)存在一起始點(diǎn)pntBegin,并且存在一個(gè)原點(diǎn)為pntBegin的平面坐標(biāo)系,同時(shí)約定要旋轉(zhuǎn)的角度為rotateAngle,則下一點(diǎn)pntDest根據(jù)方位有幾種情況,其示意圖如下,我們可以分類進(jìn)行討論:


l       pntDest.x1>=pntBegin.x0,則該點(diǎn)在第一和第四象限,具體對(duì)應(yīng)點(diǎn)為pntDest(1)pntDest(4),分別對(duì)應(yīng)的北偏東角度為α(1)和α(4),根據(jù)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,則該點(diǎn)在第二和第三象限,具體對(duì)應(yīng)點(diǎn)為pntDest(2)pntDest(3),分別對(duì)應(yīng)的北偏東角度為α(2)和α(3),根據(jù)Y值的不同,分兩種情況進(jìn)行討論,

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;

四、在超圖平臺(tái)中實(shí)現(xiàn)
:開(kāi)發(fā)語(yǔ)言為VC6,平臺(tái)為eSuperMap;

代碼如下:

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

10
11/**//// \brief 由前后兩點(diǎn)計(jì)算當(dāng)前地圖偏轉(zhuǎn)角并進(jìn)行地圖旋轉(zhuǎn)
12/// \param pntbegin 起始點(diǎn)
13/// \param pntbegin 下一點(diǎn)
14/// \return 地圖要旋轉(zhuǎn)的角度(北偏東)
15/// \remark 為適應(yīng)習(xí)慣用法,點(diǎn)坐標(biāo)的表示方法為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    //如果下一點(diǎn)的橫坐標(biāo)大于前一點(diǎn)(在第一和第四象限)
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 大龍 閱讀(704) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品在线观| 伊人久久久大香线蕉综合直播 | 午夜精品久久久久久久白皮肤 | 亚洲小视频在线| 雨宫琴音一区二区在线| 欧美午夜一区二区| 欧美大片91| 久久久久看片| 午夜精品三级视频福利| 99re热这里只有精品免费视频| 老司机67194精品线观看| 性欧美办公室18xxxxhd| 一本不卡影院| 亚洲理论在线| 最新国产乱人伦偷精品免费网站| 国产亚洲精品综合一区91| 国产精品福利在线| 欧美日韩视频不卡| 欧美激情按摩| 免费成人在线观看视频| 久久久久一区二区三区| 欧美在线看片| 欧美在线日韩在线| 欧美一区免费视频| 午夜精品影院| 欧美一级淫片播放口| 亚洲欧美日韩精品久久| 亚洲欧美视频| 亚洲欧美在线aaa| 亚洲综合欧美| 亚洲欧美一区二区视频| 亚洲欧美网站| 欧美一区观看| 久久精品2019中文字幕| 久久九九免费| 猛干欧美女孩| 欧美久久影院| 欧美日韩亚洲不卡| 国产精品国产三级国产专播品爱网| 欧美日韩国产在线一区| 欧美三级网址| 国产麻豆91精品| 国内精品视频在线播放| 在线日韩成人| 亚洲精品视频免费| 亚洲视频中文| 欧美一级淫片播放口| 久久久久久久精| 母乳一区在线观看| 亚洲黄色在线| 一区二区三区久久久| 亚洲综合色网站| 久久久久久免费| 欧美另类久久久品| 国产精品性做久久久久久| 国内精品嫩模av私拍在线观看| 亚洲大片精品永久免费| 99re66热这里只有精品4| 亚洲欧美国产日韩中文字幕| 久久电影一区| 亚洲大片精品永久免费| 99re6这里只有精品视频在线观看| 亚洲视频中文字幕| 久久精品在线| 欧美日韩精品伦理作品在线免费观看| 欧美午夜精品久久久久久人妖 | 欧美日韩精品免费| 国产精品自拍视频| 亚洲国产精品福利| 亚洲少妇中出一区| 久久婷婷蜜乳一本欲蜜臀| 亚洲国产精品久久久久婷婷884| 99国产精品久久久久久久成人热| 亚洲欧美日韩国产另类专区| 美日韩精品免费观看视频| 欧美性开放视频| 影音先锋另类| 亚洲欧美激情一区| 欧美成人国产| 亚洲一区二区三区精品在线观看 | 久久精选视频| 亚洲欧洲日本专区| 欧美一区二区三区日韩| 欧美极品影院| 加勒比av一区二区| 亚洲欧美激情四射在线日 | 亚洲欧美春色| 欧美高清不卡在线| 午夜一区二区三区在线观看 | 国产自产女人91一区在线观看| 亚洲欧洲一区二区三区| 欧美尤物一区| 亚洲伦理在线| 老牛嫩草一区二区三区日本| 国产伦精品一区二区三区| 日韩五码在线| 蜜臀99久久精品久久久久久软件 | 欧美中文字幕久久| 欧美新色视频| 亚洲美女中文字幕| 男女精品视频| 亚洲欧美影音先锋| 国产精品a久久久久| 亚洲欧洲另类国产综合| 久久日韩精品| 亚洲综合欧美| 国产精品久久久久9999吃药| 亚洲三级网站| 欧美a级在线| 久久精品最新地址| 国产欧美日韩免费看aⅴ视频| 亚洲午夜一二三区视频| 亚洲三级色网| 欧美成人综合在线| 亚洲国产日韩欧美在线99| 裸体女人亚洲精品一区| 欧美中文字幕不卡| 国产亚洲一级高清| 欧美中文字幕精品| 亚洲欧美日韩精品久久久久| 国产精品久久国产精麻豆99网站| 一本色道久久加勒比88综合| 亚洲黄色三级| 欧美顶级大胆免费视频| 亚洲全部视频| 亚洲大片精品永久免费| 欧美**字幕| 91久久久久久久久久久久久| 欧美国产高潮xxxx1819| 久久精品主播| 亚洲国产成人在线| 欧美激情亚洲精品| 欧美激情视频在线播放| 日韩午夜中文字幕| 99日韩精品| 国产精品第三页| 午夜精品久久久久久久99樱桃 | 女同一区二区| 模特精品在线| 亚洲美女视频在线观看| 亚洲日本在线观看| 欧美日韩直播| 亚洲欧美在线高清| 午夜精品免费| 好吊妞**欧美| 亚洲成色777777女色窝| 欧美激情亚洲自拍| 亚洲一区中文字幕在线观看| 亚洲桃花岛网站| 国产自产v一区二区三区c| 免费观看日韩av| 欧美精品日日鲁夜夜添| 亚洲自拍偷拍视频| 欧美一区二区三区四区高清| 亚洲大片在线| 日韩一级黄色大片| 国产日本欧美一区二区| 欧美xxxx在线观看| 欧美日韩天天操| 久久精品视频免费| 女仆av观看一区| 亚洲免费在线观看视频| 久久久久九九九| 99re成人精品视频| 亚洲一区免费看| 18成人免费观看视频| 9i看片成人免费高清| 国产日韩一区欧美| 亚洲国产日韩欧美| 国产欧美欧洲在线观看| 欧美国产在线电影| 国产精品毛片| 欧美高清在线| 国产伦理精品不卡| 欧美激情a∨在线视频播放| 欧美亚韩一区| 欧美国产日韩精品| 国产精品亚洲视频| 亚洲国产日韩在线| 国产性色一区二区| 日韩图片一区| 亚洲成在人线av| 亚洲午夜精品一区二区三区他趣 | 午夜久久黄色| 欧美+亚洲+精品+三区| 欧美一区二区高清| 欧美激情第3页| 久久免费高清视频| 欧美四级在线观看| 欧美黄色大片网站| 国产拍揄自揄精品视频麻豆| 91久久久久久久久| 好吊成人免视频| 亚洲午夜av电影| 日韩一本二本av| 久久一区二区三区超碰国产精品| 香蕉av福利精品导航| 欧美日韩裸体免费视频| 亚洲电影毛片| 一区精品在线播放|