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

數(shù)控仿真的快速消隱算法

2012-12-31 00:00:00佘抒萌周春雷
考試周刊 2012年58期


  摘 要: 在數(shù)控加工仿真真實(shí)感圖形顯示中,通用的消隱算法用起來,效率相對(duì)較低,難以達(dá)到實(shí)時(shí)動(dòng)態(tài)真實(shí)感圖形顯示的要求。專用的消隱算法有的計(jì)算仍然比較復(fù)雜,難以在微機(jī)上滿足實(shí)時(shí)真實(shí)感圖形顯示的需要。作者在總結(jié)前人研究成果的基礎(chǔ)上,充分運(yùn)用了OpenGL的顯示機(jī)制,提出了一種快速局部消隱算法,該算法不僅速度快,而且非常穩(wěn)定,可以在微機(jī)上顯示高質(zhì)量的真實(shí)感圖形。
  關(guān)鍵詞: 真實(shí)感圖形 消隱算法 顯示機(jī)制 局部
  1.前言
  實(shí)時(shí)動(dòng)態(tài)仿真需要很快的顯示速度。消隱計(jì)算所耗費(fèi)的時(shí)間,在顯示真實(shí)感圖形過程中占有相當(dāng)大的比重。消隱問題又是計(jì)算機(jī)圖形學(xué)中一個(gè)十分重要的內(nèi)容,至今仍然在不斷研究和完善之中。提出的消隱算法很多,如畫家算法,Z緩存算法,掃描線算法,等等[1],但是這些消隱算法往往非常復(fù)雜。為特殊的應(yīng)用,人們也常常開發(fā)一些具有針對(duì)性的專用消隱算法[2],[3]。我們研究了數(shù)控仿真的圖形顯示的特性,發(fā)現(xiàn)通用的消隱算法用起來,效率相對(duì)較低,難以達(dá)到實(shí)時(shí)動(dòng)態(tài)真實(shí)感圖形顯示的要求。本文根據(jù)數(shù)控仿真的消隱和圖形顯示的特點(diǎn),充分利用圖形顯示中的緩存技術(shù)[4],提出一種用于數(shù)控仿真的快速消隱算法。
  2.通用的消隱算法
  生成真實(shí)感圖形,消隱是必須解決的問題之一。因此消隱是計(jì)算機(jī)圖形學(xué)的重要研究?jī)?nèi)容之一。至今提出了非常多的消隱算法如:深度緩存算法又稱Z緩存算法、掃描線算法、多邊形區(qū)域排序算法、畫家算法,等等。這些算法各有優(yōu)缺點(diǎn),因OpenGL采用的是深度緩存算法,所有這里著重介紹深度緩存算法。如圖1,在屏幕坐標(biāo)系中,Z軸的方向?yàn)橛^察方向。屏幕上任意一像素點(diǎn)(i,j)作平行于Z軸的射線R,與物體表面上的多邊形相交于pl點(diǎn)和p2點(diǎn)。pl和p2為多邊形屏幕上對(duì)應(yīng)像素(i,j)的點(diǎn),pl和p2的Z值稱為該點(diǎn)的深度值。
  圖1 深度緩存消隱
  深度緩存法比較pl和p2的Z值,將最小的Z值存入深度緩存,最小的Z值所對(duì)應(yīng)的多邊形顏色存入顯示器的顏色緩存。其算法步驟如下:
  初時(shí)化深度緩存ZB和顏色緩存FB,使ZB(i,j)=機(jī)器最大值,F(xiàn)B(i,j)=背景顏色,F(xiàn)OR j=1,n,F(xiàn)OR k=1,m,令Zi j=機(jī)器最大值,判斷點(diǎn)(i,j)是否在多邊形P在XOY面上的投影多邊形內(nèi);若是,則計(jì)算多邊形P在點(diǎn)(i,j)處的深度數(shù)值Zij;比較Zij與ZB(i,j)的大小,若Zij  深度緩存法是圖像空間的消隱算法,計(jì)算簡(jiǎn)單,便于硬件實(shí)現(xiàn),速度快。雖然存在占用大量存儲(chǔ)單元的缺點(diǎn),但是,隨著計(jì)算機(jī)硬件技術(shù)的不斷提高,一些配置較高的計(jì)算機(jī)中除了幀緩存外,還帶有用于消隱的深度緩存,因而占用大量存儲(chǔ)單元的缺點(diǎn)基本得到解決,所以深度緩存算法作為OpenGL圖形系統(tǒng)采用的消隱算法,得到了廣泛的應(yīng)用。
  3.OpenGL的模板緩存和深度緩存
  屏幕是由象素的矩形陣列所組成,每個(gè)象素在圖像中顯示一個(gè)小方格的顏色。全部象素的存儲(chǔ)器稱為緩存(buffer)。存儲(chǔ)每個(gè)象素的顯示顏色的緩存稱為顏色緩存。空間幾何元素通過一系列的變換在屏幕上顯示出來,屏幕上一個(gè)象素對(duì)應(yīng)空間幾何元素上被顯示的點(diǎn)。存儲(chǔ)象素對(duì)應(yīng)空間幾何元素上被顯示的點(diǎn)的深度信息的緩存稱為深度緩存。為了更好地控制空間幾何元素的顯示,又增加了模板緩存。
  深度緩存存儲(chǔ)每個(gè)象素的深度值。這個(gè)深度值是利用眼睛(觀測(cè)點(diǎn))的距離來度量的,所以有較大深度緩存數(shù)值的空間點(diǎn)被較小深度緩存數(shù)值的點(diǎn)所覆蓋。在顯示每一個(gè)象素前比較該象素和深度緩存中原先象素的深度值,如果當(dāng)前象素的深度值小于原象素的深度緩存數(shù)值,那么顯示當(dāng)前象素,并且用當(dāng)前象素的深度緩存數(shù)值代替原先象素的深度緩存數(shù)值。這樣深度緩存數(shù)值大的象素不被顯示。
  模板緩存是將繪圖局限于屏幕的某些部分。如同我們用卡紙模板來簡(jiǎn)化和加快噴涂標(biāo)語或圖案一樣。例如,要繪制一個(gè)由內(nèi)向外從行進(jìn)中汽車窗口所看見的變動(dòng)的場(chǎng)景,因?yàn)槠噧?nèi)部沒有變化,可以利用模板緩存使得顯示的改變僅僅發(fā)生在窗口范圍內(nèi)。這樣可以大大加快顯示的速度。方法是激活模板緩存,并設(shè)置全屏幕模板緩存內(nèi)容為0。一次繪制汽車內(nèi)部圖像并且改變所繪制范圍內(nèi)模板緩存為1,以后每次僅僅顯示汽車外部變化的場(chǎng)景,并且繪圖時(shí)檢查模板緩存內(nèi)容,只有在模板緩存內(nèi)容小于1的范圍才發(fā)生繪圖。
  4.快速局部消隱算法
  數(shù)控銑削的加工代碼少的有數(shù)百上千行,多的則上萬行甚至數(shù)十萬行代碼,銑削加工的零件形狀也多種多樣,有些形狀相當(dāng)復(fù)雜。用普通的消隱算法很難達(dá)到仿真顯示所需要的運(yùn)行速度。數(shù)控加工過程仿真顯示是動(dòng)態(tài)顯示刀具運(yùn)動(dòng)和毛坯的材料去除,每一次切削,顯示圖像僅僅是刀具切削的局部發(fā)生了變化,所以特別適合用局部刷新的方式進(jìn)行真實(shí)感圖形的顯示。本文提出的利用OpenGL顯示緩存、深度緩存和模板緩存機(jī)制的消隱算法是一種適應(yīng)局部刷新顯示要求的快速消隱算法。
  具體算法描述如下:1.用模板為0畫毛坯。2.啟動(dòng)深度緩存檢驗(yàn),畫刀具運(yùn)動(dòng)包絡(luò)體。設(shè)置顏色緩存的內(nèi)容為不能修改,所畫刀具運(yùn)動(dòng)包絡(luò)體不顯示,但是模板緩存中相應(yīng)內(nèi)容變?yōu)?。3.關(guān)閉深度緩存檢驗(yàn),啟用模板緩存檢驗(yàn),設(shè)置模板1的范圍內(nèi)可以顯示圖形。4.按有遠(yuǎn)到近的順序,顯示刀具軌跡中每一個(gè)小長(zhǎng)方體的可見部分。5.將全部模板緩存內(nèi)容設(shè)置為0。6.如果還有刀具軌跡顯示需要,返回2,如果沒有刀具軌跡需要顯示,程序結(jié)束。
  這個(gè)消隱算法的主要思路是:在第2步時(shí)激活深度緩存,利用Z緩存消隱算法消除刀具切削刀痕被其他結(jié)構(gòu)遮擋時(shí)的情況。同時(shí)避免將刀具切入毛坯部分的模板緩存改為1,從而出現(xiàn)圖2的錯(cuò)誤消隱結(jié)果。利用第3步關(guān)閉深度緩存檢驗(yàn),啟用模板緩存檢驗(yàn)。第4步在模板緩存容許的范圍內(nèi),按有遠(yuǎn)到近的順序顯示小立方體來顯示凹陷的刀具切削刀痕。
  如圖3所示,執(zhí)行第2步畫刀具包絡(luò)體,模板緩存改變成1的范圍。因?yàn)轭伾彺娴膬?nèi)容不能更改,所以屏幕上并不顯示如圖6所示的深色的刀具的包絡(luò)體,為了便于說明模板緩存內(nèi)容改變的范圍,我們?cè)趫D3上畫出了深色刀具的包絡(luò)體,用于表示模板緩存改變的范圍。因?yàn)槭羌せ盍松疃染彺?,所以離視點(diǎn)遠(yuǎn)的刀具切入毛坯的部分,其包絡(luò)體范圍的模板緩存不改變。這樣凹陷的刀具切削刀痕中靠近視點(diǎn)的邊緣遮擋的部分不顯示,因此這部分的模板緩存內(nèi)容保持為0。如圖4為所顯示的刀具切削軌跡。圖5是在前景物體遮擋時(shí)畫刀具包絡(luò)體的情況,因?yàn)槭羌せ钌疃染彺?,所以包絡(luò)體有一部分消隱,相應(yīng)的模板緩存內(nèi)容不改變,保持為0。因此,圖5所顯示的刀具切削軌跡相對(duì)應(yīng)的部分不顯示。用這種方法,避免了一般消隱算法中的大量的求交計(jì)算,提高了顯示速度。
  圖2 錯(cuò)誤的消隱結(jié)果
  圖3 深色部分模板內(nèi)容為1
  圖4 刀具軌跡痕跡
  圖5 有遮擋時(shí)的模板內(nèi)容
  5.結(jié)語
  消隱算法是計(jì)算機(jī)圖形學(xué)的重要研究?jī)?nèi)容之一,至今已提出了很多算法,并且仍然是計(jì)算機(jī)圖形學(xué)的研究熱點(diǎn)之一。本文提出的專用于數(shù)控加工仿真的局部快速消隱算法,不僅速度快、穩(wěn)定,為在微機(jī)上實(shí)時(shí)顯示真實(shí)感圖形提供了前提條件,而且克服了等軸測(cè)投影的消隱算法不能在任意顯示工件加工過程的缺陷,具有一定的先進(jìn)性。
  參考文獻(xiàn):
  [1]孫家廣,楊長(zhǎng)貴.計(jì)算機(jī)圖形學(xué).北京:清華大學(xué)出版社,1995,5.
  [2]詹梅,劉郁麗,揚(yáng)合.適用于三維有限元網(wǎng)格的逐步消隱法.西北工業(yè)大學(xué)學(xué)報(bào),1998,10:641—664.
  [3]焦法成,唐樹忠,梁錦文,和柏超.智能化二維消隱技術(shù).計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),1996,1:12—17.
  [4]Jackie Nelder,Tom Davis,and Mason Woo,,t openGL Programlning Guide”Addison—Wesle

主站蜘蛛池模板: 亚洲天堂久久新| 亚洲国产综合精品中文第一| 亚洲va视频| 日韩色图区| 制服丝袜无码每日更新| 青青草a国产免费观看| 97青青青国产在线播放| 毛片网站在线看| 视频二区国产精品职场同事| 99re热精品视频国产免费| 99久久国产综合精品2023| 天堂成人av| 老色鬼久久亚洲AV综合| 99精品国产电影| 亚洲v日韩v欧美在线观看| 欧美日韩成人在线观看| 高清大学生毛片一级| 香蕉在线视频网站| 在线观看网站国产| 国产精品视频999| jizz国产视频| 亚洲AV无码乱码在线观看代蜜桃| 亚洲人成网站在线播放2019| 无码电影在线观看| 久久综合色播五月男人的天堂| 亚洲成人福利网站| 国产精彩视频在线观看| 激情六月丁香婷婷四房播| 女人一级毛片| 亚洲色成人www在线观看| 国产精品视频第一专区| 国产亚洲视频播放9000| 欧美不卡视频在线| 亚洲欧洲日产无码AV| 青青操国产| 亚洲综合极品香蕉久久网| 色一情一乱一伦一区二区三区小说 | 久久人体视频| 综合网天天| 欧美成人午夜影院| 中文字幕在线观| 在线观看欧美精品二区| jizz在线免费播放| 国产精品浪潮Av| 蜜桃臀无码内射一区二区三区| 在线色国产| 精品无码一区二区在线观看| 欧美a网站| 美女被操91视频| 制服丝袜无码每日更新| 天天躁夜夜躁狠狠躁图片| 97精品久久久大香线焦| 999精品在线视频| 亚洲永久免费网站| 国产视频a| 91探花国产综合在线精品| 亚洲精品无码高潮喷水A| 精品精品国产高清A毛片| 91精品网站| 日韩av资源在线| 欧美天天干| 亚洲欧洲国产成人综合不卡| 色综合久久88| 亚洲欧洲国产成人综合不卡| 久久久久国产一级毛片高清板| 亚洲AV无码一区二区三区牲色| 国产超薄肉色丝袜网站| 久久永久视频| 亚洲国产天堂在线观看| 亚洲欧美成人在线视频| 国产理论最新国产精品视频| 凹凸国产分类在线观看| 2021精品国产自在现线看| 国产va在线观看| www亚洲天堂| 少妇精品在线| 国产精品久久久久久久久久久久| 特级毛片免费视频| 国产黄色爱视频| 91在线播放免费不卡无毒| 亚欧美国产综合| 国产成人三级在线观看视频|