999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式開發(fā)測圖系統(tǒng)中圓弧算法的實現(xiàn)

2012-11-05 08:53:48孫艷崇孫國平
山西建筑 2012年34期
關(guān)鍵詞:定義

孫艷崇 孫國平

(1.遼寧省交通高等專科學校,遼寧沈陽 110122;2.沈陽市勘察測繪研究院,遼寧沈陽 110004)

1 概述

在用VC語言開發(fā)繪圖程序中,主要利用的一個類是設(shè)備上下文對象類(CDC類),CDC類定義了一系列圖形對象及其相關(guān)的繪圖函數(shù),其中包括處理顯示器或打印機等設(shè)備上下文的成員函數(shù),以及處理與窗口客戶區(qū)對應(yīng)的顯示上下文的成員函數(shù)等。

在VC中,CDC類有成員函數(shù)Arc(),可以實現(xiàn)圓弧的繪制;使用此函數(shù)時,需要已知圓弧的外切矩形的四個角點的坐標,以及圓弧起點和端點的坐標。而在EVC中,其CDC類中沒有繪制圓弧的函數(shù),所以在用EVC開發(fā)測圖系統(tǒng)時,其中圓弧的繪制函數(shù)需要自行編制;圓弧繪制函數(shù)的算法有很多,本文介紹了一種新的三點繪制圓弧的算法,其思路是采用坐標正反算法,按一定圓心角計算圓弧點的坐標,然后利用繪制直線的函數(shù)(MoveTo()和LineTo()),采用直線逼近的方法實現(xiàn)。

2 坐標正反算簡介

1)坐標方位角的定義。

在測繪學科中,為了計算坐標的方便,除了需要知道距離,還需要知道方向,這一方向是通過坐標方位角來描述的,坐標方位角的定義是從某點的坐標縱軸方向線起,依順時針方向到目標方向線之間的水平夾角。

2)坐標正算。

坐標正算,就是根據(jù)直線的邊長、坐標方位角和一個端點的坐標,計算直線另一個端點的坐標的工作。

3)坐標反算。

根據(jù)直線的起點和終點的坐標,計算直線的水平距離和坐標方位角的過程叫坐標反算。

3 圓弧算法的實現(xiàn)

3.1 定義圓弧類

在用EVC開發(fā)測圖系統(tǒng)中,各圖元的繪制都是以類的形式實現(xiàn)的,且由于所繪制的圖形要加以保存,所以相關(guān)的圖元類要直接或間接的從Cobject類派生,這樣就可以實現(xiàn)類的串行化,從而實現(xiàn)圖形數(shù)據(jù)的保存。下面介紹三點繪制圓弧的類中,同圓弧繪制相關(guān)的數(shù)據(jù)成員及成員函數(shù)的定義。

double radius;

//定義圓弧的半徑

void centerandradius(double x1,x2,x3,y1,y2,y3);

//通過弧上的三點,計算圓弧的圓心坐標和半徑,并對center_x,center_y及 radius賦值

double azimuth(double f_x,double f_y,double e_x,double e_y);

//計算一條直線的坐標方位角,以弧度為單位

void arc(CPoint point[3],CDC*pdc);

//通過給定的三點及窗口的句柄,在特定的窗口,按順時針繪制圓弧

};

3.2 通過三點計算圓弧的圓心坐標和半徑

實現(xiàn)三點圓弧的繪制,需要首先計算出圓弧的圓心和半徑,其計算方法是:通過給定的三點組成一個三角形,然后構(gòu)造出任意兩條邊的垂直平分線的直線方程,最后對這兩條直線方程求解,即可計算出圓弧的圓心坐標,從而通過圓心坐標和給定三點中的任意一點計算圓弧的半徑。其圓弧的圓心坐標和半徑的計算函數(shù)如下:

3.3 計算圓心到起始方向的坐標方位角

測量學中,方位角的定義是:沿坐標北方向順時針旋轉(zhuǎn)到該直線的角度,在計算圓弧上點的坐標時,首先選定圓弧的起始點和終止點,然后分別計算出起點到圓心的坐標方位角和終點到圓心的坐標方位角。

其函數(shù)的具體實現(xiàn)如下:

//計算起點或端點到圓心的橫坐標增量double D_x=e_x-f_x;

//計算起點或端點到圓心的縱坐標增量

if(D_x==0&&D_y>0)

return pi/2;

//如果縱坐標增量等于0,且橫坐標增量大于0,坐標方位角等于 π/2(90°)

else if(D_x==0&&D_y<0)

return pi/2+pi;

//如果縱坐標增量等于0,且橫坐標增量小于0,坐標方位角等于 π/2+π(270°)

else

{double azimth=atan(D_y/D_x);if(D_x<0)

return azimth+pi;

//如果縱坐標增量小于0,坐標方位角等于計算的反正切值加上π的和

else

return azimth;

//如果縱坐標增量大于0,坐標方位角等于計算出的反正切值,此時計算的方位角可能出現(xiàn)負值,但對后面圓弧點的坐標計算公式?jīng)]有影響,所以可以直接返回計算的反正切值

}}

3.4 實現(xiàn)三點圓弧繪制的函數(shù)

在實現(xiàn)三點圓弧繪制的函數(shù)中,需要調(diào)用函數(shù)centerandradius(),獲取圓心坐標和半徑,然后調(diào)用方位角計算函數(shù)azimuth()計算起終點到圓心的坐標方位角,最后按一定圓心角間隔計算圓弧點的坐標,其函數(shù)的具體實現(xiàn)如下:

//通過圓弧上的三點獲取圓弧的圓心坐標及半徑

const double PI=3.1415926;

double azimuth1=azimuth(center_x,center_y,point[0].x,point[0].y);

//計算起點到圓心的坐標方位角

double azimuth2=azimuth(center_x,center_y,point[2].x,point[2].y);

//計算終點到圓心的坐標方位角

doublemaxnum=azimuth2-azimuth1;

//計算起終點到圓心的坐標方位角的差值

if(maxnum<0)

{maxnum=maxnum+(2*PI);

//計算的差值如是負數(shù),需要加上2π

4 結(jié)語

在嵌入式開發(fā)測圖系統(tǒng)時發(fā)現(xiàn):用VC開發(fā)桌面繪圖系統(tǒng)比較容易實現(xiàn)的功能,例如:圖形的無極縮放、樣條曲線函數(shù)的繪制及圖元屬性的定義等等,在EVC開發(fā)嵌入式繪圖系統(tǒng)中,要想實現(xiàn)這些功能,都是較麻煩的,因為在EVC中沒有實現(xiàn)此功能的基本函數(shù),所有功能都需要用戶從底層自己開發(fā)。將計算機技術(shù)的進步與測繪工程實踐相結(jié)合,可以極大提高生產(chǎn)效率、降低生產(chǎn)成本,直接在WinCE GPS手簿上開發(fā)測圖系統(tǒng)相比在PDA上開發(fā)更加方便,因為省去了全站儀和PDA數(shù)據(jù)通訊的開發(fā)環(huán)節(jié),這樣降低了開發(fā)周期,而且用GPS進行數(shù)據(jù)采集相比全站儀更加方便快捷,因為只要將基準站架設(shè)好之后,不用轉(zhuǎn)站就可以用流動站采集數(shù)據(jù)。基于以上優(yōu)點,直接在WinCE GPS手簿上開發(fā)成圖系統(tǒng)能提高工作效率,這也將成為數(shù)字化測圖的一個新的發(fā)展方向。

[1]孫 群.數(shù)字測圖系統(tǒng)研制報告[R].鄭州:解放軍信息工程大學測繪學院,2005.

[2]顧孝烈,鮑 峰.測量學[M].上海:同濟大學出版社,2006.

[3]傅 曦,齊 宇.嵌入式系統(tǒng)Windows CE開發(fā)技巧與實例[M].北京:化學工業(yè)出版社,2004.

猜你喜歡
定義
以愛之名,定義成長
活用定義巧解統(tǒng)計概率解答題
例談橢圓的定義及其應(yīng)用
題在書外 根在書中——圓錐曲線第三定義在教材和高考中的滲透
永遠不要用“起點”定義自己
海峽姐妹(2020年9期)2021-01-04 01:35:44
嚴昊:不定義終點 一直在路上
華人時刊(2020年13期)2020-09-25 08:21:32
定義“風格”
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
有壹手——重新定義快修連鎖
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 青青草国产一区二区三区| 乱人伦视频中文字幕在线| 在线观看国产一区二区三区99| 欧洲av毛片| 久久综合九色综合97婷婷| 亚洲va欧美va国产综合下载| 亚洲人网站| 超清无码熟妇人妻AV在线绿巨人 | 热这里只有精品国产热门精品| 欧美第一页在线| 99久久国产精品无码| 人妻夜夜爽天天爽| 青青草国产精品久久久久| 午夜不卡视频| 在线毛片网站| 国产亚卅精品无码| 91区国产福利在线观看午夜| 亚洲国产亚洲综合在线尤物| 亚洲第一综合天堂另类专| 日本成人精品视频| 国产va视频| 国产香蕉一区二区在线网站| 秘书高跟黑色丝袜国产91在线| 久久网欧美| 国产精品永久久久久| 好吊妞欧美视频免费| 亚洲成a人片| 午夜色综合| 幺女国产一级毛片| 97视频精品全国免费观看| 中日韩一区二区三区中文免费视频 | 国产特一级毛片| 久久美女精品| 中文字幕第1页在线播| 免费无码又爽又黄又刺激网站| 91精品aⅴ无码中文字字幕蜜桃| 久草中文网| 高清无码不卡视频| 国产裸舞福利在线视频合集| 成年片色大黄全免费网站久久| 中文字幕亚洲精品2页| 国产乱人伦AV在线A| 国产超碰一区二区三区| 亚洲一区毛片| 国产美女一级毛片| 日韩欧美国产三级| 一级做a爰片久久免费| 99久久人妻精品免费二区| 国产日韩精品欧美一区灰| 国产一区在线视频观看| 国产精品天干天干在线观看| 欧美成人一区午夜福利在线| 久久永久视频| 999国内精品久久免费视频| 国产日本欧美在线观看| 欧美第二区| 在线观看av永久| 亚洲国产天堂在线观看| 新SSS无码手机在线观看| 日韩大乳视频中文字幕| 精品综合久久久久久97超人| 久久精品视频一| 亚洲美女一级毛片| 国产经典免费播放视频| 免费人成网站在线高清| 中文字幕1区2区| 国产在线观看成人91| 国产噜噜在线视频观看| 2018日日摸夜夜添狠狠躁| 五月天在线网站| 国产精品亚欧美一区二区三区 | 国产福利在线免费观看| 99ri精品视频在线观看播放| 二级特黄绝大片免费视频大片| 国产精品99r8在线观看| 欧美一道本| 天堂va亚洲va欧美va国产| 亚洲精品大秀视频| 在线精品自拍| 婷婷色婷婷| 国产永久在线观看| 综合久久五月天|