版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)圖形學(xué)時(shí)間:星期一5、6節(jié),星期三1、2節(jié)理教121實(shí)習(xí):星期三11、12節(jié),計(jì)算中心第一章緒論1.1圖形無(wú)所不在〔1〕定義:計(jì)算機(jī)圖形學(xué)是研究怎樣用數(shù)字計(jì)算機(jī)生成、處理和顯示圖形的一門(mén)學(xué)科。人腦與電腦的區(qū)別0101010101分辨率高1011個(gè)神經(jīng)元比特率高可大數(shù)百季字節(jié)〔2〕計(jì)算機(jī)軟硬件的開(kāi)展促進(jìn)了計(jì)算機(jī)圖形學(xué)的開(kāi)展。隨機(jī)掃描刷新式顯示器光柵掃描式顯示器采用陰極射線(xiàn)管,利用兩對(duì)偏轉(zhuǎn)電極或電磁偏轉(zhuǎn)線(xiàn)圈控制電子束在熒光屏上的落點(diǎn)位置,在屏幕上繪制出閃亮的線(xiàn)條。采用成熟的彩色電視機(jī)技術(shù),用三個(gè)電子束同步逐行掃描熒光屏上整齊排列的紅、綠、藍(lán)三基色點(diǎn)簇。一條電子束對(duì)準(zhǔn)一種基色,一個(gè)點(diǎn)簇稱(chēng)為一個(gè)象素。一幅畫(huà)面可以由640×480,800×600,1024×768,1280×1024不等的象素構(gòu)成。將需要顯示的圖形點(diǎn)陣分解為紅、綠、藍(lán)三基色,并將各象素所對(duì)應(yīng)的色彩編碼值存儲(chǔ)在幀緩存器內(nèi),用以控制掃描電子束每一瞬間的鼓勵(lì)強(qiáng)度。色彩編碼:計(jì)算機(jī)中將紅、綠、藍(lán)三種基色的強(qiáng)度分為256級(jí),因此這三種基色的組合共有256×256×256=16777216種,也就是說(shuō),計(jì)算機(jī)可以顯示1600多萬(wàn)種顏色。圖形軟件的迅速開(kāi)展高檔微機(jī)的出現(xiàn)主頻:500兆——750兆赫茲內(nèi)存:128兆——1季字節(jié)硬盤(pán):幾十季——幾百季字節(jié)顯示緩存:幾兆——幾十兆字節(jié)圖形加速卡計(jì)算機(jī)輔助制圖軟件:AutoCAD計(jì)算機(jī)動(dòng)畫(huà)制作軟件:3DMax,F(xiàn)lash,Maya圖形圖象處理軟件:PhotoShop,CorelDraw地理信息系統(tǒng)軟件:Arc/Info,MapInfo,Intergraph,CityStar,MapGIS,GeoStar〔3〕計(jì)算機(jī)圖形學(xué)與圖象處理計(jì)算機(jī)圖形學(xué)的內(nèi)容:用計(jì)算機(jī)生成景物的數(shù)字模型,并將它顯示在計(jì)算機(jī)屏幕上,或者繪制成紙張或膠片上的圖形。幾何建模方法〔Modeling〕數(shù)字模型的繪制技術(shù)〔Rendering〕圖形輸入和控制的人機(jī)交互界面〔Userinterface〕計(jì)算機(jī)動(dòng)畫(huà)〔Animation〕圖象處理的內(nèi)容:用攝象機(jī)或掃描儀等觀測(cè)手段將客觀世界中原來(lái)存在的景物設(shè)置成數(shù)字化圖象,對(duì)圖象進(jìn)行處理和分析,理解圖象的內(nèi)涵,進(jìn)而從圖象中提取所關(guān)注的景物的二維或三維幾何模型。圖象增強(qiáng)邊緣提取圖象分割圖象壓縮紋理分析圖象序列分析形狀特征提取模式識(shí)別機(jī)器人視覺(jué)三維形體重建計(jì)算機(jī)圖形與圖象技術(shù)的相互滲透、〔4〕計(jì)算機(jī)圖形學(xué)的應(yīng)用數(shù)字地球:1998年1月31日美國(guó)副總統(tǒng)戈?duì)栐诼迳紮C(jī)加利福尼亞科學(xué)中心召開(kāi)的地理信息系統(tǒng)年會(huì)上提出了這一設(shè)想。比方,可以設(shè)想一個(gè)小孩來(lái)到地方博物館的一個(gè)數(shù)字地球陳列室,當(dāng)他戴上頭盔顯示器,她將看到就象是出現(xiàn)在空中的地球。使用“數(shù)據(jù)手套〞,她開(kāi)始放大景物,伴隨越來(lái)越高的分辨率,她會(huì)看到大洲,隨之是區(qū)域、國(guó)家、城市、最后是房屋、樹(shù)木以及其它各種自然和人造物體。在發(fā)現(xiàn)自己特別感興趣的某地塊時(shí),她可乘上“魔毯〞,即通過(guò)地面三維圖象顯示去深入查看。當(dāng)然,地塊信息只是她可以了解的多種信息中的一種。使用數(shù)字地球系統(tǒng)的聲音識(shí)別裝置,小孩還可以詢(xún)問(wèn)有關(guān)的土地覆蓋、植物和動(dòng)物種類(lèi)的分布、實(shí)時(shí)的氣候、道路、行政區(qū)線(xiàn),以及人口等方面的信息。在這里,她還可以看到自己以及世界各地的學(xué)生們?yōu)椤叭蚬こ台暿占沫h(huán)境信息。這些信息可以無(wú)縫地融入數(shù)字地圖或地面數(shù)據(jù)里。用數(shù)據(jù)手套向超連接局部敲擊,她還可以獲得更多的有關(guān)她所見(jiàn)物體的信息。比方,為了準(zhǔn)備全家去國(guó)家黃石公園渡假,她籌劃一個(gè)完美的步行旅游,去觀看剛從書(shū)中讀到的噴泉、北美野牛和巨角巖羊。甚至在離開(kāi)她家鄉(xiāng)的地方博物館之前,她就可以把要去步行旅游的地方從頭到尾地瀏覽一遍。計(jì)算機(jī)輔助設(shè)計(jì):在工業(yè)〔汽車(chē)、飛機(jī)、輪船、機(jī)械、建筑等〕設(shè)計(jì)中得到廣泛應(yīng)用。由傳統(tǒng)的紙圖變?yōu)橛?jì)算機(jī)圖形二維工程圖——三維立體圖,更方便、直觀大大降低勞動(dòng)量節(jié)省大量的物理模型本錢(qián)更加精確、協(xié)調(diào)科學(xué)計(jì)算可視化:給數(shù)據(jù)以形象;給信息以智能磁場(chǎng)強(qiáng)度渦流、湍流空氣動(dòng)力地震波地殼板塊運(yùn)動(dòng)電影:計(jì)算機(jī)游戲多媒體遠(yuǎn)程教育電子郵件計(jì)算機(jī)藝術(shù)圖形無(wú)所不在!1.2景物的幾何建模貝齊埃曲線(xiàn)貝齊埃為現(xiàn)代CAD技術(shù)奠定幾何形體數(shù)字定義理論根底的杰出先驅(qū),是20世紀(jì)60年代法國(guó)雷諾汽車(chē)廠的工程師。他提出的構(gòu)形原理是:兩點(diǎn)P0,P1確定一條直線(xiàn),表示為一次參數(shù)矢量方程B1(t)=(1-t)P0+tP1。三點(diǎn)P0,P1,P2確定一條二次曲線(xiàn),表達(dá)形成為B2(t)=(1-t)2P0+2t(1-t)P1+t2P2t∈[0,1]P0,P1,P2稱(chēng)作頂點(diǎn),中間頂點(diǎn)P1不但控制曲線(xiàn)的首末端切矢,而且惟一確定曲線(xiàn)的形狀。依此類(lèi)推,n+1個(gè)頂點(diǎn)惟一確定一條n次貝齊埃曲線(xiàn)。1.3場(chǎng)景繪制取景變換將幾何對(duì)象的三維坐標(biāo)轉(zhuǎn)換到屏幕上的象素位置,需要進(jìn)行一系列的坐標(biāo)變換,這些變化統(tǒng)稱(chēng)為取景變換。刪除隱藏面背向視點(diǎn)的面被正面遮擋,需要及早刪除。目的是為了減少圖形繪制的工作量,提高場(chǎng)景動(dòng)態(tài)顯示的實(shí)時(shí)性。裁減超出屏幕顯示范圍的場(chǎng)景要從幾何模型上裁減掉。目的也是了減少圖形繪制的工作量,提高場(chǎng)景動(dòng)態(tài)顯示的實(shí)時(shí)性。光亮度計(jì)算牽涉到定義景物的外表材質(zhì)和顏色,確定光源的性質(zhì)和位置,模擬光線(xiàn)傳播的物理機(jī)制,處理好透明、半透明、鏡面反射和物體相互遮擋、陰影生成等種種問(wèn)題,為此設(shè)計(jì)各種復(fù)雜的算法。反走樣算法由于圖形顯示器采用光柵模式,連續(xù)的景物外表只能以離散的光柵圖像顯示。每一象素取一定的紅綠藍(lán)三基色分量來(lái)顯示該象素處可見(jiàn)的景物外表采樣點(diǎn)的顏色和亮度。由于屏幕具有一定的分辨率,用離散的、固定大小的象素來(lái)表示畫(huà)面上的紋理細(xì)節(jié),必然要產(chǎn)生失真,因此需要采用反走樣算法來(lái)緩和視覺(jué)上的反差。QuickTime技術(shù)簡(jiǎn)介QuickTime是蘋(píng)果公司開(kāi)發(fā)的新一代虛擬現(xiàn)實(shí)技術(shù)。它是一種基于靜態(tài)圖像處理的,在微機(jī)平臺(tái)上能夠?qū)崿F(xiàn)的初級(jí)虛擬現(xiàn)實(shí)技術(shù)。它的出現(xiàn)使得以往專(zhuān)業(yè)實(shí)驗(yàn)室中本錢(qián)昂貴的虛擬現(xiàn)實(shí)技術(shù)的應(yīng)用普及有了廣闊的前景。假定我們?cè)谝皇铱臻g進(jìn)行觀察,室內(nèi)空間一般有六個(gè)面,如果我們獲取了這六個(gè)面的許多不同距離,不同方位的實(shí)景照片并將它們按照相互的關(guān)系有機(jī)連接起來(lái),就可以在視覺(jué)上形成這個(gè)房間整個(gè)空間的整體認(rèn)識(shí),這就是全景概念。1.4人機(jī)交互界面窗口菜單圖標(biāo)〔1〕目前流行的圖形界面〔2〕虛擬現(xiàn)實(shí)〔VirtualReality簡(jiǎn)稱(chēng)VR〕虛擬現(xiàn)實(shí)是指用立體眼鏡、傳感手套等一系列傳感輔助設(shè)施來(lái)實(shí)現(xiàn)的一種三維現(xiàn)實(shí),人們通過(guò)這些設(shè)施以自然的方式〔如頭的轉(zhuǎn)動(dòng)、手的運(yùn)動(dòng)等〕向計(jì)算機(jī)送入各種動(dòng)作信息,并且通過(guò)視覺(jué)、聽(tīng)覺(jué)以及觸覺(jué)設(shè)施使人們得到三維的視覺(jué)、聽(tīng)覺(jué)等感覺(jué)世界。隨著人們不同的動(dòng)作,這些感覺(jué)也隨之改變。1.5計(jì)算機(jī)動(dòng)畫(huà)我國(guó)第一部利用計(jì)算機(jī)輔助攝制的動(dòng)畫(huà)片是?咪咪釣魚(yú)?,1991年由北方工業(yè)大學(xué)和北京電視臺(tái)合作制作,以二維動(dòng)畫(huà)為主。用386微機(jī)和C語(yǔ)言編程,利用數(shù)字化儀和攝象機(jī)產(chǎn)生關(guān)鍵幀,再由計(jì)算機(jī)在相鄰兩幅關(guān)鍵幀之間內(nèi)插生成中間幀,并自動(dòng)跟蹤上色。多層畫(huà)面疊加在一起,形成完整的畫(huà)面。10分鐘的片子,5人小組花了10個(gè)月時(shí)間。計(jì)算機(jī)動(dòng)畫(huà)的應(yīng)用領(lǐng)域非常廣,最典型的有:1、計(jì)算機(jī)模擬飛行2、動(dòng)畫(huà)片3、電視廣告第二章計(jì)算機(jī)圖形系統(tǒng)及其設(shè)備本章內(nèi)容:介紹計(jì)算機(jī)圖形系統(tǒng)的組成以及主要的圖形外部設(shè)備。2.1計(jì)算機(jī)圖形顯示原理陰極射線(xiàn)管〔CRT〕顯示器的特點(diǎn):亮度高,比照度好,分辨率高和色彩鮮艷并豐富。缺點(diǎn)是體積大、厚與笨重。液晶顯示器的特點(diǎn):器件薄,面積可大可小,重量輕,特別適合便攜式計(jì)算機(jī)使用,缺點(diǎn)是分辨率相對(duì)較低,色彩不夠鮮艷,且價(jià)格偏高。2.1.1CRT顯示器〔1〕CRT顯示原理燈絲陰極控制極水平偏轉(zhuǎn)線(xiàn)圈聚焦極加速極垂直偏轉(zhuǎn)線(xiàn)圈高壓入口石墨涂層電子束偏轉(zhuǎn)的電子束陰極熒光粉層陰極〔帶負(fù)電荷〕被燈絲加熱后,發(fā)出電子并形成發(fā)散的電子云。這些電子云被電子聚焦透鏡聚焦成很細(xì)的電子束,在帶正高壓的陽(yáng)極吸引下轟擊熒光粉圖層,而形成亮點(diǎn)。改變陰極與控制極之間的電位差,即可調(diào)制電子束的電流密度,從而改變所形成亮點(diǎn)的明暗程度。〔2〕隨機(jī)掃描顯示器顯示原理根據(jù)圖形的幾何坐標(biāo)產(chǎn)生適當(dāng)?shù)乃胶痛怪逼D(zhuǎn)磁場(chǎng),控制電子束的偏轉(zhuǎn),就可以在CRT熒光屏上得到發(fā)光的圖形軌跡。由于被顯示的圖形千變?nèi)f化,因而電子束的掃描隨之改變,沒(méi)有固定掃描路徑和順序的限制。這種方式稱(chēng)為隨機(jī)掃描。〔3〕光柵掃描顯示器顯示原理這種顯示器發(fā)出的電子束的偏轉(zhuǎn)方向是固定的,在熒光屏上形成光柵形狀。陰極控制極屏蔽極陽(yáng)極聚焦極陽(yáng)極會(huì)聚板偏轉(zhuǎn)線(xiàn)圈蔭罩板電子束熒光粉〔4〕幾個(gè)概念行頻、幀頻水平掃描頻率為行頻。垂直掃描頻率為幀頻。逐行掃描、隔行掃描隔行掃描方式是先掃偶數(shù)行掃描線(xiàn),再掃奇數(shù)行掃描線(xiàn)。象素整個(gè)屏幕被掃描線(xiàn)分成n行,每行有m個(gè)點(diǎn),每個(gè)點(diǎn)為一個(gè)象素。整個(gè)屏幕有m×n個(gè)象素。分辨率是指CRT在水平或垂直方向的單位長(zhǎng)度上能分辨出的最大光點(diǎn)〔象素〕數(shù),分為水平分辨率和垂直分辨率。通常用屏幕上象素的數(shù)目來(lái)表示。比方上述的n行,每行m點(diǎn)的屏幕分辨率為m×n。分辨率越高,相鄰象素點(diǎn)之間的距離越小,顯示的字符或圖像也就越清晰。分辨率受顯示器生產(chǎn)工藝、掃描頻率以及顯示存儲(chǔ)器容量的限制。點(diǎn)距相鄰象素點(diǎn)之間的距離,與分辨率指標(biāo)相關(guān)。顯示速度指顯示字符、圖形特別是動(dòng)態(tài)圖像的速度,與顯示器的分辨率及掃描頻率有關(guān)??捎米畲髱挕菜较笏?cái)?shù)×垂直象素?cái)?shù)×最大幀頻〕來(lái)表示。色彩與亮度等級(jí)亮度等級(jí)又稱(chēng)灰度,主要指單色顯示器的亮度變化。色彩包括可選擇顯示器顏色的數(shù)目以及一幀畫(huà)面可同時(shí)顯示的顏色數(shù),與熒光屏的質(zhì)量有關(guān),并受顯示存儲(chǔ)器VRAM容量的影響。圖像刷新由于CRT內(nèi)側(cè)的熒光粉在接受電子束的轟擊時(shí),只能維持短暫的發(fā)光,根據(jù)人眼視覺(jué)暫留的特性,需要不斷進(jìn)行刷新才能有穩(wěn)定的視覺(jué)效果,因此刷新是指以每秒30幀以上的頻率反復(fù)掃描不斷地顯示每一幀圖像。圖像的刷新頻率等于幀掃描的頻率〔幀頻〕,用每秒刷新的幀數(shù)表示。目前刷新頻率標(biāo)準(zhǔn)為每秒50~120幀。幀緩沖存儲(chǔ)器〔顯示存儲(chǔ)器〕存儲(chǔ)用于刷新的圖像信息的存儲(chǔ)器。幀緩沖存儲(chǔ)器的大小通常用X方向〔行〕和Y方向〔列〕可尋址的地址數(shù)的乘積來(lái)表示,稱(chēng)為幀緩沖存儲(chǔ)器的分辨率。主機(jī)接口幀緩沖存儲(chǔ)器視頻控制器CRT顯示器顯示適配器2.1.2液晶顯示器〔LCD:Liquid-CrystalDisplay〕主要應(yīng)用于:計(jì)算器及輕便式、折疊式計(jì)算機(jī)。機(jī)理:通過(guò)能阻塞或傳遞光的液晶材料,傳遞或阻塞來(lái)自周?chē)幕騼?nèi)部光源的偏振光。應(yīng)用根底:具有線(xiàn)狀結(jié)晶結(jié)構(gòu)的分子可象液體那樣流動(dòng),即液晶分子的排列柔軟易變形,受電場(chǎng)、磁場(chǎng)、溫度、應(yīng)力等外部條件作用時(shí),液晶分子會(huì)重新排列。基于液晶光學(xué)各向異性的各種特性也隨著變化。2.1.3顯示適配器顯示器必須與顯示適配器配套使用,它們必須支持同一顯示標(biāo)準(zhǔn)。〔1〕顯示標(biāo)準(zhǔn):MDA720×350僅字符方式CGA640×200HGA720×348EGA640×350VGA640×480MCGA640×480XGA1024×768SVGA1024×768PGA1024×768AVGA1280×10241981年1982年1984年1989年1990年1993年P(guān)C顯示適配器的開(kāi)展〔2〕顯示適配器的結(jié)構(gòu)顯示控制器顯示存儲(chǔ)器ROMBIOS顯示器主板顯示存儲(chǔ)器存儲(chǔ)顯示圖像的點(diǎn)陣數(shù)據(jù)。每個(gè)象點(diǎn)對(duì)應(yīng)1-3個(gè)字節(jié)〔由顏色深度決定〕,屏幕上有多少個(gè)象點(diǎn)〔由分辨率決定〕就要有多少個(gè)這樣的字節(jié),從而可以估算出應(yīng)有的顯示存儲(chǔ)器的根本容量。顯示控制器是顯示適配器的心臟。其功能包括:①管理與系統(tǒng)總線(xiàn)的接口②讀取顯示存儲(chǔ)器中的圖像點(diǎn)陣,通過(guò)轉(zhuǎn)換后送至顯示器③調(diào)色板功能,增加同屏顯示顏色數(shù)目④先進(jìn)的顯示控制器具有圖形加速功能,包括位和塊傳送、畫(huà)線(xiàn)、填充和顏色擴(kuò)展。ROMBIOS含有少量的固化軟件,用于支持顯示控制器建立所要求的顯示環(huán)境。主要用于DOS操作系統(tǒng)。在Windows95或者WindowsNT的環(huán)境下,它的大局部功能是不被使用的。2.2計(jì)算機(jī)圖形系統(tǒng)計(jì)算機(jī)圖形系統(tǒng)按照通用和專(zhuān)用及平臺(tái)配置的不同分為個(gè)人計(jì)算機(jī)〔通用微型機(jī)〕圖形系統(tǒng)和圖形工作站兩類(lèi)。二者統(tǒng)稱(chēng)桌面系統(tǒng)。2.2.1微型計(jì)算機(jī)圖形系統(tǒng)特點(diǎn):體積小,價(jià)格低廉,用戶(hù)界面友好。Wintel平臺(tái):由Intel處理器為核心的計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和Microsoft提供的WindowsNT,Windows95,Windows98主要操作系統(tǒng)組成的計(jì)算機(jī)平臺(tái)。PentiumII處理器:Intel公司1997年5月正式推出,提供了整數(shù)運(yùn)算、浮點(diǎn)運(yùn)算和多媒體等三個(gè)方面的優(yōu)異計(jì)算能力。PentiumIII處理器:除了時(shí)鐘提高以外,整體性能也大大提高,如語(yǔ)音處理能力提高37%,圖形圖像處理能力提高64%,增加了70多條多媒體指令〔SSE〕。顯示器: 顯示標(biāo)準(zhǔn):SuperVGA〔支持真彩色,16M色〕; 對(duì)角線(xiàn)尺寸:15英寸、17英寸; 分辨率:為1024×768象素; 點(diǎn)距:0.24mm; 掃描方式:逐行掃描; 水平掃描頻率:30-82kHz; 垂直掃描頻率:50-120kHz; 最大帶寬〔水平象素?cái)?shù)×垂直象素?cái)?shù)×垂直掃描頻率〕:150MHz繪圖儀:平臺(tái)式、滾筒式、噴墨式。打印機(jī):針式、噴墨式、激光。數(shù)字化儀:磁致伸縮式、電子式、電磁感應(yīng)式。它能通過(guò)傳感筆或游標(biāo)把數(shù)字化儀臺(tái)面上的幾何位置信息變?yōu)橛?jì)算機(jī)能用的二進(jìn)制數(shù)字信息。掃描儀:把被掃描的圖形、圖像、字符變?yōu)槎M(jìn)制圖像數(shù)據(jù)的輸入設(shè)備。鼠標(biāo)、鍵盤(pán):最常用的輸入設(shè)備。2.2.2圖形工作站具有完整人機(jī)交互界面,集高性能的計(jì)算和圖形于一身,可配置大容量的內(nèi)存和硬盤(pán),I/O和網(wǎng)絡(luò)功能完善,使用多任務(wù)多用戶(hù)操作系統(tǒng)的小型通用個(gè)人化計(jì)算機(jī)系統(tǒng)。1983年美國(guó)APOLLO公司推出第一臺(tái)適合計(jì)算機(jī)輔助設(shè)計(jì)〔CAD〕的工作站?,F(xiàn)在全球最有名的圖形工作站屬SGI圖形工作站。2.2.3虛擬現(xiàn)實(shí)系統(tǒng)除了具有常規(guī)的高性能計(jì)算機(jī)系統(tǒng)的硬件和軟件外,還必須對(duì)以下關(guān)鍵技術(shù)提供強(qiáng)有力的支持。能以實(shí)時(shí)的速度生成具有逼真感的景物圖形〔三維全彩色的、有明暗、紋理和陰影的圖像〕能高精度的實(shí)時(shí)跟蹤用戶(hù)的頭和手。頭戴顯示器能產(chǎn)生高分辨率圖像和較大的視角。2.3圖形輸入設(shè)備用最通常的輸入設(shè)備:鍵盤(pán)、鼠標(biāo)配合CRT顯示器即可組成簡(jiǎn)易的交互式圖形系統(tǒng)。但高性能交互式圖形系統(tǒng)可能配備光筆、數(shù)字化儀、掃描儀、語(yǔ)音輸入系統(tǒng)和三維輸入設(shè)備等圖形設(shè)備。2.3.1光筆由光筆檢測(cè)到屏幕的光信號(hào),然后傳輸給計(jì)算機(jī),從而到達(dá)輸入的目的。2.3.2數(shù)字化儀是一種能將書(shū)寫(xiě)版面內(nèi)的幾何位置轉(zhuǎn)換為數(shù)字坐標(biāo)的圖形輸入設(shè)備。現(xiàn)在應(yīng)用最廣泛的是電磁感應(yīng)式數(shù)字化儀。電磁感應(yīng)式數(shù)字化儀原理:基板用非磁性材料制成,在基板下密布了互相絕緣的特殊銅線(xiàn)網(wǎng)格。在X和Y方向輪流以正弦、余弦信號(hào)鼓勵(lì)網(wǎng)格。在傳感筆或游標(biāo)傳感器中安裝了接收線(xiàn)圈。接收線(xiàn)圈接收到感應(yīng)信號(hào)后送至處理器,處理器計(jì)算鼓勵(lì)信號(hào)與傳感器內(nèi)接收線(xiàn)圈感應(yīng)信號(hào)的相位差,從而換算出傳感器所在位置的坐標(biāo)。2.3.3觸摸屏容許用手指觸摸屏幕來(lái)實(shí)現(xiàn)選擇。觸摸輸入有光學(xué)的、電子的和聲學(xué)的。精度最高的屬聲學(xué)的。聲學(xué)觸摸屏的原理:沿一塊玻璃板的水平方向和垂直方向產(chǎn)生高頻聲波,觸摸屏幕引起的每個(gè)波有一局部被手指反射到發(fā)射器,接觸點(diǎn)的屏幕位置由每個(gè)波從發(fā)送與反射到發(fā)射器的時(shí)間間隔的測(cè)量來(lái)計(jì)算。2.3.4圖形掃描儀圖形掃描儀是直接把圖形〔如工程紙圖〕和圖像〔如照片、廣告畫(huà)〕掃描輸入到計(jì)算機(jī)中,以象素信息進(jìn)行存儲(chǔ)的設(shè)備。原理:用光源照射原稿,投射光線(xiàn)經(jīng)過(guò)一組光學(xué)鏡頭射到電荷耦合器件上,再經(jīng)過(guò)模/數(shù)轉(zhuǎn)換器、圖像數(shù)據(jù)暫存器等,最終輸入到計(jì)算機(jī)。分辨率:掃描儀的分辨率是指在原稿的單位長(zhǎng)度〔英寸〕上取樣的點(diǎn)數(shù),單位是dpi〔每英寸的點(diǎn)數(shù)〕,常用的分辨率有300dpi到1000dpi之間。幅面:是指所支持的原稿最大尺寸。常用的有A0,A1,A4等。2.3.5語(yǔ)音系統(tǒng)包括語(yǔ)音輸入和語(yǔ)音識(shí)別系統(tǒng)。廣泛應(yīng)用于代替鍵盤(pán)實(shí)現(xiàn)文字的語(yǔ)音識(shí)別錄入。這一技術(shù)已相當(dāng)成熟,識(shí)別率可達(dá)95%以上。原理:聲音輸入一般是對(duì)著安裝在頭套上的麥克風(fēng)陳述的。麥克風(fēng)設(shè)計(jì)成將其它背景聲音的輸入降為最小。如果不同的操作員使用該系統(tǒng),需進(jìn)行一定的訓(xùn)練,隨著操作員對(duì)識(shí)別結(jié)果確實(shí)認(rèn)或選擇,系統(tǒng)具有學(xué)習(xí)功能,會(huì)逐步提高識(shí)別率。2.3.6數(shù)據(jù)手套原理:是一種戴在手上的傳感器,由一系列檢測(cè)手和手指運(yùn)動(dòng)的傳感器構(gòu)成。發(fā)送天線(xiàn)和接收天線(xiàn)之間的電磁耦合,用來(lái)提供關(guān)于手的位置和方向的信息。發(fā)送和接收天線(xiàn)各自由一組三個(gè)互相垂直的線(xiàn)圈構(gòu)成,形成三維笛卡兒坐標(biāo)系統(tǒng)。能給出用戶(hù)所有手指關(guān)節(jié)的角度變化,由應(yīng)用程序判斷出用戶(hù)在虛擬現(xiàn)實(shí)環(huán)境中進(jìn)行操作時(shí)的手的姿勢(shì)。2.4計(jì)算機(jī)繪圖設(shè)備象顯示器一樣,繪圖機(jī)也分為隨機(jī)矢量式和光柵點(diǎn)陣式兩大類(lèi)。它們的開(kāi)展都非常迅速,且種類(lèi)繁多。2.4.1滾筒式繪圖機(jī)隨機(jī)矢量式2.4.2平板式繪圖機(jī)隨機(jī)矢量式2.4.3噴墨式彩色繪圖機(jī)光柵點(diǎn)陣式2.4.4靜電式繪圖機(jī)光柵點(diǎn)陣式第三章生成直線(xiàn)和圓弧的算法3.1生成直線(xiàn)的DDA〔DigitalDifferentialAnalyzer〕方法PsPe圖3.1圖中圓點(diǎn)表示DDA法生成的直線(xiàn)無(wú)論光柵顯示器或繪圖機(jī)都可以看成有一個(gè)網(wǎng)格存在。表示一條直線(xiàn),就是要用靠近直線(xiàn)的一些網(wǎng)格點(diǎn)來(lái)代表這一直線(xiàn)。顯示時(shí)要使這些點(diǎn)發(fā)出一定亮度。設(shè)直線(xiàn)的起點(diǎn)坐標(biāo)Ps(xs,ys),終點(diǎn)坐標(biāo)為Pe(xe,ye),令Δx=xe-xs,Δy=ye-ys,要繪的直線(xiàn)的微分方程是:令Δt=max(|Δx|,|Δy|)〔3.2)取時(shí)間步長(zhǎng)為1/Δt,那么可得式〔3.1〕的數(shù)值解的遞推公式xi+1=xi+Δx/Δt,yi+1=yi+Δy/Δt(3.3)用式(3.3)可求得圖中直線(xiàn)PsPe上三角形表示的點(diǎn),但顯示時(shí)要用象素〔即圖中網(wǎng)格結(jié)點(diǎn)〕來(lái)表示,這要用舍入的方法來(lái)找到最靠近三角形表示的點(diǎn)的象素,用這些象素〔圖中圓表示的點(diǎn)〕來(lái)表示直線(xiàn)。這個(gè)方法稱(chēng)為DDA方法?!?.1)其程序如下:proceduredda(x1,y1,x2,y2:integer);vark,i:integer;x,y,xincre,yincre:real;begin
k:=abs(x2-x1);
if
abs(y2-y1)>kthenk:=abs(y2-y1);xincre:=(x2-x1)/k;yincre:=(y2-y1)/k;x:=x1;y:=y1;
fori:=1tokdo
beginplot(trun(x),trun(y));x:=x+xincre;y:=y+yincre;
end;end;Δt=max(|Δx|,|Δy|)〔3.2)xi+1=xi+Δx/Δt,yi+1=yi+Δy/Δt(3.3)〔3.1)3.2生成直線(xiàn)的Bresenham算法在直線(xiàn)生成的算法中Bresenham算法是最有效的算法之一。令m=Δy/Δx,先就0≤m≤1的情況來(lái)說(shuō)明Bresenham算法??梢缘玫揭韵逻f推公式:yi+1=yi+m(xi+1-xi)(3.5)由于屏幕上相鄰兩象素的x坐標(biāo)相差1,所以:yi+1=yi+m(3.7)xiXi+1Yi,rYi+1,rCDBA由于m不一定是整數(shù),由此式求出的yi也不一定是整數(shù),因此要用坐標(biāo)為〔xi,yir〕的象素來(lái)表示直線(xiàn)上的點(diǎn),其中yir表示最靠近yi的整數(shù)。設(shè)圖3.2中xi列上已用〔xi,yir〕作為表示直線(xiàn)的點(diǎn),又設(shè)B點(diǎn)是直線(xiàn)上的點(diǎn),其坐標(biāo)為〔xi+1,yi+1〕,顯然下一個(gè)表示直線(xiàn)的點(diǎn)〔xi+1,yi+1,r〕只能從圖3.2中的C或者D點(diǎn)中去選。設(shè)A為CD邊的中點(diǎn),假設(shè)B在A點(diǎn)上面那么應(yīng)取D點(diǎn)作為〔xi+1,yi+1,r〕,否那么應(yīng)取C點(diǎn)。為了能確定B在A點(diǎn)上面或下面,令ε(xi+1)=yi+1-yir-0.5(3.8)假設(shè)B在A的下面,那么有ε(xi+1)<0,反之,那么ε(xi+1)>0。由圖3.2可知yi+1,r=yir+1,假設(shè)ε(xi+1)≥0(3.9)yi+1,r=yir,假設(shè)ε(xi+1)≤0圖3.2ε(x)的幾何意義由式〔3.8〕和式〔3.9〕可得到ε(xi+2)=yi+2-yi+1,r-0.5(3.10)=yi+1+m-yi+1,r-0.5yi+1-yir-0.5+m-1,當(dāng)ε(xi+1)≥0yi+1-yir-0.5+m,當(dāng)ε(xi+1)≤0ε(xi+1)+m-1,當(dāng)ε(xi+1)≥0ε(xi+1)+m,當(dāng)ε(xi+1)≥0由式〔3.7〕和式〔3.8〕可得到ε(x2)=y2-y1-0.5=m-0.5(3.11)根據(jù)這個(gè)算法可得以下產(chǎn)生直線(xiàn)的程序:={={m:=deltay/deltaxe:=m-0.5
fori:=1todeltaxdo
beginplot(x,y);
ife>=0then
beginy:=y+1;e:=e-1
end;x:=x+1e:=e+m
end;f:=2*deltay-deltax
fori:=1todeltaxdo
beginplot(x,y);
iff>=0then
beginy:=y+1;f:=f-2*deltax
end;x:=x+1f:=f+2*deltay
end;請(qǐng)看程序3.3生成直線(xiàn)算法的進(jìn)一步改進(jìn)1987年有人提出二步法,即沒(méi)循環(huán)一次不是繪制一個(gè)象素,而是繪制二個(gè)象素,這樣無(wú)疑可以把生成直線(xiàn)的速度提高一倍。同樣,我們先考慮當(dāng)直線(xiàn)的斜率m屬于區(qū)間[0,1]時(shí),在x方向每增加兩個(gè)單元,只可能出現(xiàn)以下的四種情況。圖3.4只可能出現(xiàn)的四種情況ABCD我們利用3.2節(jié)的方法來(lái)討論這個(gè)問(wèn)題。令ε(xi+2)=yi+2-yir-0.5
假定當(dāng)yi+2-yir≤0.5時(shí)繪制圖A。當(dāng)0.5≤yi+2-yir≤1時(shí)繪制圖B。當(dāng)1≤yi+2-yir≤1.5時(shí)繪制圖C。當(dāng)yi+2-yir≥1.5時(shí)繪制圖D。
ε(xi+4)=yi+4-yi+2,r-0.5=yi+2+2m-yi+2,r-0.5yi+2-yir+2m-0.5,當(dāng)ε(xi+2)≤0yi+2-yir+2m-0.5-1,當(dāng)1≥ε(xi+2)>0yi+2-yir+2m-0.5-2,當(dāng)ε(xi+2)>1ε(xi+2)+2m,當(dāng)ε(xi+2)≤0ε(xi+2)+2m-1,當(dāng)1≥ε(xi+2)>0ε(xi+2)+2m-2,當(dāng)ε(xi+2)>1類(lèi)似式(3.11)可取ε(x3)=y3-y1-0.5=2m-0.5
相應(yīng)的程序?yàn)椋?{={3.4Bresenham生成圓弧的算法Bresenham圓弧算法是最有效的算法之一。不失一般性,我們可以假設(shè)圓心〔xc,yc〕就在原點(diǎn)。否那么只需要把求到的圓上的點(diǎn)〔x,y〕作一下平移變換即可。x’=x+xc,y’=y+yc便可得到圓心在〔x,y〕的圓上的點(diǎn)〔x’,y’〕。AB我們只須討論圖3.6中的弧AB的畫(huà)法,如果要顯示一個(gè)整圓時(shí),只須在顯示AB上任一點(diǎn)〔x,y〕時(shí),同時(shí)顯示在圓周上其他七個(gè)對(duì)稱(chēng)點(diǎn)。圖3.6七個(gè)對(duì)稱(chēng)點(diǎn)〔x,y〕〔y,x〕〔y,-x〕〔x,-y〕〔-x,y〕〔-y,x〕〔-y,-x〕〔-x,-y〕45°Pi-1HiLi圖3.7應(yīng)取Hi還是取Li現(xiàn)在從A點(diǎn)開(kāi)始向右下方逐點(diǎn)來(lái)尋找弧AB要用的點(diǎn)。如圖3.7中點(diǎn)Pi-1是已選中的一個(gè)表示圓弧上的點(diǎn),根據(jù)弧AB的走向,下一個(gè)點(diǎn)應(yīng)該從Hi或者Li中選擇。顯然應(yīng)選離AB最近的點(diǎn)作為顯示弧AB的點(diǎn)。假設(shè)圓的半徑為R,顯然,當(dāng)xhi2+yhi2-R2≥R2-(xli2+yli2)時(shí),應(yīng)該取Li。否那么取Hi。令di=xhi2+yhi2+xli2+yli2-2R2(3.13)顯然,當(dāng)di≥0時(shí)應(yīng)該取Li。否那么取Hi。剩下的問(wèn)題是如何快速的計(jì)算di。設(shè)圖3.7中Pi-1的坐標(biāo)為(xi-1,yi-1),那么Hi和Li的坐標(biāo)為(xi,yi-1)和(xi,yi-1-1)。易知x0=0,y0=R,x1=x0+1因此d1=12+y02+12+(y0-1)2-2R2=3-2y0=3-2R(3.15)di=xi2+yi-12+xi2+(yi-1-1)2-2R2=2xi2+2yi-12-2yi-1-2R2+1(3.16)di+1=(xi+1)2+yi2+(xi+1)2+(yi-1)2-2R2=2xi2+4xi+2yi2-2yi-2R2+3(3.17)當(dāng)di<0時(shí),點(diǎn)Hi被選中,這時(shí),yi=yi-1,那么di+1=di+4xi-1+6(3.18)當(dāng)di≥0時(shí),點(diǎn)Li被選中,這時(shí),yi=yi-1-1,那么di+1=di+4(xi-1-yi-1)+10(3.19)根據(jù)這個(gè)算法可得以下顯示弧AB的程序:Procedurearc(radius:integer)varx,y,d:integer;beginx:=0;y:=radious;d:=3-2*radious;whilex<ydobeginplot(x,y);ifd<0thend:=d+4*x+6elsebegind:=d+4(x-y)+10;y:=y-1;end;x:=x+1;end;ifx=ythenplot(x,y);end;請(qǐng)看程序3.5繪圓弧的正負(fù)法圖3.8正負(fù)法繪制的圓圖3.9Bresenham法繪制的圓設(shè)要顯示的圓的圓心在〔xc,yc〕,半徑為R,令。F(x,y)=(x-xc)2+(y-yc)2-R2那么圓的方程為F(x,y)=0當(dāng)點(diǎn)〔x,y〕在圓內(nèi)時(shí),有F(x,y)<0,當(dāng)點(diǎn)〔x,y〕在圓外時(shí),有F(x,y)>0。3.6圓的多邊形迫近法當(dāng)圓的內(nèi)接多邊形邊數(shù)足夠多時(shí),該多邊形可以和圓接近到任意程度,因此在允許的范圍內(nèi),可以用顯示多邊形代替顯示圓。顯示多邊形的邊可用Bresenham算法來(lái)實(shí)現(xiàn)?,F(xiàn)在來(lái)說(shuō)明如何求圓的內(nèi)接正多邊形。cαθiPi+1Pi設(shè)要繪的圓的圓心為c(xc,yc),半徑為R。設(shè)內(nèi)接多邊形的一個(gè)頂點(diǎn)為Pi(xi,yi),cPi的幅角為θi〔見(jiàn)圖3.10〕,那么:xi=xc+Rcosθiyi=yc+Rsinθi設(shè)多邊形每條邊所對(duì)的圓心角為α,那么下一個(gè)頂點(diǎn)Pi+1的坐標(biāo)為xi+1=xc+Rcos(θi+α)=xc+(xi-xc)cosα-(yi-yc)sinαyi+1=yc+Rsin(θi+α)=xc+(xi-xc)sinα-(yi-yc)cosα用矩陣表示為xi+1cosα-sinαxi-xcxcyi+1sinαcosαyi-ycyc上式就是計(jì)算圓的內(nèi)接正多邊形的遞推公式。因?yàn)棣潦浅?shù),cosα和sinα只要在開(kāi)始時(shí)計(jì)算一次,這樣,算一個(gè)(xi+1,yi+1)只要作四次乘法運(yùn)算。圖3.10用正多邊形迫近圓弧法[]=[][]+[]第四章變換4.1三維圖形的顯示流程一般來(lái)說(shuō),圖形從輸入到輸出貫串著各種變換。被描述的對(duì)象所處的環(huán)境和顯示屏幕的環(huán)境是很不同的,不僅位置不同,大多數(shù)情況下,尺寸也很不相同。這就要求協(xié)調(diào)二者的關(guān)系。此外,三維的圖形要在二維的圖紙或屏幕上表示出來(lái)要通過(guò)投影變換。為了從不同的方向去觀察對(duì)象,要求能對(duì)對(duì)象作旋轉(zhuǎn)變換,放大縮小和平移變換更是經(jīng)常要用的。繪圖過(guò)程中還要用窗口來(lái)規(guī)定要顯示的內(nèi)容,用視區(qū)來(lái)規(guī)定在屏幕上或圖紙上顯示的位置。本章學(xué)習(xí)實(shí)現(xiàn)上述功能的算法。世界坐標(biāo)系的三維變換投影對(duì)窗口裁減窗口至視區(qū)的變換顯示或繪圖圖4.2三維圖形的顯示流程4.2三維幾何變換4.2.1平移假設(shè)點(diǎn)〔x’,y’,z’〕是由點(diǎn)〔x,y,z〕在x,y和z軸方向分別移動(dòng)距離Δx,Δy和Δz得到的,那么這兩點(diǎn)坐標(biāo)間的關(guān)系為x’=x+Δxy’=y+Δy(4.1)z’=z+Δz該式的矩陣形式為x’100xΔxy’010yΔy(4.2)z’001zΔz[]=[][]+[]x’xz’zy’yxzy圖4.3平移4.2.2放大和縮小設(shè)點(diǎn)〔x,y,z〕經(jīng)縮放變換后得點(diǎn)〔x’,y’,z’〕,這兩點(diǎn)坐標(biāo)間的關(guān)系為x’=sxxy’=syy(4.3)z’=szz其中,sx,sy和sz分別為沿x,y和z軸方向放大或縮小的比例。該式的矩陣形式為x’sx00xy’0sy0y(4.4)z’00szz[]=[][]zxy圖4.4縮放變換圖4.4是以原點(diǎn)為相似中心進(jìn)行的縮放變換。為了使縮放后的圖形仍保持在原來(lái)的位置,可以另外定義一個(gè)相似中心。如可取圖形的中心〔xp,yp,zp〕為相似中心。實(shí)現(xiàn)的方法是,先對(duì)圖形作平移變換。變換量為(-xp,-yp,-zp)。然后再利用式〔4.4〕對(duì)圖形作縮放變換。4.2.3旋轉(zhuǎn)設(shè)給定點(diǎn)的坐標(biāo)為〔x,y,z〕=〔rcosφ,rsinφ,z〕那么它繞z軸旋轉(zhuǎn)α角后,可得點(diǎn)〔x’,y’,z’〕。易知x’=rcos(φ+α)=xcosα-ysinαy’=rsin(φ+α)=xsinα+ycosαz’=szz這個(gè)變換的矩陣形式為x’cosα-sinα0xy’sinαcosα0y(4.5)z’001z這里講的繞一軸旋轉(zhuǎn)α角是按右手法那么,即假設(shè)α>0,大拇指指向軸的方向,其它手指指的方向?yàn)樾D(zhuǎn)方向。繞y和x軸的旋轉(zhuǎn)公式分別為x’cosα0sinαxy’010yz’-sinα0cosαzx’100xy’0cosα-sinαyz’0sinαcosαz[]=[][][]=[][][]=[][]4.2.4剪切圖4.7是一個(gè)矩形ABCD沿x軸〔稱(chēng)為方向軸〕方向的切變,oy軸稱(chēng)為依賴(lài)軸。切變的程度由參數(shù)s=tgα決定。易知|AA‘|=|oA|tgα=ys設(shè)點(diǎn)〔x,y,z〕經(jīng)切變后成為〔x’,y’,z’〕,由圖4.7可知它們之間的關(guān)系是x’1s0xy’010y(4.9)z’001z如果依賴(lài)軸和方向軸改成別的坐標(biāo)軸,那么上式中的矩陣要作適當(dāng)?shù)淖儎?dòng)。圖4.7剪切yxCDAB(x,y)oB’(x’,y’)A’[]=[][]4.3投影由于顯示器和繪圖機(jī)只能用二維空間來(lái)表示圖形,要顯示三維圖形就要用投影方式來(lái)降低其維數(shù)。4.3.1透視xzy圖4.12P為Q的投影CQPC’Q’P’zxC’Q’P’zczxcx圖4.13在oxz平面上的正投影xPO在坐標(biāo)系oxyz中來(lái)討論投影,假設(shè)投影平面就是z=0。設(shè)視點(diǎn)C(xc,yc,zc),空間中任一點(diǎn)Q(x,y,z)在z=0平面上的投影為P(xp,yp,zp)。設(shè)Q、P、C在oxz平面上的正投影為Q’,P’和C’,可得xp-xcx-xczczc-z整理后便有xp=xc+(x-xc)zc/(zc-z)(4.14)同理可得yp=yc+(y-yc)zc/(zc-z)(4.15)這兩式便是透視投影的計(jì)算公式。把空間上任一點(diǎn)〔x,y,z〕的坐標(biāo)代入式〔4.14〕和式〔4.15〕便可求出在z=0平面的投影點(diǎn)P〔xp,yp〕。——=——4.3.2平行投影xzyQPQ’P’OzxQ’P’zczxxPαβ設(shè)給定的投影方向?yàn)椤瞲d,yd,zd〕。假設(shè)P(xp,yp)為任一點(diǎn)Q〔x,y,z〕在該投影方向上在z=0平面上的投影。又設(shè)Q和P在oxz平面上的投影分別為Q’和P’。α為Q’P’與x軸的夾角,易知tgα=zd/xd。又從圖中可以得出:xp=x+ztgβ=x+ztg(α-π/2)=x-zctgα=x-zxd/zd(4.21)同理可得yp=y-zyd/zd(4.22)式〔4.21〕和式〔4.22〕便是平行投影的計(jì)算公式。4.3.3投影平面是任意平面的情況yZxUz’x’y’RNo’在實(shí)際應(yīng)用時(shí)投影平面的位置要允許改變。為了確定一個(gè)投影平面,先給定一個(gè)參考點(diǎn)R〔xr,yr,zr〕、投影平面的法線(xiàn)方向N〔xn,yn,zn〕和一個(gè)常數(shù)d。過(guò)點(diǎn)R沿N方向作射線(xiàn),與投影平面的交點(diǎn)o’,并且使|o’R|=d。調(diào)整R和N可以很方便的改變投影平面的位置和方向。首先在投影平面上建立一個(gè)坐標(biāo)系〔o’x’y’z’〕。并且oz’的方向?yàn)橥队皁平面的法線(xiàn)方向。同時(shí)給定一個(gè)向量U(xu,yu,zu),此向量在投影平面上的正投影所指的方向便是o’y’的方向。這樣,對(duì)于坐標(biāo)系〔o’x’y’z’〕來(lái)說(shuō),投影平面正好是z’=0平面,因此可以用式〔4.14〕和式〔4.15〕或式圖4.17投影平面的指定〔4.21〕和式〔4.22〕來(lái)計(jì)算這兩種投影?,F(xiàn)在我們只須求出這兩個(gè)坐標(biāo)系的轉(zhuǎn)換關(guān)系。設(shè)〔x0,y0,z0〕是點(diǎn)o’在坐標(biāo)系oxyz中的坐標(biāo),o’x’,o’y’和o’z’軸的單位方向向量為〔a11,a12,a13〕、〔a21,a22,a23〕和〔a31,a32,a33〕,那么從坐標(biāo)系oxyz到o’x’y’z’的變換是x’a11a12a13x-x0y’a21a22a23y-y0(4.24)z’a31,a32,a33z-z0下面給出計(jì)算x0,y0,z0和aij〔I,j=1,2,3〕的方法。由圖4.17可知x0=xr+dxn/(xn2+yn2+zn2)1/2(4.25)y0=yr+dyn/(xn2+yn2+zn2)1/2(4.26)z0=zr+dzn/(xn2+yn2+zn2)1/2(4.27)o’z’軸和N方向一致,故有(a31,a32,a33)=(xn,yn,zn)/(xn2+yn2+zn2)1/2(4.28)o’x’軸和向量U×N方向一致,設(shè)ijkU×N=xuyuzu=b1i+b2j+b3kxnynzn其中i,j和k分別為ox,oy,oz軸的單位方向向量,那么(a11,a12,a13)=(b1,b2,b3)/(b12+b22+b32)1/2(4.29)[]=[][]o’y’軸的單位方向向量應(yīng)是o’z’和o’x’軸的單位向量的向量積,因此〔x21,y22,z23〕=〔a13a32-a12a33,a11a33-a13a31,a12a31-a11a32〕(4.30)用式〔4.25〕至〔4.30〕可算出式〔4.24〕中全部常數(shù),因此在坐標(biāo)系oxyz中給定的投影方向或視點(diǎn)的坐標(biāo)都可用式〔4.24〕變換到坐標(biāo)系o’x’y’z’中的量〔xd,yd,zd〕和〔xc,yc,zc〕。4.4裁剪二維窗口是投影平面上的一個(gè)矩形。一般來(lái)說(shuō),這個(gè)矩形的邊和投影平面上的坐標(biāo)軸平行,圖形在窗口內(nèi)的局部被顯示出來(lái),窗口外的局部被裁減掉了。平面上的圖形受該矩形的裁減稱(chēng)為二維裁減。裁減和變換一樣,直接影響整個(gè)圖形系統(tǒng)的效率。裁減的方法很多,效率的上下和圖形的情況、計(jì)算機(jī)功能等因素有關(guān),因此要根據(jù)實(shí)際情況來(lái)選擇裁減方法。下面先討論直線(xiàn)的裁減方法。4.4.1Sutherland-Cohen算法算法分兩步:第一步:判斷直線(xiàn)段是否完全在窗口內(nèi)〔如果答復(fù)是肯定的,該線(xiàn)段稱(chēng)為完全可見(jiàn),如圖4.18中線(xiàn)段AB〕,或可顯然的決定線(xiàn)段完全在窗口外邊〔稱(chēng)為顯然完全不可見(jiàn)〕。所謂顯然地完全不可見(jiàn)是指直線(xiàn)段的兩個(gè)端點(diǎn)均在窗口的某一條邊的外側(cè),如圖4.18中的線(xiàn)段CD。第二步:對(duì)不能判斷完全可見(jiàn)或顯然的完全不可見(jiàn)的線(xiàn)段〔如圖4.18中的KL,IJ,EF〕,那么進(jìn)行第二步處理。這時(shí)需要計(jì)算出直線(xiàn)段和窗口邊界的一個(gè)交點(diǎn),這個(gè)交點(diǎn)把直線(xiàn)分成兩段,把其中一條顯然完全不可見(jiàn)的線(xiàn)段拋棄,對(duì)余下局部再作第一步的判斷,重復(fù)上述過(guò)程,直到直線(xiàn)段最后余下的局部可以用第一步的判斷得出肯定結(jié)論為止。為了實(shí)現(xiàn)算法的第一局部,用窗口的四條邊如圖4.19那樣把整個(gè)平面分成九個(gè)區(qū)域,每個(gè)區(qū)域中的點(diǎn)采用同一編碼,這一編碼的特點(diǎn)是對(duì)于窗口的某一條邊外側(cè)的三個(gè)區(qū)域的四位編碼中有一位全為1。例如在x=xl左側(cè)的三個(gè)區(qū)域中編碼的第四位都是1。對(duì)要被剪裁的線(xiàn)段的兩個(gè)端點(diǎn),根yxyTyBxLxBCDABEFKLIJ圖4.18二維窗口yxyTyBxLxB100110001010000101010000001001100100圖4.19區(qū)域編碼據(jù)它們所在的區(qū)域定下它們的編碼,如果兩個(gè)編碼都是0000,那么這條線(xiàn)段完全可見(jiàn)。如果兩個(gè)編碼的邏輯乘不為0000,這時(shí)可斷定兩個(gè)編碼的某一位都為1,這條直線(xiàn)段的兩個(gè)端點(diǎn)位于窗口的一條邊的外側(cè),因而是完全不可見(jiàn)的。如果上述判斷不能定論,就要進(jìn)入第二步,例如圖4.20中的線(xiàn)段KL就是這種情況。從K點(diǎn)的編碼分析出K在x=xL的左側(cè),KL必和x=xl有交點(diǎn),求出其交點(diǎn)M,KM顯然是完全不可見(jiàn)的,因而只要對(duì)ML從第一步開(kāi)始重復(fù)上述處理。由于ML還是不能用第一步下結(jié)論,又從M的編碼發(fā)現(xiàn)M在y=yT的上側(cè),因而要求ML和y=yT的交點(diǎn)N,丟掉MN,對(duì)NL用第一步的方法可斷定NL為完全可見(jiàn),至此裁減結(jié)束。過(guò)程clip描述了這一算法。其中用一個(gè)結(jié)合〔結(jié)構(gòu)〕來(lái)描述端點(diǎn)的編碼。圖4.20線(xiàn)段KL不能用編碼確定yxyTyBxLxBKLMNvarxl,xr,yt,yb:real;procedureclip(x0,y0,x2,y2:real);labelreturn;typeedge=[top,bottom,right,left];varc,c1,c2:edge;x,y:real;procedurecode(x,y:real;varc:edge);beginc:=[];
ifx<xlthenc:=[left];
elseifx>xrthenc:=[right];
ify<ybthenc:=c+[bottom];
elseify>ytthenc:=c+[top];end;begincode(x0,y0,c1);code(x2,y2,c2);
while(c1<>[])or(c2<>[])
beginif(c1*c2<>[])thengotoreturn;c:=c1;
ifc:=[]thenc:=c2;
ifleftincthen
beginy:=y0+(y2-y0)*(x1-x0)/(x2-x0);x:=x1;
end;elseifrightincthen
beginy:=y0+(y2-y0)*(xr-x0)/(x2-x0);x:=xr;
end;
elseifbottomincthen
beginx:=x0+(x2-x0)*(yb-y0)/(y2-y0);y:=yb;
end;
elseiftopincthen
beginx:=x0+(x2-x0)*(yt-y0)/(y2-y0);y:=yt;
end;
ifc=c1then
beginx0:=x;y0:=y;code(x,y,c1);
end;
else
beginx2:=x;y2:=y;code(x,y,c2);
end;
end;showline(x0,y0,x2,y2);end;4.4.2中點(diǎn)分割法設(shè)要裁減的線(xiàn)段是P0P1。中點(diǎn)分割算法可分成兩個(gè)平行的過(guò)程進(jìn)行,即從P0點(diǎn)出發(fā)找出離P0最近的可見(jiàn)點(diǎn)〔圖4.21中的A點(diǎn)〕,和從P1點(diǎn)出發(fā)找出離P1最近的可見(jiàn)點(diǎn)〔圖4.21中的B點(diǎn)〕。這兩個(gè)可見(jiàn)點(diǎn)的連線(xiàn)就是原線(xiàn)段的可見(jiàn)局部。從P0出發(fā)找最近可見(jiàn)點(diǎn)的方法是先求P0P1的中點(diǎn)Pm,假設(shè)P0Pm不能定為顯然不可見(jiàn),那么取P0Pm代替P0P1,否那么取PmP1代替P0P1,再對(duì)新的P0P1求中點(diǎn)Pm。重復(fù)上述過(guò)程,直到P1Pm長(zhǎng)度小于給定的小數(shù)ε為止。P0可見(jiàn)否?P0P1顯然不可見(jiàn)Pm=(p0+p1)/2|Pm-P1|<ε?P0Pm顯然不可見(jiàn)?P0=PmP1=Pm否否否是P0=Pmexit原線(xiàn)完全不可見(jiàn)exitP0=PmexitP0P1ABPm圖4.21中點(diǎn)分割算法圖4.22中點(diǎn)分割算法框圖4.4.3梁友棟-Barsky算法設(shè)要裁減的線(xiàn)段是P0P1。P0P1和窗口邊界交于A,B,C,D四點(diǎn),見(jiàn)圖4.23。算法的根本思想是從A,B和P0三點(diǎn)中找出最靠近的P1點(diǎn),圖4.23中要找的點(diǎn)是P0。從C,D和P1中找出最靠近P0的點(diǎn)。圖4.23中要找的點(diǎn)是C點(diǎn)。那么P0C就是P0P1線(xiàn)段上的可見(jiàn)局部。具體計(jì)算時(shí),把P0P1寫(xiě)成參數(shù)方程x=x0+Δx·t〔4.38〕y=y0+Δy·t其中Δx=x1-x0,Δy=y1-y0。把窗口邊界的四條邊分成兩類(lèi),一類(lèi)稱(chēng)為始邊,另一類(lèi)稱(chēng)為終邊。當(dāng)Δx≥0〔Δy≥0〕時(shí),稱(chēng)x=xL(y=yB)為始邊,x=xR(y=yT)為終邊。當(dāng)Δx<0〔Δy<0〕時(shí),稱(chēng)x=xL(y=yB)為終邊,x=xR(y=yT)為始邊。求出P0P1和兩條始邊的交點(diǎn)的參數(shù)t0’和t0’’,令t0=max(t0’,t0’’,0)那么t0就是圖4.23中A、B和P0三點(diǎn)中最靠近P1的點(diǎn)的參數(shù)。求出P0P1和兩條終邊的交點(diǎn)的參數(shù)t1’,t1’’,令t1=min(t1’,t1’’,1)那么t1就是圖4.23中C、D和P1三點(diǎn)中最靠近P0的點(diǎn)的參數(shù)。當(dāng)t1>t0時(shí),方程〔4.38〕中參數(shù)t∈[t0,t1]的線(xiàn)段就是P0P1的可見(jiàn)局部。當(dāng)t0>t1時(shí),整個(gè)直線(xiàn)段為不可見(jiàn)。yxyTyBxLxBABCDP1P0圖4.23P0C可見(jiàn)部分為了確定始邊和終邊,和求P0P1與它們的交點(diǎn),令QL=-ΔxDL=x0-xLQR=ΔxDR=xR-x0QB=-ΔyDB=y0-yBQT=ΔxDT=yT-y0易知交點(diǎn)的參數(shù)為ti=Di/Qi,i=L,R,B,T當(dāng)Qi<0時(shí),求得的ti必是P0P1和始邊的交點(diǎn)的參數(shù)。當(dāng)Qi>0時(shí),ti必是P0P1和終邊的交點(diǎn)的參數(shù)。當(dāng)Qi=0時(shí),假設(shè)Di<0,那么P0P1是完全不可見(jiàn)的〔如圖4.24中AB,有QR=0,DR<0〕。當(dāng)Qi=0而相應(yīng)的Di≥0時(shí)那么是另一種情況,圖4.24中的EF就是這種情況,它使QL=0,DL>0和QR=0,DR>0。這時(shí)由于EF和x=xL及x=xR平行,故不必去求出EF和x=xL及x=xR的交點(diǎn),而讓EF和y=yT及y=yB的交點(diǎn)決定直線(xiàn)段上的可見(jiàn)局部。xLxByxEFCDAB圖4.24Qi=0的情況此算法的程序?yàn)関arxl,xr,yt,yb:real;procedureclip(x0,y0,x2,y2:real);label1;vart0,t1,deltax,deltay:real;procedureclipt(q,d:real;vart0,t1:real);varr:real;begin
ifq<0then
beginr:=d/q;
ifr>t1then
goto1;
elseifr>t0thent0:=r;
end;
elseifq>0then
beginr:=d/q;
ifr<t0then
goto1;
elseifr<t1thent1:=r;end;elseifd<0thengoto1;end;begint0:=0;t1:=1;deltax:=x2-x0;clipt(-deltax,x0-x1,t0,t1);clipt(deltax,xr-x0,t0,t1);deltay:=y2-y0;clipt(-deltay,y0-yb,t0,t1);clipt(deltay,yt-y0,t0,t1);x2:=x0+t1*deltax;y2:=y0+t1*deltay;x0:=x0+t0*deltax;y0:=y0+t0*deltay;showline(x0,y0,x2,y2);1:end;TurboC中的繪圖函數(shù)繪圖函數(shù)包含在頭文件GRAPHICS.H中1circle:用給定的半徑在〔x,y〕繪制一個(gè)圓circle(intx,inty,intradious);2ellipse:繪制一個(gè)橢圓弧ellipse(intx,inty,intstangle,intendangle,intxradious,intyradious);3putpixel:在指定的點(diǎn)繪制一個(gè)象素putpixel(intx,inty,intpixelcolor);4line:在兩個(gè)給定點(diǎn)之間繪制一條直線(xiàn)。使用當(dāng)前顏色、線(xiàn)型和線(xiàn)寬line(intx1,inty1,intx2,inty2);5lineto:從當(dāng)前點(diǎn)到給定點(diǎn)〔x,y〕繪制一條直線(xiàn)。使用當(dāng)前顏色、線(xiàn)型和線(xiàn)寬lineto(intx,inty);6linerel:從當(dāng)前點(diǎn)到距離該點(diǎn)相對(duì)位移〔dx,dy〕的點(diǎn)繪制一條直線(xiàn)。linerel(intdx,intdy);7setcolor:設(shè)置當(dāng)前繪圖顏色setcolor(intcolor);8moveto:將當(dāng)前位置移動(dòng)到〔x,y〕moveto(intx,inty);9moverel:將當(dāng)前位置移動(dòng)一個(gè)相對(duì)位移〔dx,dy〕moverel(intdx,intdy);10rectangle:繪制一個(gè)矩形。使用當(dāng)前線(xiàn)型、線(xiàn)寬和顏色rectangle(intleft,inttop,intright,intbottom);11setlinestyle:設(shè)置當(dāng)前的線(xiàn)型、線(xiàn)寬或者線(xiàn)模式setlinestyle(intlinestyle,unsignedupattern,intthickness);12setfillstyle:設(shè)置當(dāng)前的填充模式和顏色setfillstyle(intpattern,intcolor);4.4.4多邊形的裁減對(duì)多邊形的裁剪不等于把多邊形的每一條邊進(jìn)行裁剪。因?yàn)樵趫D形學(xué)中,多邊形被認(rèn)為是一個(gè)封閉的區(qū)域,它把平面分為多邊形內(nèi)和多邊形外,對(duì)一個(gè)多邊形的裁剪結(jié)果仍要求是多邊形,且原來(lái)是多邊形內(nèi)的點(diǎn)也在裁剪后的多邊形內(nèi)。一局部窗口的邊界可能成為裁剪后的多邊形的邊界,一個(gè)凹多邊形裁剪后可能成為幾個(gè)多邊形。對(duì)多邊形裁剪的Sutherland-Hodgman算法是一種簡(jiǎn)便的方法,只要對(duì)多邊形用窗口的四條邊依次裁剪四次〔見(jiàn)圖4.27〕便可得到裁剪后的多邊形。圖4.27Sutherland-Hodgman算法圖4.28是Sutherland-Hodgman算法的框圖:設(shè)封閉多邊形的頂點(diǎn)為P1,P2,…Pn,框圖中e是表示窗口的四條邊中正在裁剪的一條邊,每次裁剪時(shí)第一個(gè)點(diǎn)存放在F中,以便對(duì)最后一條邊裁剪時(shí)使用。用圖4.28〔a〕中的算法對(duì)邊P1P2,P2P3,…Pn-1Pn作裁剪,用圖4.28〔b〕中的算法對(duì)最后一條邊PnPn-1作裁剪。裁剪好一條邊便輸出一條邊。是否第一點(diǎn)?取點(diǎn)PSP和e相交?計(jì)算SP和e的交點(diǎn)I輸出ISPFPS在e的可見(jiàn)側(cè)退出輸出SSP和e相交?計(jì)算SP和e的交點(diǎn)I輸出I退出(a)(b)圖4.28Sutherland-Hodgman算法的框圖是是是4.4.5三維圖形的裁剪yyxzxz(a)(b)圖4.31兩種視域平行投影時(shí)視域如圖4.31(a)所示,它是由方程x=0,x=1,y=0,y=1,z=0,z=1代表的六個(gè)平面圍成的立方體。透視時(shí)的視域如圖4.31(b)的棱臺(tái),它是由方程x=z,x=-z,y=z,y=-z,z=zmin和z=1代表的六個(gè)平面圍成。圖形對(duì)三維的裁剪就是把視域內(nèi)的圖形保存下來(lái),把視域外的局部裁剪掉。前面講的各種裁剪方法均可以推廣至三維。例如Sutherland-Cohen算法中的編碼應(yīng)為六位。括號(hào)中的條件適用于透視的情況,平行投影時(shí)用括號(hào)外的條件。點(diǎn)在視域上面,第一位為1,y>1,(y>z)點(diǎn)在視域上面,第二位為1,y<0,(y<-z)點(diǎn)在視域上面,第三位為1,x>1,(x>z)點(diǎn)在視域上面,第四位為1,x<0,(x<-z)點(diǎn)在視域上面,第五位為1,z>1,(z>1)點(diǎn)在視域上面,第六位為1,z<0,(z<zmin)設(shè)線(xiàn)段的起點(diǎn)和終點(diǎn)分別為P0(x0,y0,z0)和P1(x1,y1,z1),直線(xiàn)方程可表示成參數(shù)形式x=x0+(x1-x0)t,y=y0+(x1-x0)t,x=x0+(x1-x0)t(4.39)和視域的邊界面,例如y=1求交時(shí),可由1=(y1-y0)t’+y0,t’=(1-y0)/(y1-y0)求得交點(diǎn)的參數(shù)t’,再把t’代入〔4.39〕,即可得交點(diǎn)的坐標(biāo)。求P0P1和平面x=z的交點(diǎn)時(shí),可把〔4.39〕代入x=z中求得交點(diǎn)處的參數(shù)t’=(z0-x0)/[(x1-x0)-(z1-z0)](4.40)把t’代入式(4.39)即可得到交點(diǎn)的坐標(biāo)。梁友棟-Barsky算法也很容易推廣到三維。當(dāng)視域?yàn)榱⒎襟w時(shí),這種推廣是直接的。當(dāng)視域?yàn)槔馀_(tái)時(shí),對(duì)x=z,x=-z,y=z,y=-z四個(gè)平面來(lái)說(shuō),對(duì)應(yīng)于二維裁剪時(shí)的Q和D值可取QL=-(Δx+Δz),DL=z0+x0QR=(Δx-Δz),DR=z0-x0QB=-(Δy+Δz),DB=z0+y0QT=(Δy-Δz),DT=z0-y0對(duì)z=zmin和z=1兩個(gè)平面,相應(yīng)的Q和D值可取為QF=-Δz),DF=z0-zminQRA=Δz,DRA=1-z0易知相應(yīng)平面和P0P1交點(diǎn)的參數(shù)值為ti=Di/Qi,i=L,R,B,T,F,BA。第六章交互技術(shù)6.1交互的硬件設(shè)備6.1.1定位設(shè)備鼠標(biāo)、屏幕上的光標(biāo)、操縱桿、數(shù)字化儀、鍵盤(pán)上的方向鍵、光筆、觸摸屏等。6.1.2鍵盤(pán)設(shè)備用于輸入字母和數(shù)字。6.1.3取數(shù)設(shè)備6.1.4選擇設(shè)備鼠標(biāo)、功能鍵等。6.1.5其它輸入設(shè)備語(yǔ)音識(shí)別器、數(shù)據(jù)手套、數(shù)據(jù)頭盔等。6.2根本的交互任務(wù)6.2.1定位6.2.2選擇6.2.3數(shù)量輸入6.2.4文本輸入6.3進(jìn)一步的交互技術(shù)6.3.1幾何約束定位約束:在屏幕或窗口上定義一些不可見(jiàn)的網(wǎng)格,有時(shí)也可以用點(diǎn)的形式表示網(wǎng)格結(jié)點(diǎn)的位置。對(duì)用任何方式輸入一個(gè)點(diǎn)都用離它最近的一個(gè)網(wǎng)格結(jié)點(diǎn)來(lái)代替。假設(shè)定義不可見(jiàn)網(wǎng)格線(xiàn)為x=10i,y=10j,i,j=0,1,2,…n設(shè)輸入點(diǎn)的坐標(biāo)為(x,y),那么離它最近的網(wǎng)格點(diǎn)的坐標(biāo)為(10*((round(x)+5)div10),10*((round(y)+5)div10))(6.2)方向約束:例如要繪制的線(xiàn)只能是垂直或水平兩個(gè)方向,當(dāng)給定的起點(diǎn)和終點(diǎn)連線(xiàn)與水平線(xiàn)的夾角小于45°時(shí),便繪出一條直線(xiàn),否那么就繪垂直線(xiàn)。這種約束對(duì)只要繪垂直線(xiàn)或水平線(xiàn)的情況帶來(lái)很大方便。6.3.2拖動(dòng)當(dāng)我們要把一個(gè)圖形放到一個(gè)新位置時(shí),如果我們不是簡(jiǎn)單地用光標(biāo)指定新位置的一個(gè)點(diǎn),而是隨著鼠標(biāo)引導(dǎo)光標(biāo)移動(dòng)的同時(shí)圖形也跟著拖到新的位置。這將使用戶(hù)感到更直觀并可把圖形的位置定得更準(zhǔn)確、恰當(dāng)。6.3.3橡皮筋技術(shù)在平面上確定一條直線(xiàn)一般是先定下起點(diǎn)再定下終點(diǎn),最后把起點(diǎn)和終點(diǎn)連成直線(xiàn)。所謂橡皮筋技術(shù)就是在起點(diǎn)確定后,光標(biāo)移出去確定終點(diǎn)時(shí),在屏幕上始終顯示一條連結(jié)起點(diǎn)和光標(biāo)中心的直線(xiàn),這條直線(xiàn)隨著光標(biāo)中心位置的變動(dòng)而變動(dòng)。6.3.4圖形變比為了把屏幕上的圖形的某局部放大或縮小,可用圖形變比〔zoom〕。例如可以用矩形的橡皮筋在屏幕上劃定一個(gè)區(qū)域,要求把區(qū)域內(nèi)的圖形局部放大,要實(shí)現(xiàn)這個(gè)功能只要在程序中把這個(gè)矩形定義為窗口,再顯示時(shí)就可把窗口包含的圖形局部顯示在視區(qū)內(nèi),窗口越小,圖形放得越大。6.3.5引力場(chǎng)效果在用光標(biāo)選圖時(shí),要把光標(biāo)中心移到圖段上去,如果被選的圖形只是一個(gè)點(diǎn)或一根線(xiàn),那么把光標(biāo)中心對(duì)準(zhǔn)一點(diǎn)或一條直線(xiàn)段需要花較多時(shí)間。為了比較容易地做到這一點(diǎn),可用引力場(chǎng)的方法。在每一條線(xiàn)段的周?chē)傧胗幸粋€(gè)區(qū)域,這個(gè)區(qū)域象一根香腸或啞鈴,如圖6.11所示,光標(biāo)中心落在這個(gè)區(qū)域時(shí),就自動(dòng)地被直線(xiàn)上最近的一個(gè)點(diǎn)所代替。這就好象一個(gè)質(zhì)點(diǎn)進(jìn)入了直線(xiàn)周?chē)囊?chǎng)后,就會(huì)被吸引到這條直線(xiàn)上去一樣。香腸或啞鈴的粗細(xì)要適中,太細(xì)了不易進(jìn)入引力區(qū),太粗了線(xiàn)和線(xiàn)的引力區(qū)相交,光標(biāo)在進(jìn)入引力區(qū)相交局部可能會(huì)被吸引到不是要選的線(xiàn)段上去,這樣就出現(xiàn)錯(cuò)誤了。6.3.6標(biāo)尺和導(dǎo)向線(xiàn)為了能用比較準(zhǔn)確的尺寸來(lái)繪圖,可以在屏幕上使用標(biāo)尺。用戶(hù)可用適當(dāng)?shù)拿钤谄聊簧巷@示標(biāo)尺。使用一條線(xiàn)表示當(dāng)前光標(biāo)中心所在的位置。6.3.7坐標(biāo)顯示為了能把點(diǎn)定位得準(zhǔn)確,可以在屏幕上顯示光標(biāo)中心所在位置的坐標(biāo)。6.3.8在三視圖上作三維輸入在輸入一個(gè)立體圖時(shí),時(shí)常上一個(gè)個(gè)點(diǎn)、一條條線(xiàn)或一個(gè)個(gè)面單獨(dú)輸入的,而對(duì)一個(gè)點(diǎn)、一條線(xiàn)或者一個(gè)面來(lái)說(shuō),只要在三視圖上給出足夠的信息,總是可以惟一地確定三維空間中的對(duì)應(yīng)圖形。對(duì)輸入一個(gè)點(diǎn)來(lái)說(shuō),實(shí)際上只要在兩個(gè)視圖上把點(diǎn)的對(duì)應(yīng)位置指定后便惟一確定了三維空間中的一個(gè)點(diǎn),因?yàn)榻o定了一個(gè)點(diǎn)在兩個(gè)視圖上兩個(gè)對(duì)應(yīng)位置后,便可確定該點(diǎn)的x,y和z坐標(biāo)值,因而也確定了三維空間中的一個(gè)點(diǎn)。這樣把直線(xiàn)段上兩端點(diǎn)在三視圖上輸入后便可決定三維空間的一條直線(xiàn),把一個(gè)面上的頂點(diǎn)在三視圖上輸入后,也惟一確定了三維空間中的一個(gè)面。如果把一個(gè)多面體的各面均用上述方法輸入,也就在三維空間中輸入了一個(gè)多面體。用三視圖來(lái)輸入立體圖是目前主要的一種輸入手段。6.3.9推移很多立體圖形可以通過(guò)二維圖形經(jīng)過(guò)一定的推移〔如延伸、旋轉(zhuǎn)等〕而得到。這樣的圖形稱(chēng)為“二維半〞圖形。6.3.10結(jié)構(gòu)平面輸入立體圖形常是由簡(jiǎn)到繁一步一步地構(gòu)造,例如要生成圖6.20的圖形,先要生成圖6.18中的二維半圖形,再在平面ABCD上用推移的方法拉伸出一個(gè)柱體
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度生態(tài)公園車(chē)位租賃與休閑娛樂(lè)服務(wù)協(xié)議4篇
- 2025年度藝術(shù)品代理合同終止及展覽策劃協(xié)議4篇
- 二零二五版跨行業(yè)企業(yè)戰(zhàn)略合作保密及數(shù)據(jù)共享協(xié)議3篇
- 離婚2025年度子女監(jiān)護(hù)權(quán)變更合同3篇
- 2025年農(nóng)業(yè)大棚租賃與農(nóng)產(chǎn)品質(zhì)量安全檢測(cè)服務(wù)協(xié)議4篇
- 2025年度園林景觀蟲(chóng)害防治與植物保護(hù)合同4篇
- 家庭中醫(yī)急救技能普及工作匯報(bào)
- 現(xiàn)代家庭教育的新篇章-從理論到操作的全面解讀與實(shí)踐探索
- 探索創(chuàng)新型康復(fù)治療在醫(yī)療教育中的價(jià)值
- 科技小能手的培養(yǎng)計(jì)劃觀察與思考的融合
- 三級(jí)人工智能訓(xùn)練師(高級(jí))職業(yè)技能等級(jí)認(rèn)定考試題及答案
- 華為全屋智能試題
- 第三單元名著導(dǎo)讀《經(jīng)典常談》知識(shí)清單 統(tǒng)編版語(yǔ)文八年級(jí)下冊(cè)
- 第十七章-阿法芙·I·梅勒斯的轉(zhuǎn)變理論
- 焊接機(jī)器人在汽車(chē)制造中應(yīng)用案例分析報(bào)告
- 合成生物學(xué)在生物技術(shù)中的應(yīng)用
- 中醫(yī)門(mén)診病歷
- 廣西華銀鋁業(yè)財(cái)務(wù)分析報(bào)告
- 無(wú)違法犯罪記錄證明申請(qǐng)表(個(gè)人)
- 大學(xué)生勞動(dòng)教育PPT完整全套教學(xué)課件
- 繼電保護(hù)原理應(yīng)用及配置課件
評(píng)論
0/150
提交評(píng)論