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

化工仿真中位圖圖形學編程旋轉變換研究

2021-11-07 10:35:54何杰王大立
電腦知識與技術 2021年25期

何杰 王大立

摘要:在化工仿真中,為了貼近真實,可以將實物圖片貼于所繪化工單元設備、管道、框架、廠房等結構體表面。BMP圖像可被用作紋理圖。依據圖像顏色點陣數據(WinHex),編寫相關程序可對位圖進行像素級編輯,實現如顏色拾取、圖片移動、旋轉、翻轉、鏡像、摳圖等變換操作。作者編寫了位圖旋轉變換操作程序 (Visual C++,OpenGL),為將計算機圖形學編程用于化工仿真、虛擬現實進行了應用基礎研究;在程序for循環主代碼中,用“fread(&pixVal, sizeof(BYTE), 1, fp);”讀數據,用“fwrite(&pixVal, sizeof(BYTE), 1, pFile);”寫數據。其基本操作過程與手工刺繡或搭積木類似。讓計算機程序組織那些像素點“對號入座”,有秩序地從原圖像素網格中取出一個個像素單元格,再有秩序地放入變換后圖像像素網格中,實現預想像素級圖像變換操作。

關鍵詞:圖形學編程;位圖旋轉;像素讀寫;位圖;化工仿真;虛擬現實

中圖分類號:TN919.8? ? ?文獻標識碼:A

文章編號:1009-3044(2021)25-0004-03

在化工設計中,常用制圖軟件是AutoCAD, 3DS MAX, SOLIDWORKS, SketchUp等。這些軟件基本共同使用方法是主要通過操作鼠標、鍵盤直接在電腦屏幕上繪制出各種圖元,即點、線、面、體,再排列、組合,得到特定組合結構、形體、場景,所見即所得。另一區別制圖方法是,編寫、運行計算機制圖程序,生成目標圖形、場景。兩者各有優劣。在虛擬現實中,需要展現真實感圖形、場景、實現人機交互、動畫、視圖旋轉、漫游、科學計算可視化、仿真實驗等,后者對這些提供了可能,而且實現起來便捷、高效,程序運行流暢、穩定[1-6]。它在虛擬現實、化工仿真中獨樹一幟,不容小覷。可它目前并不為化工專業人員所普遍知曉,也很少被使用。

紋理映射允許把一個現實場景圖貼于3D結構體表面,更逼真,在虛擬現實(VR)場景模擬中作用突出。使用OpenGL (Open Graphics Library) 編程接口,能夠增強三維場景真實性。OpenGL提供了位圖操作函數。它是被用于渲染2D、3D矢量圖形、跨語言、跨平臺的應用程序編程接口。實現用C++結合OpenGL制作出一個虛擬化工廠,類似使用AutoCAD Plant 3D,可以考慮先用C++結合OpenGL繪制出化工3D圖形結構單元。然而,相比一般3D建模軟件,OpenGL并非卓爾不群,自成一格。將OpenGL與一般3D建模軟件結合起來,相輔相成,更行之有效。柳暗花明又一村,原來,由于OpenGL是圖形底層圖形庫,沒有提供幾何實體圖元,不能被直接用以描述場景。但是,通過一些轉換程序,可以很方便地提取出自AutoCAD, 3DS MAX, SOLIDWORKS等的DXF, 3DS, OBJ, STL模型文件OpenGL頂點數組,進而對其再處理[7-9]。

宋葉未等[10]對BMP格式位圖文件結構和內容進行了詳細分析,給出了一種通用、易于移植的BMP格式位圖文件顯示算法。尹航等[11]討論了在VS2005環境下借助OpenGL和第三方庫CxImage,利用PNG圖片進行紋理映射。CxImage類庫是一個優秀圖像操作類庫,可以被用來快捷存取、顯示、轉換各種圖像。薛兆井等[12]研究了基于OpenGL讀取bmp圖像實現紋理映射的一種新方法。韓姣[13]探討了在VC++環境下BMP與GIF圖像文件格式轉換,編程實現了BMP圖像讀取、顯示和保存等相關操作。本文作者用C++結合OpenGL編寫了計算機程序,實現了位圖旋轉變換操作。

1 Bitmap-File解析

BMP文件由文件頭 (bitmap-file header)、信息頭 (bitmap-information header)、彩色表 (color table) 和位圖數據 (bitmap data) 四部分組成。如圖1a所示,點 (0,0) 和點 (514,0) 在其圖像數據表中對應No. 267289 pixel, No. 267803 pixel。其間點數是(267803-267289)+1=515 points,與例圖寬515 pixels吻合。在圖像數據表末,自左向右“F6 F6F6”分別表示該像素顏色BGR值,對應原圖10進制RGB分量, “246 246 246”,一致。如圖1b所示,隨意指定原圖中一點 (45,194),檢索到該點在圖像數據表中相應位置。

2 4 Bytes對齊問題

BMP文件有個重要特性是對于圖像數據區域,位圖每一行像素所占Byte數必須被4整除,否則,在該位圖每一行16進制碼末尾補1至3 Bytes “00”。“補零”只針對位圖寬檢驗。要行補位是因為32位Windows操作系統4-Bytes (32位) 處理速度較快。一個掃描行所占Byte數:(biwidth*biBitCount/8+3)/4*4或(biWidth*biBitCount+31)/32*4或((width*biBitCount+31) >> 5)<< 2。其中,如圖1,其每行數據大小為515 pixels×3 Bytes/pixel = 1545 Bytes,不能被4整除,用“000000”補全,變為1548 Bytes ((515*24+31)/32*4=1548)。第515列為行補位列。同樣,VC++程序讀入BMP圖像,必須把每行Byte數轉換為4整數倍 (即以long為單位)。

biWidth 圖像寬度,以pixel為單位。

biBitCount bits/pixel

biWidth*biBitCount 一行所占位數

主站蜘蛛池模板: 婷婷五月在线| 97免费在线观看视频| 日本人妻一区二区三区不卡影院| 欧美亚洲欧美| 亚洲欧美不卡中文字幕| 亚洲天堂高清| 五月婷婷激情四射| 欧美特黄一级大黄录像| 国内精自视频品线一二区| 波多野结衣一二三| 亚洲一区网站| 久久亚洲国产视频| 国产香蕉97碰碰视频VA碰碰看| 中文字幕亚洲电影| 99热这里只有精品在线观看| 亚洲成人黄色网址| 国产激情国语对白普通话| 国产97公开成人免费视频| 国产美女自慰在线观看| 国产欧美日韩18| 狠狠v日韩v欧美v| 成人福利一区二区视频在线| 国产91精品调教在线播放| 奇米精品一区二区三区在线观看| 成年人国产视频| 欧美有码在线观看| 99国产在线视频| 亚洲午夜片| 高清欧美性猛交XXXX黑人猛交 | 污污网站在线观看| 婷婷亚洲视频| 亚洲日本韩在线观看| AV不卡在线永久免费观看 | 日韩欧美国产成人| 在线观看无码av五月花| 色135综合网| 国产网友愉拍精品| 久久一日本道色综合久久| 九九热精品在线视频| 亚洲成人高清无码| 在线综合亚洲欧美网站| 91破解版在线亚洲| 久久人人爽人人爽人人片aV东京热| 香蕉色综合| 国产精品成人AⅤ在线一二三四| 激情综合婷婷丁香五月尤物| 国产亚洲精品无码专| 91精品伊人久久大香线蕉| 日韩AV手机在线观看蜜芽| 久久超级碰| 高清欧美性猛交XXXX黑人猛交| 一本大道香蕉久中文在线播放| 91福利片| 亚洲AⅤ波多系列中文字幕 | 久久精品这里只有国产中文精品| 国产在线拍偷自揄拍精品| 国产一级片网址| 国产成人精品男人的天堂| 98超碰在线观看| 91色老久久精品偷偷蜜臀| 国产乱子伦手机在线| 国产精品.com| 国产免费人成视频网| 国产高清免费午夜在线视频| 免费网站成人亚洲| 国产三级毛片| 亚洲午夜久久久精品电影院| 国产一区免费在线观看| 国产色婷婷视频在线观看| 亚洲美女一区二区三区| 一区二区三区四区精品视频| 伊人激情综合网| 亚洲天堂精品视频| 婷婷亚洲天堂| 精品五夜婷香蕉国产线看观看| 国产午夜人做人免费视频中文| 国产91在线免费视频| 欧美国产在线一区| 色天天综合| 国产av一码二码三码无码| 欧美中文字幕一区| 日韩在线观看网站|