• 
    

    
    

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

      基于OpenGL的網(wǎng)格構(gòu)件纖維纏繞仿真

      2011-04-28 06:14:44田會方張夢芬
      關(guān)鍵詞:芯模圓筒凹槽

      田會方,張夢芬,張 毅

      (武漢理工大學(xué)機電工程學(xué)院,湖北 武漢 430070)

      復(fù)合材料被廣泛應(yīng)用于化工、冶金、航空和航天等高科技領(lǐng)域。纖維纏繞工藝是生產(chǎn)復(fù)合材料制品的工藝方法之一,被廣泛應(yīng)用于空間技術(shù)與民用產(chǎn)品。纖維纏繞網(wǎng)格結(jié)構(gòu)可做篩孔類制品,還可做內(nèi)網(wǎng)格、外網(wǎng)格加強筋和夾芯殼體,其結(jié)構(gòu)穩(wěn)定,剛度較普通壓力容器好,成為現(xiàn)今較理想的輕型受力薄壁結(jié)構(gòu)組織?;贠penGL技術(shù)對纏繞過程進行仿真,對網(wǎng)格構(gòu)件一次成型具有指導(dǎo)意義。這種方法與用樣品在樣機上進行纏繞效果驗證的方法相比效率更高,成本更低。

      1 網(wǎng)格構(gòu)件纖維纏繞的三維模型建立

      1.1 纖維纏繞系統(tǒng)坐標(biāo)系建立

      仿真系統(tǒng)的模型有靜態(tài)模型和動態(tài)模型,靜態(tài)模型是指構(gòu)建不隨仿真時間變化的實體幾何模型;動態(tài)模型是指構(gòu)建隨仿真時間變化而變化的實體幾何模型。為減少坐標(biāo)系統(tǒng)變換的轉(zhuǎn)換次數(shù),將主坐標(biāo)系建立在某一靜態(tài)模型上。主坐標(biāo)系是一個絕對坐標(biāo)系,是相對靜止的坐標(biāo)系,因此選擇將其建立在主軸箱導(dǎo)軌或小車導(dǎo)軌的兩個面上。主坐標(biāo)系原點取世界坐標(biāo)系原點,按右手法則來說明,原點位于視區(qū)中心(選取導(dǎo)軌面中心為主坐標(biāo)系原點),X軸方向指向右方,Y軸方向指向上方,Z軸方向垂直屏幕指向用戶[1-2]。

      1.2 參數(shù)化三維模型建立

      纖維纏繞系統(tǒng)由床頭箱、尾座箱體、導(dǎo)軌、網(wǎng)格構(gòu)件和小車等部分組成。由于纖維纏繞機的外形是比較規(guī)則的幾何形體,可利用計算機圖形學(xué)中的構(gòu)造實體造型技術(shù),由長方形、棱柱、圓柱、圓盤面和圓盤等基本實體,通過一定造型變換組建成更高級實體。這些基體函數(shù)可直接利用Open-GL的基本庫和實用庫提供的三維圖形函數(shù)和基本幾何圖形函數(shù)繪制,從而避免使用交互式建模方式所帶來的繁瑣的數(shù)據(jù)轉(zhuǎn)換。復(fù)雜實體繪制則利用OpenGL的基本幾何圖元,點、線、多邊形采用多邊形逼近的方式繪制。在用這種方法時,應(yīng)保持多邊形方向一致性,選擇合適的多邊形數(shù)目,以及決定物體相對光源方向的法向量的添加[3-6]。

      在構(gòu)建模型的過程中,將纖維纏繞分成若干部分利用顯示列表、坐標(biāo)平移函數(shù)glTrnslate()和坐標(biāo)旋轉(zhuǎn)函數(shù)glRotate(),使模型各部分相對位置準(zhǔn)確。結(jié)合各部分的絕對運動和相對運動情況,可以在三維建模時將纖維纏繞系統(tǒng)分為以下3個部分:①圓周運動部分。即網(wǎng)格構(gòu)件、床頭箱主軸、三爪卡盤;②靜止部分。即導(dǎo)軌、床頭箱、尾座箱體;③往復(fù)運動部分。即小車、伸臂機構(gòu)。

      網(wǎng)格構(gòu)件在建模時可以細(xì)分為圓筒和凹槽兩部分。要求網(wǎng)格構(gòu)件的長度、直徑和凹槽數(shù)等基本參數(shù)可以改變,因此可采用多邊形逼近的方法完成。為方便觀察,圓筒直徑應(yīng)略小于客戶要求直徑。圓筒直徑與凹槽尺寸關(guān)系圖如圖1所示,圓筒直徑實際應(yīng)為D,現(xiàn)簡化為D1,凹槽寬為B,凹槽深為h。凹槽側(cè)面可以分別用兩個相同的多邊形形成其上下底,再將兩個多邊形的對應(yīng)線連接即可形成棱柱。螺旋凹槽底面可以沿螺旋方向分成多個小曲面,每個小曲面用棱柱近似表示。環(huán)向凹槽底面可以沿著旋轉(zhuǎn)軸即芯模軸心線分成多個小曲面。繪制棱柱的一個表面四邊形語句為:

      圖1 圓筒直徑與凹槽尺寸關(guān)系圖

      glBegin(GL_QUADS);

      glNormal3fv(m1);glVertex3f(V1);

      glNormal3fv(m'1);glVertex3f(V1');

      glNormal3fv(m'2);glVertex3f(V2');

      glNormal3fv(m2);glVertex3f(V2);

      glEnd();

      點 V1、V2和點 V1'、V2'分屬于棱臺的兩個底面,為四邊形各頂點坐標(biāo);m1、m2、m1'、m2'為各點法向量,重復(fù)調(diào)用相似的代碼就能得到棱臺表[7-8]。

      例如繪制圓筒語句如下:

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

      {

      int j=0;

      if(i==359)j=0;else j=i+1;

      glBegin(GL_QUADS);

      glNormal3fv(m1);glVertex3f(-L/2,D1/2×sin(i×π/180),D1/2×cos(i×π/180));

      glNormal3fv(m'1);glVertex3f(L/2,D1/2 ×sin(i×π/180),D1/2×cos(i×π/180));

      glNormal3fv(m2');glVertex3f(L/2,D1/2 ×sin(j×π/180),D1/2×cos(j×π/180));

      glNormal3fv(m2);glVertex3f(-L/2,D1/2×sin(j×π/180),D1/2×cos(j×π/180));

      glEnd();

      }

      床頭箱主軸、三爪卡盤、網(wǎng)格構(gòu)件兩端面、掛紗銷釘、導(dǎo)軌、尾座箱體、小車和伸臂機構(gòu)網(wǎng)格構(gòu)件等形狀規(guī)則的可以直接利用OpenGL二次幾何物體繪制函數(shù),如繪制圓柱面函數(shù)gluCylinder(),繪制圓盤面函數(shù)gluDisk(),繪制實心圓環(huán)函數(shù)glutSolidTorus()等。

      使用OpenGL繪制的纖維纏繞系統(tǒng)三維模型如圖2所示。網(wǎng)格構(gòu)件的筒身直徑、長度、螺旋凹槽、環(huán)向凹槽的個數(shù)、槽深槽寬、螺旋凹槽與筒身母線夾角均可根據(jù)需求設(shè)定。

      圖2 纖維纏繞系統(tǒng)三維模型

      2 紗線軌跡算法

      三角形網(wǎng)格構(gòu)件結(jié)構(gòu)特點為:筒身為圓筒狀,表面有與圓柱體母線成一定角度的螺旋凹槽,另外還有一定數(shù)目的環(huán)向凹槽,環(huán)向凹槽正好位于與螺旋方向相反的螺旋凹槽交點處。與圓柱體母線夾角相反的兩個螺旋凹槽和一個環(huán)向凹槽構(gòu)成三角形的三條邊。三角形網(wǎng)格構(gòu)件紗線纏繞軌跡必須在凹槽內(nèi),因此可以在圓筒展開后的平面上直接構(gòu)造直線,通過建立平面紗線與圓柱面紗線的轉(zhuǎn)換關(guān)系,計算出纏繞軌跡,求取纏繞過程中的特征點[9-10]。

      三角形網(wǎng)格構(gòu)件筒身長度為L,筒身直徑為D,螺旋凹槽與母線夾角為angle,凹槽深為h,則凹槽內(nèi)繞線直徑近似為D1=D-2h,其沿著直徑為D1的圓柱母線的展開圖如圖3所示。假設(shè)紗線要在圖3深色凹槽內(nèi)纏繞,只需求取帶子中線上任意點坐標(biāo)即可知道在任意時刻紗線的軌跡。

      紗線起始位置在YOZ面與Z軸的夾角angle'如圖4所示。angle'的值為圖3中弧長OA對應(yīng)的弧度。

      式中,LOA為OA段弧長(可以根據(jù)幾何知識近似求出)。

      坐標(biāo)系如圖5所示,X軸面向讀者。纖維纏繞軌跡是由小車沿芯模母線方向(X軸方向)的往復(fù)運動與芯模(繞自身軸心線,此軸心線與X軸平行)圓周運動相耦合而成。在計算凹槽內(nèi)紗線坐標(biāo)時,將增量設(shè)為點的X坐標(biāo),將軌跡投影到Y(jié)OZ平面內(nèi)(如圖5所示),假設(shè)沿X軸方向每次增加k,如圖4所示,當(dāng)k足夠小時,在以D1為直徑的圓內(nèi)X每增加k時對應(yīng)的弧長應(yīng)為:

      圖3 芯模展開圖

      根據(jù)弧長公式求出每次遞增弧度為:

      若紗線從圓筒左端繞至圓筒右端,紗線軌跡方程為:

      單程芯模轉(zhuǎn)角為:

      紗線再沿著與上述螺旋凹槽相平行的另一螺旋凹槽從圓筒右端繞至圓筒左端,其軌跡方程為:

      式中:angle'為紗線起點位置與XOZ面夾角;n為回程軌跡凹槽與前一個軌跡凹槽間隔個數(shù)。

      式(6)中的S_R與n×angle前的正負(fù)號由回程凹槽的位置決定。

      鑒于三角形網(wǎng)格構(gòu)件的特殊形狀,纖維纏繞的方式總體來說有兩種:將同方向螺旋凹槽纏繞完后再纏繞反向螺旋凹槽;小車一個往返中所纏繞的凹槽為方向正好相反的兩個凹槽。小車每往返一次紗線軌跡形狀是相同的,不同的是起點與XOZ面的夾角。計算某時刻紗線坐標(biāo)時應(yīng)注意選擇的纏繞方式以及換槽時angle'值的改變。

      纖維在環(huán)向凹槽內(nèi)纏繞時選擇弧長為遞增量,在同一個環(huán)內(nèi)紗線上點的x坐標(biāo)是不變的。若弧長增量用k表示,則y=r×sin(k/r),z=r×cos(k/r)。

      纖維纏繞過程中,已纏上的紗線隨著芯模的轉(zhuǎn)動而轉(zhuǎn)動,紗線與芯模的相對位置保持不變,纖維纏繞的過程可以視為落紗點與芯模的相對運動。紗線的運動曲線可以先以紗線相對于芯模的運動來表示,將其轉(zhuǎn)化為絕對坐標(biāo),再利用Open-GL繪制不封閉的曲線函數(shù)glBegingl(GL_LINE_STRIP)。落紗點與絲嘴之間的懸線,只需將任意時刻落紗點與絲嘴的坐標(biāo)位置求出,然后用繪制多組線段函數(shù)glBegin(GL_LINE)將兩點連接起來。紗線寬度可以用函數(shù)glLineWidth()調(diào)整。

      3 網(wǎng)格構(gòu)件纖維纏繞動態(tài)仿真的實現(xiàn)

      開放性圖形圖庫(open graphics library,Open-GL)從本質(zhì)上說是一個3D圖形和模型庫,具有高度可移植性,且具有非??斓乃俣龋?1]。目前OpenGL已成為開放式的標(biāo)準(zhǔn)編程函數(shù)庫。Open-GL雖然擁有眾多覆蓋了從設(shè)置材料顏色和反射屬性到執(zhí)行旋轉(zhuǎn)和復(fù)雜的坐標(biāo)變換等功能的函數(shù)和命令,但沒有一個與窗口或屏幕管理相關(guān)的函數(shù)或命令,另外也沒有用于處理鍵盤輸入或鼠標(biāo)交互的函數(shù)。因此就需要與其他編程環(huán)境和程序設(shè)計語言相結(jié)合使用。VC++中的MFC是開發(fā)Windows應(yīng)用程序的C++接口,提供了面向?qū)ο蟮目蚣?。將OpenGL與MFC聯(lián)合進行編程,在建立友好的人機界面的同時又可以發(fā)揮OpenGL在3D圖形處理上的優(yōu)點。在MFC中實現(xiàn)Open-GL編程主要進行以下幾項操作:添加OpenGL頭文件和鏈接庫,設(shè)置窗口屬性,窗口初始化(如設(shè)置像素格式,創(chuàng)建繪制描述表等),添加消息響應(yīng)函數(shù)(如WM_SIZE,WM_TIMER等)。

      OpenGL采用雙緩存技術(shù)實現(xiàn)動畫,即前臺緩存和后臺緩存。后臺緩存計算場景、生成畫面,前臺緩存顯示后臺緩存已經(jīng)畫好的畫面。因此當(dāng)完整的畫面在后臺緩存中畫出以后,就調(diào)用Swap-Buffers()函數(shù),使其成為前臺可見的緩存。這樣循環(huán)往復(fù),隱藏了整個畫圖的過程,視頻圖像能以人眼察覺不出的時間間隔交替出現(xiàn),于是看起來所有的畫面都是連續(xù)的。由于紗線的軌跡是繞芯模旋轉(zhuǎn)軸的空間曲線,可以在仿真程序中使用定時器使落紗點從某一初始值開始變化,然后根據(jù)速比等約束條件確定芯模的旋轉(zhuǎn)起始角度、速度和紗線每一時刻所對應(yīng)的空間位置。經(jīng)過不斷重繪就能實現(xiàn)纖維纏繞的過程仿真。定時器的時間設(shè)置根據(jù)小車移動速度來確定。程序運行時首先輸入基本參數(shù),經(jīng)過計算后確定所需的仿真參數(shù),然后開始仿真。程序流程圖如圖6所示。

      圖6 程序流程圖

      為了提高顯示速度,可以利用OpenGL提供的顯示列表技術(shù)。在三維建模時,將運動的小車、伸臂部分、芯模分別創(chuàng)建顯示列表,在調(diào)用這些部分時調(diào)用函數(shù)glTranslate(),glRotate()結(jié)合定時器實現(xiàn)相對運動。纏繞效果圖如圖7所示,深色線條為已經(jīng)纏繞上的紗線,淺色為凹槽。

      圖7 網(wǎng)格構(gòu)件纖維纏繞效果圖

      4 結(jié)論

      (1)在VC++6.0開發(fā)平臺、MFC編程環(huán)境下,基于OpenGL技術(shù)對三角形網(wǎng)格構(gòu)件纖維纏繞過程進行動態(tài)仿真。網(wǎng)格構(gòu)件、小車、伸臂這3部分利用OpenGL的顯示列表技術(shù),仿真軟件達(dá)到了流暢的顯示速度。

      (2)在此基礎(chǔ)上,進行三角形螺旋凹槽紗線的軌跡算法和界面設(shè)計,可方便控制加工過程和進行人機交互,完善了仿真軟件。

      (3)初步完成的仿真軟件基本實現(xiàn)了三角形網(wǎng)格構(gòu)件的纖維纏繞運動仿真,由于實際的纏繞過程要考慮的因素很多,例如換槽時掛紗方式的體現(xiàn),因此對仿真軟件還需進一步完善。

      [1] 田會方,張杰峰.纖維纏繞筒形壓力容器動態(tài)仿真[J].機械工程師,2005(5):81 -82.

      [2] 呂峰,吳皓瑩,謝興同.基于OpenGL的纖維纏繞的三維運動仿真[J].武漢理工大學(xué)學(xué)報,2002,24(9):76-78.

      [3] GIACOLETTO H L.The art of filament winding[J].Reinforced Plastics,2002,46(10):30 -31.

      [4] STEPHEN L.SPl handbook of technology and engineering of reinforced[M].[S.l.]:Plastlca ComosLtes,1973:243-260.

      [5] CAMPBELL J H,KITTELSON J L.The tape winding proccess and application[J].SAMPE Symposium,1991(4):437-483.

      [6] 劉東亮,王鳳岐,郭偉.計算機仿真技術(shù)及其在生產(chǎn)系統(tǒng)中的應(yīng)用[J].工藝與裝備,2007(4):91-94.

      [7] 杜志強,張毅.CAD/CAM技術(shù)在筒形壓力容器纏繞成型工藝中的應(yīng)用[J].制造業(yè)自動化,2001,23(8):43-46.

      [8] 渠濤,肖軍,李勇,等.基于OpenGL的圓筒段自動鋪帶仿真研究[J].玻璃鋼/復(fù)合材料,2008(3):3 -6.

      [9] 王增加,李輔安,劉建超.錐體結(jié)構(gòu)單向纖維纏繞線型及程序設(shè)計[J].玻璃鋼/復(fù)合材料,2005(2):34 -38.

      [10] 婁小杰,田晶,張秀艷,等.錐殼容器纏繞線型研究[J].纖維復(fù)合材料,2004,3(1):31 -35.

      [11] 徐東亮,李東海.基于OpenGL的虛擬鋪放機建模及參數(shù)化驅(qū)動[J].武漢理工大學(xué)學(xué)報:信息與管理工程版,2010,32(3):403 -405.

      猜你喜歡
      芯模圓筒凹槽
      一種智能立式壓濾機專用的塑料濾板
      鼠國要上天之超級大圓筒
      淺析現(xiàn)澆混凝土空心樓蓋質(zhì)量控制要點
      擠壓芯模
      鋁加工(2019年4期)2019-03-30 01:53:26
      雙面圓弧凹槽細(xì)頸的高速銑削加工
      環(huán)形凹槽類鑄件鑄造工藝
      一種橡膠制品模具芯模
      橡膠科技(2016年2期)2016-02-25 03:33:16
      圓筒內(nèi)有接頭的細(xì)長桿穩(wěn)定性問題
      徑向高壓圓筒柱的研究與應(yīng)用
      機電信息(2014年5期)2014-02-27 15:51:41
      “凹槽形”相似圖形的應(yīng)用
      正阳县| 萨嘎县| 瑞安市| 莆田市| 宁津县| 广宗县| 孟连| 石屏县| 株洲市| 阳东县| 闽清县| 中山市| 离岛区| 米脂县| 郸城县| 常山县| 大丰市| 阿克苏市| 建瓯市| 安吉县| 长泰县| 黄陵县| 区。| 泸定县| 赣州市| 普兰店市| 平顺县| 望都县| 惠安县| 枞阳县| 伊宁县| 巨野县| 山阴县| 视频| 塔城市| 岑巩县| 银川市| 合水县| 固原市| 南部县| 扎鲁特旗|