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 一行所占位數

主站蜘蛛池模板: 无码中文字幕乱码免费2| 极品国产一区二区三区| 国产免费人成视频网| 国产乱码精品一区二区三区中文| 亚洲第一黄片大全| 亚洲精品动漫| 在线国产欧美| 欧美亚洲欧美区| 亚洲天堂网在线播放| 欧美国产精品不卡在线观看| 国产亚洲精久久久久久久91| www.日韩三级| 毛片免费网址| 亚洲AV无码精品无码久久蜜桃| 人妻少妇久久久久久97人妻| 免费A级毛片无码免费视频| 久久综合色播五月男人的天堂| 制服丝袜无码每日更新| 久久人人爽人人爽人人片aV东京热| 国产日韩精品欧美一区灰| 久久精品国产999大香线焦| 国产黄网站在线观看| 久热这里只有精品6| 黄色国产在线| 国产一区二区三区在线观看免费| 成人日韩精品| 色综合天天综合| 久久久久无码精品| 青青操国产视频| 亚洲综合片| 国产91视频观看| 亚洲综合狠狠| 日韩精品成人网页视频在线 | 久久精品波多野结衣| 最新国产在线| 日韩视频精品在线| 欧美不卡二区| 精品国产网| 国产精品一区二区在线播放| 国产本道久久一区二区三区| 2021国产乱人伦在线播放| 2018日日摸夜夜添狠狠躁| 无码网站免费观看| 91视频国产高清| 国产人成网线在线播放va| 亚洲浓毛av| 亚洲色成人www在线观看| 91久久青青草原精品国产| 亚洲天堂精品视频| 亚洲欧美自拍中文| 第一页亚洲| 国产亚洲精| 在线观看精品国产入口| 国产最爽的乱婬视频国语对白| 狠狠v日韩v欧美v| 午夜福利在线观看成人| 国产国语一级毛片在线视频| 国产高清精品在线91| 无码一区中文字幕| 夜夜拍夜夜爽| 在线视频97| 2020国产在线视精品在| 国产打屁股免费区网站| 人人爱天天做夜夜爽| 国产精品漂亮美女在线观看| 青草视频免费在线观看| 国产成人免费高清AⅤ| 99久久精彩视频| 国产黄色片在线看| 亚洲国产看片基地久久1024| 国产成人综合日韩精品无码不卡| 日本一区二区三区精品AⅤ| 精品国产美女福到在线不卡f| 538国产视频| 依依成人精品无v国产| 欧美一级黄片一区2区| 成人av专区精品无码国产| 亚洲日本中文字幕天堂网| 91破解版在线亚洲| 九色综合伊人久久富二代| 91视频国产高清| 97在线免费视频|