專利名稱::立體形狀顯示程序、立體形狀顯示方法及立體形狀顯示裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及將物體的形狀進(jìn)行立體顯示的立體形狀顯示程序、立體形狀顯示方法及立體形狀顯示裝置,特別是涉及根據(jù)被壓縮的數(shù)據(jù)、再現(xiàn)原來(lái)的形狀的立體形狀顯示程序、立體形狀顯示方法及立體形狀顯示裝置。
背景技術(shù):
:近年來(lái),將各種部件用三維CAD(計(jì)算機(jī)輔助設(shè)計(jì))進(jìn)行立體表現(xiàn)的情況已很普遍。例如,用三維CAD數(shù)據(jù)來(lái)表現(xiàn)構(gòu)成復(fù)雜結(jié)構(gòu)的裝置的各部件。這樣,可以在計(jì)算機(jī)上很容易地進(jìn)行各個(gè)部件的CAD數(shù)據(jù)(實(shí)體模型)的集結(jié),安裝設(shè)計(jì)、布局設(shè)計(jì)、干擾設(shè)計(jì)等的工作。這樣的工作被稱為數(shù)字仿真,被普遍使用在以汽車及飛機(jī)產(chǎn)業(yè)為中心的領(lǐng)域中。一般來(lái)講,在實(shí)體CAD數(shù)據(jù)中采用以高精度的幾何和相位所表示的精確的表現(xiàn)(PreciseRepresentation)。實(shí)體CAD數(shù)據(jù)以精確的表現(xiàn)為基準(zhǔn),具有參數(shù)變形用的約束條件及形狀生成履歷。并且,實(shí)體CAD數(shù)據(jù)也具有進(jìn)行快速顯示用的顯示數(shù)據(jù)。因而,實(shí)體CAD處理的信息量很多,在將部件進(jìn)行集結(jié)、制造數(shù)字仿真模型時(shí),數(shù)據(jù)量變得非常龐大。當(dāng)實(shí)體CAD的數(shù)據(jù)量龐大時(shí),即使在不進(jìn)行數(shù)據(jù)編輯、而只顯示立體形狀的情況下,也要進(jìn)行龐大量的數(shù)據(jù)的處理。作為其解決策略,在汽車及飛機(jī)產(chǎn)業(yè)中,將CAD數(shù)據(jù)轉(zhuǎn)換為顯示用多邊形數(shù)據(jù)(例如,VRML(虛擬仿真模型語(yǔ)言VirtualRealityModelingLanguage)的數(shù)據(jù)),采用數(shù)字仿真模型專用的瀏覽器(Viewer)來(lái)顯示該顯示用多邊形數(shù)據(jù)。通過(guò)采用顯示用多邊形數(shù)據(jù)來(lái)顯示畫(huà)面,形狀的確認(rèn)工作變得容易。但是,最近的CAD數(shù)據(jù)的具體化(因更細(xì)致的定義而使數(shù)據(jù)量增加)超過(guò)了硬件及軟件的進(jìn)化,即使用專用的瀏覽器來(lái)處理整個(gè)產(chǎn)品也變?yōu)楹芾щy。例如,在以0.1mm的誤差將表示汽車的發(fā)動(dòng)機(jī)的結(jié)構(gòu)的CAD數(shù)據(jù)轉(zhuǎn)換為顯示用多邊形數(shù)據(jù)的情況下,數(shù)據(jù)量將達(dá)到0.5~1Gbyte。由于只表示發(fā)動(dòng)機(jī)就用了0.5~1Gbyte,所以由此可推斷,表示1臺(tái)汽車的合計(jì)數(shù)據(jù)量將達(dá)到10Gbyte以上。因此,在使用瀏覽器的計(jì)算機(jī)中,有必要配置儲(chǔ)存顯示用多邊形數(shù)據(jù)的大容量的存儲(chǔ)器及硬盤(pán)裝置。因此,需要考慮將顯示用的立體形狀的數(shù)據(jù)進(jìn)行壓縮的技術(shù)。作為立體形狀的壓縮表現(xiàn),有采用B’ezier的三角修補(bǔ)及Gregory修補(bǔ)(Lattice=XVL)等的方法,可以減少硬盤(pán)裝置所儲(chǔ)存的數(shù)據(jù)容量,但在存儲(chǔ)器讀取數(shù)據(jù)時(shí),為了展開(kāi)為多邊形而不能削減存儲(chǔ)器容量。另一方面,在將被壓縮的立體形狀按原樣保存在存儲(chǔ)器中并根據(jù)顯示倍率將多邊形再分割的方法中,有細(xì)分(Subdivision)法。細(xì)分法適用的理由是因?yàn)樵诋?huà)面放大時(shí),很多部件在視野(畫(huà)面)外的概率很高,采用ViewFrustumCulling(省略視野外的物體的方法),可以將所省略的CPU(CentralProcessingUnit)資源分配給多邊形的再分割計(jì)算。作為細(xì)分法的一例,有在美國(guó)專利6,222,553號(hào)公報(bào)上所記載的發(fā)明。在該發(fā)明中,是采用NURBS(Non-UniformRationalB-Splines)曲線等的控制點(diǎn)來(lái)表現(xiàn)的。并且,通過(guò)從一個(gè)形狀的中間點(diǎn)向其形狀的各邊所引的線來(lái)將原來(lái)的形狀進(jìn)行分割。但是,以往的細(xì)分法不能減少存儲(chǔ)器及文件容量,多邊形的再分割計(jì)算的計(jì)算機(jī)的處理負(fù)荷會(huì)大幅度地增加。而且,以往的細(xì)分法的數(shù)據(jù)壓縮效果,在采用Web等在遠(yuǎn)距離之間進(jìn)行大規(guī)模數(shù)據(jù)合作方面還不理想。例如,在美國(guó)專利6,222,553號(hào)公報(bào)上所記載的發(fā)明中,為了用從某個(gè)中間點(diǎn)向各邊的引線來(lái)分割該形狀,即使包含沒(méi)有必要進(jìn)行分割的邊(例如直線的邊),也會(huì)將所有的邊進(jìn)行分割。這樣,會(huì)產(chǎn)生不必要的分割的情況,導(dǎo)致處理負(fù)荷的增大。而且,NURBS曲線等的控制點(diǎn)必須對(duì)每個(gè)邊個(gè)別地進(jìn)行設(shè)定,這成為數(shù)據(jù)量增大的原因。
發(fā)明內(nèi)容本發(fā)明是鑒于這一情況而作成的,其目的在于提供一種可以根據(jù)被壓縮的數(shù)據(jù)高速地顯示立體形狀的立體形狀顯示程序、立體形狀顯示方法及立體形狀顯示裝置。為了解決上述問(wèn)題,本發(fā)明的第1方式提供了一種使計(jì)算機(jī)執(zhí)行將圖1所示的物體的形狀進(jìn)行立體顯示的處理的立體形狀顯示程序。執(zhí)行本發(fā)明的立體形狀顯示程序的計(jì)算機(jī),首先根據(jù)至少在一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù)2,決定構(gòu)成立體形狀的面的分割模型(步驟S2)。同時(shí),計(jì)算機(jī)根據(jù)立體形狀數(shù)據(jù)2預(yù)先所定義的面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定面的曲面形狀(步驟S3)。接下來(lái),計(jì)算機(jī)根據(jù)所決定的分割模型來(lái)分割被決定的曲面形狀,生成沿曲面形狀的多個(gè)面(步驟S4)。然后,計(jì)算機(jī)將由所生成的多個(gè)面所構(gòu)成的立體形狀進(jìn)行顯示(步驟S5)。通過(guò)用任意的計(jì)算機(jī)來(lái)執(zhí)行這樣的立體形狀顯示程序,能夠決定適合構(gòu)成立體形狀數(shù)據(jù)2的面所定義的法線方向等的曲面形狀,將該曲面形狀分割為多個(gè)面。并且,能夠?qū)⒂杀环指畹拿嫠鶚?gòu)成的立體形狀進(jìn)行顯示。本發(fā)明的第2方式提供一種立體形狀顯示方法,用于對(duì)物體的形狀進(jìn)行立體顯示,其特征在于,使計(jì)算機(jī)執(zhí)行如下的處理,即根據(jù)在至少一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù),決定構(gòu)成所述立體形狀的所述面的分割模型,并且根據(jù)在所述立體形狀數(shù)據(jù)中被預(yù)先定義的所述面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定所述面的曲面形狀,根據(jù)所決定的所述分割模型來(lái)分割被決定的所述曲面形狀,生成沿所述曲面形狀的多個(gè)面,顯示由生成的所述多個(gè)面構(gòu)成的立體形狀。根據(jù)這樣的立體形狀顯示方法,能夠決定適合構(gòu)成立體形狀數(shù)據(jù)的面所定義的法線方向等的曲面形狀,并將該曲面形狀分割為多個(gè)面。并且,能夠?qū)⒂杀环指畹拿嫠鶚?gòu)成的立體形狀進(jìn)行顯示。本發(fā)明的第3方式提供一種立體形狀顯示裝置,用于將物體的形狀進(jìn)行立體顯示,其特征在于,具有根據(jù)在至少一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù),決定構(gòu)成所述立體形狀的所述面的分割模型的分割模型決定單元;根據(jù)在所述立體形狀數(shù)據(jù)中被預(yù)先定義的所述面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定所述面的曲面形狀的曲面形狀決定單元;根據(jù)由所述分割模型決定單元所決定的所述分割模型來(lái)分割由所述曲面形狀決定單元所決定的所述曲面形狀,生成沿所述曲面形狀的多個(gè)面的面生成單元;和顯示由利用所述面生成單元生成的所述多個(gè)面構(gòu)成的立體形狀的顯示單元。根據(jù)這樣的立體形狀顯示裝置,通過(guò)分割模型決定裝置,根據(jù)至少在一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù),決定構(gòu)成立體形狀的面的分割模型。另外,通過(guò)曲面形狀決定裝置,根據(jù)由立體形狀數(shù)據(jù)預(yù)先所定義的面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定面的曲面形狀。然后,根據(jù)所述分割模型決定裝置所決定的所述分割模型,將由面生成裝置和曲面形狀決定裝置所決定的曲面形狀進(jìn)行分割,生成沿曲面形狀的多個(gè)面。并且,通過(guò)顯示裝置,將由面生成裝置所生成的多個(gè)面所構(gòu)成的立體形狀進(jìn)行顯示。關(guān)于上述的本發(fā)明以及本發(fā)明的其他的目的、特征及優(yōu)點(diǎn),通過(guò)對(duì)作為本發(fā)明實(shí)施例的理想的實(shí)施方式結(jié)合附圖進(jìn)行以下的說(shuō)明,可以進(jìn)一步加深理解。圖1為應(yīng)用于本實(shí)施方式的發(fā)明的概念圖。圖2為本發(fā)明的實(shí)施方式的系統(tǒng)結(jié)構(gòu)圖。圖3為表示本發(fā)明的實(shí)施方式所采用的計(jì)算機(jī)的硬件結(jié)構(gòu)例的圖。圖4為表示本發(fā)明的實(shí)施方式的功能的功能方框圖。圖5為表示立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部的內(nèi)部結(jié)構(gòu)的圖。圖6為表示物體信息的數(shù)據(jù)結(jié)構(gòu)的一例的圖。圖7為表示立體形狀的一例的圖。圖7(A)和圖7(B)為立體形狀的立體圖。圖8為表示物體信息的具體例的圖。圖9為表示立體形狀顯示順序的第1流程圖。圖10為表示立體形狀顯示順序的第2流程圖。圖11為表示立體形狀顯示順序的第3流程圖。圖12為表示空間曲線的折線近似例的圖。圖13為表示圖形的分割例的圖。圖14為表示3邊形的分割模型的種類的圖。圖15為表示3邊形分割模型決定處理的順序的流程圖。圖16為表示4邊形的分割模型的種類的圖。圖17為表示4邊形分割模型決定處理的順序的流程圖。圖18為表示鄰接的面彼此之間平滑連接的立體形狀的一例的圖。圖19為表示采用了2次微分矢量所決定的參數(shù)3次式的一例的圖。圖20為表示鄰接的面彼此之間共有的邊為曲折的立體形狀的一例的圖。圖21為表示強(qiáng)制地指示邊的形狀的立體形狀的一例的圖。圖22為表示分割對(duì)象的面的一例的圖。圖23為表示包含被分割的3邊形的立體形狀的一例的圖。圖24為表示被分割的3邊形的一例的圖。圖25為表示被分割的4邊形的一例的圖。圖26為表示顯示了由混合網(wǎng)格數(shù)據(jù)所定義的立體形狀的邊的畫(huà)面的一例的圖。圖27為表示顯示了由混合網(wǎng)格數(shù)據(jù)所定義的立體形狀的畫(huà)面的一例的圖。圖28為表示顯示了再分割混合網(wǎng)格數(shù)據(jù)時(shí)的立體形狀的邊的畫(huà)面的一例的圖。圖29為表示顯示了再分割混合網(wǎng)格數(shù)據(jù)時(shí)的立體形狀的畫(huà)面的一例的圖。圖30為表示汽車的立體形狀的顯示畫(huà)面的一例的圖。具體實(shí)施例方式下面,參照附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行說(shuō)明。首先,對(duì)應(yīng)用于本發(fā)明的實(shí)施方式的發(fā)明的概要進(jìn)行說(shuō)明,然后,對(duì)本發(fā)明的實(shí)施方式的具體的內(nèi)容進(jìn)行說(shuō)明。圖1為應(yīng)用于本實(shí)施方式的發(fā)明的概念圖。本發(fā)明為使計(jì)算機(jī)執(zhí)行將物體的形狀進(jìn)行立體顯示的處理的立體形狀顯示程序。根據(jù)該立體形狀顯示程序,計(jì)算機(jī)執(zhí)行圖1所示的處理。計(jì)算機(jī)進(jìn)行CAD數(shù)據(jù)1的數(shù)據(jù)壓縮,生成被壓縮的立體形狀數(shù)據(jù)2。立體形狀數(shù)據(jù)2為將定義CAD數(shù)據(jù)1的形狀的數(shù)據(jù)進(jìn)行了壓縮的數(shù)據(jù)。通過(guò)數(shù)據(jù)壓縮,如復(fù)雜的曲面形狀可以置換為簡(jiǎn)單形狀的多個(gè)面。然后,計(jì)算機(jī)根據(jù)立體形狀數(shù)據(jù)2,決定構(gòu)成立體形狀的面的分割模型(步驟S2)。例如,決定構(gòu)成面的邊的分割數(shù),決定適合各邊的分割數(shù)的面的分割模型。另外,計(jì)算機(jī)根據(jù)在立體形狀數(shù)據(jù)2中預(yù)先定義的面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,來(lái)決定面的曲面形狀(步驟S3)。例如,使與法線方向垂直的方向成為曲面形狀的切線來(lái)決定曲面形狀。另外,法線方向一般是利用法線矢量(單位矢量)來(lái)定義。接下來(lái),計(jì)算機(jī)根據(jù)所決定的分割模型將被決定的曲面形狀進(jìn)行分割,生成沿著曲面形狀的多個(gè)面(步驟S4)。并且,計(jì)算機(jī)將由所生成的多個(gè)面所構(gòu)成的立體形狀進(jìn)行顯示(步驟S5)。通過(guò)任意的計(jì)算機(jī)來(lái)執(zhí)行這樣的立體形狀顯示程序,來(lái)決定適合由構(gòu)成立體形狀數(shù)據(jù)2的面所定義的法線方向等的曲面形狀,并將該曲面形狀分割為多個(gè)面。然后,顯示由所分割的面構(gòu)成的立體形狀。這樣,可以用較少的數(shù)據(jù)量的立體形狀數(shù)據(jù)2來(lái)存儲(chǔ)由原來(lái)的CAD數(shù)據(jù)1所定義的立體形狀。并且,根據(jù)立體形狀數(shù)據(jù)2,能夠以很少的誤差再現(xiàn)CAD數(shù)據(jù)1所定義的形狀。而且,在立體形狀數(shù)據(jù)2中,設(shè)定有構(gòu)成立體形狀的面的頂點(diǎn)坐標(biāo)和法線方向。法線方向例如利用法線矢量來(lái)定義。該法線矢量為在對(duì)用于進(jìn)行實(shí)際的畫(huà)面顯示的陰影及光的反射等的計(jì)算中所必要的信息。在本發(fā)明中,由于根據(jù)立體形狀數(shù)據(jù)2的狀態(tài)來(lái)定義法線方向,因而可以將立體形狀數(shù)據(jù)2自身看成為一個(gè)多邊形模型,按原樣實(shí)際(例如采用陰影顯示)進(jìn)行畫(huà)面顯示。這樣,根據(jù)狀況,計(jì)算機(jī)可以判斷是否進(jìn)行面的分割,適宜地切換不進(jìn)行面的分割的高速顯示和進(jìn)行面分割的高精度的顯示。另外,如前面所述的美國(guó)專利6,222,553號(hào)公報(bào)所記載的發(fā)明所代表的那樣,以往的根據(jù)Subdivision法所壓縮的很多的數(shù)據(jù),在面的分割中不利用法線方向的信息(法線矢量)。因此,如果在被壓縮的數(shù)據(jù)內(nèi)包含有法線矢量,則在面的分割時(shí)會(huì)有多余的不必要的數(shù)據(jù),導(dǎo)致數(shù)據(jù)容量的增加。另外,通過(guò)根據(jù)法線方向來(lái)決定曲面狀況,可減少為了再現(xiàn)原來(lái)的立體形狀的必要的數(shù)據(jù)量。即、在平滑連接的兩個(gè)面中,在幾乎所有的情況下,在該邊界的邊的端點(diǎn)中可以共享法線方向的定義信息(法線矢量)。因此,可以削減作為立體形狀數(shù)據(jù)2整體的數(shù)據(jù)量。還有,在本發(fā)明中,由于也可以對(duì)立體形狀數(shù)據(jù)2所定義的每個(gè)面進(jìn)行分割,所以通過(guò)將所分割的面的多邊形依次發(fā)送到三維顯示電路,可以顯示面分割后的高精度的立體形狀。這樣,在計(jì)算機(jī)的主存儲(chǔ)器上可以不需要保存定義了面分割后的立體形狀的所有的數(shù)據(jù),可以減少所需的存儲(chǔ)容量。還有,在決定分割模型時(shí),通過(guò)先決定邊的分割數(shù),并根據(jù)該邊的分割數(shù)來(lái)進(jìn)行面的分割,可以避免浪費(fèi)地進(jìn)行面的分割。例如,可通過(guò)不進(jìn)行直線的邊的分割而將由曲線所定義的邊分為多個(gè),進(jìn)行面的分割。其結(jié)果,可以降低處理負(fù)荷,實(shí)現(xiàn)顯示處理的高速化。下面,對(duì)本發(fā)明的實(shí)施方式進(jìn)行具體的說(shuō)明。另外,在以下的實(shí)施方式中,在被壓縮的立體形狀數(shù)據(jù)中,可以將由3個(gè)邊所構(gòu)成的面(FACE)和由4個(gè)邊所構(gòu)成的面混合在一起。因此,以下將由在本發(fā)明中所定義的形式的結(jié)構(gòu)所壓縮的數(shù)據(jù)稱為混合網(wǎng)格數(shù)據(jù)(混合的網(wǎng)格)。另外,構(gòu)成立體形狀的面的頂點(diǎn)的位置,也可以為構(gòu)成各面的邊的端點(diǎn)。因此,在以下的實(shí)施方式中,將面的頂點(diǎn)的位置稱為端點(diǎn)。圖2為本發(fā)明的實(shí)施方式的系統(tǒng)結(jié)構(gòu)圖。如圖2所示,多個(gè)計(jì)算機(jī)100、100a、100b通過(guò)網(wǎng)絡(luò)10相連接。網(wǎng)絡(luò)10例如為公司內(nèi)的LAN(局域網(wǎng)LocalAreaNetwork)及互聯(lián)網(wǎng)。在各計(jì)算機(jī)100、100a、100b上安裝有三維CAD程序,利用計(jì)算機(jī)100、100a、100b可以生成各種部件等的CAD數(shù)據(jù)(實(shí)體模型)。另外,在各計(jì)算機(jī)100、100a、100b上安裝有本發(fā)明的三維CAD數(shù)據(jù)的瀏覽器。通過(guò)在計(jì)算機(jī)100、100a、100b上使用瀏覽器,可以進(jìn)行基于CAD數(shù)據(jù)的高壓縮率的壓縮保存及被壓縮的數(shù)據(jù)的三維模型的畫(huà)面顯示。另外,通過(guò)將被壓縮的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)10在各計(jì)算機(jī)100、100a、100b之間進(jìn)行發(fā)送和接收,可以進(jìn)行使用CAD的合作設(shè)計(jì)(合作)。下面,對(duì)由計(jì)算機(jī)100實(shí)施本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。圖3為表示本發(fā)明的實(shí)施方式所采用的計(jì)算機(jī)的硬件的結(jié)構(gòu)的一例的圖。計(jì)算機(jī)100通過(guò)CPU101來(lái)控制整體裝置。通過(guò)總線107,使RAM(RandomAccessMemory)102、硬盤(pán)驅(qū)動(dòng)器(HDDHardDiskDrive)103、顯示處理裝置104、輸入接口105及通信接口106與CPU101相連接。在RAM102內(nèi)至少暫時(shí)儲(chǔ)存有使CPU101執(zhí)行的OS(操作系統(tǒng)OperatingSystem)的程序及應(yīng)用程序中的一部分。另外,在RAM102中儲(chǔ)存有在CPU101的處理時(shí)所必需的各種數(shù)據(jù)。在HDD103中儲(chǔ)存有OS及應(yīng)用程序。在顯示處理裝置104中內(nèi)置有三維顯示電路,與監(jiān)視器1相連接。顯示處理裝置104根據(jù)來(lái)自CPU101的指令,生成基于三維的坐標(biāo)數(shù)據(jù)(多邊形數(shù)據(jù)等)的圖像,并將該圖像顯示到監(jiān)視器11的畫(huà)面上。鍵盤(pán)12和鼠標(biāo)13與輸入接口105相連接。輸入接口105通過(guò)總線107,將由鍵盤(pán)12和鼠標(biāo)13發(fā)送來(lái)的信號(hào)傳送給CPU101。通信接口106與網(wǎng)絡(luò)10相連接。通信接口106通過(guò)網(wǎng)絡(luò)10在和其他的計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)收發(fā)。根據(jù)以上的硬件結(jié)構(gòu),可以實(shí)現(xiàn)本實(shí)施方式的處理功能。圖4為表示本發(fā)明的實(shí)施方式的功能的功能方框圖。計(jì)算機(jī)100具有瀏覽器110、瀏覽器應(yīng)用部130、三維顯示用API(應(yīng)用程序接口ApplicationProgramInterface)140、OSAPI150。瀏覽器110用于轉(zhuǎn)換表示立體形狀的數(shù)據(jù)的數(shù)據(jù)形式,壓縮數(shù)據(jù)容量。例如,將VRML數(shù)據(jù)31及CAD數(shù)據(jù)32轉(zhuǎn)換為混合網(wǎng)格數(shù)據(jù)。另外,瀏覽器110根據(jù)混合網(wǎng)格數(shù)據(jù)、以規(guī)定的誤差再現(xiàn)立體形狀。被再現(xiàn)的立體形狀為由多個(gè)多邊形構(gòu)成的多邊形模型。關(guān)于瀏覽器110內(nèi)的結(jié)構(gòu)的詳細(xì)情況,在后面進(jìn)行敘述。瀏覽器應(yīng)用部130具有配合瀏覽器110來(lái)支持使用CAD的設(shè)計(jì)操作的附加功能。在圖4的例中,瀏覽器應(yīng)用部130作為附加功能,具有干擾檢查部131、計(jì)測(cè)部132、分解圖生成部133、插圖生成部134等。干擾檢查部131根據(jù)由瀏覽器110所提供的立體形狀數(shù)據(jù),檢查在部件之間有無(wú)干擾。計(jì)測(cè)部132根據(jù)由瀏覽器110所提供的立體形狀數(shù)據(jù),計(jì)算任意的兩個(gè)點(diǎn)之間的距離。分解圖生成部133根據(jù)由瀏覽器110所提供的立體形狀數(shù)據(jù),生成立體形狀的分解圖。插圖生成部134根據(jù)由瀏覽器110所提供的立體形狀數(shù)據(jù),生成立體形狀的插像。三維顯示用API140為瀏覽器110等的各種處理功能和進(jìn)行三維顯示的顯示處理裝置104之間的接口。具體來(lái)講,三維顯示用API140根據(jù)由瀏覽器110所提供的多邊形等的信息,生成計(jì)算機(jī)100的三維顯示處理要求,使計(jì)算機(jī)100執(zhí)行該三維顯示處理要求。例如,三維顯示用API140將由瀏覽器110所提供的多邊形的端點(diǎn)坐標(biāo)及顏色等的信息和顯示指令一起提交給圖3所示的顯示處理裝置104。于是,顯示處理裝置104進(jìn)行各多邊形的透視投影等,生成表示由多個(gè)多邊形所構(gòu)成的立體形狀的圖像(畫(huà)面圖像)。然后,在規(guī)定周期內(nèi)將在顯示處理裝置104中生成的圖像的數(shù)據(jù)發(fā)送給監(jiān)視器11,并將表示立體形狀的圖像顯示到監(jiān)視器11的畫(huà)面上。作為三維顯示用API140,例如可以采用OpenGL(商標(biāo))。OSAPI150為在OS和其他的處理功能單元之間的接口。具體來(lái)講,OSAPI150啟動(dòng)與由瀏覽器110等所輸出的處理要求相對(duì)應(yīng)的OS的處理功能,使計(jì)算機(jī)100執(zhí)行處理。下面,對(duì)瀏覽器110的內(nèi)部結(jié)構(gòu)進(jìn)行說(shuō)明。瀏覽器110具有應(yīng)用接口111、混合網(wǎng)格API112、VRML數(shù)據(jù)轉(zhuǎn)換部113、CAD數(shù)據(jù)轉(zhuǎn)換部114、用戶接口115、再分割部116、顯示數(shù)據(jù)輸出部117及立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120。應(yīng)用接口111為和瀏覽器應(yīng)用部130之間的接口。具體來(lái)講,應(yīng)用接口111將通過(guò)混合網(wǎng)格API112所接收的立體結(jié)構(gòu)數(shù)據(jù)(模型數(shù)據(jù))提交給瀏覽器應(yīng)用部130內(nèi)的干擾檢查部131等。另外,應(yīng)用接口111將從瀏覽器應(yīng)用部130內(nèi)的干擾檢查部131等所接收的立體結(jié)構(gòu)數(shù)據(jù)提交給混合網(wǎng)格API112?;旌暇W(wǎng)格API112為對(duì)應(yīng)用接口111提供對(duì)立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120的訪問(wèn)環(huán)境的接口。具體來(lái)講,混合網(wǎng)格API112根據(jù)通過(guò)了應(yīng)用接口111的要求,將立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120內(nèi)的混合網(wǎng)格數(shù)據(jù)的一部分(或全部)的數(shù)據(jù)提交給應(yīng)用接口111。另外,混合網(wǎng)格API112將通過(guò)應(yīng)用接口111所接收的數(shù)據(jù)作為混合網(wǎng)格數(shù)據(jù)的一部分(或全部),儲(chǔ)存到立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120內(nèi)。VRML數(shù)據(jù)轉(zhuǎn)換部113將VRML數(shù)據(jù)31轉(zhuǎn)換為混合網(wǎng)格數(shù)據(jù)。通過(guò)該轉(zhuǎn)換,表示立體形狀的數(shù)據(jù)的數(shù)據(jù)容量變小。然后,VRML數(shù)據(jù)轉(zhuǎn)換部113將轉(zhuǎn)換后的混合網(wǎng)格數(shù)據(jù)儲(chǔ)存到立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120內(nèi)。CAD數(shù)據(jù)轉(zhuǎn)換部114將CAD數(shù)據(jù)32轉(zhuǎn)換為混合網(wǎng)格數(shù)據(jù)。通過(guò)該轉(zhuǎn)換,表示立體形狀的數(shù)據(jù)的數(shù)據(jù)容量變小。然后,CAD數(shù)據(jù)轉(zhuǎn)換部114將轉(zhuǎn)換后的混合網(wǎng)格數(shù)據(jù)儲(chǔ)存到立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120內(nèi)。用戶接口115配合OSAPL150,取得使用鍵盤(pán)12及鼠標(biāo)13輸入的信息。然后,用戶接口115響應(yīng)操作輸入,對(duì)瀏覽器110內(nèi)的各構(gòu)成要素發(fā)出處理要求或提交數(shù)據(jù)。例如,用戶接口115將由操作輸入所指定的顯示倍率116a及容許誤差116b提交給再分割部116。另外,用戶接口115在投影顯示對(duì)象的物體的視點(diǎn)和立體形狀的相對(duì)位置的移動(dòng)指示被輸入的情況(在顯示畫(huà)面內(nèi)立體形狀移動(dòng)的情況)下,將正在移動(dòng)的情況通知再分割部116。再分割部116將混合網(wǎng)格數(shù)據(jù)進(jìn)行再分割。即、再分割部116將構(gòu)成由比CAD數(shù)據(jù)32粗糙的結(jié)構(gòu)所表現(xiàn)的混合網(wǎng)格數(shù)據(jù)的面(FACE)進(jìn)行分割,接近原來(lái)的CAD數(shù)據(jù)32的形狀。并且,再分割部116在每次進(jìn)行面的分割時(shí),將分割后的面的信息提交給顯示數(shù)據(jù)輸出部117。另外,再分割部116作為決定混合網(wǎng)格數(shù)據(jù)的面的分割數(shù)的參數(shù),具有顯示倍率116a及容許誤差116b。顯示倍率116a為由混合網(wǎng)格數(shù)據(jù)所定義的立體形狀的畫(huà)面顯示上的顯示倍率。容許誤差116b為在將根據(jù)混合網(wǎng)格數(shù)據(jù)所定義的立體形狀(由曲面所構(gòu)成的形狀)用平面的多邊形來(lái)表示的情況下所發(fā)生的形狀誤差的最大值。再分割部116的顯示倍率116a越大,則多邊形的分割數(shù)越多,顯示倍率116a越小,則多邊形的分割數(shù)越少。另外,再分割部116的容許誤差116b越大,則多邊形的分割數(shù)越少,容許誤差116b越小,則多邊形的分割數(shù)越多。顯示數(shù)據(jù)輸出部117將再分割部116所分割后的多邊形的信息輸出給三維顯示用API140。立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120為存儲(chǔ)顯示對(duì)象的模型(例如汽車)的立體結(jié)構(gòu)(部件的立體形狀的組合)的數(shù)據(jù)的RAM102內(nèi)的存儲(chǔ)區(qū)域。立體結(jié)構(gòu)的數(shù)據(jù)主要是由表示每個(gè)顯示對(duì)象模型的構(gòu)成要素(例如汽車的部件)的立體形狀的混合網(wǎng)格數(shù)據(jù)形成。該混合網(wǎng)格數(shù)據(jù)是由VRML數(shù)據(jù)轉(zhuǎn)換部113及CAD數(shù)據(jù)轉(zhuǎn)換部114所生成。另外,混合網(wǎng)格數(shù)據(jù)也有從HDD103內(nèi)的混合網(wǎng)格文件33中讀取的情況。在混合網(wǎng)格數(shù)據(jù)中可以將每個(gè)構(gòu)成立體形狀的面的形狀信息進(jìn)行定義,將面單位的信息看作為多邊形,按原樣提交給三維顯示用API140來(lái)進(jìn)行畫(huà)面顯示。另外,在混合網(wǎng)格數(shù)據(jù)中包含有分割各面所必需的信息(基底分割數(shù)等)。下面,對(duì)立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120的數(shù)據(jù)結(jié)構(gòu)的詳細(xì)情況進(jìn)行說(shuō)明。圖5為表示立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部的內(nèi)部結(jié)構(gòu)的圖。立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120具有多個(gè)混合網(wǎng)格數(shù)據(jù)200、200a、200b…和物體配置信息300。混合網(wǎng)格數(shù)據(jù)200、200a、200b…為定義了每個(gè)構(gòu)成顯示對(duì)象物的部件(物體)的形狀的數(shù)據(jù)?;旌暇W(wǎng)格數(shù)據(jù)200、200a、200b…也有按照每個(gè)構(gòu)成顯示對(duì)象物的單元被分組的情況。在這里,所謂單元,是指由一個(gè)以上的部件所構(gòu)成的物品。如果將顯示對(duì)象物作為組件(組合部件),則單元為子組件。例如,如果顯示對(duì)象物為汽車,則發(fā)動(dòng)機(jī)及懸掛體等相當(dāng)于單元。另外,一個(gè)單元也有由多個(gè)單元(各單元具有1個(gè)以上的部件)所構(gòu)成的情況。在混合網(wǎng)格數(shù)據(jù)200中包含有物體信息210、點(diǎn)坐標(biāo)數(shù)據(jù)群220及矢量數(shù)據(jù)群230。物體信息210為表示各部件的立體形狀等的數(shù)據(jù)(也包括部件的顏色的信息)。物體信息210的詳細(xì)情況在后面進(jìn)行敘述。點(diǎn)坐標(biāo)數(shù)據(jù)群220為構(gòu)成立體形狀的面的各端點(diǎn)的端點(diǎn)坐標(biāo)數(shù)據(jù)221、222、…、22i、…、22m、22n的集合。在端點(diǎn)坐標(biāo)數(shù)據(jù)221、222、…、22i、…、22m、22n內(nèi)設(shè)定有由x軸-y軸-z軸所表示的三維空間(局部坐標(biāo)系)內(nèi)的各軸方向的坐標(biāo)值。矢量數(shù)據(jù)群230為表示在構(gòu)成立體形狀的面的各端點(diǎn)所定義的法線矢量或切線矢量的矢量數(shù)據(jù)231、232、…、23i、…、23m、23n的集合。矢量數(shù)據(jù)231、232、…、23i、…、23m、23n根據(jù)x軸、y軸、z軸方向的矢量成分來(lái)表示在三維空間(局部坐標(biāo)系)內(nèi)的方向和大小。另外,在本實(shí)施方式中,作為法線矢量所指定的矢量,其所有的長(zhǎng)度為一個(gè)單位矢量。作為切線矢量所指定的矢量,并不限于單位矢量。物體配置信息300為定義了將立體形狀配置到公共坐標(biāo)系(通用坐標(biāo)系)的情況下的配置位置及方向的信息。通過(guò)將與各立體形狀有關(guān)的配置信息進(jìn)行定義,可以將構(gòu)成顯示對(duì)象物的各部件配置到公共坐標(biāo)系內(nèi),生成由多個(gè)立體形狀的組合所形成的顯示對(duì)象物的形狀。下面,對(duì)物體信息的內(nèi)容進(jìn)行詳細(xì)的說(shuō)明。圖6為表示物體信息的數(shù)據(jù)結(jié)構(gòu)的一例的圖。另外,在圖6中的數(shù)據(jù)名的前面所表示的箭形符號(hào)(↑),為表示該數(shù)據(jù)指示其他的數(shù)據(jù)的儲(chǔ)存位置的指針。物體信息210具有物體識(shí)別信息(objiectID)211、最大基底分割數(shù)(MaxDivide)212及多個(gè)面信息(Face1,…,F(xiàn)acei,…,F(xiàn)acen-1,F(xiàn)acen)410、420、430、440。物體識(shí)別信息211為專門(mén)識(shí)別對(duì)每個(gè)構(gòu)成顯示對(duì)象物的部件所作成的物體信息210的識(shí)別信息。最大基底分割數(shù)212為對(duì)構(gòu)成物體信息210的面的各邊所設(shè)定的基底分割數(shù)中的最大值。面信息410、420、430、440為構(gòu)成部件的面的信息。面信息420具有面識(shí)別信息(FaceID)421、面邊數(shù)(nP)422、面屬性(Attr)423、多個(gè)端點(diǎn)信息(Vertex1,Vertex2,Vertexi,…,VertexnP-1,VertexnP)424、425、426、427、428、及循環(huán)指針(↑EOF)429。面識(shí)別信息421為在物體信息210內(nèi)專門(mén)識(shí)別面信息的識(shí)別信息。面邊數(shù)422為構(gòu)成面的邊(直線或曲線)的數(shù)。面屬性423為面的顏色等的屬性信息。端點(diǎn)信息424、425、426、427、428為與面的端點(diǎn)有關(guān)的信息。循環(huán)指針429為指示最前面的端點(diǎn)信息424的位置的指針。通過(guò)由循環(huán)指針429指示最前面的端點(diǎn)信息424,使端點(diǎn)信息424、425、426、427、428構(gòu)成端點(diǎn)的排隊(duì)循環(huán)。根據(jù)連續(xù)的兩個(gè)端點(diǎn)信息來(lái)定義構(gòu)成面的邊。另外,將最后面的端點(diǎn)信息428作為和最前面的端點(diǎn)信息424相連續(xù)的端點(diǎn)信息來(lái)處理。端點(diǎn)信息426具有點(diǎn)坐標(biāo)指針(↑Point)426a、法線矢量指針(↑Normal)426b、切線定義信息(RatioorTangent)426c、基底分割數(shù)(nDevide)426d、及鄰接邊指針(↑MateEdge)426e。點(diǎn)坐標(biāo)指針426a在點(diǎn)坐標(biāo)數(shù)據(jù)群220內(nèi)的點(diǎn)坐標(biāo)數(shù)據(jù)221、222、…、22i、…、22m、22n當(dāng)中,為指示表示在端點(diǎn)的三維空間(局部坐標(biāo)系)內(nèi)的位置的坐標(biāo)數(shù)據(jù)的指針。法線矢量指針426b在矢量數(shù)據(jù)群230內(nèi)的矢量數(shù)據(jù)231、232、…、23i、…、23m、23n當(dāng)中,為指示表示端點(diǎn)的法線矢量的值的矢量數(shù)據(jù)的指針。切線定義信息426c為定義端點(diǎn)的切線矢量的信息。在切線定義信息426c內(nèi)設(shè)定有端點(diǎn)的切線的長(zhǎng)度(Ratio)或指示切線矢量的指針(Tangent)中的任何一方。在根據(jù)法線矢量和邊的兩端的端點(diǎn)的位置可以決定切線矢量的方向的情況(邊向表示法線矢量的方向彎曲的情況)下,作為切線定義信息426c可以設(shè)定切線的長(zhǎng)度。在根據(jù)法線矢量和邊的兩端的端點(diǎn)的位置不可以決定切線矢量的方向的情況(邊向和表示法線矢量的方向不同的方向彎曲的情況)下,作為切線定義信息426c可以設(shè)定對(duì)切線矢量的指針?;追指顢?shù)426d為預(yù)先設(shè)定的邊的分割數(shù)?;追指顢?shù)426d在顯示倍率為1(即不進(jìn)行放大也不進(jìn)行縮小)時(shí),將分割后的誤差設(shè)定為預(yù)先決定的誤差以內(nèi)的值。鄰接邊指針426e為在共有鄰接的面和邊的情況下,指示鄰接的面所共有的邊的信息(表示邊的兩端的兩個(gè)端點(diǎn)信息的最前面的位置)的指針。根據(jù)鄰接邊指針426e,來(lái)定義在將鄰接的面結(jié)合起來(lái)的循環(huán)之間的面彼此之間的邊的供給關(guān)系。此外,在多個(gè)邊的端點(diǎn)信息426中,在點(diǎn)坐標(biāo)指針426a指向相同地址(點(diǎn)坐標(biāo)數(shù)據(jù)的位置)的情況下,表示各邊的端點(diǎn)為共有。另外,在共有多個(gè)邊的端點(diǎn)時(shí),與各個(gè)邊的端點(diǎn)相對(duì)應(yīng)的端點(diǎn)信息426的法線矢量指針426如果指向相同的地址(法線矢量數(shù)據(jù)的位置),則共有各邊的法線矢量。這樣,在本實(shí)施方式的混合網(wǎng)格數(shù)據(jù)200、200a、200b中,在定義端點(diǎn)的循環(huán)和面的循環(huán)的同時(shí),定義邊的端點(diǎn)的共有關(guān)系、法線矢量的共有關(guān)系、邊的共有關(guān)系。這樣,可以定義立體形狀的相位(topology)和幾何(geometry)的信息。在這里,所謂相位,為表示面、棱線、端點(diǎn)(頂點(diǎn))等立體的邊界面的聯(lián)系情況的要素,所謂幾何,為表示曲面、曲線、點(diǎn)等立體的實(shí)際形狀的要素。下面,結(jié)合附圖7、附圖8對(duì)適合立體形狀的物體信息210的具體的例子進(jìn)行說(shuō)明。圖7為表示立體形狀的一例的圖。圖7(A)和圖7(B)為立體形狀的立體圖。圖7(A)和圖7(B)所看的方向?yàn)橄喾吹?。立體形狀500由6個(gè)面511~516構(gòu)成,具有12個(gè)邊521~532、8個(gè)端點(diǎn)541~548。各面511~516的面識(shí)別信息(faceID)為F1~F6。面511為曲面,其他的面512~516為平面。在這里,將對(duì)表示各端點(diǎn)541~548的位置的點(diǎn)坐標(biāo)數(shù)據(jù)的指針(點(diǎn)坐標(biāo)指針)定為P1~P8,將對(duì)表示各端點(diǎn)541~548的法線矢量的矢量數(shù)據(jù)的指針(法線矢量指針)定為N1~N8。另外,在圖7所示的端點(diǎn)541內(nèi),存在有兩個(gè)法線矢量551、552。這時(shí),在表示法線矢量數(shù)據(jù)的記號(hào)后,用括弧來(lái)表示具有法線矢量551、552的面的面識(shí)別信息。即、面516所具有的法線矢量551的法線矢量指針為N1(F6),面511和面513所共有的法線矢量552的法線矢量指針為N1(F1、F3)。下面將這樣的立體形狀500的物體信息的例子進(jìn)行表示。圖8為表示物體信息的具體的一例的圖。在物體信息210a中,包含有物體識(shí)別信息211a、最大基底分割數(shù)212a、及多個(gè)面信息410a、420a、430a、440a、450a、460a。面信息410a為與面識(shí)別信息「F1」的面511有關(guān)的信息。面信息420a為與面識(shí)別信息「F2」的面512有關(guān)的信息。面信息430a為與面識(shí)別信息「F3」的面513有關(guān)的信息。面信息440a為與面識(shí)別信息「F4」的面514有關(guān)的信息。面信息450a為與面識(shí)別信息「F5」的面515有關(guān)的信息。面信息460a為與面識(shí)別信息「F6」的面516有關(guān)的信息。在這里,參照面信息410a,對(duì)數(shù)據(jù)的例子進(jìn)行詳細(xì)地說(shuō)明。面信息410a的面識(shí)別信息(faceID)為「F1」。這樣,可以知道這是與圖7所示的面511有關(guān)的信息。另外,面邊數(shù)(nP)為4。這樣,可以知道這是由4個(gè)邊所形成的面。在面信息(Attr)內(nèi)設(shè)定有顏色信息等。在面信息410a內(nèi),設(shè)定有與4個(gè)端點(diǎn)541~544相對(duì)應(yīng)的端點(diǎn)信息。在圖8的例子中,在端點(diǎn)541的端點(diǎn)信息內(nèi),設(shè)定有點(diǎn)坐標(biāo)指針P1、法線矢量指針N1(F1、F3)、切線的長(zhǎng)度(Ratio)、基底分割數(shù)「0」、及指示面513(面識(shí)別信息F3)的最前面的端點(diǎn)信息(F3-1)的鄰接邊指針。在端點(diǎn)542的端點(diǎn)信息內(nèi),設(shè)定有點(diǎn)坐標(biāo)指針P2、法線矢量指針N2(F1、F3)、切線的長(zhǎng)度(Ratio)、基底分割數(shù)「n0-1」、及指示面514(面識(shí)別信息F4)的第4端點(diǎn)信息(F4-4)的鄰接邊指針。在端點(diǎn)543的端點(diǎn)信息內(nèi),設(shè)定有點(diǎn)坐標(biāo)指針P3、法線矢量指針N3(F1)、切線的長(zhǎng)度(Ratio)、基底分割數(shù)「0」、及指示面515(面識(shí)別信息F5)的第4端點(diǎn)信息(F5-4)的鄰接邊指針。在端點(diǎn)544的端點(diǎn)信息內(nèi),設(shè)定有點(diǎn)坐標(biāo)指針P4、法線矢量指針N4(F1)、切線的長(zhǎng)度(Ratio)、基底分割數(shù)「n0-1」、及指示面516(面識(shí)別信息F6)的最前面的端點(diǎn)信息(F6-1)的鄰接邊指針。循環(huán)指針指示最前面的端點(diǎn)信息。通過(guò)具有以上的功能結(jié)構(gòu)及數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)來(lái)進(jìn)行立體形狀的顯示。下面,對(duì)立體形狀的顯示方法進(jìn)行詳細(xì)的說(shuō)明。圖9為表示立體形狀顯示順序的第1流程圖。下面,根據(jù)步驟編號(hào)來(lái)對(duì)圖9所示的處理進(jìn)行說(shuō)明?!覆襟ES11」計(jì)算機(jī)100根據(jù)來(lái)自用戶的操作輸入等的指示,生成由混合網(wǎng)格數(shù)據(jù)所構(gòu)成的立體形狀數(shù)據(jù)。例如,VRML數(shù)據(jù)轉(zhuǎn)換部113解析由VRML數(shù)據(jù)31所定義的部件的立體形狀,并將每個(gè)部件的立體形狀數(shù)據(jù)轉(zhuǎn)換為混合網(wǎng)格數(shù)據(jù)。另外,CAD數(shù)據(jù)轉(zhuǎn)換部114解析由CAD數(shù)據(jù)32所定義的部件的立體形狀,并將每個(gè)部件的立體形狀數(shù)據(jù)轉(zhuǎn)換為混合網(wǎng)格數(shù)據(jù)。所生成的混合網(wǎng)格數(shù)據(jù)對(duì)減少了由原來(lái)的VRML數(shù)據(jù)31所定義的立體形狀面的數(shù)量的立體形狀進(jìn)行定義。這樣,通過(guò)該處理,數(shù)據(jù)容量被壓縮(數(shù)據(jù)容量減少)。「步驟S12」VRML數(shù)據(jù)轉(zhuǎn)換部113或CAD數(shù)據(jù)轉(zhuǎn)換部114將通過(guò)數(shù)據(jù)轉(zhuǎn)換所生成的混合網(wǎng)格數(shù)據(jù)儲(chǔ)存到內(nèi)部的RAM102內(nèi)的立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120內(nèi)。另外,RAM120所儲(chǔ)存的混合網(wǎng)格數(shù)據(jù),可以寫(xiě)入混合網(wǎng)格文件33內(nèi)。另外,也可以從混合網(wǎng)格文件33中取出混合網(wǎng)格數(shù)據(jù),儲(chǔ)存到RAM102內(nèi)的立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120內(nèi)?!覆襟ES13」用戶接口115根據(jù)來(lái)自用戶的、對(duì)鍵盤(pán)12等的操作輸入,取得畫(huà)面的顯示倍率和容許誤差。然后,用戶接口115將顯示倍率和容許誤差提交給再分割部116。「步驟S14」再分割部116選擇一個(gè)立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120內(nèi)的物體。以下,對(duì)所選擇的物體,進(jìn)行步驟S15~步驟S37的處理?!覆襟ES15」再分割部116從立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120中取出在步驟S14所選擇的物體的混合網(wǎng)格數(shù)據(jù),取得最大基底分割數(shù)?!覆襟ES16」再分割部116根據(jù)畫(huà)面的顯示倍率、容許誤差及最大基底分割數(shù),計(jì)算出實(shí)際分割數(shù)。關(guān)于實(shí)際分割數(shù)的計(jì)算方法,在后面進(jìn)行詳細(xì)敘述?!覆襟ES17」再分割部116判斷有無(wú)分割處理的必要。具體來(lái)講,判斷在步驟S16中所算出的實(shí)際分割數(shù)是否為小于等于1。在實(shí)際分割數(shù)為小于等于1的情況下,判斷為沒(méi)有必要進(jìn)行分割處理。另一方面,在實(shí)際分割數(shù)超過(guò)了1的情況下,判斷為有必要進(jìn)行分割處理。即、最大基底分割數(shù)為單位倍率時(shí)的單位誤差的分割數(shù)最大的邊的基底分割數(shù)。這樣,如果不需要進(jìn)行該邊的分割,則也不需要對(duì)其他邊進(jìn)行分割。在沒(méi)有必要進(jìn)行分割處理的情況下,進(jìn)入到步驟S18的處理。在有必要進(jìn)行分割處理的情況下,進(jìn)入到圖10的步驟S21的處理?!覆襟ES18」再分割部116將立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120所存儲(chǔ)的混合網(wǎng)格數(shù)據(jù)及物體配置信息按原樣發(fā)送到顯示數(shù)據(jù)輸出部117。顯示數(shù)據(jù)輸出部117將混合網(wǎng)格數(shù)據(jù)輸出到三維顯示用API140。即、由于混合網(wǎng)格數(shù)據(jù)可以按原樣作為多邊形的數(shù)據(jù)來(lái)解釋,因而以原來(lái)的數(shù)據(jù)形式輸出到三維顯示用API140,則由少數(shù)的面(由混合網(wǎng)格數(shù)據(jù)所定義的面的數(shù)量)所構(gòu)成的立體形狀41被顯示在監(jiān)視器11的畫(huà)面上。然后,進(jìn)入到步驟S38的處理。這樣,在顯示倍率小的情況下(在畫(huà)面中顯示為很小的情況)下,可以顯示簡(jiǎn)單結(jié)構(gòu)的立體形狀,進(jìn)行高速的畫(huà)面顯示。另外,即使在容許誤差較大的情況下,也可以顯示簡(jiǎn)單結(jié)構(gòu)的立體形狀,進(jìn)行高速的畫(huà)面顯示。圖10為表示立體形狀顯示順序的第2流程圖。下面,根據(jù)步驟編號(hào)對(duì)圖10所示的處理進(jìn)行說(shuō)明?!覆襟ES21」再分割部116進(jìn)行立體形狀的分割處理所必需的參數(shù)等的初始化處理?!覆襟ES22」再分割部116從被存儲(chǔ)在立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120中的混合網(wǎng)格數(shù)據(jù)中選擇出一個(gè)面信息?!覆襟ES23」再分割部116判斷視點(diǎn)(假設(shè)攝像機(jī))和立體形狀(在步驟S22中所選擇的面)的相對(duì)位置是否在變化。即、判斷在所顯示的畫(huà)面內(nèi)立體形狀是否在移動(dòng)。在相對(duì)位置發(fā)生變化的情況下,進(jìn)入到步驟S29的處理。在相對(duì)位置沒(méi)有發(fā)生變化的情況下,進(jìn)入到步驟S24的處理。另外,在本實(shí)施方式中,視點(diǎn)和立體形狀的相對(duì)位置根據(jù)來(lái)自用戶的操作輸入(視點(diǎn)的移動(dòng)指示及視點(diǎn)的方向(視軸)的變更指示等)而進(jìn)行變化。「步驟S24」再分割部116選擇一個(gè)由所選擇的面信息所定義的邊(端點(diǎn)信息的列)。「步驟S25」再分割部116計(jì)算出所選擇的邊的實(shí)際分割數(shù)。這是將所選擇的邊的基底分割數(shù)n0對(duì)一個(gè)畫(huà)面內(nèi)所顯示的所有的立體形狀乘以共同的值(Scale/Tol)而得到的數(shù)值?!覆襟ES26」再分割部116將在步驟S25中所計(jì)算出的實(shí)際分割數(shù)提升為2的冪。通過(guò)將邊的分割數(shù)定為2的冪,可以用簡(jiǎn)單的分割模型來(lái)進(jìn)行以后的3角形多邊形的分割。「步驟S27」再分割部116判斷是否決定了在步驟S22中所選擇的面信息的所有的邊的分割數(shù)。在所有的邊的分割數(shù)決定了的情況下,進(jìn)入到步驟S28的處理。如果有未處理的邊,則進(jìn)入到步驟S24的處理。「步驟S28」再分割部116判斷是否有必要在所有的邊進(jìn)行分割(分割數(shù)是否為小于等于1)。如果沒(méi)有必要在所有的邊進(jìn)行分割,則進(jìn)入到步驟S29的處理。如果有必要進(jìn)行分割的邊即使為一個(gè),則也要進(jìn)入到圖11的步驟S31的處理?!覆襟ES29」再分割部116將與在立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120所存儲(chǔ)的混合網(wǎng)格數(shù)據(jù)的步驟S22中所選擇的面有關(guān)的信息按原樣發(fā)送到顯示數(shù)據(jù)輸出部117。顯示數(shù)據(jù)輸出部117將混合網(wǎng)格數(shù)據(jù)輸出到三維顯示用API140。于是,在步驟S22中所選擇的面40不進(jìn)行再分割被顯示到監(jiān)視器11中。然后,進(jìn)入到圖11的步驟S37的處理。這樣,在畫(huà)面中立體形狀移動(dòng)的情況下,將各面不進(jìn)行分割進(jìn)行畫(huà)面顯示。其結(jié)果,有少數(shù)的面(由混合網(wǎng)格數(shù)據(jù)所定義的面的數(shù)量)所構(gòu)成的立體形狀被顯示到監(jiān)視器11的畫(huà)面中。即,可以用較少的處理高速地進(jìn)行立體形狀的畫(huà)面顯示。圖11為表示立體形狀顯示順序的第3流程圖。下面,根據(jù)步驟編號(hào)對(duì)圖11所示的處理進(jìn)行說(shuō)明?!覆襟ES31」再分割部116判斷在圖10的步驟S22中所選擇的面信息為3邊形還是4邊形。在3邊形的情況下,進(jìn)入到步驟S32的處理。在4邊形的情況下,進(jìn)入到步驟S33的處理「步驟S32」再分割部116進(jìn)行3邊形分割模型決定處理。該處理為根據(jù)各邊的實(shí)際分割數(shù)將3邊形決定為只是一個(gè)階段的分割模型的處理。即、3邊形的分割處理被分為多階段來(lái)進(jìn)行。在步驟S32中,進(jìn)行該1個(gè)階段的分割模型的決定。另外,3邊形分割處理的詳細(xì)情況,在后面進(jìn)行敘述。然后,進(jìn)入到步驟S34的處理。「步驟S33」再分割部116進(jìn)行4邊形分割模型決定處理。該處理為根據(jù)各邊的實(shí)際分割數(shù)、將4邊形決定為只是一個(gè)階段的分割模型的處理。即、4邊形的分割處理被分為多階段來(lái)進(jìn)行。在步驟S33中,進(jìn)行該1個(gè)階段的分割模型的決定。該處理的詳細(xì)情況,在后面進(jìn)行敘述?!覆襟ES34」再分割部116決定各邊的參數(shù)3次式?!覆襟ES35」再分割部116根據(jù)在步驟S32、S33所決定的分割模型和在步驟S34所決定的參數(shù)3次式,將構(gòu)成立體形狀的各面進(jìn)行再分割。被再分割的結(jié)果,在不能進(jìn)行更進(jìn)一步的再分割的情況下,進(jìn)入步驟S36。在可以進(jìn)行再分割的情況下,再分割部116循環(huán)調(diào)出步驟S31~S36的處理。在被循環(huán)調(diào)出時(shí)的步驟S32、S33中,進(jìn)行被分為多階段所進(jìn)行的再分割處理的下一個(gè)的1個(gè)階段的分割模型決定處理。這樣,通過(guò)循環(huán)調(diào)出步驟S31~S36的處理,在步驟S22所選擇的面被階段地詳細(xì)劃分?!覆襟ES36」再分割部116將再分割后的立體形狀數(shù)據(jù)發(fā)送到顯示數(shù)據(jù)輸出部117。顯示數(shù)據(jù)輸出部117將立體形狀數(shù)據(jù)發(fā)送到三維顯示用API140。這樣,適合再分割的分割數(shù)的精確度的立體形狀42~44被顯示到監(jiān)視器11的畫(huà)面上。另外,在被選擇的面被分割為不能進(jìn)一步被分割的狀態(tài)時(shí),實(shí)施步驟S36的處理。并且,在每次生成最小單位的3邊形時(shí),將該3邊形的顯示用的多邊形數(shù)據(jù)發(fā)送到顯示數(shù)據(jù)輸出部117。為此,再分割部116沒(méi)有必要保存立體形狀全體的多邊形數(shù)據(jù)。「步驟S37」再分割部116判斷是否分割了所有的面(FACE)。在分割了所有的面的情況下,進(jìn)入到步驟S38的處理。在有未分割的面的情況下,進(jìn)入到步驟S22的處理?!覆襟ES38」再分割部116判斷是否結(jié)束了所有物體的畫(huà)面顯示。另外,在通過(guò)用戶的操作輸入指示了瀏覽器110結(jié)束的情況下,也可以判斷畫(huà)面顯示結(jié)束。在畫(huà)面顯示結(jié)束的情況下,結(jié)束處理,在繼續(xù)進(jìn)行其他的物體的混合網(wǎng)格數(shù)據(jù)的畫(huà)面顯示的情況下,進(jìn)入到圖9的步驟S14的處理。如上所述,將放大倍率、容許誤差及與視點(diǎn)的相對(duì)位置適合的精確的立體形狀顯示到畫(huà)面上。并且,根據(jù)定義了較粗糙的形狀的面的混合網(wǎng)格數(shù)據(jù),可以顯示精確度很高(誤差很少)的立體形狀。因此,可以減少存儲(chǔ)立體形狀數(shù)據(jù)的存儲(chǔ)區(qū)域。下面,對(duì)在圖9~圖11中所說(shuō)明的每個(gè)步驟的處理的詳細(xì)的內(nèi)容進(jìn)行說(shuō)明。對(duì)圖9的步驟S16和圖10的步驟S25所示的實(shí)際分割數(shù)的計(jì)算處理的詳細(xì)情況進(jìn)行說(shuō)明。在本實(shí)施方式中,根據(jù)參數(shù)3次式F(t)(0≤t≤1)來(lái)定義表示構(gòu)成立體形狀的面的形狀的邊。如果采用參數(shù)3次式,則很容易算出邊的中間點(diǎn)。即、通過(guò)將t=1/2代入?yún)?shù)3次式,可以很容易地求出中間點(diǎn)的坐標(biāo)(不給予CPU負(fù)荷)。在這里,如果通過(guò)參數(shù)3次式所得出的邊為曲線,則在表示立體形狀時(shí)將該邊分割為多個(gè)線段(近似折線(折線))。這時(shí),邊的分割數(shù)越多,則被分割的線段的形狀越接近原來(lái)的曲線(誤差變小)。但是,當(dāng)分割數(shù)多時(shí),顯示多邊形數(shù)增大,處理負(fù)荷變大。因此,有必要考慮被再現(xiàn)的立體形狀的精確度和處理負(fù)荷的平衡,對(duì)計(jì)算機(jī)100設(shè)定可容許的誤差(容許誤差(Tol)),決定適合該容許誤差的恰當(dāng)?shù)姆指顢?shù)(在不超過(guò)誤差的范圍內(nèi)的最小的分割數(shù))。一般來(lái)講,要計(jì)算出在被設(shè)定的容許誤差內(nèi)最小的分割數(shù),需要進(jìn)行負(fù)荷很大的計(jì)算。例如,半徑R的圓的分割數(shù)n可以根據(jù)n=π/cos-1(1-Tol/R)…(1)來(lái)求得。為了方便,將該公式(1)稱為原公式。在這里,π為圓周率。在原公式(1)中所采用的反余弦(cos-1),為CPU負(fù)荷大的函數(shù)。因此,在本實(shí)施方式中,采用了高速進(jìn)行分割數(shù)的計(jì)算的近似公式。該近似公式如下所示nπ×(R/2Tol)…(2)在這里,在公式(2)內(nèi)作為變量包含有半徑R。邊的形狀并不限于單純的圓弧,也有自由曲線的情況。因此,當(dāng)按照原樣采用公式(2),則在決定實(shí)際分割數(shù)之前,有必要計(jì)算出定義邊的曲線的曲率(半徑R)。因此,在本實(shí)施方式中,不采用半徑R、而采用預(yù)先所計(jì)算的單位倍率和單位誤差的基底分割數(shù)(實(shí)數(shù))來(lái)計(jì)算分割數(shù)n。圖12為表示空間曲線的折線近似的一例的圖。在圖12中,將空間曲線51分割為4個(gè)線段52~55。將此時(shí)的誤差定為tol0。這樣,在折線(彎曲線)近似的情況下的分割數(shù)n(折線的Vector根數(shù)),根據(jù)誤差tol0來(lái)判斷任意的空間曲線51(在圖12的例子中,分割數(shù)n=4)。將該已知的分割數(shù)n定為基底分割數(shù)n0。并且,將此時(shí)的空間曲線51的尺寸定為基準(zhǔn)尺寸。另外,將計(jì)算出基底分割數(shù)n0時(shí)的誤差定為基準(zhǔn)誤差tol0。用戶作為顯示倍率指定用基準(zhǔn)尺寸的幾倍的大小來(lái)顯示空間曲線51。將由用戶任意所指定的顯示倍率定為Scale時(shí),將空間曲線51進(jìn)行了Scale倍的曲線的分割數(shù)N1用N1(Scale)×n0…(3)來(lái)表示。另外,用戶可以根據(jù)誤差來(lái)指定將空間曲線51顯示到畫(huà)面時(shí)的精確度。將基準(zhǔn)誤差tol0變更為誤差tol1時(shí)的分割數(shù)N2用N2(tol0/tol1)×n0…(4)來(lái)表示。這樣,在根據(jù)基準(zhǔn)尺寸(Scale=1)將誤差定為基準(zhǔn)誤差(tol0)內(nèi)的基底分割數(shù)n0在已知該空間曲線51的情況下,在Scale倍該空間曲線51,容許誤差為T(mén)ol(=tol1/tol0)進(jìn)行折線近似的情況下的曲線的實(shí)際的分割數(shù)(實(shí)際分割數(shù))N用N(Scale/Tol)n0…(5)來(lái)表示。容許誤差Tol用與基準(zhǔn)誤差tol0的比來(lái)表示誤差的大小。在這里,n0為不依賴于顯示倍率及容許誤差的曲線固有的特性值。因此,將n0稱為基底分割數(shù),可以通過(guò)預(yù)先計(jì)算來(lái)高速地進(jìn)行顯示倍率及容許誤差被變更的情況下的分割數(shù)計(jì)算。另外,由于(Scale/Tol)的值對(duì)三維空間內(nèi)的所有的顯示對(duì)象為1個(gè)值,因而沒(méi)有必要計(jì)算每個(gè)構(gòu)成顯示對(duì)象物(例如汽車)的立體形狀(例如部件)的邊(空間曲線)。即、根據(jù)一次乘法可以求得適合對(duì)一個(gè)邊的顯示倍率和容許誤差的實(shí)際分割數(shù)N。在這里,基底分割數(shù)n0為正的實(shí)數(shù),實(shí)際分割數(shù)N為將小數(shù)點(diǎn)以下的數(shù)提升為1的自然數(shù)。還有,在本實(shí)施方式中,為了簡(jiǎn)化分割模型處理,實(shí)際分割數(shù)定為2的冪。如果將實(shí)際分割數(shù)定為2的冪,則通過(guò)反復(fù)邊的兩個(gè)分割,可以進(jìn)行適合實(shí)際分割數(shù)的邊的等分。另外,將直線定為基底分割數(shù)n0=0。這樣,既不會(huì)對(duì)顯示倍率(Scale)產(chǎn)生影響,也不會(huì)對(duì)容許誤差(tol)產(chǎn)生影響,實(shí)際分割數(shù)N經(jīng)常為0。這意味著不進(jìn)行分割。下面,對(duì)圖形的分割例進(jìn)行說(shuō)明。圖13為表示圖形的分割的一例的圖。在圖13中,作為簡(jiǎn)單的圖形的例子,表示了圓60。在這里,一邊改變圓60的半徑R,一邊采用原公式(1)來(lái)求得分割數(shù)n。將所求得的分割數(shù)作為適合圓60的半徑R的基底分割數(shù)n0。這時(shí),將基準(zhǔn)誤差tol0定為1mm。在該情況下,半徑R的變化和基底分割數(shù)n0的關(guān)系成為以下的表所示的那樣。如該表所示,半徑R越大,則基底分割數(shù)n0也越大。另外,由于不能計(jì)算半徑R在不足0.5mm情況下的反余弦,因而不能進(jìn)行計(jì)算。根據(jù)這樣所得到基底分割數(shù)n0來(lái)計(jì)算適合顯示倍率和容許誤差的實(shí)際分割數(shù)N。例如,在將半徑10mm的圓放大100倍(Scale=100)、以容許誤差1mm(Tol=1)來(lái)近似的情況下,采用基底分割數(shù)n0=6.97來(lái)計(jì)算實(shí)際分割數(shù)。將各數(shù)值設(shè)定為公式(5)的變量,要解近似值,則為N(100)×6.97=69.7…(6)將實(shí)際分割數(shù)N的小數(shù)點(diǎn)以下的數(shù)作為1加上,則為70。在這里,將顯示倍率放大了100倍時(shí)的分割數(shù),半徑應(yīng)和100倍的圓的分割數(shù)相同。在該例中,在根據(jù)原公式(1)求得了具有半徑10mm的100倍的半徑1000mm的圓的分割數(shù)的情況下,為70.24。將該值的小數(shù)點(diǎn)以下的數(shù)提升為1,則為71。因此,可以十分精確地進(jìn)行近似。下面,以1mm的誤差來(lái)分割原公式(1)不能計(jì)算的半徑0.1mm的圓的情況下的分割數(shù),由于也應(yīng)可以將半徑10mm的圓作為1/100倍來(lái)顯示,因而可以求得n0(r=0.1)1/(100)×6.97=0.697…(7)。下面,對(duì)圖11的步驟S32、S33所示的分割模型的決定處理進(jìn)行詳細(xì)的說(shuō)明。首先,對(duì)3邊形分割模型決定處理進(jìn)行詳細(xì)的說(shuō)明。在本實(shí)施方式中,由于所有的邊的分割數(shù)為2的冪,因而所有的3邊形可以通過(guò)4個(gè)種類的分割模型的組合來(lái)進(jìn)行分割。圖14為表示3邊形的分割模型的種類的圖。在圖14中,通過(guò)分割圖表示了適合3邊的分割數(shù)N的相互關(guān)系的分割模型。第1個(gè)3邊形分割模型為3邊的分割數(shù)處于N、N×a1、N×a2(N為大于1的2的冪)的關(guān)系的情況。在這里,a1、a2為2的冪。即、為用同樣的分割數(shù)N可以分割3邊的情況。在該情況下,如分割圖所示,根據(jù)分割數(shù)N來(lái)求得用參數(shù)3次式所表現(xiàn)的各邊的分割點(diǎn)的坐標(biāo)和分割點(diǎn)的法線矢量,并求得3邊形的中間分割線。并且,根據(jù)中間分割線將原來(lái)的3邊形分割為多個(gè)3邊形。第2個(gè)3邊形分割模型為3邊的分割數(shù)處于1、N、N×a3(N為大于1的2的冪)的關(guān)系的情況。在這里,a3為2的冪。即、為用同樣的分割數(shù)N可以分割分割數(shù)大于1的兩邊的情況。在該情況下,如分割圖所示,根據(jù)分割數(shù)N、對(duì)用參數(shù)3次式所表現(xiàn)的應(yīng)分割的兩邊,求得分割點(diǎn)的坐標(biāo)和分割點(diǎn)的法線矢量,并求得3邊形的中間分割線。并且,根據(jù)中間分割線將原來(lái)的3邊形分割為多個(gè)3邊形。第3個(gè)3邊形分割模型為3邊的分割數(shù)處于1、1、N(N為大于1的2的冪)的關(guān)系的情況。即、只分割1邊的情況。在該情況下,如分割圖所示,根據(jù)分割數(shù)N、對(duì)用參數(shù)3次數(shù)所表現(xiàn)的應(yīng)分割的1邊,求得分割點(diǎn)的坐標(biāo)和分割點(diǎn)的法線矢量,并求得3邊形的中間分割線。并且,根據(jù)中間分割線將原來(lái)的3邊形分割為多個(gè)3邊形。第4個(gè)3邊形分割模型為3邊的分割數(shù)全是1的情況。在該情況下,不分割原來(lái)的3邊形。通過(guò)階段地反復(fù)以上的4個(gè)模式(由于在第4個(gè)3邊形分割模型中不進(jìn)行分割,因而實(shí)際上為3個(gè)模式)的分割,根據(jù)各邊的實(shí)際分割數(shù)來(lái)分割3邊形。另外,在分割3邊形時(shí)所采用的優(yōu)先順序?yàn)榈?分割模型、第2分割模型、第3分割模型的順序。圖15為表示3邊形分割模型決定處理的順序的流程圖。該處理為圖11的步驟S32的處理。另外,在圖11中,在步驟S35中,通過(guò)循環(huán)地實(shí)施再分割處理來(lái)進(jìn)行多階段的分割(在第1階段中進(jìn)行一個(gè)分割模型的分割),但在圖15中,為了容易清楚地說(shuō)明分割方法,用一系列的流程圖來(lái)表示多階段的分割處理。下面,根據(jù)步驟編號(hào)來(lái)對(duì)圖15所示的處理進(jìn)行說(shuō)明。再分割部116按照實(shí)際分割數(shù)從小到大的順序,對(duì)邊進(jìn)行排序(排序)。在這里,按照實(shí)際分割數(shù)小的順序,將各邊的分割數(shù)定為i、j、k(i≤j≤k)。再分割部116判斷i是否大于1。在i大于1的情況下,進(jìn)入到步驟S53的處理。在i小于等于1的情況下,進(jìn)入到步驟S55的處理。再分割部116根據(jù)3邊形的第1分割模型、以(i、i、i)來(lái)分割各邊。再分割部116更新i、j、k的值。具體來(lái)講,將j/i的值重新設(shè)定為j。將k/i的值重新設(shè)定為k。將1設(shè)定為i。再分割部116判斷j是否大于1。在j大于1的情況下,進(jìn)入到步驟S56的處理。在j小于等于1的情況下,進(jìn)入到步驟S58的處理。再分割部116根據(jù)3邊形的第2分割模型、以(1、j、i)來(lái)分割各邊。再分割部116更新j、k的值。具體來(lái)講,將k/j的值重新設(shè)定為k。將1設(shè)定為j。再分割部116判斷k是否大于1。在k大于1的情況下,進(jìn)入到步驟S59的處理。在k小于等于1的情況下,進(jìn)入到圖11的步驟S34的處理。再分割部116根據(jù)3邊形的第3分割模型、以(1、1、k)來(lái)分割各邊。然后,進(jìn)入到圖11的步驟S34的處理。如上所述,3邊形的面的分割模型可以根據(jù)各邊的實(shí)際分割數(shù)來(lái)決定。在決定了分割模型后,通過(guò)圖11的步驟S34、S35將3邊形再分割。例如,考慮在對(duì)3邊形的各邊計(jì)算了公式(5)的實(shí)際分割數(shù)時(shí)、分別得到了(5、21、12)的結(jié)果的情況。這些值為被提升到2的冪(8、32、16)。并且,當(dāng)按照值的從小到大的順序?qū)⒏鬟叺姆指顢?shù)進(jìn)行分類時(shí),成為i=8、j=16、k=32(8、16、32)。首先,由于i大于1,因而根據(jù)第1分割模型來(lái)分割。于是,各邊被分割為8份。這樣,i、j、k的值被更新,成為(1、2、4)。接下來(lái),由于j大于1,因而根據(jù)第2分割模型來(lái)分割。于是,與j和k相對(duì)應(yīng)的邊被分割為2份。這樣,將各3邊形進(jìn)一步分割為多個(gè)3邊形。并將j、k的值更新,成為(1、1、2)。最后,由于k大于1,因而根據(jù)第3分割模型來(lái)分割。于是,與k相對(duì)應(yīng)的邊被分割為2份。這樣,將各3邊形分割為多個(gè)3邊形。通過(guò)這樣,可以將3邊形進(jìn)行分割。下面,對(duì)4邊形的分割模型決定處理進(jìn)行詳細(xì)地說(shuō)明。在本實(shí)施方式中,由于所有的邊的分割數(shù)為2的冪,因而可以根據(jù)4個(gè)種類的分割模型的組合來(lái)分割所有的4邊形。圖16為表示4邊形的分割模型的種類的圖。在圖16中,根據(jù)分割圖表示了適合4邊的分割數(shù)N的相互關(guān)系的分割模型。第1分割模型在將相對(duì)的邊分為一組時(shí),是4邊的分割數(shù)處于(M、M×b1)、(N、N×b2)(M、N為大于1的2的冪)的關(guān)系的情況(括弧內(nèi)的兩個(gè)值為相互為組的兩個(gè)邊的分割數(shù))。在這里,b1、b2為2的冪。即、為可以用同樣的分割數(shù)對(duì)相對(duì)的邊進(jìn)行分割的情況。在該情況下,如分割圖所示,用M將相對(duì)的邊的一方的組進(jìn)行分割,用N將其他的組進(jìn)行分割。其結(jié)果,將原來(lái)的4邊形分割為多個(gè)4邊形。第2分割模型在將相對(duì)的邊分為一組時(shí),是4邊的分割數(shù)處于(1、M)、(1、N)(M、N為大于1的2的冪)的關(guān)系的情況。在這里,設(shè)定為具有M≤N的關(guān)系。即,是將相對(duì)的邊的一方的邊進(jìn)行分割的情況。在該情況下,如分割圖所示,4邊當(dāng)中的相鄰的兩邊為分割對(duì)象。在這里,將對(duì)角線從分割對(duì)象的兩個(gè)邊所共有的端點(diǎn)引到與該端點(diǎn)相對(duì)的端點(diǎn)。通過(guò)對(duì)角線將4邊形分割為兩個(gè)3邊形。通過(guò)將對(duì)角線的分割數(shù)定為N,可以根據(jù)3邊形的分割模型將所生成的3個(gè)3邊形進(jìn)行分割。具體來(lái)講,將所生成的3邊形分為第3模型和第4模型。第3分割模型為將3邊形的兩個(gè)邊分別分割為N、M的情況。通過(guò)3邊形的第2分割模型和第3分割模型的組合可以將該3邊形進(jìn)行分割。第4分割模型為將3邊形的兩個(gè)邊分別分割為N、N的情況。通過(guò)3邊形的第2分割模型可以將該3邊形進(jìn)行分割。根據(jù)以上的分割模型,可以將4邊形進(jìn)行分割。圖17為表示4邊形分割模型決定處理的順序的流程圖。該處理為圖11的步驟S33的處理。另外,在圖11中,在步驟S35中,通過(guò)循環(huán)地實(shí)施再分割處理來(lái)進(jìn)行多階段的分割(在第1階段中進(jìn)行一個(gè)分割模型的分割),但在圖17中,為了容易明白地說(shuō)明分割方法,用一系列的流程圖來(lái)表示多階段的分割處理。下面,根據(jù)步驟編號(hào)來(lái)對(duì)圖17所示的處理進(jìn)行說(shuō)明。再分割部116將對(duì)邊作為組。并且,在組之間將成為相同的組的兩個(gè)邊的分割數(shù)的比(大的一方的分割數(shù)/小的一方的分割數(shù))進(jìn)行比較。然后,按照從分割數(shù)的比為小的一方的順序,將各組的邊進(jìn)行排列。在相同組中的彼此的邊中,按照分割數(shù)從小到大的順序進(jìn)行排列。這時(shí),在配置順序上,將所排列的各邊的分割數(shù)定為i、j、k、l。分割數(shù)i的邊和j的邊構(gòu)成一組,分割數(shù)k的邊和l的邊構(gòu)成一組。這時(shí),為i≤j、k≤l、j/i≤l/k的關(guān)系。再分割部116判斷i和k的至少一方是否大于1。如果有任何一方大于1,則進(jìn)入到步驟S63的處理。在兩方都小于等于1的情況下,進(jìn)入到步驟S65的處理。再分割部116根據(jù)第1個(gè)4邊形分割模型來(lái)分割4邊形。即、以i來(lái)分割分割數(shù)i、j的邊。以k來(lái)分割分割數(shù)k、l的邊。再分割部116更新i、j、k、l的值。具體來(lái)講,將j/i的值重新設(shè)定為j。將l/k的值重新設(shè)定為1。將1設(shè)定為k。再分割部116根據(jù)第2個(gè)4邊形分割模型,將由步驟S63的分割所生成的4邊形分割為兩份。這樣,由各4邊形生成兩個(gè)3邊形。再分割部116選擇一個(gè)在步驟S65中所生成的3邊形。再分割部116對(duì)在步驟S66中所選擇的3邊形進(jìn)行3邊形分割模型決定處理。例如,所選擇的3邊形如果是依據(jù)與4邊形有關(guān)的第3分割模型,則該3邊形根據(jù)3邊形的第2分割模型和第3分割模型來(lái)決定分割模型。另外,所選擇的3邊形如果是依據(jù)與4邊形有關(guān)的第4分割模型,則該3邊形根據(jù)3邊形的第2分割模型來(lái)決定分割模型。再分割部116判斷是否分割了在步驟S65中所生成的所有的3邊形。在結(jié)束了所有的3邊形的分割模型決定處理的情況下,進(jìn)入到圖11的步驟S34的處理。如果有未處理的3邊形,則進(jìn)入到步驟S66的處理。如以上那樣,根據(jù)各邊的實(shí)際分割數(shù),可以決定4邊形的面的分割模型。在分割模型被決定后,根據(jù)圖11的步驟S34、S35,將4邊形再分割。例如,考慮在對(duì)3邊形的各邊計(jì)算出了公式(5)的實(shí)際分割數(shù)時(shí),分別得到了(6、2、12、7)的結(jié)果的情況。在這里,分割數(shù)6的邊和分割數(shù)2的邊為相對(duì)的邊,分割數(shù)12的邊和分割數(shù)7的邊為相對(duì)的邊。這些值被提升為2的冪,成為(8、2、16、8)。并且,當(dāng)以分割數(shù)的比為小的一方的組為先、按分割數(shù)從小到大的順序?qū)⒏鹘M內(nèi)的各邊進(jìn)行分類時(shí),成為i=8、j=16、k=2、l=8(8、16、2、8)。首先,由于i和k大于1,因而根據(jù)4邊形的第1分割模型來(lái)進(jìn)行分割。于是,分割數(shù)i的邊和j的邊被分割為8份。同樣,分割數(shù)k的邊和j的邊被分割為兩份。這樣,i、j、k、l的值被更新,成為(1、2、1、4)。接下來(lái),根據(jù)第2分割模型,用對(duì)角線將由第1分割模型的分割所生成的4邊形分割為兩份。對(duì)對(duì)角線設(shè)定和l的值相同的分割數(shù)。這樣,被分割為(1、j、l)的分割模型的3邊形和(1、l、l)的分割模型的3邊形。即、生成(1、2、4)的分割模型的3邊形和(1、4、4)的分割模型的3邊形。關(guān)于分割數(shù)(1、2、4)的3邊形,由于j(=2)大于1,因而用3邊形的第2分割模型來(lái)進(jìn)行分割。于是,和j、l相對(duì)應(yīng)的邊被分割為兩份。這樣,將3邊形進(jìn)一步分割為多個(gè)3邊形。并且,j、l的值被更新,成為(1、1、2)。并且,由于l大于1,因而用3邊形的第3分割模型來(lái)進(jìn)行分割。于是,和l相對(duì)應(yīng)的邊被分割為兩份。關(guān)于分割數(shù)(1、4、4)的3邊形,由于l(=4)大于1,因而用3邊形的第2分割模型來(lái)進(jìn)行分割。于是,和l相對(duì)應(yīng)的邊被分割為4份。這樣,將3邊形進(jìn)一步分割為多個(gè)3邊形。如上述那樣,將4邊形分割為多個(gè)3邊形。在分割邊的情況下,根據(jù)對(duì)該邊的端點(diǎn)所設(shè)定的法線矢量來(lái)決定參數(shù)3次式。并且,通過(guò)對(duì)定義了邊的曲線的參數(shù)3次式的參數(shù)t(0≤t≤1)設(shè)定0.5,來(lái)求得該邊的中心點(diǎn)。另外,參數(shù)3次式的決定法,因立體形狀的面彼此之間的鄰接關(guān)系而不同?!さ?鄰接關(guān)系為鄰接的面彼此之間平滑連接的情況。在該情況下,有從法線矢量經(jīng)過(guò)切線矢量來(lái)求得的方法和從法線矢量假定兩次微分矢量來(lái)求得的方法?!さ?鄰接關(guān)系為在鄰接的面彼此之間所共有的邊曲折的情況?!さ?鄰接關(guān)系為有必要強(qiáng)制性地指示邊的形狀的情況。下面,對(duì)適合面彼此之間的鄰接關(guān)系的參數(shù)3次式的決定方法進(jìn)行說(shuō)明。圖18為表示鄰接的面彼此之間平滑連接的立體形狀的一例的圖。如圖所示,立體形狀71具有相互鄰接的面F1a、F1b。鄰接的面F1a、F1b共有邊S1(t),并且邊S1(t)的兩端點(diǎn)的法線矢量N10、N11也共有鄰接的面F1a、F1b。在該情況下,判斷該兩個(gè)鄰接的面F1a、F1b在邊S1(t)中為平滑連接。在這樣的情況下,可以用以下的兩個(gè)方法中的任何一種方法來(lái)決定的參數(shù)3次式。首先,對(duì)從法線矢量經(jīng)過(guò)切線矢量來(lái)求得參數(shù)3次式的方法進(jìn)行說(shuō)明。在該方法中,設(shè)定兩端點(diǎn)的坐標(biāo)P10、P11、兩端點(diǎn)的法線矢量N10、N11、及切線的長(zhǎng)度r10、r11,來(lái)決定切線矢量T10、T11。另外,在立體結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)部120內(nèi)的端點(diǎn)信息中定義端點(diǎn)坐標(biāo)、法線矢量及切線的長(zhǎng)度。在該情況下,切線矢量T10與法線矢量N10相垂直,為從坐標(biāo)P10面向最接近坐標(biāo)P11的方向的長(zhǎng)度r10的矢量。用公式來(lái)表示,則如下所示。T10=r10·N10×(P11-P10)×N10/|N10×(P11-P10)×N10|…(8)T11=r11·N11×(P11-P10)×N11/|N11×(P11-P10)×N11|…(9)在公式(8)、公式(9)中,“×”表示矢量的矢積,“·”表示標(biāo)量(r0及r1)的乘法運(yùn)算。接下來(lái),采用兩端點(diǎn)的坐標(biāo)(P10、P11)及兩端點(diǎn)的切線矢量(T10、T11),決定滿足以下4個(gè)矢量公式的參數(shù)3次式S1(t)。S1(t=0)=P10S1(t=1)=P11dS1/dt(t=0)=T10dS1/dt(t=1)=T11…(10)這樣,通過(guò)決定在端點(diǎn)的條件,可以決定三維區(qū)間內(nèi)的曲線。例如,可以計(jì)算出佛格森(Ferguson)曲線。接下來(lái),對(duì)從法線矢量假定2次微分矢量來(lái)求得參數(shù)3次式的方法進(jìn)行說(shuō)明。圖19為表示采用2次微分矢量所決定的參數(shù)3次式的一例的圖。如圖19所示,可以進(jìn)行假定(由于不是弧長(zhǎng)中間變量的2次微分,因而不一致)兩端點(diǎn)的2次微分矢量W20、W21和兩端點(diǎn)的法線矢量N20、N21方向近似(也包括正負(fù)相反的情況)。這時(shí),將法線矢量N20、N21乘以了矢量的大小r20、r21的矢量作為2次微分矢量W20、W21。另外,由于法線矢量N20、N21總是面向面的表面,因而在給予矢量的大小r20、r21時(shí),根據(jù)需要,通過(guò)定為負(fù)值使其與2次微分方向相吻合。例如,如果曲線在立體形狀的表面方向?yàn)橥範(fàn)?,則將矢量的大小r20、r21定為負(fù)值。相反,如果曲線在立體形狀的表面方向?yàn)榘紶?,則將矢量的大小r20、r21定為正值。另外,在圖6所示的端點(diǎn)信息426的切線定義信息426c內(nèi)預(yù)先設(shè)定矢量的大小r20、r21。2次微分矢量W20、W21分別和法線矢量N20、N21相平行,長(zhǎng)度和面向與r20、r21所示的矢量近似。將其用公式表示,則如下所示。W20=r20·N20…(11)W21=r21·N21…(12)采用兩端點(diǎn)的坐標(biāo)P10、P11及兩端點(diǎn)的2次微分矢量W20、W21,根據(jù)以下的4個(gè)矢量公式來(lái)決定參數(shù)3次式S2(t)。S2(t=0)=P20S2(t=1)=P21d2S2/dt2(t=0)=W20d2S2/dt2(t=1)=W21…(13)由此來(lái)決定滿足了這樣的條件的參數(shù)3次式S2(t)。下面,對(duì)在鄰接的面彼此之間所共有的邊為曲折的情況的參數(shù)3次式的決定方法進(jìn)行說(shuō)明。圖20為表示在鄰接的面彼此之間所共有的邊為曲折的立體形狀的一例的圖。圖20所示的立體形狀72的面F3a和面F3b通過(guò)邊S3(t)相鄰接。在面F3a的法線矢量N30a、N31a內(nèi),不具有使邊S3(t)彎曲的成分。另一方面,處于鄰接關(guān)系的面F3b的法線矢量N30b、N31b具有使邊S3(t)彎曲的成分。在象這樣由鄰接的面F3a和面F3b所共有的邊S3(t)的兩端的法線矢量不被兩個(gè)面F3a和面F3b所共有的情況下,判斷為該鄰接的面F3a和面F3b所共有的邊S3(t)為彎曲的。在該情況下,采用4根法線矢量來(lái)決定切線矢量的方向。切線矢量T30為法線矢量N30a、N30b的矢積的方向,長(zhǎng)度為r30的矢量。同樣,切線矢量T31為法線矢量N31a、N31b的矢積的方向,長(zhǎng)度為r31的矢量。另外,長(zhǎng)度r30為端點(diǎn)30所定義的切線的長(zhǎng)度,長(zhǎng)度r31為端點(diǎn)31所定義的切線的長(zhǎng)度。將其用公式表示,則如下所示。T30=r30·N30a×N30b/|N30a×N30b|…(14)T31=r31·N31a×N31b/|N31a×N31b|…(15)下面,采用兩端點(diǎn)的坐標(biāo)(P30、P31)及兩端點(diǎn)的切線矢量(T30、T31),來(lái)決定滿足了以下4個(gè)矢量的參數(shù)3次式S3(t)。S3(t=0)=P30S3(t=1)=P31dS3/dt(t=0)=T30dS3/dt(t=1)=T31…(16)[有必要強(qiáng)制性地指示邊的形狀的情況]下面,對(duì)有必要強(qiáng)制性地指示邊的形狀的情況進(jìn)行說(shuō)明。圖21為表示強(qiáng)制性地指示邊的形狀的立體形狀的一例的圖。圖21所示的立體形狀73的面F4a和面F4b相鄰接。鄰接的面F4a、F4b共有邊S4(t),并且,邊S4(t)的兩端點(diǎn)的法線矢量N40、N41也被鄰接的面F4a和面F4b所共有。在該情況下,判斷這兩個(gè)鄰接的面F4a、面F4b在邊S4(t)中為平滑連接,在法線矢量N40、N41中不具有使邊S4(t)彎曲的成分。即使在這樣的情況下,如果有必要強(qiáng)制地使邊S4(t)彎曲,則直接設(shè)定切線矢量T40、T41。采用兩端點(diǎn)的坐標(biāo)P40、P41及兩端點(diǎn)的切線矢量T40、T41,來(lái)決定滿足了以下的公式的參數(shù)3次式S4(t)。S4(t=0)=P40S4(t=1)=P41dS4/dt(t=0)=T40dS4/dt(t=1)=T41…(17)如以上所述,可以決定構(gòu)成立體形狀的邊的參數(shù)3次式。當(dāng)決定了定義了邊的曲線的參數(shù)3次式時(shí),首先根據(jù)所決定的分割模型將邊進(jìn)行分割。在被分割的邊的端點(diǎn),有必要重新定義端點(diǎn)的位置和法線矢量。下面,對(duì)中間點(diǎn)的坐標(biāo)(中間坐標(biāo))和法線矢量的計(jì)算方法進(jìn)行說(shuō)明。參照附圖22對(duì)求得中間坐標(biāo)的方法進(jìn)行說(shuō)明。圖22為表示分割對(duì)象的面的一例的圖。在圖22的例中,被分割的面81為3邊形。面81是由具有端點(diǎn)P50、P51的邊81a、具有端點(diǎn)P51、P52的邊81b、具有端點(diǎn)P52、P50的邊81c構(gòu)成。在端點(diǎn)P50的法線矢量為V50、切線矢量為N50。在端點(diǎn)P51的法線矢量為V51、切線矢量為N51。在根據(jù)參數(shù)3次式的決定法來(lái)決定從端點(diǎn)P50與端點(diǎn)P51相接的邊81a的參數(shù)3次式S5(t)的情況下,通過(guò)決定參數(shù)3次式S5(t)的t值(如果為中點(diǎn),則t=0.5)來(lái)決定為邊81a上的任意的點(diǎn)Pc。下面,參照附圖22對(duì)求得中間點(diǎn)的法線矢量的方法進(jìn)行說(shuō)明。作為任意的中間點(diǎn)的法線矢量的求得方法,可以考慮以下的4種決定方法。第1種方法為假設(shè)中間點(diǎn)的法線矢量Nc從N50線性變化為N51的方法。該計(jì)算方式如下所示。Nc=(1-t)N50+(t)N51…(18)第2種方法為假設(shè)中間點(diǎn)的法線矢量Nc從N50線性變化為N51、與中間點(diǎn)的法線矢量Vc正交的方法。該計(jì)算方式如下所示。Nc=Vc×(N50+N51)×Vc…(19)第3種方法為假設(shè)中間點(diǎn)的法線矢量Nc從N50方向旋轉(zhuǎn)到N51方向的方法。該計(jì)算方式如下所示。Nc=Vc×N50×N51…(20)但N50×N51=0的情況下的計(jì)算公式如下所示。Nc=Vc×N50×Vc…(21)第4種方法為假設(shè)中間點(diǎn)的法線矢量Nc從N0方向向N1方向3次變化的方法。該計(jì)算方式如下所示。Nc=-2(N51-N50)t3+3(N51-N50)t2+N50…(22)將在公式(18)~(22)所得到的矢量Nc在單位矢量?jī)?nèi)進(jìn)行歸一化的矢量,成為中間點(diǎn)的法線矢量。在將3邊形進(jìn)行分割時(shí),在原來(lái)的3邊形內(nèi)生成新的邊。這時(shí),有必要計(jì)算所生成的邊的曲線式。圖23為表示包含被分割的3邊形的立體形狀的一例的圖。在圖23中,表示有圓柱的立體形狀82。立體形狀82的側(cè)面由多個(gè)3邊形構(gòu)成。側(cè)面所包含的一個(gè)3邊形82a,具有端點(diǎn)P60、P61、P62。在混合網(wǎng)格數(shù)據(jù)中被定義的3邊形82a,例如在圖像顯示時(shí)被分割為多個(gè)3邊形。在這里,采用邊82ba上的中間點(diǎn)的坐標(biāo)P70和法線矢量N70、及邊82bb上的中間點(diǎn)的坐標(biāo)P71和法線矢量N71,可以求得連接兩個(gè)邊82ba、82bb的中間點(diǎn)的82ca的參數(shù)3次式。在這時(shí),作為參數(shù)3次式的決定方法,例如根據(jù)鄰接的面彼此之間為平滑連接的情況下的決定法來(lái)求得。坐標(biāo)P70的切線的長(zhǎng)度r70和坐標(biāo)P71的切線的長(zhǎng)度r71,可根據(jù)以下的公式來(lái)求出。r70=r60×|P71-P70|/|P61-P60|…(23)r71=r61×|P71-P70|/|P61-P60|…(24)另外,r60為在端點(diǎn)P60的切線的長(zhǎng)度,r61為在端點(diǎn)P61的切線的長(zhǎng)度。也有其他的3邊形的任意中間曲線的計(jì)算方法。圖24為表示被分割的3邊形的一例的圖。關(guān)于圖24的3邊形83,P80、P81、P82表示3邊形的頂點(diǎn)(構(gòu)成3邊形的邊的端點(diǎn))。N80、N81、N82表示P80、P81、P82的法線矢量。T81、T82表示將P81和P82作為端點(diǎn)的邊的各端點(diǎn)的切線矢量。U81、U80表示將P81和P80作為端點(diǎn)的邊的各端點(diǎn)的切線矢量。V82、V80表示將P82和P80作為端點(diǎn)的邊的各端點(diǎn)的切線矢量。在這里,作為在內(nèi)部所生成的信息,有e80、e81、e82。e80、e81、e82表示形成三角形的邊,由參數(shù)3次式所表示。在這里,根據(jù)以下的方法求得內(nèi)部中間曲線e83。使e82由P80面向P81、求得只進(jìn)了u(0<u<1)的點(diǎn)P83。求得P83的e82的切線矢量U83。求得P83的法線矢量N83。求得在P83中U83、N83的方向關(guān)系和P81的U81、N81、T81的關(guān)系相同的切線矢量T83。和求得切線矢量T83的方法同樣、求得和P82的V82、N82、T82的關(guān)系相同的切線矢量T84。根據(jù)切線矢量T83、T84、求得e83的參數(shù)3次式。這樣,可以求得為分割3邊形的邊界的邊的參數(shù)3次式。下面,對(duì)4邊形的內(nèi)部中間坐標(biāo)和法線矢量的求出方法進(jìn)行說(shuō)明。首先,參照附圖25對(duì)4邊形的任意中間坐標(biāo)的求出方法進(jìn)行說(shuō)明。圖25為表示被分割的4邊形的一例的圖。在這里,將表示4邊形84的公式定為S9(u、v)。當(dāng)定為Coon’s曲面時(shí),如圖25所示,采用各端點(diǎn)的坐標(biāo)P90~P93和u方向矢量U90~U93、v方向矢量V90~V93,用以下的矢量公式可以表示4邊形84。S9(u=0、v=0)=P90S9(u=0、v=1)=P91S9(u=1、v=0)=P92S9(u=1、v=1)=P93…(25)S9/u(u=0、v=0)=U90S9/u(u=0、v=1)=U91S9/u(u=1、v=0)=U92S9/u(u=1、v=1)=U93…(26)S9/v(u=0、v=0)=V90S9/v(u=0、v=1)=V91S9/v(u=1、v=0)=V92S9/v(u=1、v=1)=V93…(27)通過(guò)將這些公式聯(lián)立并解開(kāi),來(lái)求得S9(u、v),根據(jù)P=S9(u=u0、v=v0),給予(u=u0、v=v0)所表示的任意點(diǎn)P的坐標(biāo)P。下面,對(duì)4邊形的任意中間點(diǎn)的法線矢量的決定方法進(jìn)行說(shuō)明。根據(jù)u方向切線矢量S9/u(u=u0、v=v0)和v方向切線矢量S9/v(u=u0、v=v0)的矢積,給予(u=u0、v=v0)所表示的任意點(diǎn)P的法線矢量。通過(guò)進(jìn)行以上的處理,可以進(jìn)行基于混合網(wǎng)格數(shù)據(jù)的立體形狀的畫(huà)面顯示。下面,參照附圖26~30對(duì)立體形狀的畫(huà)面顯示例進(jìn)行說(shuō)明。在本實(shí)施方式中,也可以只顯示構(gòu)成立體形狀的邊的畫(huà)面。通過(guò)只顯示邊的畫(huà)面,從視覺(jué)上來(lái)講可以容易地在畫(huà)面上認(rèn)識(shí)立體形狀的結(jié)構(gòu)。作為例子,對(duì)用三維CAD作成球體的立體形狀的情況進(jìn)行說(shuō)明。表示球體的CAD數(shù)據(jù),通過(guò)CAD數(shù)據(jù)轉(zhuǎn)換部114被轉(zhuǎn)換為混合網(wǎng)格數(shù)據(jù)。當(dāng)將球體轉(zhuǎn)換為混合網(wǎng)格數(shù)據(jù)時(shí),例如用由8個(gè)3邊形所構(gòu)成的8面體來(lái)表現(xiàn)。圖26為表示顯示了由混合網(wǎng)格數(shù)據(jù)所定義的立體形狀的邊的畫(huà)面的一例的圖。在圖26的畫(huà)面內(nèi),顯示了由混合網(wǎng)格數(shù)據(jù)將8面體的立體形狀定義時(shí)的立體形狀的邊(只顯示線狀畫(huà)面)。根據(jù)任意的精度將定義了這樣的結(jié)構(gòu)的混合網(wǎng)格數(shù)據(jù)進(jìn)行再分割,可以將立體形狀顯示到畫(huà)面上。例如,在將立體形狀在畫(huà)面內(nèi)進(jìn)行旋轉(zhuǎn)的情況下、及顯示倍率在顯示很小的情況下,不進(jìn)行混合網(wǎng)格數(shù)據(jù)的再分割將立體形狀進(jìn)行顯示。圖27為表示將混合網(wǎng)格數(shù)據(jù)所定義的立體形狀進(jìn)行顯示的畫(huà)面的一例的圖。在該畫(huà)面中,將圖26所示的結(jié)構(gòu)的混合網(wǎng)格數(shù)據(jù)按原樣(不進(jìn)行再分割)顯示時(shí)的立體形狀進(jìn)行顯示。在圖27的例子中,由于不進(jìn)行再分割,因而以8個(gè)面來(lái)顯示立體形狀。這樣,可以高速地將立體形狀進(jìn)行畫(huà)面顯示。另一方面,在提高顯示倍率、將靜止的立體形狀進(jìn)行畫(huà)面顯示的情況下,進(jìn)行混合網(wǎng)格數(shù)據(jù)的再分割。通過(guò)再分割,以大量的面再現(xiàn)表示球體的立體形狀。圖28為表示將混合網(wǎng)格數(shù)據(jù)進(jìn)行再分割時(shí)的立體形狀的邊進(jìn)行顯示的畫(huà)面的一例的圖。在圖28所示的畫(huà)面中,通過(guò)進(jìn)行混合網(wǎng)格數(shù)據(jù)的再分割,將由多個(gè)面所構(gòu)成的球體進(jìn)行顯示(只顯示線狀畫(huà)面)。如果也根據(jù)圖28所示的結(jié)構(gòu)所分割的數(shù)據(jù)進(jìn)行立體形狀的顯示,則可以將和由三維CAD所作成時(shí)的球體同樣美觀的立體形狀進(jìn)行顯示。圖29為表示將混合網(wǎng)格數(shù)據(jù)進(jìn)行再分割時(shí)的立體形狀進(jìn)行顯示的畫(huà)面的一例的圖。如圖29所示,在畫(huà)面中,通過(guò)進(jìn)行再分割,可以將看起來(lái)幾乎是球體的立體形狀進(jìn)行顯示。混合網(wǎng)格數(shù)據(jù)和原來(lái)CAD數(shù)據(jù)相比,由于數(shù)據(jù)容量很少,因而即使在將原來(lái)的立體形狀詳細(xì)地再現(xiàn)的情況下,即使HDD103等的存儲(chǔ)容量小,也沒(méi)有問(wèn)題。另外,由于通過(guò)再分割每生成多邊形數(shù)據(jù)時(shí),提交給三維顯示用API140,因而沒(méi)有必要將再分割后的多邊形數(shù)據(jù)儲(chǔ)存到RAM102內(nèi),可以降低RAM102的使用量。即,即使是存儲(chǔ)容量很小的RAM102,也可以顯示CAD所作成的立體形狀。另外,在將立體形狀進(jìn)行畫(huà)面顯示時(shí),采用各面的端點(diǎn)所定義的法線矢量,可以進(jìn)行陰影顯示。通過(guò)進(jìn)行陰影顯示,構(gòu)成立體形狀的1個(gè)面即使用平面多邊形來(lái)顯示,也可以平滑地表現(xiàn)各面的邊界。另外,在本實(shí)施方式中,由于作為法線矢量采用了單位矢量,因而對(duì)一般的陰影顯示可以直接使用。另外,由于顯示立體形狀所必需的資源及處理負(fù)荷很少也不影響顯示,因而即使為非常復(fù)雜的立體形狀,也可以容易地進(jìn)行畫(huà)面顯示。例如,在通過(guò)網(wǎng)絡(luò)的合作系統(tǒng)上進(jìn)行采用了CAD的汽車的設(shè)計(jì),各共同操作者也可以通過(guò)網(wǎng)絡(luò)參照表示汽車的結(jié)構(gòu)的立體形狀。圖30為表示汽車的立體形狀的顯示畫(huà)面的一例的圖。在圖30所示的畫(huà)面中,顯示了汽車的發(fā)動(dòng)機(jī)室的結(jié)構(gòu)。即使象這樣復(fù)雜結(jié)構(gòu)的立體形狀,在各計(jì)算機(jī)上也可以很容易地進(jìn)行顯示。這樣,可以以較少的處理負(fù)荷將復(fù)雜的立體形狀進(jìn)行畫(huà)面顯示。另外,如圖10所示,在本實(shí)施方式中,是判斷在每個(gè)面有無(wú)視點(diǎn)和立體形狀的相對(duì)位置的變化,但也可以判斷每個(gè)立體形狀(物體)有無(wú)相對(duì)位置的變化。在該情況下,例如可以取代步驟S23的處理而進(jìn)行判斷在步驟S14和S15之間有無(wú)視點(diǎn)和立體形狀的基準(zhǔn)位置的相對(duì)位置的變化的處理。如果相對(duì)位置發(fā)生變化,則進(jìn)入到步驟S18的處理,如果相對(duì)位置沒(méi)有變化,則進(jìn)入到步驟S15的處理。另外,在假設(shè)在三維空間內(nèi)只有視點(diǎn)可能移動(dòng)的情況等下,也可以取代判斷有無(wú)視點(diǎn)和立體形狀的基準(zhǔn)位置的相對(duì)位置的變化而判斷有無(wú)視點(diǎn)的移動(dòng)。在該情況下,例如可取代步驟S23的處理而進(jìn)行判斷在步驟S13和S14之間有無(wú)視點(diǎn)的移動(dòng)的處理。如果視點(diǎn)移動(dòng),則對(duì)所有的物體進(jìn)行原數(shù)據(jù)顯示處理(步驟S18),結(jié)束處理。如果視點(diǎn)沒(méi)有移動(dòng),則進(jìn)入到步驟S14的處理。這樣,通過(guò)在顯示畫(huà)面中將判斷物體是否移動(dòng)的處理簡(jiǎn)單化,可以達(dá)到處理的高速化。另外,上述的處理功能可以通過(guò)計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在該情況下,提供記述了計(jì)算機(jī)應(yīng)有的功能的處理內(nèi)容的程序。通過(guò)在計(jì)算機(jī)上執(zhí)行該程序,可以在計(jì)算機(jī)上實(shí)現(xiàn)上述處理功能。記述了處理內(nèi)容的程序可以存儲(chǔ)到計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)內(nèi)。作為計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)有磁存儲(chǔ)裝置、光盤(pán)、光磁存儲(chǔ)介質(zhì)、半導(dǎo)體存儲(chǔ)器等。在磁存儲(chǔ)裝置中,有硬盤(pán)裝置(HDD)、軟盤(pán)(FD)、磁帶等。在光盤(pán)中有DVD(DigitaVersatileDisc)、DVD-RAM(RandomAccessMemory)、CD-ROM(CompactDiscReadOnlyMemory)、CD-R(Recordable)/RW(ReWritable)等。在光磁存儲(chǔ)介質(zhì)中,有MO(Magneto-Opticaldisc)等。在使程序流通的情況下,例如,將存儲(chǔ)了該程序的DVD、CD-ROM等可移動(dòng)型存儲(chǔ)介質(zhì)進(jìn)行銷售。另外,也可以將程序儲(chǔ)存到服務(wù)器計(jì)算機(jī)的存儲(chǔ)裝置內(nèi),通過(guò)網(wǎng)絡(luò)將該程序從服務(wù)器計(jì)算機(jī)轉(zhuǎn)送到其他的計(jì)算機(jī)上。執(zhí)行程序的計(jì)算機(jī)例如將儲(chǔ)存到可移動(dòng)型存儲(chǔ)介質(zhì)內(nèi)的程序或由服務(wù)器計(jì)算機(jī)轉(zhuǎn)送來(lái)的程序儲(chǔ)存到自己的存儲(chǔ)裝置內(nèi)。然后,計(jì)算機(jī)從自己的存儲(chǔ)裝置中讀出程序,執(zhí)行依據(jù)程序的處理。另外,計(jì)算機(jī)也可以從可移動(dòng)型存儲(chǔ)介質(zhì)中直接讀出程序,并執(zhí)行依據(jù)該程序的處理。另外,計(jì)算機(jī)也可以在每當(dāng)由服務(wù)器計(jì)算機(jī)將程序轉(zhuǎn)送來(lái)時(shí),逐步執(zhí)行依據(jù)了所接收的程序的處理。如上所述,在本發(fā)明中,根據(jù)立體形狀數(shù)據(jù)預(yù)先所定義的面的頂點(diǎn)的位置和頂點(diǎn)的法線方向來(lái)決定曲面形狀,由于通過(guò)分割成沿該曲面形狀的多個(gè)面來(lái)顯示立體形狀,因而可以根據(jù)較少的數(shù)據(jù)量的立體形狀數(shù)據(jù)來(lái)顯示高精度的立體形狀。以上所述只是表示了本發(fā)明的原理。本
技術(shù)領(lǐng)域:
的技術(shù)人員可以進(jìn)行各種變形和變更,本發(fā)明不限于以上說(shuō)明的標(biāo)準(zhǔn)的結(jié)構(gòu)及應(yīng)用例,所對(duì)應(yīng)的所有的變形例及等同實(shí)施方式均被認(rèn)為是屬于本發(fā)明的權(quán)利保護(hù)范圍內(nèi)。權(quán)利要求1.一種立體形狀顯示程序,用于對(duì)物體的形狀進(jìn)行立體顯示,其特征在于,使計(jì)算機(jī)執(zhí)行如下的處理,即根據(jù)在至少一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù),決定構(gòu)成所述立體形狀的所述面的分割模型,并且根據(jù)在所述立體形狀數(shù)據(jù)中被預(yù)先定義的所述面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定所述面的曲面形狀,根據(jù)所決定的所述分割模型來(lái)分割被決定的所述曲面形狀,生成沿所述曲面形狀的多個(gè)面,顯示由生成的所述多個(gè)面構(gòu)成的立體形狀。2.根據(jù)權(quán)利要求1所述的立體形狀顯示程序,其特征在于,在決定所述分割模型時(shí),決定構(gòu)成所述面的每個(gè)邊的分割數(shù),根據(jù)所述每個(gè)邊的分割數(shù)來(lái)決定所述面的分割模型。3.根據(jù)權(quán)利要求2所述的立體形狀顯示程序,其特征在于,在決定所述分割模型時(shí),根據(jù)與顯示精度相關(guān)的操作輸入來(lái)決定構(gòu)成所述面的所述邊的分割數(shù)。4.根據(jù)權(quán)利要求3所述的立體形狀顯示程序,其特征在于,與所述顯示精度相關(guān)的操作輸入為顯示倍率的指定。5.根據(jù)權(quán)利要求3所述的立體形狀顯示程序,其特征在于,與所述顯示精度相關(guān)的操作輸入為容許誤差的指定。6.根據(jù)權(quán)利要求3所述的立體形狀顯示程序,其特征在于,與所述顯示精度相關(guān)的操作輸入為顯示畫(huà)面內(nèi)的立體形狀的動(dòng)作指示。7.根據(jù)權(quán)利要求3所述的立體形狀顯示程序,其特征在于,在決定所述分割模型時(shí),通過(guò)根據(jù)與所述顯示精度相關(guān)的操作輸入增減對(duì)構(gòu)成所述面的所述邊預(yù)先設(shè)定的基底分割數(shù),來(lái)決定所述邊的分割數(shù)。8.根據(jù)權(quán)利要求7所述的立體形狀顯示程序,其特征在于,在決定所述分割模型時(shí),決定適應(yīng)由操作輸入所指定的顯示倍率和容許誤差的系數(shù),根據(jù)用該系數(shù)乘以所述基底分割數(shù)所得出的值來(lái)決定所述邊的分割數(shù)。9.根據(jù)權(quán)利要求2所述的立體形狀顯示程序,其特征在于在決定所述分割模型時(shí),從2的冪的值中決定所述邊的分割數(shù)。10.根據(jù)權(quán)利要求1所述的立體形狀顯示程序,其特征在于在決定所述曲面形狀時(shí),根據(jù)對(duì)所述面的頂點(diǎn)預(yù)先設(shè)定的切線矢量來(lái)決定構(gòu)成所述面的邊的曲線。11.根據(jù)權(quán)利要求1所述的立體形狀顯示程序,其特征在于在顯示所述立體形狀時(shí),判斷在顯示畫(huà)面內(nèi)的該立體形狀有無(wú)移動(dòng),在有移動(dòng)的情況下,顯示由所述立體形狀數(shù)據(jù)預(yù)先定義的立體形狀。12.一種立體形狀顯示方法,用于對(duì)物體的形狀進(jìn)行立體顯示,其特征在于,使計(jì)算機(jī)執(zhí)行如下的處理,即根據(jù)在至少一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù),決定構(gòu)成所述立體形狀的所述面的分割模型,并且根據(jù)在所述立體形狀數(shù)據(jù)中被預(yù)先定義的所述面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定所述面的曲面形狀,根據(jù)所決定的所述分割模型來(lái)分割被決定的所述曲面形狀,生成沿所述曲面形狀的多個(gè)面,顯示由生成的所述多個(gè)面構(gòu)成的立體形狀。13.一種立體形狀顯示裝置,將物體的形狀進(jìn)行立體顯示,其特征在于,具有根據(jù)在至少一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù),決定構(gòu)成所述立體形狀的所述面的分割模型的分割模型決定單元;根據(jù)在所述立體形狀數(shù)據(jù)中被預(yù)先定義的所述面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定所述面的曲面形狀的曲面形狀決定單元;根據(jù)由所述分割模型決定單元所決定的所述分割模型來(lái)分割由所述曲面形狀決定單元所決定的所述曲面形狀,生成沿所述曲面形狀的多個(gè)面的面生成單元;和顯示由利用所述面生成單元生成的所述多個(gè)面構(gòu)成的立體形狀的顯示單元。14.一種記錄有立體形狀顯示程序的計(jì)算機(jī)可讀取的記錄介質(zhì),記錄有用于將物體的形狀進(jìn)行立體顯示的立體形狀顯示程序,其特征在于,使計(jì)算機(jī)執(zhí)行如下的處理,即根據(jù)在至少一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù),決定構(gòu)成所述立體形狀的所述面的分割模型,并且根據(jù)在所述立體形狀數(shù)據(jù)中被預(yù)先定義的所述面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定所述面的曲面形狀,根據(jù)所決定的所述分割模型來(lái)分割被決定的所述曲面形狀,生成沿所述曲面形狀的多個(gè)面,顯示由生成的所述多個(gè)面構(gòu)成的立體形狀。全文摘要一種立體形狀顯示程序、立體形狀顯示方法及立體形狀顯示裝置??苫诒粔嚎s的數(shù)據(jù)高速地顯示立體形狀。根據(jù)至少在一個(gè)面上定義了立體形狀的立體形狀數(shù)據(jù)(2),決定構(gòu)成立體形狀的面的分割模型(步驟S2)。同時(shí),根據(jù)立體形狀數(shù)據(jù)(2)預(yù)先所定義的面的頂點(diǎn)的位置和該頂點(diǎn)的法線方向,決定面的曲面形狀(步驟S3)。然后,根據(jù)所決定的分割模型來(lái)分割被決定的曲面形狀,生成沿曲面形狀的多個(gè)面(步驟S4)。然后將由所生成的多個(gè)面構(gòu)成的立體形狀進(jìn)行顯示(步驟S5)。文檔編號(hào)G06T17/00GK1618087SQ0282792公開(kāi)日2005年5月18日申請(qǐng)日期2002年2月6日優(yōu)先權(quán)日2002年2月6日發(fā)明者森博己申請(qǐng)人:Dipro株式會(huì)社