• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      車削軸類零件的輪廓軌跡提取與真實感顯示

      2016-10-28 04:38:48陳智淵
      計算機測量與控制 2016年7期
      關鍵詞:軸類真實感輪廓

      陳智淵

      (青海師范大學民族師范學院,青海 海南藏族自治州 813000)

      車削軸類零件的輪廓軌跡提取與真實感顯示

      陳智淵

      (青海師范大學民族師范學院,青海 海南藏族自治州 813000)

      圖形數據信息的可視化一直是計算機圖形學與可視化領域研究的重點內容,圖形數據的挖掘、提取與顯示都需要借助計算機圖形學的知識來完成;本研究重點探討了計算機圖形真實感處理技術在計算機輔助數控車削自動編程加工系統(tǒng)中的應用,通過運用計算機圖形處理技術編程提取DXF軸類零件的輪廓軌跡曲線,采用曲面構造算法作數據處理,生成零件真實感所需的三維數據模型,結合OpenGL內容對三維數據模型進行實體渲染,交互實現(xiàn)了數據模型的光照、材質、霧化等功能,通過旋轉、透視變換,零件設計者可真實地觀測到零件內部結構,從整體上對所設計的零件結構進行直觀的認識;實驗結果表明所開發(fā)的圖形真實感程序系統(tǒng)能夠高效的實現(xiàn)車削軸類件的渲染效果,具有較高的輪廓數據提取效率和真實感渲染能力。

      可視化;軸類零件;數據處理;真實感;OpenGL

      0 引言

      隨著交互式計算機圖形學的不斷發(fā)展,圖形圖像處理技術已廣泛應用于計算機輔助設計、機械加工動畫和仿真、科學計算等諸多領域并發(fā)揮重要作用[1-3]。通常,計算機圖形圖像處理技術是基于CAD/CAM等軟件,通過運用計算機圖形學知識,在計算機上完成圖形圖像的設計、修改與數據存儲,并將數據信息轉化為圖形或圖像在屏幕上進行交互處理與顯示的一門綜合性技術[4]?,F(xiàn)在已經開發(fā)了許多硬件設備和數據處理算法來改善生成圖形的效率、真實感和速度。當前,計算機圖形學的趨勢是將更多的物理原理融合到三維圖形算法中,更好地模擬物體和真實環(huán)境之間的復雜交互[5-6]。

      在機械零件的實際加工中,軸類零件一直是車削和鏜削常用的加工件,計算機輔助車削、鏜削加工系統(tǒng)的主要工作也都是圍繞軸類零件進行的。通常,文件圖形是依據自定義的專有格式完成數據存儲的,整個存儲過程并沒有一個通用的數據格式規(guī)范。各個軟件自定義數據結構和文件的儲存格式,如UG的PRT格式、 CATIA的CGR、IGS和STP格式、Pro/E的PRT格式等。雖然這些文件之間可以通過IGS和STP格式進行數據的相互轉換,以方便數據讀取與圖形顯示,但總是在數據導出過程中出現(xiàn)數據量過載或者數據元素大量丟失等問題[7]。相比之下,正是由于DXF文件數據結構更為規(guī)范,數據讀取更加容易。為此,選取DXF文件作為數據源,就可方便地對圖形進行多種真實感效果處理。而要實現(xiàn)軸類件的真實感顯示,就需要構造軸類零件。通過分析軸類件的特點可知,軸類件通常為對稱模型,且三維零件模型可由1/2的二維輪廓曲線繞軸線旋轉獲得。這樣,構造軸類零件的實質就是獲得軸線和母線來構造旋轉曲面的過程。本研究就是通過程序讀取車削軸類DXF格式文件獲得零件的母線(即輪廓曲線)和軸線數據信息,利用曲面構造算法生成三維數據模型,并通過OpenGL圖形處理技術對車削軸類件進行真實感顯示的實際應用。其中,母線是一條連續(xù)的曲線,通過AutoCAD提供的多義線(Polyline)描述,而軸線的識別則是通過設置線型實現(xiàn)的。

      1 DXF文件數據結構概析

      DXF文件包含5段內容信息,分別為標題段、表段、塊段、實體段和結束段[8]。這5段內容分別對應存放標題變量、表信息、塊定義實體信息和實體段幾何及非幾何信息和結束標示。本質上,DXF文件由眾多 “組碼”和“組值”構成的“數據對”組成。這里的數據對就是通常所說的“組”。每組占兩行,組代碼在前,作為引行,表示數據類型的名稱;組值在后,作為實際內容行,代表著具體的數據信息。兩者結合才能完整的表達一個數據的全部信息。在實際應用中,由于DXF文件中的實體段包含零件圖形全部的幾何和插入塊信息,是數據的主要來源[9]。因此,對DXF圖形文件的處理與應用研究,主要深入分析實體段的圖元數據信息即可。

      實體段的一般格式如下:

      0

      SECTION

      2

      ENTITIES

      .(單獨幾何實體信息)

      0

      ENDSEC

      其中幾何實體主要包括:POINT、CIRCLE、ARC、TRACE、SOLID、VERTEX、SEQUEND、TEXT、SHAPE、INSERT、ATTDFF、ATTRIB、VIEWPORT和3DFACE以及。由于多義線(POLYLINE)和直線(LINE)中分別存放著母線和軸線的關鍵信息,是程序讀取的關鍵環(huán)節(jié),需要進一步探討分析。直線與多義線的數據結構見表1,直線與多義線組值組碼見表2。

      表1 直線與多義線數據結構

      表2 直線與多義線組值組碼

      2 DXF數據處理

      由上述內容可知,要獲取軸類件的三維數據模型,只需通過提取對稱的1/2二維輪廓曲線并進行繞軸旋轉構造整個軸類件曲面即可。通常,軸類件輪廓一般由直線、圓弧等解析形式的二次曲線和有理B樣條構成。對提取輪廓曲線的問題就轉化為如何正確表達和提取上述的這些直線、圓弧以及B樣條曲線?,F(xiàn)對輪廓的數據處理進行如下說明:1>為簡化軸類件三維數據模型,現(xiàn)只取1/2軸類零件的輪廓曲線和旋轉軸;2>需要處理的軸類零件二維輪廓曲線均由直線、圓弧構成;3>采用直線插補的方法對B樣條曲線進行處理,將其轉化為由允許精度下多條直線段共同構成。

      另外,數據處理還需考慮如下實際問題。

      (1)在實際應用中,圖形零件有時會出現(xiàn)軸線不水平的現(xiàn)象。這時,如果直接對零件圖形輪廓進行旋轉成型,會導致旋轉成型的數據處理過程變得十分復雜。為此,就需要使用曲線變換算法對輪廓數據進行預處理,使軸線處于某一特定的位置(本研究取水平X軸)。該曲線變換算法的數學計算過程如下:

      曲線變換如圖1所示。已知軸線起、止點和線外任一點坐標分別為(a,b)、(c,d)和(x0,y0),對軸線進行平移和回轉操作,使軸線變換為起于原點的水平線,求點P的坐標。

      圖1 曲線變換

      由平面變換矩陣得:

      (1)

      其中

      (2)

      (3)

      解得

      (4)

      (2)圓弧切割問題:

      圓弧切割如圖2所示。在DXF文件中,圓弧信息可用起點、終點和對應圓弧拱度定義和描述。在進行后續(xù)橫向切割時,需要根據已知信息求出對應圓弧的圓心坐標,相關算法介紹如下:

      (5)

      所以

      h=l*bow

      (6)

      由圖中三角關系可得:

      (7)

      則弧線圓心坐標為:

      (8)

      圖2 圓弧切割

      (3)直線插補處理有理B樣條曲線:

      有理B樣條曲線主要用來描述具有普遍意義的解析曲線,在實際工程中已廣泛應用。對于有理B樣條曲線的數據處理,關鍵在于提取有效分割點。本應用程序中采用直線插補的方式,對有理B樣條曲線進行分割點插入,從而可以通過分割點組成的連續(xù)直線段高度趨近代替光滑的B樣條曲線。但在此過程中,關鍵之處在于需要判斷位置誤差是否小于允許誤差(本應用程序允許的位置誤差為0.1 mm),否則,則不能進行上述近似替代。

      曲線插補計算示意圖如圖3所示,已知P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3),L為軌跡曲線上點到插補直線段之間的最大距離,即插補誤差。當分割點生成后,每兩個分割點之間的插補直線均要進行一次誤差計算,如果插補誤差L小于給定的允許誤差,則能采用插補直線段來替代軌跡曲線;反之,則必須通過增加分割點的數量來減少誤差,直到滿足插補誤差要求[10],最后提取滿足條件的直線段起始點坐標信息即可。

      圖3 插補計算示意圖

      L計算公式:

      (9)

      其中:

      計算L的程序語句為:

      l=sqrt(pow((x1-x2),2)+pow((y1-y2),2));

      (4)考慮到三維數據模型的曲面光滑度,需要設置圓弧切割密度。這里分為橫向切割和縱向切割,其中橫向切割是指在已知輪廓線上逐段均勻地分割成若干個點,把所有分割點坐標按次序存入所設置的3個二維數組x[i,j],y[i,j],z[i,j]的過程。程序中橫向分割點的個數即為橫向切割密度值,值越大,則生成的曲線輪廓就越接近于原圖形曲線輪廓,與此同時數據的計算量也會相應增大;縱向切割要對橫向切割生成的全部點進行空間三維旋轉操作,還需對每點的圓周軌跡進行插值點的坐標計算。插值點數就是密度值大小,即縱向插值點數越多,分割越細,所生成真實感圖形橫截面越圓滑,但數據的計算量也相應增大。由于算法原理相同,現(xiàn)主要介紹縱向切割,如下所示:

      圓弧縱向切割如圖4所示。由橫向切割得到母線輪廓的全部坐標點數組x[i,j],y[i,j],z[i,j],進行縱向切割計算時,假設繞x軸作圓周回轉操作,要計算圓周軌跡上的n個點的坐標,設旋轉步長t為2π/n,可得旋轉變換矩陣T:

      (10)

      設母線上任一點坐標為(x,y,z),則旋轉后的點坐標為:

      (11)

      即:

      (12)

      其中z=0,相關程序算法如下:

      for(int j=1;j

      { for(inti=0;i

      { verx.Add(verx.GetAt(i));

      very.Add(very.GetAt(i)*cos(j*2*PI/m_m));

      verz.Add(very.GetAt(i)*sin(j*2*PI/m_m));}}

      圖4 圓弧縱向切割

      (5)判斷渲染方向:

      OpenGL中光照處理涉及到平面法向量。平面法向量決定了光照的正反面,只有獲得所期望的法向量才能使光照得到有效的處理。為此,需要單獨設計子程序模塊來計算和確定平法向量。

      已知,不共線的3個點確定一個平面,兩兩不同的點確定一個矢向量,而不同矢向量的叉積便能夠確定平面法向量的大小和方向。平面法向矢量如圖5所示。

      圖5 法向矢量

      在空間坐標系中,設1、2、3點的坐標值分別為(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),則所構成的平面法向量的計算過程如下:

      (13)

      (14)

      矩陣式交叉展開,可以得到法向量對應的數學表達式:

      (15)

      經過上述幾種算法的處理,基本上就能實現(xiàn)DXF軸類零件圖形數據的處理,將處理后的相關數據保存在所設置的動態(tài)數組中,以便為后續(xù)真實感渲染做好準備。

      3 DXF數據讀取

      要讀取DXF文件中圖形數據,首先打開要讀取的DXF文件,分別讀取對應圖元的組碼和組值。當讀到組值等于“ENTITES”時,表明實體段開始,隨后讀取的第一個組值即為圖元類型。然后判斷該圖元類型,根據對應的圖元類型,提取該圖元信息并保存到已經設置的動態(tài)數組中。就這樣反復讀取,直到組值為“ENDSEC”時,表示實體段讀取結束,即幾何圖元的實體信息提取完畢[11]。DXF文件的數據讀取流程如圖6所示。

      圖6 DXF文件的數據讀取流程

      4 實現(xiàn)真實感

      系統(tǒng)程序利用OpenGL主要實現(xiàn)以下功能:窗口初始化,圖形的繪制,坐標變換,光照和材質設置,霧化和紋理貼圖等功能[12]。由于涉及多種OpenGL技術,現(xiàn)主要介紹與真實感顯示貼切的光照與材質設置內容,并以透視投影變換為例,介紹其變換原理。

      4.1 光照與材質設置

      現(xiàn)實世界中的物體都具有多種多樣的色彩和質感。概括來說,物體的顏色是由其本身的光學特性與照射到它身上的外來光共同作用的結果。在OpenGL中,可利用光源和物體的材質來模擬自然界的光學效果,其中的光源用來模擬外來光,材質用于描述物體本身的光學特性。

      (1)顏色。

      彩色計算機屏幕可以顯示各種顏色,而實際上它們都是有紅、綠、藍三色光以不同比率組合而成的。OpenGL提供了RGBA與顏色索引表兩種描述顏色的方法。為充分利用OpenGL強大的渲染功能,本文選用RGBA模式,且初始時將零件實體的顏色設置為寶石藍(如實驗結果中的圖9所示)。

      (2)光源。

      光源就是可以發(fā)光的物體,它同一般的幾何體一樣受到幾何變換矩陣的影響。OpenGL利用有限多個光源來盡量模擬自然的光效。對于一個光源來說,其屬性主要有環(huán)境光、泛光、鏡面光、光源位置、聚光燈方向、光錐角度及三級衰減因子等,在使用時可以根據需要對各參數進行調整。

      本真實感應用中設置光源的代碼如下:

      void CThirdEyeView::OnSetLight()

      { CPropertySheet SetLight("燈光設置");

      SetLight.m_psh.dwFlags |= PSH_NOAPPLYNOW;

      CDLG_SETLIGHT dlg[8];

      for(int i=0;i<8;i++)//根據不同的燈號取用不同的燈光效果;

      { SetLight.AddPage(&dlg[i]);

      dlg[i].Light=Light[i];

      dlg[i].m_Num.Format("燈光 %d",i+1);}...}

      //上述8種燈光設置;

      glEnable(GL_LIGHTING);

      for(int i=0;i<8;i++)

      {glLightfv(GL_LIGHT0+i,GL_AMBIENT,Light[i].ambient);

      ……;

      if(Light[i].bIfEnable) glEnable(GL_LIGHT0+i);

      else glDisable(GL_LIGHT0+i);}

      (3)材質。

      在OpenGL中,物體的材質是通過對光的紅、綠、藍三色的反射率定義的。通過設置材質屬性,我們才能夠識別三維實體模型是由什么構成。真實感中,設置物體材質的代碼如下:

      float tt1[4],tt2[4],tt3[4],tt4[4];//RGBA;

      for(int i=0;i<4;i++)

      { tt1[i]=Material.ambient[i]/255.;

      tt2[i]=Material.diffuse[i]/255.;

      tt3[i]=Material.specular[i]/255.;

      tt4[i]=Material.emission[i]/255.;}

      glMaterialfv(GL_FRONT,GL_AMBIENT,tt1);

      glMaterialfv(GL_FRONT,GL_DIFFUSE,tt2);

      glMaterialfv(GL_FRONT,GL_SPECULAR,tt3);

      glMaterialfv(GL_FRONT,GL_EMISSION,tt4);

      glMaterialf(GL_FRONT,GL_SHININESS,Material.shininess);

      OpenGL通過物體的材質和光源設置,便可準確地模擬現(xiàn)實世界的光照效果,從而實現(xiàn)計算機上三維實體模型的真實感效果。

      4.2 透視投影[13]

      坐標P點到觀察平面上點(xp,yp,zvp)的透視投影如圖7所示。

      圖7 P點到觀察平面上點(xp,yp,zvp)的透視投影

      將透視投影按照齊次矩陣的形式記為:

      (16)

      其中:dp=zprp-zvp//投影參考點到觀察平面的距離;

      (17)

      其中,投影坐標中zp值保持不變。

      另外,調用OpenGL圖形操作函數:glTranslate(平移)、glRotate(旋轉)、glScale(縮放)等亦可實現(xiàn)對零件圖形的其它操作。

      5 實驗結果

      運行程序,首先讀入簡化后的1/2DXF軸類測試件。經過旋轉造型后,獲得的零件三維立體效果,初始設置為寶石藍,圖8為旋轉過程中的視圖一覽。

      圖8 旋轉視圖

      另外,該真實感應用程序亦可實現(xiàn)反走樣、紋理貼圖等功能。通過測試,程序運行穩(wěn)定,DXF軸類件輪廓數據提取可靠,具備高效的圖形真實感顯示效果。

      6 結束語

      本研究主要對DXF車削軸類零件圖形的真實感顯示進行研究,通過深入分析DXF數據結構,采用曲面構造算法處理與讀取DXF圖形信息,并結合OpenGL圖形渲染方面的知識對生成的三維模型進行數據處理,完成了對車削軸類零件的真實感顯示內容,實現(xiàn)了零件材質、光照、霧化等特殊處理功能。

      (1)解決了計算機輔助車削加工系統(tǒng)中的軸類件輪廓的數據提取問題,編程實現(xiàn)一些數學算法并將這些算法應用于提取和處理軸類件輪廓中,避免了旋轉造型生成三維數據時繁瑣的數據處理,充分應用了軟件處理圖形的能力,具備科學計算的特點。

      (2)真實感顯示不僅是計算機圖形學在計算機領域中的一種實際應用,而且是對文件圖形數據挖掘與可視化相結合的一種體現(xiàn)。為更好地應用計算機圖形處理技術,這就要求今后在計算機體系結構和計算機算法的本質方面作更深層的研究。

      [1] JanBender, KennyErleben, Jeff Trinkle.Interactive Simulation of Rigid Body Dynamics in Computer Graphics[J].Computer Graphics Forum,2014,33(1):246-270.

      [2] 梁秀霞,韓慧健,張彩明.基于物理仿真的布料動畫研究綜述[J].計算機研究與發(fā)展,2014,51(1):31-40.

      [3] 劉慶元,易柳城,劉 莉.基于diamond-square算法的數字地形模型構建與三維可視化研究[J].測繪工程2014,23(2):1-4.

      [4] 唐 云,羅俊松.計算機圖形技術在數據計算方面的應用[J].制造業(yè)自動化,2010,32(11):198-200.

      [5] BoulangerK,Pattanaik S N,Bouatouch K,Rendering grass in real time with dynamic lighting.[J].IEEE Computer Graphics and Applications,2009,29(1):32-41.

      [6] Li C F,Guo X Y,Lu S L,et al.Real-time simulation of meadow[A].Proceedings of the 7thInternational Conference on System Simulation and Scientific Computing[C].Washington D C:IEEE Computer Society Press,2008:1205-1207.

      [7] 王 敏,邵定宏.圖形文件格式兼容性研究與發(fā)現(xiàn)[J].計算機工程與設計,2007,28(15):3758-3761.

      [8] 徐呈藝,劉 英,焦恩璋,等.基于DXF文件工業(yè)機器人作業(yè)程序的生成[J].現(xiàn)代制造工程,2014(8):36-40.

      [9] 李洪聲.數控銑床圖形自動編程系統(tǒng)設計中DXF文件圖元信息讀取技術研究[J].科學技術與工程,2010,10(33):8241-8246.

      [10] 武傳宇,賀磊盈,李秦川,等.基于CAD模型的鞋底噴膠軌跡生成方法[J].計算機輔助設計與圖形學學報,2008,20(5):678-682.

      [11] 梁海濤,馬軍林,童創(chuàng)明,等.基于DXF模型的數據讀取與分析方法[J].空軍工程大學學報(自然科學版)2007,8(2):46-48.

      [12] 尹海峰,庫祥臣.基于Visual C++與OpenGL的風電機組仿真系統(tǒng)研究[J].組合機床與自動化加工技術,2013(6):142-144.

      [13] Donald Hearn M.Pauline Baker.計算機圖形學(蔡士杰,吳春轈,孫正興,等譯)[M].北京:電子工業(yè)出版社,2002.

      Trajectory Curve Extraction and Realistic Display of Lathe Turning Shaft Parts

      Chen Zhiyuan

      (Minorities Teachers College, Qinghai Teachers University, Hainan Tibetan Autonomous Prefecture 813000,China)

      Graphic data information visualization has been a research focus in computer graphics (CG)and visualization field, and graphical data mining, extraction and display are always done with computer graphics knowledge. This study probes into the computer graphics realistic processing technology in computer aided numerical control(NC) lathe turning processing automatic programming system, the application of programming by using computer image processing technology to extract the DXF trajectory curve, the outline of shaft parts and surface construction algorithm is adopted to improve the data processing, generating parts needed for the realistic 3D data model. Combined with OpenGL content for entity rendering of 3D data model, which interactively realized functions of light, material, spray, et al. Through the rotating, perspective transformation, part designers can truthfully observe parts' internal structure, with an intuitive understanding of the whole structure of the designed parts. The experiment results show that the development of graphics realistic application system can efficiently realize lathe turning rendering of shaft parts, and it has the high profile data extraction efficiency and realistic rendering capabilities.

      visualization; shaft part; data processing; realistic; OpenGL

      2016-01-16;

      2016-02-29。

      陳智淵(1981-),男,青海樂都人,碩士,中級講師,主要從事計算機語音圖像處理方向的研究。

      1671-4598(2016)07-0256-06

      10.16526/j.cnki.11-4762/tp.2016.07.070

      TP391 文獻標識碼:A

      猜你喜歡
      軸類真實感輪廓
      輪廓錯覺
      用于軸類零件的機器人夾爪設計
      基于實時輪廓誤差估算的數控系統(tǒng)輪廓控制
      回歸真實感
      一種檢測軸類零件幾何公差的方法
      細推物理重體驗 表現(xiàn)人物貴專精
      戲劇之家(2016年20期)2016-11-09 22:03:27
      淺議假定情境與表演的真實感
      戲劇之家(2015年24期)2016-01-12 18:48:40
      南豐蜜桔造型
      在線學習機制下的Snake輪廓跟蹤
      計算機工程(2015年4期)2015-07-05 08:27:39
      數控車削軸類零件工藝的設計
      三门县| 建瓯市| 兰西县| 尉犁县| 仁寿县| 乌兰察布市| 桂东县| 嘉善县| 甘南县| 贵州省| 沈阳市| 兴山县| 博兴县| 雷州市| 莎车县| 大足县| 孝昌县| 大田县| 长海县| 昌平区| 英超| 凤山县| 永福县| 丹棱县| 武冈市| 汉阴县| 崇文区| 兰坪| 化州市| 平湖市| 尉犁县| 互助| 禄劝| 大渡口区| 综艺| 盐亭县| 湘潭县| 翼城县| 朝阳区| 金溪县| 彭阳县|