新四季網

一種三維模型的自適應化簡、漸進傳輸和快速繪製的方法

2023-05-01 17:45:46 1

專利名稱:一種三維模型的自適應化簡、漸進傳輸和快速繪製的方法
技術領域:
本發明涉及一種三維模型的自適應化簡、漸進傳輸和快速繪製的方法,屬於空間 信息技術、計算機圖形學、虛擬實境技術和計算機作業系統等領域。
背景技術:
空間實體是對存在或虛擬於自然世界中的實體或現象的抽象,與空間位置或特徵 相關聯,在自然世界中是不可再分的最小單元,基本的空間實體有點、線、面和體四種類型。 在計算機圖形學中,通常用而模型描述三維物體,而三維模型即對應空間實體中的體實體, 然後再通過計算機或者其它視頻設備進行顯示。顯示的三維模型可以是現實世界的實體, 也可以是虛構的東西,既可以小到原子,也可以大到很大的尺寸。任何物理自然界存在的東 西都可以用三維模型表示。三維模型包括幾何和紋理兩部分。其中,幾何通常用多邊形來或者體素來表示, 用體素來表示的三維模型又叫體素模型,其它表示三維模型的幾何部分的方法有NURBS曲 面、細分曲面以及光線跟蹤中所用的基於方程的表示方法等等。許多三維模型需要使用紋 理進行覆蓋,將紋理排列放到三維模型上的過程稱作紋理映射。紋理就是一個圖像,但是它 可以讓模型更加細緻並且看起來更加真實。以用多邊形來表達三維模型的幾何部分為例,即用多邊形表示或者近似表示物體 的曲面。它的基本對象是三維空間中的頂點,將兩個頂點連接起來的直線稱為邊,三個頂點 經三條邊連接起來成為三角形,三角形是歐氏空間中最簡單的多邊形。多個三角形可以組 成更加複雜的多邊形,或者生成多於三個頂點的單個物體。四邊形和三角形是多邊形表達 的三維模型中最常用的形狀,在三維模型的表達方面,三角網三維模型(或稱TIN模型)因 其數據結構簡單、容易被所有的圖形硬體設備繪圖等特點成為三維模型表達的一種流行選 擇,其中每個三角形就是一個表面,因此也將三角形稱為三角面片。以用體素來表達的三維模型的幾何部分為例,不僅和用多邊形表達的三維模型 一樣能顯示物體的表面,而且能描述物體的內部信息,但需要把物體的表面幾何表示形 式離散成最接近該物體的體素表示形式,體素可以理解為二維像素在三維空間的推廣, 它們是一組分布在正交網格中心的立方體單元,類似於將二維圖像疊加起來形成的三維 光柵(3DRaster)。基於體素的三維模型有許多應用,例如醫學影像、流體力學、地形造型 (Terrain modeling)和機械零件造型等領域。隨著科學技術的不斷進步,在計算機圖形學、虛擬實境、城市規劃、文物修復、動畫 遊戲、計算機輔助設計、地理信息系統、醫學圖形等領域越來越多地應用到三維圖形。應用 的需求帶動了採集技術的發展,現在的機載雷射掃描、高解析度衛星影像,三維數字攝像和 掃描系統等,這些高效的空間數據獲取方法使得生成高解析度的三維模型成為現實,但也 使得三維模型數據的數據量呈幾何級數增長。因為三維物體表面細節的表現往往需要紋理 (Texture-Compression,也稱之為材質)來實現,那麼越是高解析度越是真彩色的紋理自 然表現力也是越強,三維模型的高解析度(或者叫高精度)越高,三維模型需要的紋理就越多,數據量也就越大,繪製時用的時間越長。同時,^ternet也已經成為一種數據共享、分 布式存儲、分布式計算、傳輸、可視化等的基礎平臺,因此一個系統所需要的三維模型可能 分布存儲於異構環境中,但是目前的網絡傳輸帶寬,遠遠不能滿足這些三維模型數據的實 時傳輸。本發明中,用來表示和記錄三維模型的頂點、多邊形、體素及相應的紋理等數據,稱 之為三維模型數據,簡稱模型數據。比如在三維GIS引擎中,對瀏覽的實時性要求很高,如果直接下載並使用未經處 理的原始三維模型數據,繪圖速度將無法接受,特別是在移動終端上(如PDA),即使利用三 維硬體設備來提高繪圖速度也無法解決網絡傳輸的帶寬瓶頸,並且大大增加了經濟負擔。 因此提高三維模型數據的傳輸效率和繪圖速度,成為一個迫切需要解決的問題。有很多研究工作試圖來解決這個問題。在網格簡化,對三維模型進行多解析度描 述和傳輸,即多層次細節模型(Level of detail)和漸進網格方面,研究人員均做了大量的 工作,但海量三維模型數據的快速網絡傳輸和繪圖一直沒有得到解決,主要原因在於1)目前的三維模型的化簡方法不能做到在客戶端顯示時的自適應無損化簡,即化 簡前和化簡後顯示的效果始終是一樣的。2)三維模型數據化簡效率低,不適合對海量三維模型數據進行實時化簡,需要對 原始數據進行預處理,按多尺度分層存儲,如果原始數據發生改變,則需要重新處理,即增 加了存儲空間,又不能根據三維模型在客戶端的顯示真正做到自適應漸進傳送。3)目前的研究主要是針對原始的三維模型數據進行處理,然後進行網絡傳輸,雖 然能減少傳輸的數據量,但隨著數據量的增長,有限的網絡帶寬與海量的空間數據的傳輸 之間的矛盾始終不能徹底解決,硬體的發展和繪圖速度要求之間的矛盾不能徹底解決,因 此目前的研究思路和方法不能從根本上解決問題。

發明內容
本發明的目的在於解決上述的技術問題,提供一種新的視角和新的方法來解決三 維模型數據的快速網絡傳輸和顯示的問題。具體來說,三維模型在視圖窗口中的顯示過程一般是首先通過空間數據索引將 符合給定空間條件的三維模型取出來經過傳輸介質傳給三維模型使用者(如客戶端);然 後對三維模型數據進行一系列的坐標變換和處理之後,變換為二維圖像上的坐標點;根據 顯示參數,三維模型最終通過繪圖算法柵格化成圖像像素,繪製成一幅二維柵格圖像,在客 戶端顯示或輸出(如計算機屏幕顯示、在紙上列印輸出及生成圖像文件輸出等)。其中三維 模型的繪製,最終被繪圖算法歸結為對一個個像素的操作。由於無論是用多邊形還是用體素表達的三維模型,都是經過網絡傳輸和計算機的 一系列處理,最終均以「地圖」的形式顯示到輸出設備上,如顯示器、各種印表機和繪圖儀 等,而這些輸出設備都屬於以像素為基礎的光柵設備。因此,三維模型的最終處理結果是顯 示輸出設備上一系列像素的集合。因此本發明提出以視圖(顯示輸出設備的抽象)的角度 來研究三維模型的自適應化簡、漸進傳輸和快速繪製,利用空間實體視圖模型(以下簡稱 「模型」)對三維模型的顯示過程進行模擬、分析,實現三維模型的自適應化簡、漸進傳輸和 快速繪製,從而徹底解決海量三維模型數據的網絡傳輸和顯示的問題。本發明基於如下原理以視圖的角度,在最終用於顯示的視圖窗口大小(像素坐標)確定的情況下,視圖窗口能顯示的像素總數就固定了,無論多海量的三維模型數據,用 於最終傳輸或顯示所需要的最大可見三維模型數據是恆定的,即用於填充完視圖窗口的全 部像素所需的可見三維模型數據是恆定的。因為三維模型在視圖窗口中顯示時(1)如果繪製的三維模型被其它繪製的三維模型完全遮擋,則此三維模型可以不 用傳輸和繪圖;(2)如果繪製的三維模型被其它繪製的三維模型部分遮擋,被遮擋的部分在視圖 窗口中不能顯示出來,則此三維模型中被擋住的部分可以不用傳輸和繪圖;(3)三維模型本身也可能存在遮擋(如三維模型在顯示時,其中一些表面將另外 的部分表面遮擋住了),則三維模型中被擋住的部分可以不用傳輸和繪圖。我們將對視圖窗口中的像素繪製後能被顯示出來的三維模型稱為可見三維模型, 用於表達三維模型中可見部分的數據稱為可見三維模型數據。因此,有必要設計一種預處 理方式,事先將可見三維模型數據均選出後再將這些可見三維模型數據傳輸至客戶端繪圖 或直接用於繪圖。使用本發明提供的三維模型的自適應化簡方法、三維模型的自適應漸進傳輸方法 和三維模型快速繪製的方法,能徹底解決海量三維模型的快速網絡傳輸和繪圖,其方法步 驟如下一、三維模型基於空間實體視圖模型的自適應化簡方法(簡稱「自適應化簡方 法」),其方法步驟如下1、創建並初始化「模型」,用於對三維模型的顯示過程進行模擬;2、通過「模型」的視景體裁剪掉處在視景體之外的三維模型或三維模型的一部 分;3、通過「模型」對所有在視景體內的三維模型進行消隱分析(1)將不可見的三維模型去除;(2)將可見三維模型中不可見的三維模型數據去除;4、根據消隱分析結果獲取可見三維模型及可見三維模型數據。進一步地,步驟1中創建的「模型」包括(1)、數據結構柵格數據結構,模型中用柵格數據來表示二維柵格圖像,把視圖窗 口平面劃分成均勻的網格,每個網格單元稱為像素,柵格數據結構就是像素陣列,柵格中的 每個像素是柵格數據中最基本的信息存儲單元,其坐標位置可以用行號和列號確定。由於 柵格數據是按一定規則排列的,所以表示的實體位置關係是隱含在行號、列號之中的。每個 像素值用於代表空間數據的屬性或屬性的編碼。(2)、模型的控制參數(約束條件)至少包括視圖窗口的外包矩形(像素坐標), 視點參數,投影參數。本發明中,將上述的所有控制參數統稱為視口參數。(3)、模型的控制模塊包括初始化模塊,用於給「模型」的柵格數據賦初始值和給 「模型」的控制參數賦值;坐標變換模塊,用於將空間數據的原始坐標系下的坐標點根據「模 型」的控制參數變換為視圖窗口坐標系下的坐標點;像素操作模塊,用於給像素賦值(柵格 化)、讀取和判定像素值。因此,本發明的「模型」實質上是一個帶有上述功能的工作系統。進一步地,步驟1中初始化「模型,,是指通過「模型,,的初始化模塊給「模型,,的 柵格數據賦初始值和給「模型」的控制參數賦值。
其中包括將實際視圖窗口的外包矩形賦值給「模型」視圖窗口的外包矩形;根據 視圖窗口的外包矩形給模型分配柵格數據,並給分配的柵格數據賦初始值;給視點參數賦值,視點參數包括1)視點在原始坐標系(又稱世界坐標系)中的 位置0(x。,y。,ζ。),其中χ。,y。,Z0表示視點在原始坐標系中的三個分量;2)視點所觀察的目 標位置A(x。,y。,z。);3)虛擬照相機向上的向量upUup,yup,zup)。通過視點參數可以確定一 個變換矩陣,將原始坐標系中的頂點坐標變換到視點坐標系下;給投影參數賦值,投影參數包括正交投影和透視投影;根據視圖窗口的外包矩形和投影參數確定視景體,視景體用於裁剪掉處在視景體 之外的空間實體或空間實體的一部分,視圖窗口的外包矩形決定視景體的大小,投影參數 決定視景體的形狀。如果投影參數為正交投影,則視景體為成直角的平行六面體,如果投影 參數為透視投影,則視景體為一個稜錐的平截臺體(稜台)。當空間實體從世界坐標變換到 視點坐標以後,空間實體在視景體內的,經過投影將落在視圖窗口內而被顯示;空間實體在 視景體外的,則被裁剪掉。在基於深度的顯示操作中,用視景體裁剪掉在前裁剪面之前以及 在後裁剪面之後的空間實體,因此根據具體情況,有的還需要對視景體的視角、近裁剪面到 視點的距離和遠裁剪面到視點的距離等參數賦值。進一步地,步驟3中的消隱(Hidden Surface Removal)分析是在一定觀察方向下 消除不可見的線和面或者體素及相應的紋理,只保留可見三維模型的模型數據。根據消隱所在的空間,消隱算法可採用現有技術的三大類中的任意一種或幾種(1)物體空間法(背面剔除算法、表優先級算法、Roberts算法等)物體空間是用 戶來定義三維形體的三維空間,即所說的世界坐標系空間。它是三維形體還沒有被投影到 二維空間內所在的空間。物體空間法就是利用三維環境信息或三維視圖(主要使用三維觀 察坐標,有時也使用三維世界坐標)來消除隱藏面或者體素,即根據空間中各物體三維模 型的幾何關係,來判斷哪些表面或者體素可見,哪些不可見。(2)圖象空間法(Z-buffer、掃描線、warnock算法等)圖象空間是把三維模型 投影到的二維空間,即我們所說的屏幕空間。圖象空間法是基於三維模型的二維顯示圖形 (使用二維顯示坐標)來確定三維模型、表面或者體素與觀察點的遠近關係,從而獲得可見 的三維模型數據。(c)物體空間和圖像空間的消隱法(畫家算法)在物體空間中預先計算面的可見 性優先級,再在圖像空間中生成消隱圖。從理論上講,物體空間法即為一個對象必須和空間 中其他對象進行比較,以確定其是否可見。圖像空間方法則是將每個對象的投影分解為像 素,像素之間進行比較。實用的消隱算法通常將物體空間法和圖像空間方法結合起來使用。首先,使用物 體空間法刪除對象中一部分不可見的面或體素;其次,對剩餘的面或體素用圖像空間方法 進行比較計算。進一步地,步驟3中,對三維模型進行消隱分析,用的主要是三維模型的幾何數 據,三維模型幾何數據可見,則對應的紋理數據也可見;三維模型幾何數據不可見,則對應 的紋理數據也不可見,因此根據對三維模型的消隱分析結果來獲得可見的三維模型數據 (包括可見的三維模型幾何和可見的三維模型紋理數據)。根據消隱分析結果獲得可見的紋理數據,對可見的紋理數據可以進行進一步的處理(1)可以根據「模型」視圖窗口的外包矩形,對所有可見的紋理合成一個紋理(稱 為「合成紋理」),並重新計算紋理坐標,這樣可以確保化簡後的三維模型的紋理數據量同原 始的紋理數據量的大小無關,只同視圖窗口的解析度有關。如果三維數據模型分布式存儲 在多個伺服器上,則每個伺服器在將本伺服器上的可見的紋理合成一個紋理時,記錄下每 個像素的深度(即離視點的距離),在客戶端或某一臺伺服器上將所有上述合成的紋理根 據記錄的每個像素的深度進行合成一個紋理。(2)如果對可見的紋理在視圖窗口中顯示的大小(可以用紋理的寬乘以紋理的高 來表示)小於原始紋理的大小,此紋理會有多個數據繪製在了視圖窗口的同一個像素上, 則將繪製在視圖窗口的同一個像素上的多個數據只保留一個,其餘的去掉。(3)如果對可見的紋理在視圖窗口中顯示的大小(或用填充像素的個數)小於預 先設定的值,則此紋理可以不用傳輸或繪製。進一步地,步驟3中,為了提高效率和進一步減少數據量,可以在「模型」視圖窗口 坐標系下先對三維模型數據進行退化分析,然後再進行消隱分析。比如多邊形的退化分析, 即如果三維模型數據在「模型」視圖窗口坐標系下不能構成有效的多邊形,則將此多邊形化 簡掉,同時如果構成此多邊形的頂點沒有被其它可見的多邊形使用,則對應的頂點也化簡掉。舉例說明三角網三維模型,在由原始坐標系變換到「模型」視圖窗口坐標系中進 行顯示時,在「模型」視圖窗口坐標系中構成三角形網格的三個坐標點可能相同,或三個坐 標點在同一條直線上,已經不能構成三角形,可以直接化簡掉此三角形網格數據。二、基於「自適應化簡方法」的三維模型的自適應漸進傳輸方法,至少有2種方法, 根據具體情況單獨使用或者綜合使用,其方法步驟分別如下方法〈一〉尤其適合於客戶端在「本地磁碟」中對伺服器端的三維模型數據進行 緩存。1、在客戶端對已經從伺服器端傳過來的三維模型數據利用「自適應化簡方法」進 行化簡,獲得化簡過後的三維模型數據的標識號集合AC,並將此標識號集合AC和客戶端的 視口參數發給伺服器端請求增量數據;2、伺服器端根據客戶端傳來的視口參數利用「自適應化簡方法」對相應的原始三 維模型進行化簡,獲得化簡過後的三維模型數據的標識號集合AS,然後將AS中已經在AC中 存在的三維模型數據的標識號去掉,通過AS中剩下的三維模型數據的標識號獲得增量數 據並傳給客戶端;3、客戶端接收到增量數據後將其插入到相應的已有的三維模型的數據中去。方法〈二〉尤其適合於客戶端在本地內存中對伺服器端的三維模型數據進行緩 存。1、客戶端將前一次顯示時記錄的在先視口參數preViewPoint和當前視口參數 curViewPoint發送給伺服器端,如果是首次顯示,則只傳本次的視口參數。2、伺服器端根據客戶端傳來的在先視口參數preViewPoint利用「自適應化簡方 法」對相應的原始三維模型進行化簡,獲得化簡過後的三維模型數據的標識號集合Al,如果 客戶端是首次顯示三維模型,則Al為空集合;
根據客戶端傳來的當前視口參數curViewPoint利用「自適應化簡方法」對相應的 原始三維模型進行化簡,獲得化簡過後的三維模型數據的標識號集合A2 ;然後將A2中已經在Al中存在的模型數據的標識號去掉,通過A2中剩下的三維模 型數據的標識號獲得增量數據並傳給客戶端。3、客戶端接收到增量數據後將其插入到相應的已有的三維模型數據中去,利用 「自適應化簡方法」對三維模型進行化簡,將不可見的模型數據在內存中釋放掉,並且將在 先視口參數preViewPoint的值替換為當前視口參數curViewPoint。三維模型的自適應漸進傳輸的體系架構,至少有3種方法,根據具體情況單獨使 用或者綜合使用,其方法步驟分別如下方法一所有的三維模型數據全部儲存在一臺伺服器上或智能設備上,客戶端將 其視口參數傳輸給伺服器端並請求數據,伺服器端根據客戶端傳來的視口參數利用「自適 應化簡方法」對相應的原始三維模型進行化簡,並將獲得的增量數據傳輸給客戶端,客戶端 接收到增量數據後將其插入到相應的已有的三維模型的數據中去。方法二三維模型數據分別存儲在不同的伺服器上或智能設備上,客戶端記錄了 所需三維模型數據的索引,客戶端根據三維模型數據的索引,將其視口參數分別傳輸給每 個伺服器或智能設備並請求數據,每個伺服器或智能設備根據客戶端傳來的視口參數利用 「自適應化簡方法」對相應的原始三維模型進行化簡,並將獲得的增量數據傳輸給客戶端, 客戶端接收到增量數據後將其插入到相應的已有的三維模型的數據中去。方法三三維模型數據分別存儲在不同的伺服器上或智能設備上,並且其中一臺 伺服器記錄了所需三維模型數據的索引,或者多臺伺服器合起來記錄了所需三維模型數據 的索引,含有三維模型數據的索引的伺服器我們稱之為管理伺服器,客戶端將其視口參數 傳輸給管理伺服器請求數據,每個管理伺服器根據三維模型數據的索引,將其視口參數分 別傳輸給相應的伺服器或智能設備並請求數據,每個伺服器或智能設備根據客戶端傳來的 視口參數利用「自適應化簡方法」對相應的原始三維模型進行化簡,並將獲得的增量數據傳 輸給管理伺服器,管理伺服器再將接收到的所有增量數據根據客戶端傳來的視口參數利用 「自適應化簡方法」對增量數據進行化簡,並將化簡後的數據作為增量數據傳輸給客戶端, 客戶端接收到增量數據後將其插入到相應的已有的三維模型的數據中去。三、三維模型的快速繪製方法。本發明提供3種方法,根據具體情況單獨使用或者綜合使用,來減少用戶的等待 時間,實現三維場景的快速顯示。、基於「自適應化簡方法」來提高繪製速度1、將通過「自適應化簡方法」化簡過的三維模型的模型數據緩存在內存中;2、當視口發生變化或對三維模型進行編輯等操作時更新內存中的三維模型數據, 始終保持內存中緩存的是當前視圖窗口中的可見三維模型數據;3、當需要在視圖窗口中顯示三維模型時,直接讀取內存中緩存的三維模型數據進 行繪圖。、基於「自適應化簡方法」,在客戶端和伺服器之間網絡通信空閒的時候,以 目前顯示的三維模型數據為基礎,預先按照三維場景的放大、縮小、移動、旋轉等操作來向 伺服器端請求數據,並將伺服器端發過來的數據在客戶端進行緩存。
、在伺服器端根據客戶端的視口參數,S卩「模型」的控制參數來繪製三維模型 數據,生成一份和客戶端視圖窗口的外包矩形大小相同的圖像,並作為可見三維模型數據 的「合成紋理」,並立即將「合成紋理」傳給客戶端進行直接顯示,或者作為可見三維模型數 據的紋理在進行光照計算等處理後進行顯示。如果三維數據模型分布式存儲在多個伺服器 上,則每個伺服器在將本伺服器上的可見的紋理合成一個紋理時,記錄下每個像素的深度 (即離視點的距離),在客戶端或某一臺伺服器上將所有上述合成的紋理根據記錄的每個 像素的深度進行合成一個紋理並將其傳給客戶端進行直接顯示,或者作為可見三維模型數 據的紋理在進行光照計算等處理後進行顯示,從而實現了三維模型數據的分布式繪圖。本發明的有益效果主要體現在(1)不但能保證三維模型顯示無損,做到自適應化簡;而且化簡前和化簡後顯示 效果是一致的,確保三維模型之間空間關係顯示的正確性。(2)因為化簡後的三維模型的最大數據量僅同客戶端視圖窗口的解析度有關,同 原始的三維模型的數據量無關,因此以這種化簡方法為基礎設計的漸進傳輸能徹底解決海 量的空間數據爆炸式增長和通過有限的網絡帶寬進行傳輸之間的矛盾。(3)因為化簡後的三維模型的最大數據量僅同客戶端視圖窗口的解析度有關,因 此化簡後的三維模型的數據量始終很小,可以用駐留內存來顯著提高視圖窗口刷新時三維 模型的顯示速度。


下面結合附圖對本發明技術方案作進一步說明圖1 本發明通過空間實體視圖模型來進行三維模型的自適應化簡的獲得消隱圖 步驟的示意圖。圖2 本發明中根據消隱圖對三維模型進行自適應化簡步驟的示意圖。其中=M :ModelDataIndex ;zV :zValue。
具體實施例方式本發明揭示了一種通過空間實體視圖模型來進行三維模型的自適應化簡、自適應 漸進傳輸、快速繪製的方法。由於漸進傳輸、快速繪製均在自適應化簡的基礎上完成的。因 此,本發明將詳細描述三維模型的自適應化簡的方法。在三維模型的表達方面,三角網三維模型因其數據結構簡單、容易被所有的圖形 硬體設備繪圖等特點成為三維模型表達的一種流行選擇,而Z-buffer消隱法是最常用的 一種消隱分析法,它在象素級上以近物取代遠物,與形體在屏幕上的出現順序無關。因此以 三角網三維模型作為對象和Z-buffer消隱分析法來介紹本發明的具體實施方式
。當然其它多邊形三維模型(如四邊形三維模型)、體素三維模型等等任何三維模 型以及其他的消隱分析法同樣適合本發明。一、本發明的三維模型的自適應化簡方法的步驟如下1、創建並初始化「模型」,用於對三維模型的顯示過程進行模擬;2、通過「模型」的視景體裁剪掉處在視景體之外的三維模型或三維模型的一部 分;138/13 頁3、通過「模型」對所有在視景體內的三維模型進行消隱分析(1)將不可見的三維模型去除;(2)將可見的三維模型中不可見的三維模型數據去除;4、根據消隱分析結果獲取可見的三維模型及其可見的三維模型數據。以下為每個步驟的進一步說明。(一 )上述步驟1的進一步說明本發明基於一種空間實體視圖模型(簡稱「模型」),簡單來說,即通過「模型」來模 擬實際的視圖窗口環境,預先對空間實體的空間數據進行分析和選取,進而僅將可見的空 間數據通過傳輸介質傳輸至實際視圖窗口。首先,建立一空間實體視圖模型,其至少包括(1)、數據結構柵格數據結構,模型中用柵格數據來表示二維柵格圖像,把視圖窗 口平面劃分成均勻的網格,每個網格單元稱為像素,柵格數據結構就是像素陣列,柵格中的 每個像素是柵格數據中最基本的信息存儲單元,其坐標位置可以用行號和列號確定。由於 柵格數據是按一定規則排列的,所以表示的實體位置關係是隱含在行號、列號之中的。每個 像素值用於代表空間數據的屬性或屬性的編碼。(2)、模型的控制參數(約束條件)至少包括視圖窗口的外包矩形(像素坐標), 視點參數,投影參數。本發明中,將上述的所有控制參數統稱為視口參數。(3)、模型的控制模塊包括初始化模塊,用於給「模型」的柵格數據賦初始值和給 「模型」的控制參數賦值;坐標變換模塊,用於將空間數據的原始坐標系下的坐標點根據「模 型」的控制參數變換為視圖窗口坐標系下的坐標點;像素操作模塊,用於給像素賦值(柵格 化)、讀取和判定像素值。其中,步驟1 「模型」的數據結構,在本發明中每個像素值用於代表三維模型數據 的序列號(或稱標識號)ModelDatalndex和像素的深度zValue ( S卩ζ坐標),因此表示一個 像素的數據結構可以定義為Struct viewPixl{Long ModelDatalndex ;Double zValue ;}其中ModelDatalndex是表示三維模型數據的序列號(標識號),如不規則三角網 (TIN)三維模型,ModelDatalndex表示為三角形的序號;zValue為像素的深度(即ζ坐標)。接著,初始化空間實體視圖模型通過「模型」的初始化模塊給「模型」的柵格數據 賦初始值和給「模型」的控制參數賦值。其中包括將實際視圖窗口的外包矩形賦值給「模型」視圖窗口的外包矩形; 根據視圖窗口的外包矩形給模型分配柵格數據,並給分配的柵格數據賦初始值,其中給 ModelDatalndex賦初始值0 ;根據不同的系統,如果zValue越小離視點越近,則給zValue 的初始值賦極大值,如果zValue越大離視點越近,則給zValue的初始值賦極小值。給視點參數賦值,視點參數包括1)視點在原始坐標系中的位置0(x。,y。,Z0),X0, y。,ζ。表示視點在原始坐標系中的三個分量;2)視點所觀察的目標位置A(xa,ya, za) ;3)虛 擬照相機向上的向量upUup,yup,zup)。通過視點參數可以確定一個變換矩陣,將原始坐標系14中的頂點坐標變換到視點坐標系下;給投影參數賦值,投影參數包括正交投影和透視投影;根據視圖窗口的外包矩形和投影參數確定視景體,視景體用於裁剪掉處在視景體 之外的空間實體或空間實體的一部分,視圖窗口的外包矩形決定視景體的大小,投影參數 決定視景體的形狀,如果投影參數為正交投影,則視景體為成直角的平行六面體,如果投影 參數為透視投影,則視景體為一個稜錐的平截臺體(稜台),當空間實體從世界坐標變換到 視點坐標以後,空間實體在視景體內的,經過投影將落在視圖內而被顯示,空間實體在視景 體外的,則被裁剪掉,在基於深度的顯示操作中,用視景體裁剪掉在前裁剪面之前以及在後 裁剪面之後的空間實體,因此根據具體情況,有的還需要設置視景體的視角、近裁剪面到視 點的距離和遠裁剪面到視點的距離等參數。本發明的基於空間實體視圖模型的三維模型的自適應化簡方法,在執行前必須首 先用客戶端的視圖窗口的外包矩形、視點參數、投影參數等視口參數來初始化所述的空間 實體視圖模型。( 二)上述步驟2中的視景體裁剪是現有技術,在此不再贅述。(三)上述步驟3的進一步說明a),獲得消隱圖的步驟具體如圖1所示,通過「模型」和Z-buffer消隱法來模擬 三維模型的顯示過程,當對所有在視景體內的三維模型都處理完,便可在「模型」的柵格數 據上產生消隱圖,其中「模型」中的柵格數據,每個像素值代表了可見三維模型數據的標識 號和深度值(Z坐標值),具體步驟如下1、設定初始的處理過的三維模型的三角形的總數TC等於0 ;2、取出一個三角網三維模型TMiG大於0,同時i小於或等於n,其中η為需要處 理的三維模型的個數),TMi的三角形個數為m,記錄三維模型TMi所對應的處理過的三角形 的總數TCi,即=TCi = TC ;然後將TC值增加m,即TC = TC+m ;3、取出組成TMi的一個三角形Tj, j為三角形的順序號(j大於0,同時j小於或等 於m),Tj的三個頂點為Ph,Pz, Pk, (h,z,k都大於0,同時都小於或等於w,其中w為TMi頂點 的個數),將Tj的順序號j加上TCi作為三維模型數據Tj標識號ID,即ID = j+TQ ;4、通過選定的「模型」坐標轉換模塊,將1\,Pz, Pk變換為「模型」視圖窗口坐標系 下的坐標點Ph,,Pz』,pk』,其中IV,P/,Pk'每個坐標點都含有深度值,即ζ坐標;5、判斷Tj在「模型」視圖窗口中顯示時能否構成有效的三角形(即「退化分析」) 在不考慮IV,Pz',P/的深度值的情況下,判斷IV,Pz',Pk'是否能構成有效的三角形,即如 果IV,P/,Pk'三個點不相等,同時IV,P/,Pk'不在同一條直線上,則Tj為有效的三角形, 否則為無效的三角形,如果Tj為無效的三角形,則Tj化簡掉,並執行步驟7,如果Tj為有效 的三角形,則執行步驟6;6、使用「掃描線填充算法」依次獲得所有Tj所構成的三角面片上的像素點Pp』,並 對每個像素點Pp』都執行如下操作根據ph』,Pz',Pk'的深度值計算出Pp』所對應的深度值 Z,通過「模型」的像素操作模塊,讀取Pp』的像素的數據ModelDataIndex和zValue的值,然 後判斷(1)如果ModelDatalndex等於0,則通過「模型」的像素操作模塊將ID賦值給像 素點P/的ModelDatalndex,將ζ賦值給像素點P/的zValue ;
(2)如果ModelDataIndex大於0,則將ζ和Pz,的ζ Value分別同視點比較,如果ζ 離視點的距離比Ρρ』的ZValue離視點的距離更近,則通過「模型」的像素操作模塊將ID賦 值給 Pp,的 ModelDataIndexJf ζ 賦值給 Ρρ,的 zValue ;7、重複步驟3至步驟6,直到&所有三角形都取出並按上述步驟操作完為止;8、重複步驟2至步驟7,直到所有的三角網三維模型都取出並按上述步驟操作完 為止;9、通過「模型」的像素操作模塊,依次判斷「模型」中所有像素的ModelDatalndex 的值,如果ModelDatalndex大於0,則ModelDatalndex的值存到數組S中,即得到消隱圖。b),根據消隱圖對三維模型進行自適應化簡的步驟具體如圖2所示,1、設定初始的處理過的三維模型的三角形的總數TC等於O ;2、按照上述步驟a中相同的順序取出一個三角網三維模型TMi (i大於0,同時i小 於或等於n,其中n為需要處理的三維模型的個數),TMi的三角形個數為m,記錄三維模型 TMi所對應的處理過的三角形的總數TCi,即=TCi = TC ;然後將TC值增加m,即TC = TC+m ;3、按順序取出組成TMi的一個三角形Tj,三角形的順序號為j (j大於0,同時j小 於或等於m),將Tj的順序號j加上TCi作為三維模型數據Tj標識號ID,即ID = j+TCi;然 後在數組S中查找ID的值是否存在;4、如果ID的值在數組S中存在,則三角形Tj為可見三角形需要保留;如果ID的 值在數組S中不存在,則三角形L為不可見三角形,將其去掉;5、重複步驟3至步驟4,直到TMi所有三角形都取出並按上述步驟操作完為止;6、如果組成TMi的所有三角形都不可見,則將TMi去掉;如果組成TMi的三角形中 存在可見三角形,則這些可見三角形及其對應的頂點數據作為化簡後的數據;7、重複步驟2至步驟6,直到所有的三角網三維模型都取出並按上述步驟操作完 為止。上述三維模型進行消隱分析的進一步說明(1)如果上述步驟a獲取消隱圖操作中,在開始處理每個三維模型TMi時都記錄了 之前處理過的三維模型的三角形總數TCi,則在步驟b中,可以不按照順序取三維模型,只要 在取TMi時,也將記錄的TCi同時取出用於計算標識號ID ;(2)掃描線填充算法是現有技術,在此不再贅述;(3)在三維模型進行消隱分析時,要考慮三維模型的屬性特徵,如對三維模型的透 明度進行編碼,避免三維模型透明部分參與消隱分析;(4)在消隱算法Z-buffer中可以結合物體空間法(如背面剔除法)來去除一些顯 然不可見的表面,從而提高消隱算法的效率。(5)在對三維模型進行消隱分析前,通過選定的「模型」坐標轉換模塊將所有三維 模型的最小包圍盒的原始坐標變換為「模型」視圖窗口坐標系下的視圖坐標,並計算得到三 維模型的最小包圍盒在「模型」視圖窗口坐標系下的外包矩形RECTM和離視點最近的Z坐 標ZM,然後將所有三維模型根據ZM,按照離視點由近到遠的順序進行排序,在對三維模型 進行消隱分析時,按照離視點由近到遠的順序讀取三維模型數據,通過選定的「模型」來判 斷RECTM所包含的範圍內的選定的「模型」像素的zValue的值是否全部小於所述三維模型 數據的ZM值,如果是,則所述三維模型的數據皆為不可見三維模型數據,不需要參與消隱16分析了 ;如果不是,則此三維模型數據要參與消隱分析。(6)對三維模型進行消隱分析,用的主要是三維模型的幾何數據,三維模型幾何 數據可見,則對應的紋理數據也可見;三維模型幾何數據不可見,則對應的紋理數據也不可 見,因此根據對三維模型的消隱分析結果來獲得可見的三維模型數據(包括可見的三維模 型幾何和可見的三維模型紋理數據)。(7)根據消隱分析結果獲得可見的紋理,對可見的紋理還可以進行進一步的處理, 其包括如下步驟①可以根據「模型」視圖窗口的外包矩形,對所有可見的紋理合成一個紋理(稱為 「合成紋理」),並重新計算紋理坐標,例如三維模型幾何數據中頂點的紋理坐標的計算方法 為通過「模型」將頂點的原始坐標變換為「模型」視圖窗口下的視圖坐標,如果此視圖坐標 在「模型」視圖窗口範圍內,則在此視圖坐標即為使用「合成紋理」時的紋理坐標,如果此視 圖坐標在「模型」視圖窗口範圍之外,則要用「模型」視圖窗口的外包矩形對三維模型的幾 何數據進行裁剪,對裁剪後的幾何數據按照上述方法計算紋理坐標。如果要將紋理坐標進 行歸一化操作(如OpenGL三維引擎的紋理坐標要求歸一為0到1之間),則將上述紋理坐 標的橫坐標除以「模型」的視圖窗口的寬度,縱坐標除以「模型」的視圖窗口的高度。這樣 可以確保化簡後的三維模型的紋理數據量同原始的紋理數據量的大小無關,只同視圖窗口 的解析度有關。如果三維數據模型分布式存儲在多個伺服器上,則每個伺服器在將本服務 器上的可見的紋理合成一個紋理時,記錄下每個像素的深度(即離視點的距離),在客戶端 或某一臺伺服器上將所有上述合成的紋理根據記錄的每個像素的深度進行合成一個紋理。②如果對可見的紋理在視圖窗口中顯示的大小(可以用紋理的寬乘以紋理的高 來表示)小於原始紋理的大小,此紋理會有多個數據繪製在了視圖窗口的同一個像素上, 則將繪製在視圖窗口的同一個像素上的多個數據只保留一個,其餘的去掉。③如果對可見的紋理在視圖窗口中顯示的大小(或用填充像素的個數)小於預先 設定的值,則此紋理可以不用傳輸或繪製。二、基於「自適應化簡方法」的三維模型的自適應漸進傳輸方法,至少有2種方法, 根據具體情況單獨使用或者綜合使用,其方法步驟分別如下方法〈一〉尤其適合於客戶端在「本地磁碟」中對伺服器端的三維模型數據進行 緩存。1、在客戶端對已經從伺服器端傳過來的三維模型數據利用「自適應化簡方法」進 行化簡,獲得化簡過後的三維模型數據的標識號集合AC,並將此標識號集合AC和客戶端的 視口參數發給伺服器端請求增量數據;2、伺服器端根據客戶端傳來的視口參數利用「自適應化簡方法」對相應的原始三 維模型進行化簡,獲得化簡過後的三維模型數據的標識號集合AS,然後將AS中已經在AC中 存在的三維模型數據的標識號去掉,通過AS中剩下的三維模型數據的標識號獲得增量數 據並傳給客戶端;3、客戶端接收到增量數據後將其插入到相應的已有的三維模型的數據中去。方法〈二〉尤其適合於客戶端在本地內存中對伺服器端的三維模型數據進行緩 存。1、客戶端將前一次顯示時記錄的在先視口參數preViewPoint和當前視口參數curViewPoint發送給伺服器端,如果是首次顯示,則只傳本次的視口參數。2、伺服器端根據客戶端傳來的在先視口參數preViewPoint利用「自適應化簡方 法」對相應的原始三維模型進行化簡,獲得化簡過後的三維模型數據的標識號集合Al,如果 客戶端是首次顯示三維模型,則Al為空集合;根據客戶端傳來的當前視口參數curViewPoint利用「自適應化簡方法」對相應的 原始三維模型進行化簡,獲得化簡過後的三維模型數據的標識號集合A2 ;然後將A2中已經在Al中存在的模型數據的標識號去掉,通過A2中剩下的三維模 型數據的標識號獲得增量數據並傳給客戶端。3、客戶端接收到增量數據後將其插入到相應的已有的三維模型數據中去,利用 「自適應化簡方法」對三維模型進行化簡,將不可見的模型數據在內存中釋放掉,並且將在 先視口參數preViewPoint的值替換為當前視口參數curViewPoint。三維模型的自適應漸進傳輸的體系架構至少有3種方法,根據具體情況單獨使用 或者綜合使用,其方法步驟分別如下方法一所有的三維模型數據全部儲存在一臺伺服器上或智能設備上,客戶端將 其視口參數傳輸給伺服器端並請求數據,伺服器端根據客戶端傳來的視口參數利用「自適 應化簡方法」對相應的原始三維模型進行化簡,並將獲得的增量數據傳輸給客戶端,客戶端 接收到增量數據後將其插入到相應的已有的三維模型的數據中去。方法二三維模型數據分別存儲在不同的伺服器上或智能設備上,客戶端記錄了 所需三維模型數據的索引,客戶端根據三維模型數據的索引,將其視口參數分別傳輸給每 個伺服器或智能設備並請求數據,每個伺服器或智能設備根據客戶端傳來的視口參數利用 「自適應化簡方法」對相應的原始三維模型進行化簡,並將獲得的增量數據傳輸給客戶端, 客戶端接收到增量數據後將其插入到相應的已有的三維模型的數據中去。方法三三維模型數據分別存儲在不同的伺服器上或智能設備上,並且其中一臺 伺服器記錄了所需三維模型數據的索引,或者多臺伺服器合起來記錄了所需三維模型數據 的索引,含有三維模型數據的索引的伺服器我們稱之為管理伺服器,客戶端將其視口參數 傳輸給管理伺服器請求數據,每個管理伺服器根據三維模型數據的索引,將其視口參數分 別傳輸給相應的伺服器或智能設備並請求數據,每個伺服器或智能設備根據客戶端傳來的 視口參數利用「自適應化簡方法」對相應的原始三維模型進行化簡,並將獲得的增量數據傳 輸給管理伺服器,管理伺服器再將接收到的所有增量數據根據客戶端傳來的視口參數利用 「自適應化簡方法」對增量數據進行化簡,並將化簡後的數據作為增量數據傳輸給客戶端, 客戶端接收到增量數據後將其插入到相應的已有的三維模型的數據中去。三、三維模型的快速繪製方法。本發明提供3種方法,根據具體情況單獨使用或者綜合使用,來減少用戶的等待 時間,實現三維場景的快速顯示。、基於「自適應化簡方法」來提高繪製速度,包括如下步驟1、將通過「自適應化簡方法」化簡過的三維模型的模型數據緩存在內存中;2、當視口發生變化或對三維模型進行編輯等操作時更新內存中的三維模型數據, 始終保持內存中緩存的是當前視圖窗口中的可見三維模型數據;3、當需要在視圖窗口中顯示三維模型時,直接讀取內存中緩存的三維模型數據進行繪圖。、基於「自適應化簡方法」,在客戶端和伺服器之間網絡通信空閒的時候,以 目前顯示的三維模型數據為基礎,預先按照三維場景的放大、縮小、移動、旋轉等操作來向 伺服器端請求數據,並將伺服器端發過來的數據在客戶端進行緩存。、在伺服器端根據客戶端的視口參數,即「模型」的控制參數來繪製三維模型 數據,生成一份和客戶端視圖窗口的外包矩形大小相同的圖像,並作為可見三維模型數據 的「合成紋理」,並立即將「合成紋理」傳給客戶端進行直接顯示,或者作為可見三維模型數 據的紋理在進行光照計算等處理後進行顯示。如果三維數據模型分布式存儲在多個伺服器 上,則每個伺服器在將本伺服器上的可見的紋理合成一個紋理時,記錄下每個像素的深度 (即離視點的距離),在客戶端或某一臺伺服器上將所有上述合成的紋理根據記錄的每個 像素的深度進行合成一個紋理並將其傳給客戶端進行直接顯示,或者作為可見三維模型數 據的紋理在進行光照計算等處理後進行顯示,從而實現了三維模型數據的分布式繪圖。
權利要求
1.一種三維模型的自適應化簡方法,其特徵在於包括如下步驟,第一、創建並初始化空間實體視圖模型,用於對三維模型的顯示過程進行模擬;第二、通過所述空間實體視圖模型的視景體裁剪掉處在視景體之外的三維模型或三維 模型的一部分;第三、通過所述空間實體視圖模型對所有在視景體內的三維模型進行消隱分析,所述 消隱分析包括將不可見的三維模型去除;以及將可見三維模型中的不可見的三維模型數據 去除的步驟;第四、根據消隱分析結果獲取可見三維模型及其模型數據。
2.根據權利要求1所述的三維模型的自適應化簡方法,其特徵在於所述空間實體視 圖模型包括,柵格數據結構視圖窗口平面劃分成均勻的網格,該網格單元為一像素,柵格數據結構 即為像素陣列,柵格中的每個像素是柵格數據中最基本的信息存儲單元,其坐標位置可以 用行號和列號確定;模型的控制參數至少包括視圖窗口的外包矩形,視點參數,投影參數,所述的所有控 制參數統稱為視口參數;模型的控制模塊包括初始化模塊,用於給空間實體視圖模型的柵格數據賦初始值和 給空間實體視圖模型的控制參數賦值;坐標變換模塊,用於將空間數據的原始坐標系下的 坐標點根據空間實體視圖模型的控制參數變換為視圖窗口坐標系下的坐標點;像素操作模 塊,用於給像素賦值、讀取和判定像素值。
3.根據權利要求2所述的三維模型的自適應化簡方法,其特徵在於所述初始化所述 空間實體視圖模型的步驟包括,將實際視圖窗口的外包矩形賦值給空間實體視圖模型的視圖窗口的外包矩形;根據視 圖窗口的外包矩形給模型分配柵格數據,並給分配的柵格數據賦初始值;給視點參數賦值,視點參數包括1)視點在原始坐標系中的位置0(x。,y。,ζ。),其中χ。, y。,ζ。表示視點在原始坐標系中的三個分量;2)視點所觀察的目標位置A(xa,ya, za) ;3)虛 擬照相機向上的向量upUup,yup,zup);給投影參數賦值,投影參數包括正交投影和透視投影;根據視圖窗口的外包矩形和投影參數確定視景體。
4.根據權利要求3所述的三維模型的自適應化簡方法,其特徵在於所述在基於深度 的顯示操作中,所述初始化所述空間實體視圖模型的步驟包括對視景體參數賦值,所述視 景體參數包括視景體的視角、近裁剪面到視點的距離和遠裁剪面到視點的距離。
5.根據權利要求1所述的三維模型的自適應化簡方法,其特徵在於所述消隱分析的 方法採用物體空間法、圖象空間法、物體空間和圖像空間的消隱分析法中的任意一種方法 或任意方法的組合。
6.根據權利要求5所述的三維模型的自適應化簡方法,其特徵在於所述第三步驟之 前,用於選擇性地進行在空間實體視圖模型的視圖窗口坐標系下對三維模型數據進行退化 分析的步驟,用於確定三維模型數據在空間實體視圖模型的視圖窗口坐標系下是否能構成 有效的多邊形。
7.根據權利要求6所述的三維模型的自適應化簡方法,其特徵在於所述消隱分析步驟包括包括,獲得消隱圖的步驟,以及根據獲得的消隱圖對三維模型進行自適應化簡步驟, 所述獲得消隱圖的步驟包括,第1步驟、設定初始的處理過的三維模型的三角形的總數TC等於0 ; 第2步驟、取出一個三角網三維模型TMi,其三角形個數為m,記錄三維模型TMi所對應 的處理過的三角形的總數TCi,即TCi = TC ;然後將TC值增加m,即TC = TC+m ;第3步驟、取出組成TMi的一個三角形Tj, j為三角形的順序號,Tj的三個頂點為1\,Pz, Pk,其中w為TMi頂點的個數,將Tj的順序號j加上TCi作為三維模型數據Tj標識號ID,即 ID = j+TQ ;第4步驟、通過選定的「模型」坐標轉換模塊,將Ph,Pz, Pk變換為「模型」視圖窗口坐標 系下的坐標點Ph,,Pz』,pk』,其中IV,P/,Pk'每個坐標點都含有深度值,即Z坐標;第5步驟、判斷Tj在「模型」視圖窗口中顯示時能否構成有效的三角形,如果Tj為無效 的三角形,則Tj化簡掉,並執行第7步驟,如果Tj為有效的三角形,則執行第6步驟;第6步驟、使用消隱分析法依次獲得所有Tj所構成的三角面片上的像素點Pp』,並對每 個像素點Pp』都執行如下操作根據I\』,Pz』,Pk』的深度值計算出Pp』所對應的深度值z,通 過「模型」的像素操作模塊,讀取Pp』的像素的數據ModelDatalndex和zValue的值,然後判 斷如果ModelDatalndex等於0,則通過「模型」的像素操作模塊將ID賦值給像素點Pp』 的ModelDatalndex,將ζ賦值給像素點Ρρ,的zValue ;如果ModelDatalndex大於0,則將ζ和P/的zValue分別同視點比較,如果ζ離視點 的距離比Ρρ』的zValue離視點的距離更近,則通過「模型」的像素操作模塊將ID賦值給Pp』 的 ModelDatalndex,將 ζ 賦值給 Ρρ,的 zValue ;第7步驟、重複第3步驟至第6步驟,直到L所有三角形都取出並按上述步驟操作完 為止;第8步驟、重複第2步驟至第7步驟,直到所有的三角網三維模型都取出並按上述步驟 操作完為止;第9步驟、通過「模型」的像素操作模塊,依次判斷「模型」中所有像素的 ModelDatalndex 的值,如果 ModelDatalndex 大於 0,則 ModelDatalndex 的值存到數組 S 中, 得出消隱圖。
8.根據權利要求7所述的三維模型的自適應化簡方法,其特徵在於所述根據消隱圖 對三維模型進行自適應化簡的步驟包括,第1步驟、設定初始的處理過的三維模型的三角形的總數TC等於0 ; 第2步驟、按照獲得消隱圖步驟中相同的順序取出一個三角網三維模型TMi,TMi的三 角形個數為m,記錄三維模型TMi所對應的處理過的三角形的總數TCi,即TCi = TC ;然後 將TC值增加m,即TC = TC+m ;第3步驟、按順序取出組成TMi的一個三角形Tj,三角形的順序號為j,將Tj的順序號 j加上TCi作為三維模型數據Tj標識號ID,即ID = j+TCi,然後在數組S中查找該標識號 ID的值是否存在;第4步驟、如果該標識號ID的值在數組S中存在,則三角形Tj為可見三角形需要保留; 如果該標識號ID的值在數組S中不存在,則三角形Tj為不可見三角形,將其去掉;第5步驟、重複步驟3至步驟4,直到TMi所有三角形都取出並按上述步驟操作完為止;第6步驟、如果組成TMi的所有三角形都不可見,則將三角網三維模型TMi去掉;如果 組成TMi的三角形中存在可見三角形,則這些可見三角形及其對應的頂點數據作為化簡後 的數據;第7步驟、重複步驟2至步驟6,直到所有的三角網三維模型都取出並按上述步驟操作 完為止。
9.根據權利要求1所述的三維模型的自適應化簡方法,其特徵在於所述根據對三維 模型的消隱分析結果來獲得可見的三維模型數據包括可見的三維模型幾何數據和可見的 三維模型紋理數據。
10.根據權利要求9所述的三維模型的自適應化簡方法,其特徵在於根據消隱分析結 果獲得可見紋理,對可見紋理進行進一步的處理,包括如下步驟第一、「模型」視圖窗口的外包矩形,對所有可見的紋理合成一個紋理,並重新計算紋理 坐標,如果三維數據模型分布式存儲在多個伺服器上,則每個伺服器在將本伺服器上的可 見的紋理合成一個紋理時,記錄下每個像素的深度,在客戶端或某一臺伺服器上將所有上 述合成的紋理根據記錄的每個像素的深度進行合成一個紋理;第二、如果對可見的紋理在視圖窗口中顯示的大小小於原始紋理的大小,此紋理會有 多個數據繪製在了視圖窗口的同一個像素上,則將繪製在視圖窗口的同一個像素上的多個 數據只保留一個;第三、如果對可見的紋理在視圖窗口中顯示的大小小於預先設定的值,則此紋理可以 不用傳輸或繪製。
11.一種運用權利要求1所述的自適應化簡方法的三維模型的漸進傳輸方法,適合於 客戶端在「本地磁碟」中對伺服器端的三維模型數據進行緩存,其特徵在於包括如下步驟,第一、在客戶端對已經從伺服器端傳過來的三維模型數據利用「自適應化簡方法」進行 化簡,獲得化簡過後的三維模型數據的標識號集合Ac,並將此標識號集合AC和客戶端的視 口參數發給伺服器端請求增量數據;第二、伺服器端根據客戶端傳來的視口參數利用「自適應化簡方法」對相應的原始三維 模型進行化簡,獲得化簡過後的三維模型數據的標識號集合AS,然後將AS中已經在AC中存 在的三維模型數據的標識號去掉,通過AS中剩下的三維模型數據的標識號獲得增量數據 並傳給客戶端;第三、客戶端接收到增量數據後將其插入到相應的已有的三維模型的數據中去。
12.一種運用權利要求1所述的自適應化簡方法的三維模型的漸進傳輸方法,適合於 客戶端在本地內存中對伺服器端的三維模型數據進行緩存,其特徵在於包括如下步驟,第一、客戶端將前一次顯示時記錄的在先視口參數和當前視口參數發送給伺服器端;第二、伺服器端根據客戶端傳來的在先視口參數利用「自適應化簡方法」對相應的原始 三維模型進行化簡,獲得化簡過後的三維模型數據的第一標識號集合Al ;第三、根據客戶端傳來的當前視口參數利用「自適應化簡方法」對相應的原始三維模型 進行化簡,獲得化簡過後的三維模型數據的第二標識號集合A2 ;第四、然後將第二標識號集合A2中已經在第一標識號集合Al中存在的模型數據的標 識號去掉,通過第二標識號集合A2中剩下的三維模型數據的標識號獲得增量數據並傳給客戶端;第五、客戶端接收到增量數據後將其插入到已有的三維模型數據中去,利用「自適應化 簡方法」對三維模型進行化簡,將不可見的模型數據在內存中釋放掉,並且將在先視口參數 的值替換為當前視口參數。
13.根據權利要求11或12所述的任意一種三維模型的漸進傳輸方法,其特徵在於所 有的三維模型數據全部儲存在一臺伺服器上或智能設備上,客戶端將其視口參數傳輸給服 務器端並請求數據,伺服器端根據客戶端傳來的視口參數利用「自適應化簡方法」對相應的 原始三維模型進行化簡,並將獲得的增量數據傳輸給客戶端,客戶端接收到增量數據後將 其插入到相應的已有的三維模型的數據中去。
14.根據權利要求11或12所述的任意一種三維模型的漸進傳輸方法,其特徵在於三 維模型數據分別存儲在不同的伺服器上或智能設備上,客戶端記錄了所需三維模型數據的 索引,客戶端根據三維模型數據的索引,將其視口參數分別傳輸給每個伺服器或智能設備 並請求數據,每個伺服器或智能設備根據客戶端傳來的視口參數利用「自適應化簡方法」對 相應的原始三維模型進行化簡,並將獲得的增量數據傳輸給客戶端,客戶端接收到增量數 據後將其插入到相應的已有的三維模型的數據中去。
15.根據權利要求11或12所述的任意一種三維模型的漸進傳輸方法,其特徵在於三 維模型數據分別存儲在不同的伺服器上或智能設備上,並且其中一臺伺服器記錄了所需三 維模型數據的索引,或者多臺伺服器合起來記錄了所需三維模型數據的索引,所述含有三 維模型數據的索引的伺服器為管理伺服器,客戶端將其視口參數傳輸給管理伺服器請求數 據,每個管理伺服器根據三維模型數據的索引,將其視口參數分別傳輸給相應的伺服器或 智能設備並請求數據,每個伺服器或智能設備根據客戶端傳來的視口參數利用「自適應化 簡方法」對相應的原始三維模型進行化簡,並將獲得的增量數據傳輸給管理伺服器,管理服 務器再將接收到的所有增量數據根據客戶端傳來的視口參數利用「自適應化簡方法」對增 量數據進行化簡,並將化簡後的數據作為增量數據傳輸給客戶端,客戶端接收到增量數據 後將其插入到相應的已有的三維模型的數據中去。
16.一種運用權利要求1所述的自適應化簡方法的三維模型的快速繪製方法,其特徵 在於包括如下步驟,第一、將通過「自適應化簡方法」化簡過的三維模型的模型數據緩存在內存中;第二、當視口發生變化或對三維模型進行編輯操作時更新內存中的三維模型數據,始 終保持內存中緩存的是當前視圖窗口中的可見三維模型數據;第三、當需要在視圖窗口中顯示三維模型時,直接讀取內存中緩存的三維模型數據進 行繪圖。
17.一種運用權利要求1所述的自適應化簡方法的三維模型的快速繪製方法,其特徵 在於在客戶端和伺服器之間網絡通信空閒的時候,以目前顯示的三維模型數據為基礎,預 先按照三維場景的放大、縮小、移動、旋轉等操作來向伺服器端請求數據,並將伺服器端發 過來的數據在客戶端進行緩存。
18.一種運用權利要求1所述的自適應化簡方法的三維模型的快速繪製方法,其特徵 在於在伺服器端根據客戶端的視口參數來繪製三維模型數據,生成一份和客戶端視圖窗 口的外包矩形大小相同的圖像,並作為可見三維模型數據的合成紋理,並立即將合成紋理傳給客戶端進行直接顯示,或者作為可見三維模型數據的紋理在進行光照計算處理後進行 顯不。
19. 一種運用權利要求18所述的自適應化簡方法的三維模型的快速繪製方法,其特徵 在於如果三維數據模型分布式存儲在多個伺服器上,則每個伺服器在將本伺服器上的可 見的紋理合成一個紋理時,記錄下每個像素的深度,在客戶端或某一臺伺服器上將所有上 述合成的紋理根據記錄的每個像素的深度進行合成一個紋理,並將合成的紋理傳給客戶端 進行直接顯示,或者作為可見三維模型數據的紋理在進行光照計算處理後進行顯示,從而 實現三維模型數據的分布式繪圖。
全文摘要
本發明提供了一種通過空間實體視圖模型來進行三維模型的自適應化簡、漸進傳輸、快速繪製的方法,利用空間實體視圖模型對三維模型的顯示過程進行模擬、分析,實現三維模型的自適應化簡、自適應漸進傳輸和快速繪製,從而徹底解決海量三維模型數據的網絡傳輸和顯示的問題。本發明的有益效果主要體現在不但能保證三維模型顯示無損,做到自適應化簡;而且化簡前和化簡後顯示效果是一致的;以這種化簡方法為基礎設計的漸進傳輸能徹底解決海量的空間數據爆炸式增長和通過有限的網絡帶寬進行傳輸之間的矛盾;化簡後的三維模型的數據量始終很小,可以用駐留內存來顯著提高視圖窗口刷新時三維模型的繪圖速度。
文檔編號G06T19/00GK102044089SQ20101059711
公開日2011年5月4日 申請日期2010年12月6日 優先權日2010年9月20日
發明者董福田 申請人:董福田

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀