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

基于QT+OpenGL的彈簧參數(shù)化實(shí)體建模**

2018-07-20 08:24:50王德成
制造技術(shù)與機(jī)床 2018年6期
關(guān)鍵詞:方向

李 凡 王德成 張 林 程 鵬② 付 濤

(①機(jī)械科學(xué)研究總院,北京100044;②北京科技大學(xué),北京100083)

彈簧是一種重要的工業(yè)基礎(chǔ)零部件,已有螺旋彈簧、板類彈簧、桿類彈簧、彈性元件等四大類近1 800個品種[1]。我國彈簧行業(yè)受限于數(shù)字化水平,在進(jìn)行彈簧加工時,長期采用面向機(jī)床的加工方式,必須由人工將彈簧形狀參數(shù)轉(zhuǎn)化為機(jī)床各軸運(yùn)動進(jìn)給參數(shù)[2],這種方式對調(diào)機(jī)者依賴程度高,且數(shù)字化、自動化水平與生產(chǎn)效率低下,因此企業(yè)對于基于數(shù)控系統(tǒng)的彈簧參數(shù)化在線建模軟件的需求日益增加[3-4]。目前已有文獻(xiàn)對彈簧建模進(jìn)行了研究,但主要集中于針對螺旋彈簧單一結(jié)構(gòu)建模研究或基于各類商業(yè)三維造型軟件平臺[5-7](如 AutoCAD、Pro/E、SolidWorks 等),存在價(jià)格昂貴、體系龐大且封閉、專業(yè)性強(qiáng)和操作復(fù)雜等缺點(diǎn),而且也很難與彈簧加工數(shù)控系統(tǒng)進(jìn)行集成,無法很好地滿足企業(yè)目前需求,限制了彈簧行業(yè)數(shù)字化智能化發(fā)展。

任何復(fù)雜壓簧、拉簧、扭簧和異形彈簧,其幾何結(jié)構(gòu)均可分解成圓柱、折角和螺旋3種基本結(jié)構(gòu)特征單元,本文通過建立參數(shù)化數(shù)學(xué)模型對單元特征描述和表達(dá),基于QT和OpenGL圖形庫[8],以C++實(shí)現(xiàn)對結(jié)構(gòu)特征單元的參數(shù)化實(shí)體建模程序編寫,各結(jié)構(gòu)特征單元之間通過空間變換自由拼接組合,最終實(shí)現(xiàn)參數(shù)化彈簧零件整體的三維建模。

1 彈簧結(jié)構(gòu)特征單元模型構(gòu)造

OpenGL利用點(diǎn)、線、三角形或四邊形面片等基本幾何圖元來構(gòu)造復(fù)雜的幾何形體。在構(gòu)建圓柱、折角和螺旋3種彈簧結(jié)構(gòu)特征單元實(shí)體時,需要對其進(jìn)行離散化處理,將實(shí)體表面離散為無數(shù)的三角形或四邊形面片,通過一系列首尾相接的空間面片,最終形成實(shí)體三維造型。OpenGL在模型局部坐標(biāo)系下構(gòu)建彈簧結(jié)構(gòu)特征單元三維實(shí)體,起點(diǎn)坐標(biāo)為局部坐標(biāo)系坐標(biāo)原點(diǎn),起點(diǎn)方向沿y軸正方向。

彈簧結(jié)構(gòu)特征單元模型構(gòu)造時,采用面向特征的參數(shù)化建模思想,建模時輸入相應(yīng)的特征參數(shù),系統(tǒng)自動實(shí)現(xiàn)特征造型。對于圓柱特征單元,其主要特征參數(shù)為圓柱底面直徑d和圓柱長度length;折角特征單元的主要特征參數(shù)為曲率半徑R、折彎角度angle和截面圓直徑d;螺旋特征單元的主要特征參數(shù)為螺旋中徑R、節(jié)距t、圈數(shù)n和截面圓直徑d。

基于OpenGL進(jìn)行圓柱、折角與螺旋特征建模時,沿特征中心線軸向?qū)⑵潆x散為β個小圓柱段,各小圓柱段兩截面圓沿其周向進(jìn)一步離散為α個均勻點(diǎn)陣。以截面圓圓心和圓周均勻點(diǎn)陣上相鄰兩點(diǎn)為頂點(diǎn),分別依次連接形成α個連續(xù)小三角形面片,擬合成小圓柱段兩底面實(shí)體;取兩截面圓上相對應(yīng)的四點(diǎn)均勻點(diǎn)陣,依次連接形成α個小四邊形面片,離散的四邊形面片沿圓周方向拼接,擬合成小圓柱段側(cè)面實(shí)體。只要α和β取得合適,將離散的小圓柱段沿特征中心線軸向拼接,便能夠形成真實(shí)感較強(qiáng)的結(jié)構(gòu)特征單元實(shí)體模型,如圖1所示。各結(jié)構(gòu)單元起點(diǎn)坐標(biāo)均為局部坐標(biāo)oxyz坐標(biāo)原點(diǎn)[0 0 0],起點(diǎn)方向向量為y軸正方向[0 1 0],下底面位于xoz平面,成形方向默認(rèn)沿y軸向x軸負(fù)方向偏移。

如圖1a所示,對圓柱特征單元離散模型,P為第i個圓柱段上第j個等分點(diǎn),其坐標(biāo)可表示為:

式中:length為圓柱長度;d為截面圓周直徑;θ為圓柱截面圓離散為α個均勻點(diǎn)陣后每份對應(yīng)的圓心角,θ=2π×i/α;l為第 i個圓柱段距底面高度。

如圖1b所示,對折角特征單元離散模型,P為折角第i個圓柱段上的第j個等分點(diǎn),其坐標(biāo)可表示為

式中:R為折角曲率半徑,d為截面圓周直徑;θ為折角截面圓周離散為α份后每份對應(yīng)的角度,θ=2π×j/α,σ為折角離散為β份小圓柱段后,每段上截面圓圓心與坐標(biāo)原點(diǎn)連線與 x軸正方向夾角,σ=angle×i/β;angle為折角折彎角度。

如圖1c所示,對螺旋特征單元離散模型,P為螺旋第i個圓柱段上的第j個等分點(diǎn),其坐標(biāo)可表示為

式中:R為螺旋體螺旋半徑;d為截面圓周直徑;θ為螺旋體截面圓周離散為α份后每份對應(yīng)的角度,θ=2π×j/α;σ為螺旋離散為β份圓柱段后每段上截面圓圓心與坐標(biāo)原點(diǎn)連線在xoy平面投影與x軸正方向夾角,σ=2π×i/β;t為每段圓柱段所對應(yīng)的螺旋升量,t=j×T/β;T為螺旋體旋轉(zhuǎn)一圈的節(jié)距。

構(gòu)建彈簧結(jié)構(gòu)特征單元三維實(shí)體時,以螺旋特征為例,按軟件系統(tǒng)提示,依次輸入螺旋中徑、節(jié)距、圈數(shù)和鋼絲直徑,默認(rèn)螺旋體螺旋徑向離散份數(shù)為100,截面圓周離散份數(shù)為360,并利用 OpenGL接口函數(shù)glColor()對螺旋體三維實(shí)體模型進(jìn)行著色處理,操作過程、離散模型與三維實(shí)體效果如圖2所示。

2 彈簧結(jié)構(gòu)特征單元拼接

根據(jù)要求構(gòu)建完成彈簧零件各結(jié)構(gòu)特征單元后,需要完成各特征單元之間的拼接,以形成完整的彈簧零件三維模型。彈簧結(jié)構(gòu)特征單元三維模型均構(gòu)建在其本地局部坐標(biāo)系下,而完整的彈簧零件需要在世界坐標(biāo)系下進(jìn)行三維實(shí)體建模,因此需要實(shí)現(xiàn)各結(jié)構(gòu)特征單元由本地局部坐標(biāo)系向世界坐標(biāo)系下的圖形坐標(biāo)變換,并按序?qū)κ澜缱鴺?biāo)系下的各結(jié)構(gòu)特征單元按照一定的規(guī)則進(jìn)行拼接,最終實(shí)現(xiàn)彈簧零件的三維實(shí)體造型。基本流程如下:

(1)在OpenGL世界坐標(biāo)系OXYZ下,構(gòu)建本地局部坐標(biāo)系oxyz,對于第一段彈簧基本結(jié)構(gòu)特征單元,其局部坐標(biāo)系與世界坐標(biāo)坐標(biāo)重合;其他段結(jié)構(gòu)特征單元將上一段結(jié)構(gòu)特征單元世界坐標(biāo)系下的終點(diǎn)坐標(biāo)和方向作為新起點(diǎn)坐標(biāo)與方向,構(gòu)建本地局部坐標(biāo)系,坐標(biāo)原點(diǎn)為起點(diǎn),y軸正方向與起點(diǎn)方向一致。

(2)基于局部坐標(biāo)系oxyz,從坐標(biāo)原點(diǎn)出發(fā),沿y軸正方向構(gòu)建彈簧零件基本結(jié)構(gòu)特征單元幾何信息模型,對彈簧結(jié)構(gòu)特征單元各參數(shù)進(jìn)行賦值。

(3)基于局部坐標(biāo)系下的彈簧結(jié)構(gòu)特征單元幾何信息模型參數(shù),計(jì)算局部坐標(biāo)系下該結(jié)構(gòu)特征單元終點(diǎn)坐標(biāo)和方向,經(jīng)過坐標(biāo)變換后,得出該單元在世界坐標(biāo)系下的終點(diǎn)坐標(biāo)和方向向量。

(4)在局部坐標(biāo)系oxyz下,按彈簧基本結(jié)構(gòu)特征單元類型和參數(shù),構(gòu)建彈簧基本結(jié)構(gòu)特征單元三維實(shí)體模型。

(5)將在局部坐標(biāo)系下構(gòu)建的彈簧結(jié)構(gòu)特征單元模型,經(jīng)過圖形坐標(biāo)變換,移動至世界坐標(biāo)系下的起點(diǎn)位置,對單元進(jìn)行拼接,并根據(jù)方向向量調(diào)整拼接時的擺放姿態(tài)。

(6)添加新結(jié)構(gòu)特征單元,將計(jì)算得到的該單元世界坐標(biāo)系下的終點(diǎn)坐標(biāo)和方向賦值為新結(jié)構(gòu)特征單元的起點(diǎn)坐標(biāo)和方向,基于新的起點(diǎn)坐標(biāo)和方向,進(jìn)行下一階段彈簧基本結(jié)構(gòu)特征單元的幾何信息模型與三維實(shí)體造型的構(gòu)建。

(7)經(jīng)過連續(xù)遍歷拼接,生成彈簧零件完整的幾何模型。

在局部坐標(biāo)系下構(gòu)建彈簧結(jié)構(gòu)特征單元簡化模型,如圖3所示。S'為第n-1段彈簧結(jié)構(gòu)特征單元起點(diǎn),E'為第n-1段彈簧結(jié)構(gòu)特征單元終點(diǎn),圖3三分圖分別對應(yīng)圓柱、折角和螺旋3種結(jié)構(gòu)特征單元。局部坐標(biāo)系下,起點(diǎn) S'坐標(biāo)為原點(diǎn)[0 0 0],方向向量Vs'為 y軸 正方向[0 1 0];終點(diǎn) E'坐標(biāo)為

根據(jù)圓柱、折角和螺旋的參數(shù)方程與起點(diǎn)坐標(biāo)、方向,可以求出在局部坐標(biāo)系下,第n-1段彈簧基本結(jié)構(gòu)特征單元起點(diǎn)和終點(diǎn)的坐標(biāo)與方向向量如表1所示。

表1 彈簧基本結(jié)構(gòu)特征單元起點(diǎn)和終點(diǎn)的局部坐標(biāo)與方向向量

如圖4所示,局部坐標(biāo)系 oxyz向世界坐標(biāo)系OXYZ的坐標(biāo)變換為組合變換,將世界坐標(biāo)系下的局部坐標(biāo)系oxyz視為一空間物體,首先將其經(jīng)過旋轉(zhuǎn)變換繞世界坐標(biāo)系X軸和Z軸分別旋轉(zhuǎn)ψ和ω角度,得到坐標(biāo)系o'x'y'z';然后再將局部坐標(biāo)系經(jīng)過平移變換移動至世界坐標(biāo)系坐標(biāo)原點(diǎn)位置,得到與世界坐標(biāo)系重合的局部坐標(biāo)系 o″x″y″z″。其中,角度 ω 為將起點(diǎn)方向向量旋轉(zhuǎn)至世界坐標(biāo)系XOY平面后與Y軸夾角,角度ψ為起點(diǎn)方向向量在世界坐標(biāo)系YOZ平面投影與Y軸夾角,夾角角度ω和ψ均可由方向向量經(jīng)過計(jì)算得出:

對于終點(diǎn) E的全局坐標(biāo),將局部坐標(biāo) E'[xe' ye' ze']首先繞世界坐標(biāo)系X軸旋轉(zhuǎn)ψ角度,然后繞世界坐標(biāo)系Z軸旋轉(zhuǎn)ω角度,最后平移至世界坐標(biāo)系原點(diǎn)位置,其空間變換矩陣Me為:

將局部坐標(biāo)E'[xe' ye' ze']經(jīng)過平移旋轉(zhuǎn)組合變換Me得到世界坐標(biāo)系下的全局坐標(biāo)E為:

對于終點(diǎn)E的全局方向向量,只需將局部方向向量Ve'[nxe' nye' nze']依次繞世界坐標(biāo)系X軸旋轉(zhuǎn)ψ角度、繞Z軸旋轉(zhuǎn)ω角度即可旋轉(zhuǎn)到與世界坐標(biāo)系Y軸重合位置,其空間變換矩陣Mve為:

局部方向向量Ve'[nxe' nye' nze']經(jīng)過平移旋轉(zhuǎn)組合變換得到世界坐標(biāo)系下的全局方向向量Ve為:

3 程序?qū)崿F(xiàn)

根據(jù)坐標(biāo)平移與旋轉(zhuǎn)變換原理,基于C++編寫三維坐標(biāo)空間坐標(biāo)變換Matrix類,Matrix類包含接口函數(shù) translate(float x,float y,float z)、rotateX(float angle)、rotateY(float angle)、rotateZ(float angle)等,分別用于三維空間坐標(biāo)的平移變換和繞XYZ軸的旋轉(zhuǎn)變換。OpenGL通過MODELVIEW模型視圖變換矩陣實(shí)現(xiàn)從模型本地坐標(biāo)向世界坐標(biāo)系的空間坐標(biāo)變換,并提供接口函數(shù) glTranslate{fd}、glRotate{fd}、glScale{fd}接口函數(shù)分別用于對模型的平移、旋轉(zhuǎn)與縮放[9]。

基于QT和OpenGL三維圖形庫,采用C++語言編寫彈簧零件三維實(shí)體造型實(shí)現(xiàn)程序。設(shè)置系統(tǒng)運(yùn)行環(huán)境,在 QT工程文件中添加 OpenGL模塊和opengl32.lib、glu32.lib和glut.lib靜態(tài)庫函數(shù)文件,包含gl.h和glu.h頭文件,可實(shí)現(xiàn)QT工程對OpenGL三維圖形庫函數(shù)的調(diào)用。

在用戶窗口中進(jìn)行三維圖形繪制時,通過子類化QGLWidget來實(shí)現(xiàn)對OpenGL的調(diào)用,重寫QGLWidget類三個虛函數(shù)initializeGL()、resizeGL()和paintGL()實(shí)現(xiàn)基于OpenGL的繪制。編寫自定義函數(shù)drawLine()、drawCircle()和drawHelix()分別用于實(shí)現(xiàn)直線、折角和螺旋結(jié)構(gòu)特征單元繪制;函數(shù)draw()用于實(shí)現(xiàn)彈簧整體三維實(shí)體造型;函數(shù)coorTrans()用于實(shí)現(xiàn)各彈簧基本結(jié)構(gòu)特征單元由局部坐標(biāo)向世界坐標(biāo)的變換;函數(shù) translate{XYZ}{PM}()、rotate{XYZ}{PM}()和scale{PM}()分別用于實(shí)現(xiàn)觀察時對三維模型視圖的平移旋轉(zhuǎn)和縮放。按照以上步驟編寫代碼并運(yùn)行,即可完成彈簧三維實(shí)體造型,如圖5所示為系統(tǒng)實(shí)現(xiàn)的包含段直線、折角與螺旋結(jié)構(gòu)特征的彈簧三維實(shí)體模型參數(shù)化建模過程。

4 結(jié)語

通過對彈簧幾何特征的分析,將彈簧結(jié)構(gòu)均可分解為圓柱、折角和螺旋三種基本結(jié)構(gòu)特征單元,本文通過離散化方法,基于OpenGL構(gòu)建了彈簧結(jié)構(gòu)特征單元的三維實(shí)體模型,并通過空間坐標(biāo)變換實(shí)現(xiàn)了各結(jié)構(gòu)特征單元間的組合拼接,完成了彈簧三維實(shí)體模型整體構(gòu)建。在QT開發(fā)環(huán)境下,基于OpenGL三維圖形庫,對彈簧參數(shù)化三維實(shí)體造型進(jìn)行了實(shí)現(xiàn)。該建模方法操作方便、效果逼真,具備良好移植性,為彈簧成形機(jī)數(shù)控系統(tǒng)在線可視化編程奠定了技術(shù)基礎(chǔ)。

猜你喜歡
方向
2023年組稿方向
方向
青年運(yùn)動的方向(節(jié)選)
2022年組稿方向
2022年組稿方向
2021年組稿方向
如何確定位置與方向
2021年組稿方向
2021年組稿方向
大自然中的方向
主站蜘蛛池模板: 国产精品女同一区三区五区| 欧美精品v欧洲精品| 视频一本大道香蕉久在线播放 | 国产爽歪歪免费视频在线观看 | 亚洲成人网在线播放| 亚洲欧美自拍中文| 最新日本中文字幕| 日韩不卡高清视频| 国产精品一区在线麻豆| 国产亚洲精品自在线| 亚洲天堂网在线视频| 五月天久久婷婷| 日韩精品无码不卡无码| 日本AⅤ精品一区二区三区日| 亚洲视频免| 毛片手机在线看| 欧美日韩在线第一页| 丁香六月综合网| 一级爱做片免费观看久久 | 国产色图在线观看| 97成人在线观看| 久久久久久久久18禁秘| 国国产a国产片免费麻豆| 五月婷婷导航| 亚洲一级无毛片无码在线免费视频 | 久久人妻xunleige无码| 国产97视频在线| 日韩高清在线观看不卡一区二区| 国产草草影院18成年视频| 秋霞国产在线| 国产精品无码久久久久久| 国产精品美女网站| 国产呦精品一区二区三区网站| 欧美另类图片视频无弹跳第一页 | 漂亮人妻被中出中文字幕久久| 污网站在线观看视频| 亚洲国产天堂久久综合226114 | 亚洲无码精品在线播放| 成年女人a毛片免费视频| 免费jjzz在在线播放国产| 美女裸体18禁网站| 国产永久在线视频| 精品国产免费观看一区| www.狠狠| 色综合婷婷| 成人免费黄色小视频| 91网址在线播放| 伊人成人在线| 国产成人禁片在线观看| 国产亚洲欧美日韩在线一区二区三区| 99热这里只有免费国产精品| 国产欧美综合在线观看第七页 | V一区无码内射国产| 野花国产精品入口| 精品少妇人妻一区二区| 亚洲第一色视频| 成年人国产视频| 国产精品林美惠子在线播放| 91精品免费高清在线| 99热国产这里只有精品无卡顿"| 久青草网站| 999国产精品| 日本精品影院| 99在线观看精品视频| 国产女人综合久久精品视| 亚洲国产日韩在线观看| 日韩成人高清无码| 久久精品国产精品青草app| 国产精女同一区二区三区久| 日韩最新中文字幕| 国产91导航| 精品国产一二三区| 国产精品偷伦在线观看| 国产精品七七在线播放| 欧美亚洲欧美区| 欧美人人干| 无码免费的亚洲视频| 精品久久777| 日本一区二区不卡视频| 四虎成人精品| 88av在线播放| 中文字幕在线欧美|