亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Open CASCADE下的點(diǎn)云數(shù)據(jù)的研究與實(shí)現(xiàn)

        2010-04-11 08:07:44吳維勇
        制造業(yè)自動(dòng)化 2010年13期
        關(guān)鍵詞:類庫應(yīng)用程序可視化

        丁 偉,馮 飛,吳維勇

        DING Wei, FENG Fei, WU Wei-yong

        (九江學(xué)院 信息科學(xué)與技術(shù)學(xué)院,九江 332005)

        基于Open CASCADE下的點(diǎn)云數(shù)據(jù)的研究與實(shí)現(xiàn)

        The research and realization of cloud data based on Open CASCAD

        丁 偉,馮 飛,吳維勇

        DING Wei, FENG Fei, WU Wei-yong

        (九江學(xué)院 信息科學(xué)與技術(shù)學(xué)院,九江 332005)

        研究了基于幾何內(nèi)核Open CASCADE的三維建模平臺(tái)的研究,通過Open CASCADE類庫的建模、布爾操作、可視化系統(tǒng)的特性以及與Visual C++的有效結(jié)合,針對點(diǎn)云數(shù)據(jù)的加載進(jìn)行圖形的空間變換,從而實(shí)現(xiàn)圖形的平移、縮放、旋轉(zhuǎn)。

        Open CASCADE;空間變換;點(diǎn)云數(shù)據(jù)

        0 引言

        Open CASCADE是一套開放原始碼的CAD/CAM/CAE幾何模型核心,源自于法國的Matra Datavision公司,Open CASCADE是一個(gè)功能強(qiáng)大的三維建模工具,提供了點(diǎn)、線、面、體和復(fù)雜形體的顯示和交互操作,經(jīng)過深度開發(fā)后可實(shí)現(xiàn)紋理、光照、圖元填充、渲染等圖形操作和放大、縮小、旋轉(zhuǎn)、漫游、模擬飛行、模擬穿越等動(dòng)態(tài)操作。

        OpenCascade提供二維和三維幾何體的生成、顯示和分析。Open CASCADE的基礎(chǔ)類提供各種通用服務(wù),如自動(dòng)動(dòng)態(tài)內(nèi)存管理(操縱物體的處理)、收藏、例外處理、泛型的向下轉(zhuǎn)型和插件創(chuàng)造。Open CASCADE是面向?qū)ο蟮腃++類庫,這些類庫被分成了六個(gè)類庫模塊(最小類庫模塊是基礎(chǔ)類庫模塊,最大的類庫模塊是建模運(yùn)算類庫模塊),這些類庫模塊及其內(nèi)容如下:

        1)基礎(chǔ)類庫模塊(Foundation Classes):內(nèi)核類(Kernel Classes),數(shù)學(xué)工具類(Math Utilities);

        2)建模數(shù)據(jù)類模塊(Modeling Data):二維幾何體(2D Geometry),三維幾何體(3D Geometry),幾何體工具(Geometry Utilities),拓?fù)洌═opology);

        3)建模運(yùn)算類模塊(Modeling Algorithms):基本體結(jié)構(gòu)(Construction of Primitives),布爾操作(Boolean Operations),倒角圓角(Fillets and Chamfers),(Offsets,Drafts Sewing and Sweeps),特征(Features),消除隱藏線(Hidden Line Removal),幾何工具(Geometric Tools),拓?fù)涔ぞ撸═opological Tools);

        4)可視化類模塊(Visualization):二維三維通用服務(wù)(Services Common to 2D and 3D),二維可視化類(2D Visualization),三維可視化類(3D Visualization);

        5)數(shù)據(jù)交換類模塊(Data Exchange):基本圖形轉(zhuǎn)換規(guī)范(IGES),產(chǎn)品型號數(shù)據(jù)交換標(biāo)準(zhǔn)(STEP),AP203,AP214,數(shù)據(jù)擴(kuò)展(Extended data),exchange (XDE);

        6)應(yīng)用程序框架(Application Framework):數(shù)據(jù)框架(Data Framework),數(shù)據(jù)存儲(chǔ)(Data Storage),應(yīng)用程序界面(Application Desktop)。

        本文以點(diǎn)云數(shù)據(jù)的的加載為例,利用Open CASCADE強(qiáng)大的圖形處理功能以及Visual C++的良好數(shù)據(jù)處理能力,開發(fā)了實(shí)現(xiàn)行圖形的空間變換,從而實(shí)現(xiàn)圖形的平移、縮放、旋轉(zhuǎn)。

        1 Open CASCADE應(yīng)用程序框架

        Open CASCADE提供了一個(gè)應(yīng)用程序開發(fā)的框架OCAF(Open CASCADE Application Frame),可幫助開發(fā)人員快速的利用Open CASCADE進(jìn)行應(yīng)用程序的開發(fā)。

        OCAF提供了應(yīng)用程序結(jié)構(gòu),開發(fā)者的主要任務(wù)就是建立應(yīng)用程序所需要的數(shù)據(jù)和程序接口。OCAF的應(yīng)用程序數(shù)據(jù)組織方式和其他的CAD不同,在OCAF中,數(shù)據(jù)結(jié)構(gòu)不是由形體驅(qū)動(dòng)的,而是由參數(shù)驅(qū)動(dòng)。

        用戶通過Open CASCADE 提供的OCAF的生成向?qū)Э煽焖俚脑赩isual C++中生成基于MFC的多文檔OCAF框架。生成向?qū)У牟襟E如下:

        1)Open CASCADE應(yīng)用程序框架在Visual C++中的目錄選項(xiàng)卡中添加Open CASCADE下的inc及l(fā)ib目錄;

        2)將Open CASCADE下的acafappwizard.awx及usertype.dat復(fù)制到Visual C++下的Template及Bin文件夾下;

        3)在Visual C++中的Option對話框format選項(xiàng)卡中進(jìn)行字體格式設(shè)置,在Color項(xiàng)目區(qū)選擇User Defined Keywords。

        2 點(diǎn)云數(shù)據(jù)的顯示

        本文主要針對規(guī)則的兔子點(diǎn)云和牛點(diǎn)云數(shù)據(jù)進(jìn)行處理,其數(shù)據(jù)采樣方法為按行掃描。由于得到的物體的點(diǎn)云數(shù)據(jù)通常是海量的,而且有的物體表面曲率變化較大,形狀不規(guī)則,所以在做一片點(diǎn)云數(shù)據(jù)曲面顯示的時(shí)候,如果點(diǎn)取的太稀疏,不能反映局部曲面曲率變化的大小,如果點(diǎn)取的太密集,那么將給曲面擬合帶來很大的計(jì)算量。因此,將一片點(diǎn)云數(shù)據(jù)分割成若干小片,對每個(gè)小片分別進(jìn)行擬合顯示,最后把所有小片進(jìn)行光滑拼接,以達(dá)到良好的顯示效果。

        當(dāng)節(jié)點(diǎn)向量區(qū)間分的很小的時(shí)候,簡捷顯示方法能夠達(dá)到較好的擬合效果。相關(guān)理論依據(jù)和證明如下:

        由上可知,當(dāng)節(jié)點(diǎn)向量區(qū)間分的很小的時(shí)候,簡捷顯示方法能夠達(dá)到較好的擬合效果。處理后的數(shù)據(jù)通過導(dǎo)入系統(tǒng),可顯示效果。主要代碼如下:

        Handle(Prs3d_Point Aspect) aPointAspect=new

        Prs3d_PointAspect(Aspect_TOM_POINT,Quantity_Color(1,0,0,Quantity_TOC_RGB),2);

        Handle(AIS_Drawer) anDrawer=new AIS_Drawer;

        anDrawer->SetPointAspect(aPointAspect);

        anAISCompound->SetAttributes(anDrawer);

        3 點(diǎn)云數(shù)據(jù)的實(shí)現(xiàn)

        通過數(shù)據(jù)處理后,其中牛點(diǎn)云數(shù)據(jù)中有2904個(gè)頂點(diǎn)及5848個(gè)面,兔子點(diǎn)云數(shù)據(jù)中有53921個(gè)頂點(diǎn)及104167個(gè)面。

        3.1 點(diǎn)云數(shù)據(jù)的空間變換

        空間變換,也稱幾何變換或幾何運(yùn)算, 包括圖形的平移、縮放、旋轉(zhuǎn)等.幾何運(yùn)算可改變圖形中各物體之間的空間關(guān)系,這種運(yùn)算可以被看成是將物體在圖形內(nèi)移動(dòng)。

        空間變換可如下表示.設(shè)(u,v)為源圖形上的點(diǎn),(x, y)為目標(biāo)圖形上的點(diǎn),則幾何變換將源圖形上(u,v)處的顏色值與目標(biāo)圖形上(x, y)處的顏色值對應(yīng)起來(u,v) <—> (x,y)并具有以下關(guān)系:

        其中X(u,v)、 Y(u,v)或U(x,y)、 V(x,y)均為變換.由(1)對應(yīng)的變換稱作向前映射法,而由(2) 對應(yīng)的變換稱作向后映射法[3]。

        一個(gè)空間變換需要兩個(gè)獨(dú)立的算法。首先,需要一個(gè)算法來定義幾何變換本身, 用來描述每個(gè)像素如何從其初始位置“移動(dòng)”到終止位置,即每個(gè)像素的運(yùn)動(dòng)。同時(shí),還需要一個(gè)用于灰度插值的算法。

        Open CASCADE在View類中(V3d_VIew)中有相應(yīng)的轉(zhuǎn)換函數(shù),可以把當(dāng)前點(diǎn)轉(zhuǎn)換到3D視圖中的對應(yīng)與重合與屏幕平面上。

        在實(shí)現(xiàn)的系統(tǒng)中可通過Ctrl+鼠標(biāo)中間按鍵(或鼠標(biāo)中間的小圓球)可實(shí)現(xiàn)圖形的平移、Ctrl+鼠標(biāo)左按鍵可實(shí)現(xiàn)圖形的縮放、Ctrl+鼠標(biāo)右按鍵可實(shí)現(xiàn)圖形的旋轉(zhuǎn)。

        3.2 點(diǎn)云數(shù)據(jù)的刪除與更新

        點(diǎn)云數(shù)據(jù)的刪除與更新是前期數(shù)據(jù)處理的核心。因?yàn)闊o論哪種激光掃描系統(tǒng)得到的數(shù)據(jù)都含有大量的冗余信息,對所有點(diǎn)云數(shù)據(jù)進(jìn)行可視化,并選擇刪除那些明顯是多余信息的數(shù)據(jù),既直觀也給后續(xù)處理減少了工作量,最重要的是可以減小后續(xù)處理出錯(cuò)的可能性。代碼如下:

        3.3 程序運(yùn)行界面及效果圖

        程序主界面包括幾個(gè)區(qū)域:菜單欄,圖形工具欄,主顯示區(qū),三視圖顯示區(qū),建??刂茀^(qū)。數(shù)據(jù)加載后顯示效果圖如圖1、圖2所示。在圖中可執(zhí)行相關(guān)操作。

        圖1 牛點(diǎn)云顯示效果

        圖2 兔子點(diǎn)云顯示效果

        4 結(jié)束語

        在本文中,我們給出了一種簡單實(shí)用的點(diǎn)云數(shù)據(jù)的前期可視化操作與管理的方法。針對初始的僅具有的三維空間坐標(biāo)的點(diǎn)云數(shù)據(jù),實(shí)現(xiàn)了模型的空間變換操作,并支持點(diǎn)云的動(dòng)態(tài)刪除與更新。采用了 Open CASCADE幾何內(nèi)核,由OpenCASCADE提供的數(shù)據(jù)管理模塊實(shí)現(xiàn)了復(fù)雜的數(shù)據(jù)管理功能。為圖形中的數(shù)據(jù)點(diǎn)云操作提供了廣闊的應(yīng)用前景。

        [1] 0bject libraries application framework uses guide[EB/OL].WWW.0penCASCAD E-org.2006.

        [2] 施法中.計(jì)算機(jī)輔助幾何設(shè)計(jì)與非均勻有理B樣條[M].北京:北京航空航天大學(xué)出版社,1994:17-25.

        [3] 崔錦泰,程正興.小波分析導(dǎo)引[M].西安交通大學(xué)出版社,1995:102-105.

        TP241

        A

        1009-0134(2010)11(下)-0216-03

        10.3969/j.issn.1009-0134.2010.11(下).73

        2010-09-13

        國家自然基金資助項(xiàng)目(60863012);江西省自然科學(xué)基金資助項(xiàng)目(0611063);江西省教育廳科技項(xiàng)目(GJJ08435,GJJ09346)

        丁偉(1978 -),講師,碩士,研究方向?yàn)閳D形圖像處理及數(shù)據(jù)庫。

        猜你喜歡
        類庫應(yīng)用程序可視化
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        基于CGAL和OpenGL的海底地形三維可視化
        用Java編寫客戶機(jī)/服務(wù)器端應(yīng)用程序
        刪除Win10中自帶的應(yīng)用程序
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        Python在數(shù)據(jù)可視化中的應(yīng)用
        數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
        軟件工程(2017年12期)2018-01-29 17:35:55
        數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計(jì)與實(shí)現(xiàn)
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        精品午夜福利无人区乱码一区 | 成人激情四射网| av网站影片在线观看| 日本在线一区二区三区视频观看| 女人被爽到高潮视频免费国产| 特级毛片a级毛片免费播放| 无码区a∨视频体验区30秒| 国产女主播福利在线观看| 亚洲av无码码潮喷在线观看| 亚洲av男人的天堂在线观看| 午夜久久精品国产亚洲av| 亚洲精品国产av成拍色拍| 高h小月被几个老头调教 | 性人久久久久| 日韩精品无码视频一区二区蜜桃 | 在线观看国产白浆一区三区| 国产伦人人人人人人性| 国产综合激情在线亚洲第一页| 日本精品国产1区2区3区 | 亚洲av成人精品日韩一区| 亚洲在战AV极品无码| 国产精品人妻熟女男人的天堂| 免费va国产高清大片在线| 色老头一区二区三区| 日本高清免费播放一区二区| 亚洲av日韩av激情亚洲| 水蜜桃亚洲一二三四在线| 欧美激情精品久久999| 在线人妻va中文字幕| 乱人妻中文字幕| 精品一级毛片| 国产精品午夜高潮呻吟久久av| 亚洲国产精品久久艾草| 国产乱妇乱子视频在播放 | 国产女在线| 久久夜色精品国产亚洲av老牛 | 东京热加勒比国产精品| 亚洲av无码专区亚洲av网站| 东京热久久综合久久88| 一区二区三区四区日韩亚洲| 精品无码国产一区二区三区麻豆|