JP4437504B2 - 3次元表示プログラム、3次元表示装置、および3次元表示方法 - Google Patents
3次元表示プログラム、3次元表示装置、および3次元表示方法 Download PDFInfo
- Publication number
- JP4437504B2 JP4437504B2 JP2007296447A JP2007296447A JP4437504B2 JP 4437504 B2 JP4437504 B2 JP 4437504B2 JP 2007296447 A JP2007296447 A JP 2007296447A JP 2007296447 A JP2007296447 A JP 2007296447A JP 4437504 B2 JP4437504 B2 JP 4437504B2
- Authority
- JP
- Japan
- Prior art keywords
- subdivision
- pattern
- division
- display
- divisions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Description
まず、本発明の実施の形態に適用される発明の概要について説明し、その後、本発明の実施の形態の具体的な内容を説明する。
図2は、本発明の実施の形態のシステム構成図である。図2に示すように、ネットワーク10を介して複数のコンピュータ100,100a,100bが接続されている。ネットワーク10は、たとえば社内LAN(Local Area Network)やインターネットである。
図3は、本発明の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。コンピュータ100は、CPU101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
図4は、本発明の実施の形態の機能を示す機能ブロック図である。コンピュータ100は、ビューア110、ビューアアプリケーション部130、3次元表示用API(Application Program Interface)140、OSAPI150を有している。
ビューア110は、アプリケーションインタフェース111、ハイブリッドメッシュAPI112、VRMLデータ変換部113、CADデータ変換部114、ユーザインタフェース115、細分割部116、表示データ出力部117、および、立体構造データ記憶部120を有している。
立体構造データ記憶部120は、表示対象のモデル(たとえば、自動車)の立体構造(部品の立体形状の組み合わせ)のデータを記憶するためのRAM102内の記憶領域である。立体構造のデータは、主に、表示対象モデルの構成要素(たとえば、自動車の部品)毎の立体形状を示すハイブリッドメッシュデータで形成される。このハイブリッドメッシュデータは、VRMLデータ変換部113やCADデータ変換部114によって生成される。また、ハイブリッドメッシュデータは、HDD103内のハイブリッドメッシュファイル33から読み込まれる場合もある。
図5は、立体構造データ記憶部の内部構成を示す図である。立体構造データ記憶部120は、複数のハイブリッドメッシュデータ200,200a,200b,・・・とオブジェクト配置情報300とを有している。ハイブリッドメッシュデータ200,200a,200b,・・・は、表示対象物を構成する部品(オブジェクト)毎の形状を定義したデータである。ハイブリッドメッシュデータ200,200a,200b,・・・は、表示対象物を構成するユニット毎にグループ化されている場合もある。ここで、ユニットとは、1以上の部品で構成される物品である。表示対象物をアセンブリ(組み立て部品)とすれば、ユニットはサブアセンブリである。たとえば、表示対象物が自動車であれば、エンジンやサスペンションなどがユニットに相当する。なお、1つのユニットがさらに複数のユニット(各ユニットが1以上の部品を有する)で構成される場合もある。
図6は、オブジェクト情報のデータ構造例を示す図である。なお、図6中のデータ名の前に示されている矢印(↑)は、そのデータが他のデータの格納位置を指すポインタであることを示している。
また、複数の辺の端点が共有されるとき、それぞれの辺の端点に対応する端点情報426の法線ベクトルポインタ426bが同じアドレス(法線ベクトルデータの位置)を示していれば、各辺の法線ベクトルが共有されている。
図7は、立体形状の一例を示す図である。図7(A)と図7(B)とは立体形状の斜視図である。図7(A)と図7(B)とは、見る方向が逆である。
図8は、オブジェクト情報の具体例を示す図である。オブジェクト情報210aには、オブジェクト識別情報211a、最大基底分割数212a、および複数のフェース情報410a,420a,430a,440a,450a,460aが含まれている。フェース情報410aは、フェース識別情報「F1」の面511に関する情報である。フェース情報420aは、フェース識別情報「F2」の面512に関する情報である。フェース情報430aは、フェース識別情報「F3」の面513に関する情報である。フェース情報440aは、フェース識別情報「F4」の面514に関する情報である。フェース情報450aは、フェース識別情報「F5」の面515に関する情報である。フェース情報460aは、フェース識別情報「F6」の面516に関する情報である。
図9は、立体形状表示手順を示す第1のフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS17]細分割部116は、分割処理の必要の有無を判断する。具体的には、ステップS16で算出した実分割数が1以下か否かを判断する。実分割数が1以下の場合、分割処理の必要がないと判断される。一方、実分割数が1を超えた場合には、分割処理の必要があると判断する。
[ステップS18]細分割部116は、立体構造データ記憶部120に記憶されたハイブリッドメッシュデータやオブジェクト配置情報を、そのまま表示データ出力部117に送信する。表示データ出力部117は、ハイブリッドメッシュデータを3次元表示用API140へ出力する。すなわち、ハイブリッドメッシュデータは、そのままポリゴンモデルのデータとして解釈することができるため、そのままのデータ形式で3次元表示用API140に出力すれば、少ない数の面(ハイブリッドメッシュデータで定義されている面の数)で構成された立体形状41がモニタ11の画面に表示される。その後、処理がステップS38に進められる。
[ステップS21]細分割部116は、立体形状の分割処理に必要なパラメータ等の初期化処理を行う。
[ステップS23]細分割部116は、視点(仮想カメラ)と立体形状(ステップS22で選択した面)との相対位置が変化しているか否かを判断する。すなわち、表示される画面内で立体形状が動くか否かを判断する。相対位置が変化している場合には、処理がステップS29に進められる。相対位置が変化していない場合には、処理がステップS24に進められる。なお、本実施の形態では、視点と立体形状との相対位置は、ユーザからの操作入力(視点の移動指示や、視点の向き(視軸)の変更指示など)に応じて変化する。
[ステップS25]細分割部116は、選択した辺の実分割数を算出する。これは、選択された辺の基底分割数n0に、1つの画面内に表示される全ての立体形状に対して共通の値√(Scale/Tol)を乗算したものである。
[ステップS31]細分割部116は、図10のステップS22で選択したフェース情報が3辺形か4辺形かを判断する。3辺形の場合には、処理がステップS32に進められる。4辺形の場合には、処理がステップS33に進められる。
[ステップS35]細分割部116は、ステップS32、S33で決定した分割パターンとステップS34で決定したパラメータ3次式とに従って、立体形状を構成する各面を細分割する。細分割された結果が、これ以上細分割できない場合、ステップS36へ進む。
[実分割数の算出]
図9のステップS16と図10のステップS25とに示した実分割数の算出処理の詳細について説明する。
n=π/cos-1(1−Tol/R)
・・・(1)
で求めることができる。この式(1)を、便宜上真の式と呼ぶこととする。ここで、πは円周率である。真の式(1)で用いられているアークコサイン(cos-1)は、CPU負荷の大きな関数である。その為、本実施の形態では、分割数の計算を高速にする近似式を用いた。その近似式は以下の通りである。
n≒π×√(R/2Tol)
・・・(2)
ここで、式(2)には、変数として半径Rが含まれている。辺の形は単純な円弧に限らず、自由曲線の場合もある。そのため、式(2)をそのまま用いると、実分割数の決定前に、辺を定義する曲線の曲率(半径R)を算出する必要が生じる。そこで、本実施の形態では、予め計算された単位倍率と単位誤差における基底分割数(実数)を用い、半径Rを用いずに分割数nを算出する。
このように、任意の空間曲線51を誤差tol0でポリライン(折れ線)近似した場合における分割数n(ポリラインのVector本数)が判っているものとする(図12の例では分割数n=4)。この既知の分割数nを、基底分割数n0とする。そして、このときの空間曲線51のサイズを基準サイズと定める。また、基底分割数n0を算出した際の誤差を基準誤差tol0とする。
N1≒√(Scale)×n0
・・・(3)
で示せる。
N2≒√(tol0/tol1)×n0
・・・(4)
で示せる。
N≒√(Scale/Tol)×n0
・・・(5)
で示せることになる。許容誤差Tolは、誤差の大きさを基準誤差tol0との比で示している。
以下に、図形の分割例について説明する。
たとえば、半径10mmの円を100倍(Scale=100)の大きさで、許容誤差1mm(Tol=1)で近似する場合、基底分割数n0=6.97を用いて実分割数Nが計算される。各数値を式(5)の変数に設定して、近似式を解くと、
N≒√(100)×6.97=69.7
・・・(6)
となる。実分割数Nの小数点以下を切り上げると70になる。ここで、表示倍率を100倍にしたときの分割数は、半径が100倍の円の分割数と同等になるべきである。この例では、半径10mmの100倍の半径1000mmを有する円の分割数を真の式(1)で求めた場合、70.24である。この値の小数点以下を切り上げると71となる。そのため、十分な精度で近似されていることがわかる。
n0(r=0.1)≒1/√(100)×6.97=0.697
・・・(7)
と求めることができる。
次に、図11のステップS32,S33に示す分割パターンの決定処理について詳細に説明する。
まず、3辺形分割パターン決定処理について詳細に説明する。本実施の形態では、全ての辺の分割数が2のべき乗となっているため、全ての3辺形は、4種類の分割パターンの組み合わせによって分割することができる。
第1の3辺形分割パターンは、3辺の分割数がN,N×a1,N×a2(Nは1より大きい2のべき乗)の関係にある場合である。ここで、a1,a2は、2のべき乗である。すなわち、3辺を同じ分割数Nで分割できる場合である。この場合、分割図に示すように、分割数Nに応じてパラメータ3次式で表現された各辺の分割点の座標と分割点の法線ベクトルが求められ、さらに3辺形の中間分割線が求められる。そして、中間分割線により元の3辺形が多数の3辺形に分割される。
以上のような4パターン(第4の3辺形分割パターンでは分割は行われないため、実質3パターン)の分割を段階的に繰り返すことで、各辺の実分割数に応じて3辺形が分割される。なお、3辺形を分割する場合に採用する優先順は、第1の分割パターン、第2の分割パターン、第3の分割パターンの順番である。
[ステップS54]細分割部116は、i,j,kの値を更新する。具体的には、j/iの値を、新たにjに設定する。k/iの値を、新たにkに設定する。iに1を設定する。
[ステップS57]細分割部116は、j,kの値を更新する。具体的には、k/jの値を、新たにkに設定する。jに1を設定する。
以上のようにして、3辺形の面の分割パターンが、各辺の実分割数に応じて決定することができる。分割パターンが決定された後、図11のステップS34,S35によって、3辺形が細分割される。
次に、jが1より大きいため、第2の分割パターンで分割される。すると、jとkとに対応する辺が2分割される。これにより、各3辺形がさらに複数の3辺形に分割される。そして、j,kの値が更新され、(1,1,2)となる。
このようにして、3辺形を分割することができる。
次に、4辺形の分割パターン決定処理について詳しく説明する。本実施の形態では、全ての辺の分割数が2のべき乗となっていることから、全ての4辺形は、4種類の分割パターンの組み合わせによって分割することができる。
第1の分割パターンは、対向する辺同士を組にしたときに、4辺の分割数が(M,M×b1),(N,N×b2)(M,Nの少なくとも1つは1より大きい2のべき乗)の関係にある場合である(括弧内の2つの値が、互いに組となった2つの辺の分割数である)。ここで、b1、b2は、2のべき乗である。すなわち、対向する辺同士を同じ分割数で分割できる場合である。この場合、分割図に示すように、対向する辺の一方の組がMで分割され、他方の組がNで分割される。その結果、元の4辺形が複数の4辺形に分割される。
以上のような分割パターンに従って4辺形を分割することができる。
[ステップS67]細分割部116は、ステップS66で選択した3辺形に対して、3辺形分割パターン決定処理を行う。たとえば、選択した3辺形が、4辺形に関する第3の分割パターンに従っていれば、その3辺形は、3辺形の第2の分割パターンと第3の分割パターンによって分割パターンが決定される。また、選択した3辺形が、4辺形に関する第4の分割パターンに従っていれば、その3辺形は、3辺形の第2の分割パターンによって分割パターンが決定される。
[パラメータ3次式決定法]
辺を分割する場合、その辺の端点に対して設定されている法線ベクトルに応じてパラメータ3次式が決定される。そして、辺の曲線を定義したパラメータ3次式におけるパラメータt(0≦t≦1)に、0.5を設定することで、その辺の中点を求める。なお、パラメータ3次式の決定法は、立体形状における面同士の隣接関係に応じて異なる。
・第3の隣接関係は、辺の形状を強制的に指示する必要がある場合である。
以下、面同士の隣接関係に応じた、パラメータ3次式の決定法について説明する。
図18は、隣接する面同士が滑らかに接続している立体形状の一例を示す図である。図に示すように、立体形状71は、互いに隣接する面F1a,F1bを有している。隣接する面F1a,F1bが辺S1(t)を共有し、さらに辺S1(t)の両端点における法線ベクトルN10,N11も隣接する面F1a,F1b同士が共有する。この場合、この2つの隣接する面F1a,F1bは、辺S1(t)において滑らかに接続されていると判断される。
まず、法線ベクトルから接線ベクトルを経由してパラメータ3次式を求める方法について説明する。
T10=r10・N10×(P11−P10)×N10/|N10×(P11−P10)×N10|
・・・(8)
T11=r11・N11×(P11−P10)×N11/|N11×(P11−P10)×N11|
・・・(9)
式(8)、式(9)において、“×”はベクトルの外積を示しており、“・”はスカラー値(r0やr1)の乗算を示している。
S1(t=0)=P10
S1(t=1)=P11
dS1/dt(t=0)=T10
dS1/dt(t=1)=T11
・・・(10)
このように、端点での条件を決定することで、3次元区間内の曲線を決定することができる。たとえば、ファーガソン曲線を算出することができる。
図19は、2次微分ベクトルを用いて決定されたパラメータ3次式の一例を示す図である。図19に示すように、両端点における2次微分ベクトルW20,W21が、両端点における法線ベクトルN20,N21と方向が近似している(正負反対の場合も含む)と仮定(弧長媒介変数による2次微分ではないので一致しない)することができる。このとき、法線ベクトルN20,N21にベクトルの大きさr20,r21を乗じたベクトルを2次微分ベクトルW20,W21とする。
W20=r20・N20
・・・(11)
W21=r21・N21
・・・(12)
両端点の座標P20,P21、及び両端点における2次微分ベクトルW20,W21を用いて、以下の4つのベクトル式からパラメータ3次式S2(t)を決定する。
S2(t=0)=P20
S2(t=1)=P21
d2S2/dt2(t=0)=W20
d2S2/dt2(t=1)=W21
・・・・(13)
このような条件を満たしたパラメータ3次式S2(t)が決定される。
次に、隣接する面同士が共有する辺で折れている場合のパラメータ3次式の決定方法について説明する。
T30=r30・N30a×N30b/|N30a×N30b|
・・・(14)
T31=r31・N31a×N31b/|N31a×N31b|
・・・(15)
次に、両端点の座標(P30,P31)、及び両端点における接線ベクトル(T30,T31)を用いて、以下の4つのベクトルを満たしたパラメータ3次式S3(t)を決定する。
S3(t=0)=P30
S3(t=1)=P31
dS3/dt(t=0)=T30
dS3/dt(t=1)=T31
・・・(16)
[辺の形状を強制的に指示する必要がある場合]
次に、辺の形状を強制的に指示する必要がある場合について説明する。
両端点の座標P40,P41、及び両端点における接線ベクトルT40,T41を用いて、以下の式を満たすパラメータ3次式S4(t)を決定する。
S4(t=0)=P40
S4(t=1)=P41
dS4/dt(t=0)=T40
dS4/dt(t=1)=T41
・・・(17)
以上のようにして、立体形状を構成する辺のパラメータ3次式を決定することができる。
辺の曲線を定義したパラメータ3次式が決定されると、先に決定された分割パターンに従って、辺が分割される。分割された辺の端点には、新たに端点の位置と法線ベクトルとを定義する必要がある。以下、中間点における座標(中間座標)と法線ベクトルとの算出方法について説明する。
中間座標の求め方を、図22を参照して説明する。
図22は、分割対象の面の一例を示す図である。図22の例では、分割される面81は3辺形である。面81は、端点P50,P51を有する辺81a、端点P51,P52を有する辺81b、端点P52,P50を有する辺81cで構成されている。端点P50での法線ベクトルがV50、接線ベクトルがN50である。端点P51での法線ベクトルがV51、接線ベクトルがN51である。
任意の中間点における法線ベクトルの決定法としては、以下の4通りの決定法が考えられる。
Nc=(1−t)N50+(t)N51
・・・(18)
第2の方法は、中間点の法線ベクトルNcがN50からN51に線形変化し、中間点の接線ベクトルVcと直交していると想定する方法である。その計算式は、以下の通りである。
Nc=Vc×(N50+N51)×Vc
・・・(19)
第3の方法は、中間点の法線ベクトルNcが、N50方向からN51方向に回転していると想定する方法である。その計算式は、以下の通りである。
Nc=Vc×N50×N51
・・・(20)
但し、N50×N51=0の場合の計算式は、以下の通りである。
Nc=Vc×N50×Vc
・・・(21)
第4の方法は、中間点の法線ベクトルNcが、N0方向からN1方向に3次で変化していると想定する方法である。その計算式は、以下の通りである。
Nc=−2(N51−N50)t3+3(N51−N50)t2+N50
・・・(22)
式(18)〜(22)で得られたベクトルNcを単位ベクトルに正規化したものが、中間点の法線ベクトルとなる。
3辺形を分割すると、元の3辺形内に新たな辺が生成される。そのとき、生成された辺の曲線式を計算する必要がある。
r70=r60×|P71−P70|/|P61−P60|
・・・(23)
r71=r61×|P71−P70|/|P61−P60|
・・・(24)
なお、r60は、端点P60での接線の長さであり、r61は端点P61での接線の長さである。
他の3辺形の任意中間曲線の計算方法もある。
図24は、分割される3辺形の一例を示す図である。図24の三辺形83について、P80、P81,P82は、三辺形の頂点(3辺形を構成する辺の端点)を示す。N80,N81,N82は、P80,P81,P82における法線ベクトルを示す。T81,T82は、P81とP82とを端点とする辺の各端点における接線ベクトルを示す。U81,U80は、P81とP80とを端点とする辺の各端点における接線ベクトルを示す。V82,V80は、P82とP80とを端点とする辺の各端点における接線ベクトルを示す。
ここで、内部中間曲線e83を、以下の方法で求める。
[ST1]e82上を、P80からP81に向かって、u(0<u<1)だけ進んだ点P83を求める。
[ST2]P83におけるe82の接線ベクトルU83を求める。
[ST3]P83における法線ベクトルN83を求める。
[ST4]P83においてU83,N83,T83の方向関係が、P81におけるU81,N81,T81の関係と等しくなる接線ベクトルT83を求める。
[ST5]接線ベクトルT83を求めた方法と同様に、P82におけるV82,N82,T82の関係と等しくなる接線ベクトルT84を求める。
[ST6]接線ベクトルT83,T84から、e83のパラメータ3次式を求める。
[4辺形の内部中間座標と法線ベクトルの求め方]
次に、4辺形の内部中間座標と法線ベクトルの求め方について説明する。
図25は、分割される4辺形の一例を示す図である。ここで、4辺形84を表す式を、S9(u,v)とする。4辺形84がCoon’s曲面とすると、図25のように各端点における座標P90〜P93とu方向ベクトルU90〜U93、v方向ベクトルV90〜V93を用いて以下のベクトル式で示せる。
S9(u=0,v=0)=P90
S9(u=0,v=1)=P91
S9(u=1,v=0)=P92
S9(u=1,v=1)=P93
・・・(25)
∂S9/∂u(u=0,v=0)=U90
∂S9/∂u(u=0,v=1)=U91
∂S9/∂u(u=1,v=0)=U92
∂S9/∂u(u=1,v=1)=U93
・・・(26)
∂S9/∂v(u=0,v=0)=V90
∂S9/∂v(u=0,v=1)=V91
∂S9/∂v(u=1,v=0)=V92
∂S9/∂v(u=1,v=1)=V93
・・・(27)
これらの式を連立させて解くことにより、S9(u,v)が求まり、(u=u0,v=v0)で示される任意点の座標Pは、P=S9(u=u0,v=v0)で与えられる。
[画面表示例]
以下、図26〜図30を参照して、立体形状の画面表示例について説明する。本実施の形態では、立体形状を構成する辺のみを画面表示することもできる。辺のみを画面表示することで、立体形状の構造を画面上で視覚的に容易に認識することができる。
図27は、ハイブリッドメッシュデータで定義されている立体形状を表示した画面例を示す図である。この画面には、図26に示した構造のハイブリッドメッシュデータをそのまま(細分割を行わずに)表示したときの立体形状が表示されている。図27の例では、細分割を行っていないため、8つの面で立体形状が表現されている。これにより、立体形状を高速に画面表示することができる。
図29は、ハイブリッドメッシュデータを細分割したときの立体形状を表示した画面例を示す図である。図29に示すように、画面には、細分割を行うことにより、ほとんど球体に見える立体形状が表示される。
なお、図10に示したように、本実施の形態ではフェース毎に視点と立体形状との相対位置の変化の有無を判断しているが、立体形状(オブジェクト)毎に相対位置の変化の有無を判断してもよい。その場合、ステップS23の処理に代えて、たとえば、ステップS14とステップS15との間に、視点と立体形状の基準位置との相対位置の変化の有無を判断する処理が行われる。相対位置が変化していれば、処理をステップS18に進め、相対位置が変化していなければ処理をステップS15に進める。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
2 立体形状データ
10 ネットワーク
11 モニタ
12 キーボード
13 マウス
100,100a,100b コンピュータ
110 ビューア
111 アプリケーションインタフェース
112 ハイブリッドメッシュAPI
113 VRMLデータ変換部
114 CADデータ変換部
115 ユーザインタフェース
116 細分割部
117 表示データ出力部
120 立体構造データ記憶部
Claims (11)
- コンピュータを、
頂点の位置と当該頂点における法線ベクトルとが設定された面で物体形状を定義した物体形状データを記憶する記憶手段、
面の各辺の分割数の決定処理、および細分割パターンの決定処理を行う分割パターン決定手段、
前記記憶手段に記憶された前記物体形状データに予め設定された面の頂点の位置および当該頂点における法線ベクトルに基づいて面の曲線形状の決定処理を行う曲面形状決定手段、
前記分割パターン決定手段で決定した細分割パターンに基づいて、面を、前記曲面形状決定手段によって得られる曲面形状に沿って細分割する細分割処理を行う細分割手段、
前記細分割手段を用いて細分割された面から構成される物体形状を表示する物体表示手段、
として機能させるための3次元表示プログラムにおいて、
前記分割パターン決定手段による各辺の分割数の決定処理では、表示精度に関連する操作入力を基に表示精度を取得し、取得した表示精度に応じて、面を構成する各辺に対して2のべき乗数である分割数を求め、
前記分割パターン決定手段による細分割パターンの決定処理では、面が3辺形の場合は3つの辺の分割数をi,j,k(i,j,kは2のべき乗であり、i≦j≦k)とし、i>1の場合は、各辺の細分割数を(i,i,i)とした複数の3辺形への第1の細分割パターンに決定し、i=1,j>1の場合は、各辺の細分割数を(1,j,j)とした複数の3辺形への第2の細分割パターンに決定し、i=j=1,k>1の場合は、各辺の細分割数を(1,1,k)とした複数の3辺形への第3の細分割パターンに決定し、
細分割処理で細分割された面に対してさらに細分割することが可能である間は、細分割パターンの決定処理、曲面形状の決定処理および細分割処理を繰り返す、
ことを特徴とする3次元表示プログラム。 - 前記第1の細分割パターンは、3角格子状に細分割する細分割パターンであり、
前記第2の細分割パターンは、2つの辺をi分割することで生成される各辺上の分割点間を交互に結ぶ新たな辺を生成することで、複数の3辺形に細分割する細分割パターンであり、
前記第3の細分割パターンは、1つの辺をk分割することで生成される分割点それぞれと、分割しない2つの辺が共有する頂点とを結ぶ新たな辺を生成することで、複数の3辺形に細分割する細分割パターンであることを特徴とする請求項1記載の3次元表示プログラム。 - 前記分割パターン決定手段による細分割パターンの決定処理では、面が4辺形の場合は、4つの辺のうちの対向する辺を組とし、各組内の辺の分割数をそれぞれ(i,j)、(k,l)(i,j,k,lは2のべき乗であり、i≦j、k≦l)とし、i>1またはk>1の場合は、分割数が(i,j)の対向する辺の組をiで細分割すると共に分割数が(k,l)の対向する辺の組をkで細分割することで複数の4辺形へ分割する第4の細分割パターンに決定し、i=k=1の場合は、分割数がi,kの各辺が共有する頂点と分割数がj,lの各辺が共有する頂点とを対角線で結ぶ辺を生成することで、2つの3辺形に分割する第5の細分割パターンに決定し、
4辺形の面が存在する間は、前記第4または第5の細分割パターンの決定処理、面の曲面形状の決定および細分割を繰り返し、その後、3辺形の面に対する細分割パターンの決定、曲面形状の決定処理および細分割処理を行うことを特徴とする請求項1記載の3次元表示プログラム。 - 前記表示精度に関連する操作入力は、表示倍率の指定であることを特徴とする請求項1記載の3次元表示プログラム。
- 前記表示精度に関連する操作入力は、許容誤差の指定であることを特徴とする請求項1記載の3次元表示プログラム。
- 前記表示精度に関連する操作入力は、表示画面内での物体形状の動作指示であることを特徴とする請求項1記載の3次元表示プログラム。
- 前記記憶手段に記憶された前記物体形状データには、面を構成する各辺に対して予め基底分割数が設定されており、
前記分割パターン決定手段は、各辺の分割数の決定処理では、物体形状を構成する面の各辺に設定された前記基底分割数に対して前記表示精度に応じた値を乗算し、乗算結果に応じた2のべき乗の値を各辺の分割数として決定することを特徴とする請求項1記載の3次元表示プログラム。 - 前記分割パターン決定手段は、各辺の分割数の決定処理では、操作入力によって指定された表示倍率と許容誤差とに応じた係数を決定し、当該係数を前記基底分割数に乗算した値によって前記辺の分割数を決定することを特徴とする請求項7記載の3次元表示プログラム。
- 前記記憶手段に記憶された前記物体形状データには、前記面の頂点に対して接線の長さが設定されており、
前記曲面形状決定手段は、前記面の各頂点の位置、頂点に設定されている前記法線ベクトル、および頂点の前記接線の長さから各頂点の接線ベクトルを求め、前記接線ベクトルに基づいて前記面の曲面形状を決定することを特徴とする請求項1記載の3次元表示プログラム。 - 頂点の位置と当該頂点における法線ベクトルとが設定された面で物体形状を定義した物体形状データを記憶する記憶手段と、
前記面の各辺の分割数の決定処理、および細分割パターンの決定処理を行う分割パターン決定手段と、
前記記憶手段に記憶された前記物体形状データに予め設定された面の頂点の位置および当該頂点における法線ベクトルに基づいて面の曲線形状の決定処理を行う曲面形状決定手段と、
前記分割パターン決定手段で決定した細分割パターンに基づいて、面を、前記曲面形状決定手段によって得られる曲面形状に沿って細分割する細分割処理を行う細分割手段と、
前記細分割手段を用いて細分割された面から構成される物体形状を表示する物体表示手段と、
を有する3次元表示装置において、
前記分割パターン決定手段による各辺の分割数の決定処理では、表示精度に関連する操作入力を基に表示精度を取得し、取得した表示精度に応じて、面を構成する各辺に対して2のべき乗数である分割数を求め、
前記分割パターン決定手段による細分割パターンの決定処理では、面が3辺形の場合は3つの辺の分割数をi,j,k(i,j,kは2のべき乗であり、i≦j≦k)とし、i>1の場合は、各辺の細分割数を(i,i,i)とした複数の3辺形への第1の細分割パターンに決定し、i=1,j>1の場合は、各辺の細分割数を(1,j,j)とした複数の3辺形への第2の細分割パターンに決定し、i=j=1,k>1の場合は、各辺の細分割数を(1,1,k)とした複数の3辺形への第3の細分割パターンに決定し、
細分割処理で細分割された面に対してさらに細分割することが可能である間は、細分割パターンの決定処理、曲面形状の決定処理および細分割処理を繰り返す、
ことを特徴とする3次元表示装置。 - 頂点の位置と当該頂点における法線ベクトルとが設定された面で物体形状を定義した物体形状データが記憶手段に記憶されており、
分割パターン決定手段が、面の各辺の分割数の決定処理、および細分割パターンの決定処理を行い、
曲面形状決定手段が、前記記憶手段に記憶された前記物体形状データに予め設定された面の頂点の位置および当該頂点における法線ベクトルに基づいて面の曲線形状の決定処理を行い、
細分割手段が、前記分割パターン決定手段で決定した細分割パターンに基づいて、面を、前記曲面形状決定手段によって得られる曲面形状に沿って細分割する細分割処理を行い、
物体表示手段が、前記細分割手段を用いて細分割された面から構成される物体形状を表示する、
3次元表示方法において、
前記分割パターン決定手段による各辺の分割数の決定処理では、表示精度に関連する操作入力を基に表示精度を取得し、取得した表示精度に応じて、面を構成する各辺に対して2のべき乗数である分割数を求め、
前記分割パターン決定手段による細分割パターンの決定処理では、面が3辺形の場合は3つの辺の分割数をi,j,k(i,j,kは2のべき乗であり、i≦j≦k)とし、i>1の場合は、各辺の細分割数を(i,i,i)とした複数の3辺形への第1の細分割パターンに決定し、i=1,j>1の場合は、各辺の細分割数を(1,j,j)とした複数の3辺形への第2の細分割パターンに決定し、i=j=1,k>1の場合は、各辺の細分割数を(1,1,k)とした複数の3辺形への第3の細分割パターンに決定し、
細分割処理で細分割された面に対してさらに細分割することが可能である間は、細分割パターンの決定処理、曲面形状の決定処理および細分割処理を繰り返す、
ことを特徴とする3次元表示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007296447A JP4437504B2 (ja) | 2007-11-15 | 2007-11-15 | 3次元表示プログラム、3次元表示装置、および3次元表示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007296447A JP4437504B2 (ja) | 2007-11-15 | 2007-11-15 | 3次元表示プログラム、3次元表示装置、および3次元表示方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003566802A Division JPWO2003067527A1 (ja) | 2002-02-06 | 2002-02-06 | 立体形状表示プログラム、立体形状表示方法、および立体形状表示装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008117406A JP2008117406A (ja) | 2008-05-22 |
JP4437504B2 true JP4437504B2 (ja) | 2010-03-24 |
Family
ID=39503213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007296447A Expired - Lifetime JP4437504B2 (ja) | 2007-11-15 | 2007-11-15 | 3次元表示プログラム、3次元表示装置、および3次元表示方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4437504B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012073363A1 (ja) | 2010-12-02 | 2012-06-07 | デジタルプロセス株式会社 | 表示処理方法及び装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6375683B2 (ja) * | 2014-05-01 | 2018-08-22 | ヤマハ株式会社 | 画像処理装置 |
JP2023144940A (ja) * | 2022-03-28 | 2023-10-11 | 矢崎総業株式会社 | 立体像表示システム |
-
2007
- 2007-11-15 JP JP2007296447A patent/JP4437504B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012073363A1 (ja) | 2010-12-02 | 2012-06-07 | デジタルプロセス株式会社 | 表示処理方法及び装置 |
US8717356B2 (en) | 2010-12-02 | 2014-05-06 | Digital Process Ltd. | Display processing method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2008117406A (ja) | 2008-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100861161B1 (ko) | 3차원 표시 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 3차원 표시 장치, 및 3차원 표시 방법 | |
JP3275920B2 (ja) | 科学的図形表示方法 | |
EP0311081B1 (en) | Displaying method and apparatus for three-dimensional computer graphics | |
JPH05266212A (ja) | データプロセッサによってオブジェクトの作成を実行する方法及びグラフィックスディスプレイ装置 | |
JP4858795B2 (ja) | 瞬時光線追跡 | |
JP2002230054A (ja) | 形状と物性を統合した実体データの記憶方法 | |
JPH063606B2 (ja) | コンピュータ支援製図システム | |
Hanna et al. | Intersection of parametric surfaces by means of look-up tables | |
JP4437504B2 (ja) | 3次元表示プログラム、3次元表示装置、および3次元表示方法 | |
KR101032397B1 (ko) | 구면 좌표계를 사용하는 3차원 형상 표현장치 및 방법 | |
Forberg et al. | Generalization of 3D building data based on scale-spaces | |
CN110223395A (zh) | 一种三维场景物料模型动态构建方法及系统 | |
US7050053B2 (en) | Geometric folding for cone-tree data compression | |
CN113591208B (zh) | 一种基于舰船特征提取的超大模型轻量化方法及电子设备 | |
JP6093704B2 (ja) | 描画装置、描画方法及び描画プログラム | |
JP3792584B2 (ja) | 工具経路面計算方法、工具経路面計算プログラム及び工具経路面計算プログラムを記録した記録媒体 | |
JP4896237B2 (ja) | 画像処理方法、画像処理装置、および画像処理システム | |
Garland et al. | Fast triangular approximation of terrains and height fields | |
Vukašinović et al. | Introduction to freeform surface modelling | |
KR100269100B1 (ko) | 삼각형탐색방법및이를채용한래스터라이저 | |
JP4479957B2 (ja) | 曲面細分割装置 | |
JP7368950B2 (ja) | 効率的な建物フットプリント特定のための方法及び装置 | |
Lau et al. | Large a collision detection framework for deformable objects | |
JPH06314317A (ja) | Cadデータの立体図描画方法 | |
JPH11259681A (ja) | オブジェクトをプリミティブに変換する装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091215 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091222 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4437504 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140115 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |