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

主站蜘蛛池模板: 久久99国产乱子伦精品免| 亚洲天堂精品在线| 欧美日韩国产精品综合| 91国语视频| 永久在线播放| 亚洲va视频| 国产亚洲欧美另类一区二区| 成人韩免费网站| 国产成人1024精品| 国产成人乱无码视频| 免费A级毛片无码免费视频| 中文字幕一区二区视频| 国产色婷婷| 精品欧美视频| 久久性视频| 亚洲欧美日韩高清综合678| 色综合综合网| 国产精品蜜臀| 2021国产精品自产拍在线观看| 蜜桃视频一区二区| 尤物精品视频一区二区三区| 在线中文字幕网| 亚洲欧美日韩成人高清在线一区| 曰韩免费无码AV一区二区| 亚洲va欧美va国产综合下载| 久久综合九色综合97婷婷| 欧美日韩在线国产| 亚洲无码高清一区二区| 亚洲福利片无码最新在线播放| 国产一区二区丝袜高跟鞋| 日韩免费中文字幕| 51国产偷自视频区视频手机观看 | 日韩精品免费一线在线观看| 欧美区一区| 国产精品嫩草影院av| 日韩黄色在线| 日本免费a视频| 国产高潮流白浆视频| 无码 在线 在线| 香蕉视频国产精品人| 国产chinese男男gay视频网| 91视频免费观看网站| 亚洲一区无码在线| 国产精品视频第一专区| 久久www视频| 亚洲AV免费一区二区三区| 白浆免费视频国产精品视频 | 五月婷婷亚洲综合| 尤物国产在线| 爆乳熟妇一区二区三区| 日本不卡在线播放| 亚洲中文无码h在线观看 | 成年av福利永久免费观看| 日本午夜在线视频| 成人小视频在线观看免费| 久久国产av麻豆| 国内精品久久久久鸭| 亚洲欧美国产高清va在线播放| 国产噜噜噜| 91精品国产麻豆国产自产在线| 久久综合亚洲鲁鲁九月天| 国产成年女人特黄特色毛片免| 在线网站18禁| 亚洲综合天堂网| 久青草国产高清在线视频| 亚洲福利一区二区三区| 日本91在线| 日韩欧美国产成人| 色色中文字幕| 欧美19综合中文字幕| 亚洲免费黄色网| 亚洲欧美综合在线观看| 99色亚洲国产精品11p| 国产噜噜在线视频观看| 另类重口100页在线播放| 亚洲欧州色色免费AV| 欧美国产日韩在线观看| 欧美特黄一级大黄录像| 欧美高清日韩| 青青久久91| 亚洲第一视频网站| 天天激情综合|