JP2001291115A - Method for plotting three-dimensional graphic and recording medium with the method recorded thereon - Google Patents

Method for plotting three-dimensional graphic and recording medium with the method recorded thereon

Info

Publication number
JP2001291115A
JP2001291115A JP2000102934A JP2000102934A JP2001291115A JP 2001291115 A JP2001291115 A JP 2001291115A JP 2000102934 A JP2000102934 A JP 2000102934A JP 2000102934 A JP2000102934 A JP 2000102934A JP 2001291115 A JP2001291115 A JP 2001291115A
Authority
JP
Japan
Prior art keywords
convex
concealed
silhouette
dimensional
convex polyhedron
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.)
Pending
Application number
JP2000102934A
Other languages
Japanese (ja)
Inventor
Akira Onozawa
晃 小野澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000102934A priority Critical patent/JP2001291115A/en
Publication of JP2001291115A publication Critical patent/JP2001291115A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To solve the problem that accuracy and a calculation amount inferior in three-dimensional graphic plotting by a culling method. SOLUTION: Convex polyhedrons 5 to 13 obtained by hierarchizing convex polyhedrons 3 and 4 including each part of each object consisting of a chair 1 and a triangular prism 2 are generated, the silhouette only of a convex polyhedron of the outermost contour is calculated with respect to an object selected as an occludee in the case of performing walkthrough, silhouette is calculated in the order of a high hierarchy with the convex polyhedron in its tree structure with respect to the object selected as the occludee, the concealment relation of the occludee to the silhouette of the convex polyhedron is checked, and when the silhouette of the convex polyhedron of the occludee is decided not to be concealed by the silhouette of the occludee, the occludee is decided as necessary to be plotted. This decision is performed down to the lowest hierarchy of the tree of the convex polyhedrons.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータを用
いて仮想空間を構築し、仮想空間に物体を表示・描画す
るための3次元図形描画方法に係り、特に、他の物体の
陰になって本来見えないはずの物体の描画を省略し、空
間の描画にかかる計算コストを削減する方法(カリング
(culling)方法と呼ばれる)による3次元図形
描画方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a three-dimensional graphic drawing method for constructing a virtual space using a computer and displaying and drawing an object in the virtual space. The present invention relates to a method of drawing a three-dimensional graphic by a method (called a culling method) in which the drawing of an object that is originally invisible is omitted and the calculation cost for drawing a space is reduced.

【0002】[0002]

【従来の技術】従来、3次元図形描画に際して、その描
画にかかる計算コストを削減するカリング方法は、仮想
空間のウォークスルーの際、通常以下のような処理を行
う。
2. Description of the Related Art Conventionally, a culling method for reducing the calculation cost required for drawing a three-dimensional figure usually involves the following processing at the time of walking through a virtual space.

【0003】(1)ウォークスルーの前あるいは最中
に、他の物体を隠蔽する可能性のある物体(occlu
der)と隠蔽される可能性のある物体(occlud
ee)を決定し、(2)occluderとocclu
deeについて、ユーザの現在の視点から見たシルエッ
トを求め、(3)シルエット間で隠蔽関係を判定し、隠
蔽されると判定されたoccludeeは描画しない指
定にする、という処理を視点が動く度に行うことにな
る。
(1) Before or during a walk-through, an object (occlu) that may conceal another object
der) and potentially hidden objects (occlud)
ee) and (2) occluder and occlu
Each time the viewpoint moves, the process of determining the silhouette viewed from the user's current viewpoint for dee, (3) determining the concealment relationship between the silhouettes, and specifying that occludee determined to be concealed is not drawn is performed. Will do.

【0004】以上のような処理において、(2)のシル
エットを求める処理と、(3)のそれらの間の隠蔽関係
判定が、描画の品質と処理の効率に最も大きな影響を与
える処理である。このシルエットを求める処理とそれら
の間の隠蔽関係の判定に対しては、大別して以下のよう
なものがある。
In the above processing, the processing of (2) for finding silhouettes and the processing of (3) for determining the concealment relation between them are the processings that have the greatest influence on the quality of drawing and the efficiency of processing. The processing for obtaining the silhouettes and the determination of the concealment relationship between them are roughly classified as follows.

【0005】第1種類目の方法は、仮想空間を、矩形の
壁が垂直の角度で組み合わされて作られている静的な
(時間が経過しても物体の形状や配置位置の変化しな
い)建築物の内部のウォークスルーに考察の対象を限定
しているものである。代表的なものに、下記の文献1に
示された方法があげられる。この場合、建物の単純な矩
形の壁のみがoccluderとして選択されるため、
シルエットの見積もりと壁以外の物体との隠蔽関係判定
が容易である。しかし、いうまでもなく、この方法は一
般の仮想空間に適用できるものではない。
[0005] The first type of method is a static method in which a virtual space is formed by combining rectangular walls at a vertical angle (the shape and arrangement position of an object do not change over time). The scope of the study is limited to walkthroughs inside buildings. A typical example is a method shown in the following document 1. In this case, only the simple rectangular wall of the building is selected as the occluder,
It is easy to estimate the silhouette and determine the concealment relationship between objects other than walls. However, needless to say, this method cannot be applied to a general virtual space.

【0006】第2種類目の方法においては、対象とする
仮想空間は特に限定しない。これらの方法においては、
シルエットの見積もりには、シルエットを直接的に求め
たり(文献2)、階層的に構成された視野画像(Hierar
chical Occlusion Map)を用いる方法(文献3)、など
があるが、いずれもシルエットの精度は高いが、その計
算コストが大きい、あるいは特別なハードウエアを必要
とするという欠点がある。また、単純にocclude
rのbounding boxで近似したのでは、計算
のコストは小さくなるが、シルエット見積もりの精度が
低く隠蔽関係の判定が正確ではない。
In the second type of method, the target virtual space is not particularly limited. In these methods,
To estimate the silhouette, the silhouette can be obtained directly (Reference 2), or a hierarchically structured view image (Hierar
There is a method of using a physical occlusion map (Reference 3), etc., but the accuracy of the silhouette is high, but the disadvantage is that the calculation cost is high or special hardware is required. Also, simply occlude
When the approximation is performed using the bounding box of r, the calculation cost is reduced, but the accuracy of the silhouette estimation is low and the determination of the concealment relationship is not accurate.

【0007】さらに、動的な物体を前提に、その動きの
軌跡を表す立体(Temporal Bounding Volume)を求めて
そのシルエットを求める方法(文献4)があるが、これ
は、アニメーションなどのように物体の動きが予めわか
っている必要があり、インタラクティブに人間が介入す
るような処理には向かず、一般性が無い。
[0007] Furthermore, there is a method of obtaining a silhouette by obtaining a solid (Temporal Bounding Volume) representing a locus of the movement on the premise of a dynamic object (Reference 4). It is necessary to know the movement of the object in advance, and it is not suitable for processing in which a human intervenes interactively, and is not general.

【0008】このような従来のカリング技術におけるシ
ルエット形状見積もりと隠蔽関係判定の方法の問題点
は、まとめると、以下のように考えられる。
[0008] The problems of the method of estimating the silhouette shape and determining the concealment relation in the conventional culling technique can be considered as follows.

【0009】第一に、仮想空間を、建築物の内部という
ように限定し、問題を単純化している方法があるという
ことである。第二に、対象とする仮想空間が一般的なも
のであっても、シルエット形状の見積もりの計算コスト
大であったり、特別なハードウエアを必要としたり、予
め物体の軌跡がわかっている動的な場合に限ったりする
ことである。
First, there is a method for limiting the virtual space to the interior of a building to simplify the problem. Second, even if the target virtual space is a general one, the cost of calculating the silhouette shape is high, special hardware is required, or the dynamic Or in some cases.

【0010】文献1:S.J.Teller and C.H.Sequin:Visi
bility Processing For Interactive Walkthroughs,Pro
c.SIGGRAPH91,pp.61-69.1991 文献2:S.Coorg,S.Teller:Real Time Occlusion Culli
ng for Models with Large Occluders,1997 Symposium
on Interactive 3D Graphics,pp.83-90 文献3:H.Zhang,D.Manocha,T.Hudson,K.E.Hoff III:Vi
sibility Culling Using Hierarchical Occlusion Map
s,Proc.of SIGGRAPH97,pp.77-88.1997 文献4:O.Sudarsky and C.Gotsman:Output-sensitive
Visibility Algorithms for Dynamic Scenes with Appl
ications to Virtual Reality,EUROGRAPHICS'96,vol.1
5,No.3,pp.C-249-C-258.
Reference 1: SJTeller and CHSequin: Visi
bility Processing For Interactive Walkthroughs, Pro
c.SIGGRAPH91, pp.61-69.1991 Reference 2: S. Coorg, S. Teller: Real Time Occlusion Culli
ng for Models with Large Occluders, 1997 Symposium
on Interactive 3D Graphics, pp.83-90 Reference 3: H. Zhang, D. Manocha, T. Hudson, KEHoff III: Vi
sibility Culling Using Hierarchical Occlusion Map
s, Proc. of SIGGRAPH97, pp. 77-88.1997 Reference 4: O. Sudarsky and C. Gotsman: Output-sensitive
Visibility Algorithms for Dynamic Scenes with Appl
ications to Virtual Reality, EUROGRAPHICS'96, vol.1
5, No.3, pp.C-249-C-258.

【0011】[0011]

【発明が解決しようとする課題】前記のように、従来の
3次元図形描画方法で用いられるカリング手法における
occluderとoccludeeのシルエット形状
見積もりとそれらの間の隠蔽関係判定技術は、仮想空間
を、建築物の内部というように限定することにより問題
を簡単化していたり、対象とする仮想空間が一般的なも
のであっても、計算コスト大であったり、特別なハード
ウエアを必要としたり、予め物体の軌跡がわかっている
動的な場合に限ったりしなければならないという問題が
ある。これは、3次元図形描画を効率よく行うために
は、解決されなければならない問題である。
As described above, the technique of estimating the silhouette shapes of the occluder and the occludee in the culling method used in the conventional three-dimensional figure drawing method and the concealment relation determination technique between them require the construction of a virtual space. The problem is simplified by limiting it to the inside of the object, or even if the target virtual space is a general one, the computational cost is high, special hardware is required, However, there is a problem that it is necessary to limit only to a dynamic case in which the trajectory is known. This is a problem that must be solved in order to efficiently perform three-dimensional graphic drawing.

【0012】本発明の目的は、複数の3次元物体からな
る仮想空間において、物体の形状を凸多面体(ポリゴ
ン)の木(tree構造)を用いて表現することによっ
て、シルエット形状見積もりと隠蔽関係の判定を、良い
精度を保ったまま少ない計算量で計算し、もってカリン
グ方法の処理をその精度を保ったまま高速化し、特別な
ハードウエアを必要とすることなく3次元図形の描画に
かかる計算コストを削減する3次元図形描画方法および
この方法を記録した記録媒体を提供することにある。
An object of the present invention is to express the shape of a silhouette and the concealment relationship by expressing the shape of the object in a virtual space composed of a plurality of three-dimensional objects using a tree (tree structure) of a convex polyhedron (polygon). Judgment is calculated with a small amount of calculation while maintaining good accuracy, thereby speeding up the processing of the culling method while maintaining the accuracy, and the calculation cost for drawing 3D figures without requiring special hardware It is an object of the present invention to provide a three-dimensional graphic drawing method for reducing the number of images and a recording medium recording the method.

【0013】[0013]

【課題を解決するための手段】本発明は、前記の問題点
を解決するため、各物体を予め階層的に分割しておき、
分割された各部分に対して、それらを包含するような凸
多面体を生成しておき、ウォークスルー時に、occl
udeeとして選択した物体に対しては最外郭の凸多面
体のみのシルエットを求め、occluderとして選
択した物体に対してはその凸多面体をその木構造におい
て高い階層に属するものから順にシルエットを求め、o
ccludeeの凸多面体のシルエットとの隠蔽関係を
調べ、occludeeの凸多面体のシルエットがoc
cluderのそれに隠蔽されないと判断されたら、そ
の時点で即座にそのoccludeeは描画する必要が
あると判定し、occluderの凸多面体の木を最下
層までたどってもoccludeeが隠蔽されていたら
描画する必要無しと判定することによって、3次元空間
の描画の精度を保ちながら計算コストを削減するように
したものである。
According to the present invention, in order to solve the above-mentioned problems, each object is divided hierarchically in advance.
For each of the divided parts, a convex polyhedron including them is generated, and at the time of walkthrough, occl
For the object selected as udee, the silhouette of only the outermost convex polyhedron is determined, and for the object selected as the occluder, the silhouette of the convex polyhedron is determined in descending order of the tree structure in the tree structure.
The occluding relationship between the silhouette of the convex polyhedron of ccludee and the silhouette of the convex polyhedron of oclude is oc
If it is determined that the occludee is not concealed by that of the crowder, it is immediately determined that the occludee needs to be drawn, and if the occludee is concealed even if the tree of the occluder is traced to the bottom layer, there is no need to draw. Thus, the calculation cost is reduced while maintaining the accuracy of drawing in the three-dimensional space.

【0014】(発明の原理的な説明)図1に本発明によ
る描画方法を示し、この方法と比較するために、図2に
既存の方式の描画方法を示す。
(Principle Description of the Invention) FIG. 1 shows a drawing method according to the present invention, and FIG. 2 shows a drawing method of an existing method for comparison with this method.

【0015】図2においては、Aは仮想空間内における
椅子を、Bは三角柱をそれぞれ表している。2の三角柱
は、Aの椅子よりも視点から見て遠くに存在していると
仮定する。また、CとDは最小の直方体(boundi
ng box)による椅子Aと三角柱Bの近似を、Eと
Fはそれらのスクリーンにおけるシルエットである。ま
た、GとHはそれらのシルエットを正確にスクリーン上
で求めた場合を示している。
In FIG. 2, A represents a chair in a virtual space, and B represents a triangular prism. Assume that the triangular prism 2 is farther from the viewpoint than the chair of A. Also, C and D are the smallest cuboids (boundi).
ng box) approximation of chair A and triangular prism B, E and F are silhouettes on their screen. G and H show the case where those silhouettes are accurately obtained on the screen.

【0016】図1においては、1は仮想空間における椅
子を、2は三角柱をそれぞれあらわしている。また、3
と4は、凸多面体木のレベル0における凸多面体を表し
ている。5〜13は、凸多面体木のレベル1における凸
多面体の集合を表している。
In FIG. 1, 1 represents a chair in a virtual space, and 2 represents a triangular prism. Also, 3
And 4 represent the convex polyhedron at level 0 of the convex polyhedral tree. Reference numerals 5 to 13 represent sets of convex polyhedrons at level 1 of the convex polyhedral tree.

【0017】図2に示す既存の方式では、物体をそれら
をbounding boxで囲んでいる。bound
ing boxによる近似では、Cに示すように、椅子
Aの形状の見積もりに誤差が大きすぎるため、それをス
クリーンに射影すると、本来可視であるべき三角柱が隠
蔽されているという誤った判断になることがわかる。
In the existing scheme shown in FIG. 2, objects are surrounded by a bounding box. bound
In the approximation by the ing box, as shown in C, there is too much error in estimating the shape of the chair A, and when it is projected on the screen, it may be incorrectly determined that the triangular prism that should be visible is hidden. I understand.

【0018】また、図2では、物体F,Gのシルエット
がスクリーン上において正確に見積もられている。この
場合は、明らかに三角柱は可視であるという判断にな
る。しかし、シルエットを正確に見積もるのは、一般に
計算コストが大きく、HOM(Hierarchical Occlusion
Map)のようにハードウエアの存在を仮定しないとリア
ルタイムでの処理は困難である。
In FIG. 2, the silhouettes of the objects F and G are accurately estimated on the screen. In this case, it is clear that the triangular prism is clearly visible. However, estimating a silhouette accurately is generally expensive in computational cost, and requires a HOM (Hierarchical Occlusion).
Real-time processing is difficult unless the existence of hardware is assumed as in Map).

【0019】一方、図1に示す本発明による方法におい
ては、物体には、階層的にそれらを包含する凸多面体の
集合が予め計算されている。物体は、細かなポリゴン
(多角形)によって表現されていると仮定する。3は、
椅子のデータ全体を囲む凸多面体をあらわしており、こ
れが凸多面体木のルート(レベル0)となる。このレベ
ルの凸多面体では、スクリーン上にシルエットを求めた
とき、まだ三角柱のシルエットが背後に隠蔽され、可視
にならない。しかし、椅子のデータを8分割し、分割さ
れた各々を包含するように作成した5〜12までの凸多
面体の集合による表現においては、椅子の形状がより正
確に表現され、結果的にそれらのシルエットをスクリー
ン上に求めると、三角柱が可視であると判断されるとわ
かる。
On the other hand, in the method according to the present invention shown in FIG. 1, a set of convex polyhedrons that include them hierarchically is calculated in advance for the object. It is assumed that the object is represented by fine polygons (polygons). 3 is
A convex polyhedron surrounding the entire chair data is represented, and this is the root of the convex polyhedron tree (level 0). With this level of convex polyhedron, when the silhouette is sought on the screen, the silhouette of the triangular prism is still hidden behind and is not visible. However, in the representation of the chair data by dividing the chair data into eight and creating a set of 5 to 12 convex polyhedrons to include each of the divided data, the shape of the chair is represented more accurately, and as a result, When the silhouette is obtained on the screen, it is determined that the triangular prism is determined to be visible.

【0020】なお、3次元凸多面体の2次元スクリーン
でのシルエットは、やはり凸多面体(2次元における)
になることに注意すべきである。つまり、シルエットの
計算は、3次元凸多面体の頂点の射影点を求め、さらに
それらの2次元凸多面体を求めるだけでよい。これは高
速にできる処理である。
The silhouette of a three-dimensional convex polyhedron on a two-dimensional screen is also a convex polyhedron (in two dimensions).
It should be noted that In other words, the calculation of the silhouette only requires finding the projection points of the vertices of the three-dimensional convex polyhedron, and further finding those two-dimensional convex polyhedrons. This is a process that can be performed at high speed.

【0021】以上のように、本発明においては、カリン
グ処理をその精度を保ったまま高速化するために、複数
の3次元物体からなる仮想空間において、物体の形状を
凸多面体の木を用いて表現することによって、シルエッ
トの生成と隠蔽関係の判定処理を、良い精度を保ったま
ま低い計算量で計算する手段を、特別なハードウエアを
前提とすることなく3次元図形の描画にかかる計算コス
トを削減するようにしたもので、以下の方法および記録
媒体を特徴とする。
As described above, in the present invention, in order to speed up the culling process while maintaining its accuracy, the shape of the object is determined using a convex polyhedral tree in a virtual space composed of a plurality of three-dimensional objects. By expressing, the means for calculating the silhouette generation and the concealment relation determination process with low calculation amount while maintaining good accuracy, and the calculation cost for drawing 3D figures without assuming special hardware , And is characterized by the following method and recording medium.

【0022】(3次元図形描画方法)仮想空間に配置さ
れる各物体を描画するに際し、仮想空間のウォークスル
ー時の視点から見て他の物体を隠蔽する物体と、他の物
体によって隠蔽される物体を判定し、隠蔽される物体の
描画を省略する3次元図形描画方法において、ポリゴン
の集合で構成される各物体を予め再帰的に適当な大きさ
のポリゴンの部分集合に分割しておき、前記分割された
各ポリゴンの部分集合に対して、それらを包含する最小
の直方体または凸包にした凸多面体を生成しておき、前
記生成された前記凸多面体の集合を階層的な木として相
互の位置関係を求めておき、仮想空間のウォークスルー
時に、物体から隠蔽される可能性がある物体に対しては
最外郭の前記凸多面体のみのシルエットを求め、物体を
隠蔽する可能性がある物体に対してはその凸多面体をそ
の木構造において高い階層に属するものから順にシルエ
ットを求め、前記隠蔽する可能性がある物体の凸多面体
のシルエットとそれにより隠蔽される可能性がある凸多
面体のシルエットとの隠蔽関係を調べ、隠蔽される可能
性がある物体の凸多面体のシルエットが隠蔽する可能性
がある物体のそれに隠蔽されないと判断されたときに該
物体を描画する判定をし、隠蔽する可能性のある物体の
凸多面体の木を最下層までたどっても隠蔽される可能性
がある物体が隠蔽されるときに該物体を描画しない判定
をし、前記描画する判定をした物体のみを描画する、こ
とを特徴とする。
(Three-dimensional graphic drawing method) When drawing each object arranged in the virtual space, an object concealing another object from the viewpoint at the time of walk-through in the virtual space and another object concealing it. In a three-dimensional graphic drawing method for determining an object and omitting the drawing of a hidden object, each object formed of a set of polygons is recursively divided in advance into a subset of polygons of an appropriate size, For the subset of each of the divided polygons, a minimum rectangular parallelepiped or a convex hull that includes them is generated, and a set of the generated convex polyhedron is generated as a hierarchical tree. The positional relationship is obtained in advance, and at the time of walking through the virtual space, for an object that may be concealed from the object, a silhouette of only the outermost convex polyhedron is obtained, and the possibility of concealing the object is obtained. For the object, the silhouette of the convex polyhedron is obtained in order from the one belonging to the higher hierarchy in the tree structure, and the silhouette of the convex polyhedron of the object which may be concealed and the convex polyhedron which may be concealed thereby Examines the concealing relationship with the silhouette of the object, and determines that the silhouette of the convex polyhedron of the object that may be concealed is not concealed from that of the object that may be concealed, and renders the object. It is determined not to render the object when the object that may be concealed is concealed even if the object that may be concealed is traced to the bottom layer of the convex polyhedron tree of the object that may be rendered, and only the object that has been determined to be rendered is determined. Drawing.

【0023】また、前記凸多面体の木構造の作成は、物
体を構成するポリゴンの全集合Sを8分割し、集合Sの
レベルL(S)を0に設定し、分割した結果生じた部分
Siを全集合Sの子とし、部分SiのレベルL(Si)
をL(S)+1に設定し、前記部分Siに対して、その
要素の全てを囲むことができてかつ最小の大きさの凸多
面体を生成し、前記各部分SiをキューQに入れ、該キ
ューQから取り出した1つのポリゴン集合Tがポリゴン
数が8個以上あって、かつレベルL(T)が指定された
最大レベルLmax以下にあるときに該ポリゴン集合を分
割し、この分割の結果生じたポリゴン集合のレベルをL
(T)+1に設定し、キューQにそのポリゴン集合を入
れ、さらに次のポリゴン集合TをキューQから取りだす
繰り返しで凸多面体とその木を作成することを特徴とす
る。
The tree structure of the convex polyhedron is created by dividing the entire set S of polygons constituting the object into eight parts, setting the level L (S) of the set S to 0, and forming a partial Si resulting from the division. Is a child of the full set S, and the level L (Si) of the partial Si
Is set to L (S) +1, and for the part Si, a convex polyhedron capable of surrounding all of its elements and having the minimum size is generated, and each part Si is put into a queue Q, When one polygon set T extracted from the queue Q has eight or more polygons and the level L (T) is equal to or less than the specified maximum level Lmax , the polygon set is divided, and the result of this division is obtained. The level of the generated polygon set is L
(T) +1 is set, the polygon set is put in the queue Q, and the next polygon set T is taken out from the queue Q to create a convex polyhedron and its tree.

【0024】また、前記物体間の位置関係は、各物体の
凸多面体をx,y,z軸の最大値でソーティングしたリ
ストを作成、およびx,y,z軸の最小値でソーティン
グしたリストを作成し、他の物体P’の凸多面体のx,
y,z軸座標の最小値が、物体Pの凸多面体のx,y,
z座標の最大値より大であるときに物体Pから物体P’
に向かって有向枝を生成し、他の物体P’の凸多面体の
x,y,z座標の最大値が、物体Pの凸多面体x,y,
z軸座標の最小値より小であるときに物体Pから物体
P’に向かって有向枝を生成した可視性グラフとして作
成することを特徴とする。
The positional relationship between the objects is determined by creating a list in which the convex polyhedrons of each object are sorted by the maximum values of the x, y, and z axes, and a list in which the polygons are sorted by the minimum values of the x, y, and z axes. X, of the convex polyhedron of another object P '
The minimum values of the y, z axis coordinates are x, y,
When the value is larger than the maximum value of the z coordinate, the object P
, And the maximum value of the x, y, z coordinates of the convex polyhedron of the other object P ′ is set to the convex polyhedron x, y,
When the value is smaller than the minimum value of the z-axis coordinate, a visibility graph is created in which directed branches are generated from the object P toward the object P ′.

【0025】また、前記シルエットの生成は、ウォーク
スルー時に視野に入る物体のうち、他の物体から隠蔽さ
れる可能性がある物体Eと、この物体を隠蔽する可能性
がある物体Rとを物体間の可視性グラフから選択し、等
間隔にスクリーン上に並んだ垂直方向のスラブ線をもつ
2次元スクリーンに対し、前記物体Eおよび物体Rの凸
多面体の各頂点をそれぞれ射影した座標を求め、該座標
を前記スラブ線のうち最も近いスラブの座標に丸めて該
物体の頂点座標としておき、前記凸多面体の全ての頂点
の射影から求めた2次元凸包を当該物体のシルエットと
することを特徴とする。
Further, the generation of the silhouette includes, among the objects entering the field of view during the walk-through, an object E which may be concealed from other objects and an object R which may conceal this object. For the two-dimensional screen having vertical slab lines arranged at equal intervals on the screen, the coordinates of the vertices of the convex polyhedrons of the objects E and R are obtained by selecting from the visibility graph between The coordinates are rounded to the coordinates of the closest slab of the slab line and set as vertex coordinates of the object, and a two-dimensional convex hull obtained from projections of all vertices of the convex polyhedron is used as a silhouette of the object. And

【0026】また、前記隠蔽関係の判定は、前記スラブ
線上において、物体Eおよび物体Rをスキャンすること
によって、それぞれの物体の2次元凸包の辺がそのスラ
ブ線に交わる位置を配列として記憶しておき、物体Rが
交差しておらず物体Eが交差している箇所が該配列上に
存在するか否かによって、物体Rに対して物体Eが隠蔽
されるか否かを判定することを特徴とする。
The concealment relationship is determined by scanning the object E and the object R on the slab line, and storing the positions where the sides of the two-dimensional convex hull of each object intersect the slab line as an array. In advance, it is determined whether or not the object E is concealed from the object R based on whether or not a place where the object R does not intersect and the object E intersects exists on the array. Features.

【0027】(記録媒体)前記3次元図形描画方法にお
ける処理手順をコンピュータに実行させるためのプログ
ラムを、該コンピュータが読み取り可能に記録したこと
を特徴とする。
(Recording Medium) A program for causing a computer to execute the processing procedure in the three-dimensional figure drawing method is recorded so as to be readable by the computer.

【0028】[0028]

【発明の実施の形態】(実施形態1)本実施形態は、凸
多面体として、直方体(bounding box)を
使う場合である。
(Embodiment 1) In this embodiment, a rectangular parallelepiped (bounding box) is used as a convex polyhedron.

【0029】本実施形態による描画方法は、始めに仮想
空間を表示したときの前処理と、仮想空間内をウォーク
スルーするときの処理に大きく分かれる。
The drawing method according to the present embodiment is largely divided into pre-processing when a virtual space is first displayed and processing when a walk through the virtual space is performed.

【0030】物体を仮想空間に入力したとき、まず、そ
の物体について、前処理として直方体木を生成する。ま
た、物体間の位置関係を表す可視性グラフを作成する。
ウォークスルー時には、これらの物体の直方体木と可視
性グラフを用いて描画すべき必要最小限な物体のみを選
び描画する。
When an object is input to the virtual space, a cuboid tree is first generated for the object as preprocessing. Further, a visibility graph representing a positional relationship between objects is created.
At the time of walk-through, only the minimum necessary objects to be drawn are selected and drawn using the rectangular parallelepiped tree of these objects and the visibility graph.

【0031】(1)前処理:直方体木の作成と物体間位
置関係の作成 (1A)直方体木の作成 一つ一つの物体について、直方体木を作成する。ここ
で、物体は、3次元の図形であって、ポリゴンと呼ばれ
る小さな多角形(三角形や四角形であることが多い)の
集合で構築されているとする。直方体木の最大レベルL
maxが与えられているとする。この直方体木の作成は、
図3の(a)に示す手順で実行する。
(1) Preprocessing: Creation of a rectangular parallelepiped tree and creation of a positional relationship between objects (1A) Creation of a rectangular parallelepiped tree A rectangular parallelepiped tree is created for each object. Here, it is assumed that the object is a three-dimensional figure and is constructed of a set of small polygons (often triangular or quadrangular) called polygons. Maximum level L of a rectangular parallelepiped tree
Suppose max is given. The creation of this cuboid tree
This is performed according to the procedure shown in FIG.

【0032】(ステップS1)物体を構成するポリゴン
の全集合をSとする。Level(S)=0とする。ま
た、ポリゴン集合Sに対して、その要素の全てを囲むこ
とができてかつ最小の大きさの直方体を生成する。この
ような直方体を、R(S)と書く。
(Step S1) Let S be the entire set of polygons that make up the object. Level (S) = 0. Further, a rectangular parallelepiped of the smallest size that can surround all of the elements of the polygon set S is generated. Such a rectangular solid is written as R (S).

【0033】(ステップS2)ポリゴン集合Sの分割:
Sを8分割する。分割した結果生じた部分を、Si,i
=0,1,…,7とする。各iに対して、SiをSの子
として、SiとSの間にポインタを張る。各iに対し
て、Level(Si)←Level(S)+1とす
る。
(Step S2) Division of polygon set S:
S is divided into eight. The parts resulting from the division are represented by Si, i
= 0, 1,..., 7. For each i, a pointer is set between Si and S, with Si as a child of S. For each i, Level (Si) ← Level (S) +1.

【0034】(ステップS3)直方体の生成:各Sに対
して、その要素の全てを囲むことができてかつ最小の大
きさの直方体を生成する。このような直方体を、Rec
(Si)と記述する。
(Step S3) Generation of a rectangular parallelepiped: For each S, a rectangular parallelepiped which can surround all of its elements and has the minimum size is generated. Such a rectangular solid is called Rec
(Si).

【0035】(ステップS4)キューへの挿入:各Si
をキューQに入れる。
(Step S4) Insertion into queue: Each Si
In the queue Q.

【0036】(ステップS5)キューQが空であれば直
方体木の作成を終了する。
(Step S5) If the queue Q is empty, the creation of the rectangular parallelepiped tree ends.

【0037】(ステップS6)キューからの取出し:空
でないQから一つのポリゴン集合Tを取り出す。
(Step S6) Extraction from queue: One polygon set T is extracted from a non-empty Q.

【0038】(ステップS7)Tが、条件「ポリゴン数
が8個以上あって、かつLevel(T)<Lmax」か
否かを判定し、この条件がみたされなければ、次のポリ
ゴン集合をQから取りだしTとして同じことを試み、Q
が空になるまで繰り返す。
(Step S7) It is determined whether or not the condition “the number of polygons is eight or more and Level (T) <L max ” is satisfied. If this condition is not satisfied, the next polygon set is determined. Take the same thing out of Q as T,
Repeat until is empty.

【0039】(ステップS8)Tが、条件「ポリゴン数
が8個以上あって、かつLevel(T)<Lmax」を
満たすならば、S←Tとしてステップ2へ戻り、次のポ
リゴン集合の分割から繰り返す。
(Step S8) If T satisfies the condition “the number of polygons is eight or more and Level (T) <L max ”, return to step 2 as S ← T and divide the next polygon set. Repeat from

【0040】(1B)物体間位置関係(可視性グラフ)
の作成 物体間に、位置関係を定義しておく。これは以下のよう
にして行う。各物体をノード、物体間の位置関係を枝に
した有向グラフを作成する。グラフは、x方向グラフ、
y方向グラフ、z方向グラフの3種類が作成される。こ
れらを、可視性グラフと呼ぶ。以下では、簡単のためx
方向可視性グラフGxについてのみ記す。他の2つにつ
いても、同様な方法で作成できる。この可視性グラフの
作成手順は図3の(b)に示すように、以下の手順にな
る。
(1B) Positional relationship between objects (visibility graph)
Create a positional relationship between objects. This is performed as follows. A directed graph is created in which each object is a node and the positional relationship between the objects is a branch. The graph is an x-direction graph,
Three types of y-direction graph and z-direction graph are created. These are called visibility graphs. In the following, for simplicity, x
Only the direction visibility graph Gx is described. The other two can be created in a similar manner. The procedure for creating the visibility graph is as follows, as shown in FIG.

【0041】(ステップS11)bounding b
oxの作成:各物体Pに対して、そのbounding
box(以下BBと略す)を作成する。これは、各物
体Pのx,y,zの各方向における最大座標、最小座標
を求めることで容易に求まる。物体PのBBのx座標の
最大値をXmax(P)、最小値をXmin(P)とする。
(Step S11) bounding b
Creation of ox: For each object P, its bounding
box (hereinafter abbreviated as BB). This can be easily obtained by obtaining the maximum coordinates and the minimum coordinates of each object P in each of the x, y, and z directions. The maximum value of the x coordinate of the BB of the object P is X max (P), and the minimum value is X min (P).

【0042】(ステップS12)xソーティング:全物
体をXmaxでソーティングしたリストを作成する。
(Step S12) x sorting: A list in which all objects are sorted by X max is created.

【0043】(ステップS13)xソーティング:全物
体をXminでソーティングしたリストを作成する。
(Step S13) x sorting: A list in which all objects are sorted by X min is created.

【0044】(ステップS14)枝生成:ステップS1
2,S13で生成したリストを活用すると、以下のよう
にして物体に対応するノード間の枝が生成できる。
(Step S14) Branch generation: Step S1
2. Using the list generated in S13, a branch between nodes corresponding to the object can be generated as follows.

【0045】・他の物体P’であって、BBのx座標の
最小値Xmin(P’)が、PのBBのx座標の最大値X
max(P)より大であるP’があったら、PからP’に
向かって‘x+’というラベルのついた有向枝を生成す
る。
The other object P ′, in which the minimum value X min (P ′) of the x coordinate of BB is the maximum value X of the x coordinate of BB of P
If there is a P 'greater than max (P), a directed branch labeled' x + 'is generated from P to P'.

【0046】・他の物体P’であって、そのBBのx座
標の最大値Xmax(P’)が、PのBBのx座標の最小
値Xmin(P)より小であるP’があったら、Pから
P’に向かって‘x−’というラベルのついた有向枝を
生成する。
P ′, which is another object P ′ and whose maximum value X max (P ′) of the x coordinate of the BB is smaller than the minimum value X min (P) of the x coordinate of the BB of P If so, a directed branch labeled 'x-' is generated from P to P '.

【0047】(2)ウォークスルー時の処理:occl
uder,occludeeの選択とシルエット生成、
隠蔽関係判定 直方体木を用いて、ウォークスルー時に、描画する必要
のある(つまり視点から見ることができる)物体のみを
選択する。以下の処理は視点の位置と視野が決まった時
点で実行される処理である。図4にその主手順を、図5
にシルエット生成手順を、図6に隠蔽関係判定手順を示
す。
(2) Processing at the time of walk-through: occl
udder, occludee selection and silhouette generation,
Concealment relation determination Using a rectangular parallelepiped tree, only objects that need to be drawn (that is, can be viewed from the viewpoint) are selected during walkthrough. The following processing is executed when the position of the viewpoint and the visual field are determined. The main procedure is shown in FIG.
FIG. 6 shows a silhouette generation procedure, and FIG. 6 shows a concealment relation determination procedure.

【0048】(2A)occluderとocclud
eeの選択 (ステップS21)現時点での視線の方向を表すベクト
ルを、v=(xv,yv,zv)とする。視点から遠い順
に、視野に入る物体のうち、まだ可視か可視でないか決
まっていない物体を一つ選んで、occludeeEと
する。そのEに対して、可視性グラフGx,Gy,Gz
を参照して、occluderを選ぶ。
(2A) Occluder and occlude
ee of selecting a vector representing the direction of the sight line in (Step S21) this time, v = (x v, y v, z v) and. In the order from the viewpoint farther from the viewpoint, one object that is not yet determined whether visible or not visible is selected and set as occludeeE. For that E, the visibility graphs Gx, Gy, Gz
And select an occluder.

【0049】たとえば、Gxからは、xvの符合が正で
あればラベル‘x−’の枝で、xvの符合が負であれば
ラベル‘x+’の枝で、Eと結ばれている物体をocc
luderの候補として選ぶ。選択したocclude
rの集合を、R(i),i=0,l,…,nとする。な
お、occluderの数nが多すぎるとき(指定され
た数より大きいとき)には、ベクトルvの要素の絶対値
が最も大きい方向の可視性グラフから選ぶようにするこ
とで対応できる。
[0049] For example, from Gx, at branch label 'x-' if the sign of x v is positive, with branches sign is long if the label 'x +' negative x v, are linked with E Occ object
luder as a candidate. Occlude selected
The set of r is R (i), i = 0, 1,..., n. When the number n of occluders is too large (when it is larger than the designated number), it can be handled by selecting from the visibility graph in the direction in which the absolute value of the element of the vector v is the largest.

【0050】(ステップS22,S23)occlud
erとoccludeeの全ての選択終了で描画すべき
と判定されたもののみを描画する。
(Steps S22, S23) occlud
Only those that are determined to be drawn when all the selections of er and occludee are completed are drawn.

【0051】(ステップS24)選択したocclud
erがoccludeeを隠蔽しているか否か、2次元
のスクリーン上で判定するために、スクリーンへ物体の
直方体を射影してシルエットを求める。この処理は以下
のように処理される。
(Step S24) Selected occlude
In order to determine whether or not er hides the occludee on a two-dimensional screen, a cuboid of the object is projected on the screen to obtain a silhouette. This process is performed as follows.

【0052】まず、射影されるスクリーンは、図5に示
すように、スラブ線と呼ばれる等間隔にスクリーン上に
並んだ垂直方向の直線と、その各直線に付随する頂点デ
ータを格納する頂点スタックから構成されるとする。ス
ラブ線は、occluder用とoccludee用の
2種類を用意することにする。
First, as shown in FIG. 5, the screen to be projected is composed of vertical straight lines, called slab lines, arranged on the screen at equal intervals, and a vertex stack storing vertex data associated with each straight line. It is assumed to be configured. Two types of slab lines are prepared for the occluder and for the occludee.

【0053】このようなスラブ線と、頂点スタックは、
処理を開始した最初の時点で、決まった本数だけ作成し
ておく。なお、スラブ線の間隔は、視野角の変更(いわ
ゆるズーム)をしない限り変わらない。
Such a slab line and a vertex stack are
At the first time when the processing is started, a predetermined number of lines are created. The interval between the slab lines does not change unless the viewing angle is changed (so-called zoom).

【0054】各occluderのレベルLevelの
各直方体Tについて、以下を行う。occludeeに
対しても同じことを行うが、ここで、occludee
は、別のスラブ線に射影することにする。また、occ
ludeeに関しては、最上位(Level=0)の直
方体のみを、射影することにする。すなわち、occl
udeeは、occluderのレベルが上がっても、
より高いレベルのものを射影する必要はない。
The following is performed for each rectangular solid T at each level of each occluder. Do the same for occludee, but here occludee
Will project onto another slab line. Also, occ
For ludee, only the top (Level = 0) rectangular parallelepiped is projected. That is, occl
udee, even if the level of the occluder goes up,
There is no need to project higher levels.

【0055】シルエットの生成の詳細は、図5に示す手
順になり、以下のような処理になる。
The details of the generation of the silhouette follow the procedure shown in FIG. 5, and the following processing is performed.

【0056】(ステップS24a)直方体頂点の射影:
直方体Tの各頂点の、スクリーン面への射影座標を計算
する。これは、スクリーン面の平面の方程式が既知であ
れば、容易にできる。
(Step S24a) Projection of a rectangular parallelepiped vertex:
The projection coordinates of each vertex of the rectangular parallelepiped T onto the screen surface are calculated. This can be easily done if the equation of the plane of the screen surface is known.

【0057】(ステップS24b)直方体頂点のスラブ
線への割り付け:直方体Tの、スクリーンに射影された
各頂点のx座標を最も近いスラブ線のx座標に丸める。
そのx座標のスラブ線に割り付けられている頂点スタッ
クにその頂点の情報を格納する。
(Step S24b) Assignment of the vertices of the rectangular parallelepiped to the slab lines: In the rectangular parallelepiped T, the x coordinate of each vertex projected on the screen is rounded to the x coordinate of the closest slab line.
The information of the vertex is stored in the vertex stack allocated to the slab line at the x coordinate.

【0058】(ステップS24c)2次元凸包の生成:
直方体Tの全ての頂点の射影が、スラブ線に割り付けら
れたら、これらの2次元凸包を求める。これは、一般
に、頂点数をmとしたとき、(m log m)で求める
ことができる(下記の文献1参照)。
(Step S24c) Generation of two-dimensional convex hull:
When the projections of all the vertices of the rectangular parallelepiped T are assigned to the slab lines, these two-dimensional convex hulls are obtained. Generally, when the number of vertices is m, it can be obtained by (m log m) (see Document 1 below).

【0059】直方体の頂点数は、高々8個であるから、
これは定数オーダーの手間で求めることができる。凸包
の頂点は、時計回りにポインタによって関係づけるとす
る。すなわち、以後、この2次元の凸包は、閉路の形を
した有向グラフとして扱うことができる。
Since the number of vertices of the rectangular parallelepiped is at most eight,
This can be obtained with a constant order of effort. Assume that the vertices of the convex hull are related clockwise by a pointer. That is, hereafter, the two-dimensional convex hull can be treated as a directed graph having a closed circuit shape.

【0060】(ステップS24d)残った頂点の削除:
スラブ線のスタックから、2次元凸包に選ばれなかった
頂点をポップする。
(Step S24d) Deletion of remaining vertices:
Pop vertices not selected as 2D convex hull from stack of slab lines.

【0061】(ステップS25)シルエットによる隠蔽
関係判定 スラブ線を、端から順にスキャンしながら、occlu
derの直方体の2次元凸包と、occludeeの直
方体の2次元凸包の包含関係を調べる。包含関係を調べ
るための基本的原理は以下のようになる。
(Step S25) Judgment of concealment relation by silhouette Occlu is scanned while slab lines are sequentially scanned from the end.
The inclusion relationship between the two-dimensional convex hull of the cuboid of der and the two-dimensional convex hull of the rectangular solid of occludee is examined. The basic principle for examining the inclusion relation is as follows.

【0062】ある一つのスラブ線に注目したとき、それ
を横切る2次元凸包の辺(前記シルエット生成で作成し
た有向グラフの枝)には、左向きのものと、右向きのも
のの2種類がある。スラブ線を、y座標の小さい方(下
方)から上方に向かって見て行ったとき、左向きの枝に
遭遇したら、それはこの下から上への走査においてある
2次元凸包の中に入ったことを意味し、右向きの枝に遭
遇したら、それはある2次元凸包の中から外へ出たこと
を意味している。なぜなら、2次元凸包には、時計回り
の向きをつけてあるからである。
When attention is paid to a single slab line, there are two types of edges of the two-dimensional convex hull (branches of the directed graph created by the silhouette generation) crossing the slab line, that is, a leftward one and a rightward one. When looking up the slab line from the smaller y-coordinate (from the bottom) to the top, if it encounters a left-facing branch, it has entered a two-dimensional convex hull in this bottom-to-top scan. When a right-pointing branch is encountered, it means that it has gone out of a two-dimensional convex hull. This is because the two-dimensional convex hull is oriented clockwise.

【0063】あるスラブ線を下から上に走査していった
とき、occluderの2次元凸包に入っておらず、
かつoccludeeの2次元凸包に入っていると判定
されたとき、このoccludeeは可視であると判定
できることになる。
When a certain slab line was scanned from bottom to top, it was not in the two-dimensional convex hull of the occluder.
When it is determined that the occludee is in the two-dimensional convex hull, it can be determined that the occludee is visible.

【0064】以上のことを利用した隠蔽関係の判定処理
は、図6に示す手順になる。
The process of determining the concealment relationship utilizing the above is the procedure shown in FIG.

【0065】(ステップS25a)交差情報を格納する
配列の初期化:スラブ線と2次元凸包の辺が交わる位置
に、フラグを立てて格納するための整数配列を2つ用意
し、YE,YRと名づける。この例を図6中に示し、Y
Eがoccludee用、YRがoccluder用で
ある。各要素は始めに0に初期化する。
(Step S25a) Initialization of array for storing intersection information: Two integer arrays for storing flags are prepared at positions where slab lines intersect with sides of the two-dimensional convex hull, and YE, YR Name it. This example is shown in FIG.
E is for occludee and YR is for occluder. Each element is first initialized to zero.

【0066】(ステップS25b)スラブ線に交差する
辺の列挙:スクリーンの端から順に各スラブ線について
以下を行う。スラブ線と交差する2次元凸包の辺につい
て、交点のy座標を求める。交差する辺は、スラブ線を
スクリーン端から調べていく際、スラブ線に割り当てら
れている頂点に遭遇するたびに、更新するようにすれ
ば、容易に求まる。交点のy座標に対応する配列YE,
YRの要素に、2次元凸包の左向き枝が交わっているの
であれば+1を、右向き枝が交わっているのであれば−
1を設定する。
(Step S25b) Enumeration of Sides Intersecting Slab Lines: The following is performed for each slab line in order from the edge of the screen. For the side of the two-dimensional convex hull that intersects the slab line, the y coordinate of the intersection is determined. The intersecting sides can be easily obtained by updating each time a vertex assigned to the slab line is encountered when examining the slab line from the screen edge. Array YE corresponding to the y coordinate of the intersection,
If the left-side branch of the two-dimensional convex hull intersects with the YR element, +1 is added.
Set 1.

【0067】(ステップS25c)隠蔽関係判定:変数
NRとNEを用意し、それぞれ0に初期化する。配列Y
E,YRを下から順に見ながら、すなわち、iを0から
増加させながら、以下の計算を行う。
(Step S25c) Concealment relation judgment: variables NR and NE are prepared and initialized to 0. Array Y
The following calculation is performed while looking at E and YR in order from the bottom, that is, while increasing i from 0.

【0068】[0068]

【数1】 NR←NR+YR(i), NE←NE+YE(i) …(1) (ステップS25d)上記の処理で、NR=0,NE>
0となるiが存在すれば、occludeeは可視であ
ることになる。このときは、このoccludeeは描
画するということにして、ステップS21へ戻る(図4
のステップ25)。
NR ← NR + YR (i), NE ← NE + YE (i) (1) (Step S25d) In the above processing, NR = 0, NE>
If there is an i that is 0, occludee will be visible. At this time, it is determined that this occludee is to be drawn, and the process returns to step S21 (FIG. 4).
Step 25).

【0069】そうならなければ、このスラブ線において
は可視ではないので、次のスラブ線にいくべくステップ
S25bへ戻る。全てのスラブ線を調べて可視でなけれ
ば、この物体(occludee)はこのレベルにおい
ては可視ではないので、ステップS27へ進む。
If not, since the slab line is not visible, the process returns to step S25b to move to the next slab line. If all slab lines are not visible after checking, this object (occlude) is not visible at this level and the process proceeds to step S27.

【0070】(ステップS27)Levelがoccl
uderの直方体木の最大レベルを超えているような
ら、このoccludeeは可視ではないとして、ステ
ップS21へ戻る。
(Step S27) Level is occl
If it exceeds the maximum level of the cubic tree of “user”, it is determined that the occludee is not visible, and the process returns to step S21.

【0071】(ステップS28)Levelがoccl
uderの直方体木の最大レベルを超えていなければ、
Level←Level+lとし、ステップS24へ戻
る。
(Step S28) Level is occl
If you do not exceed the maximum level of the udder cuboid tree,
Level ← Level + 1, and the process returns to step S24.

【0072】(3)描画処理 以上までの処理で、occluder,occlude
eの全てについて描画すべきか否かの判定が終了したと
き(ステップS22)、描画すべきもののみを描画する
(ステップS23)。
(3) Drawing Process In the above process, occluder, occlude
When the determination as to whether or not to draw all of e is completed (step S22), only the one to be drawn is drawn (step S23).

【0073】従って、視野に入る全ての物体を描画する
ときに比べて、多大な計算コストが削減される。
Therefore, a great deal of calculation cost is reduced as compared with the case where all objects in the field of view are drawn.

【0074】(実施形態2)前記の実施形態1において
は、物体を近似する凸多面体として、直方体を用いる例
を挙げた。本実施形態においては、物体近似の凸多面体
として、凸包を使用する場合である。
(Embodiment 2) In Embodiment 1 described above, an example is described in which a rectangular parallelepiped is used as a convex polyhedron approximating an object. In the present embodiment, a convex hull is used as a convex polyhedron approximating an object.

【0075】凸包とは、空間に分布する点が与えられた
とき、それらを包含するような体積最小の凸多面体のこ
とであると定義できる。一般に、与えられた点集合に対
して、それらを包含する凸包の方が、同じ点集合を包含
する直方体よりも体積が小さくなる。すなわち、直方体
よりも精度のよい近似が得られると考えられる。
The convex hull can be defined as a convex polyhedron having a minimum volume so as to include points distributed in space. In general, for a given point set, the convex hull containing them has a smaller volume than a rectangular parallelepiped containing the same point set. That is, it is considered that an approximation with higher accuracy than a rectangular parallelepiped is obtained.

【0076】しかし、直方体の場合、点の数は、8個と
決まっているが、凸包の場合、頂点の数が任意に増える
可能性がある。つまり、隠蔽関係判定の精度は上がる
が、処理の負荷が増大する可能性がある。
However, in the case of a rectangular parallelepiped, the number of points is determined to be eight, but in the case of a convex hull, the number of vertices may increase arbitrarily. That is, the accuracy of the concealment relationship determination is increased, but the processing load may be increased.

【0077】そこで、以下では、凸包を用いた場合、計
算のコストをなるべく削減して隠蔽関係を判定する方法
について説明する。
Therefore, a method of determining the concealment relationship while reducing the calculation cost as much as possible when the convex hull is used will be described below.

【0078】具体的には、実施形態1において直方体木
を生成する際、図3のステップS3において直方体を生
成するが、ここで直方体の代わりに、頂点集合Siの3
次元凸包を求めるようにすればよい。3次元凸包は、下
記の文献1に述べられている方法で、頂点数をmとした
とき、平均的には、O(m log m)で求まる。この
とき、求まった3次元凸包は、高速処理をすることが困
難になるほど頂点数が増えてしまうことがあり得る。そ
こで、そのような場合には、予めユーザから指定された
頂点数の限界値を超えるようであれば、指定された頂点
数まで凸包の頂点を、なるべくその形状を変えることな
く削減することにする。これには、下記文献2で述べら
れている方法がそのまま利用できる。
More specifically, when a rectangular parallelepiped tree is generated in the first embodiment, a rectangular parallelepiped is generated in step S3 in FIG. 3. Here, instead of the rectangular parallelepiped, a vertex set Si 3
What is necessary is just to obtain a dimensional convex hull. The three-dimensional convex hull is, on the average, O (m log m) when the number of vertices is m in the method described in the following document 1. At this time, the number of vertices of the obtained three-dimensional convex hull may increase as it becomes difficult to perform high-speed processing. Therefore, in such a case, if the limit value of the number of vertices specified in advance by the user is exceeded, the vertices of the convex hull are reduced to the specified number of vertices without changing the shape as much as possible. I do. For this, the method described in Reference 2 below can be used as it is.

【0079】すなわち、本実施形態は、実施形態1にお
ける「前処理」の「直方体木の作成」のステップS3を
以下のように変え、かつ実施形態1中の「直方体」を
「3次元凸包」と読みかえることで構築することができ
る。
That is, in the present embodiment, the step S3 of “creation of a cuboid tree” in the “preprocessing” in the first embodiment is changed as follows, and the “cuboid” in the first embodiment is changed to a “three-dimensional convex hull”. It can be constructed by reading as "

【0080】3次元凸包の生成:各Siに対して、その
要素の全てを囲む3次元凸包を、文献1に述べられてい
る方法で生成する。この3次元凸包の頂点数が、ユーザ
に指定された限界値よりも大であれば、文献2に述べら
れた方法によって、頂点数を削減する。
Generation of three-dimensional convex hull: For each Si, a three-dimensional convex hull surrounding all of its elements is generated by the method described in Reference 1. If the number of vertices of the three-dimensional convex hull is larger than the limit value specified by the user, the number of vertices is reduced by the method described in Reference 2.

【0081】文献1:M.de Berg,M.van Kreveld,M.Over
mars,O.Schwarzkopf:ComputationalGeometry-Algorithm
s and Applications,Springer,1997. 文献2:Hidenori Sato,Akira Onozawa,Hitoshi Kitaza
wa:Mesh Surface Simplification Based on Constraine
d Energy,Proc.of The 7th International Conference
in Central Europeon Computer Graphics,Visualizatio
n and Interactive Digital Media '99(WSCG'99),pp.44
8−455.1999. なお、本発明は、凸多面体のデータを保存し、occl
uderやoccludeeの選択、シルエットの生成
や隠蔽関係の判定等の処理の手順ないし計算アルゴリズ
ムをコンピュータ等に実行させるためのプログラムを該
コンピュータが読み取り可能な記録媒体、例えばフロッ
ピー(登録商標)ディスクやメモリカード、MO、C
D、DVDなどに記録して配布することが可能である。
Reference 1: M. de Berg, M. van Kreveld, M. Over
mars, O.Schwarzkopf: ComputationalGeometry-Algorithm
s and Applications, Springer, 1997. Reference 2: Hidenori Sato, Akira Onozawa, Hitoshi Kitaza
wa: Mesh Surface Simplification Based on Constraine
d Energy, Proc.of The 7th International Conference
in Central Europeon Computer Graphics, Visualizatio
n and Interactive Digital Media '99 (WSCG'99), pp.44
8-455.1999. In the present invention, data of a convex polyhedron is stored and occl
and a computer readable recording medium, such as a floppy (registered trademark) disk or a memory, for executing a program for causing a computer or the like to execute a procedure or a calculation algorithm for selecting an udder or an occludee, generating a silhouette or determining a concealment relationship, or the like. Card, MO, C
It can be recorded on D or DVD and distributed.

【0082】[0082]

【発明の効果】以上のとおり、本発明によれば、複数の
3次元物体からなる仮想空間描画時に、物体の形状を凸
多面体の木を用いて表現することによって、シルエット
を求めることと隠蔽関係の判定を、良い精度を保ったま
ま低い計算量で計算し、もってカリングの処理を高速に
行い、描画に必要な物体のみを見つけだし、特別なハー
ドウェアを必要とする事なく、3次元図形の描画にかか
る計算コストを削減する、という効果がある。
As described above, according to the present invention, when drawing a virtual space composed of a plurality of three-dimensional objects, the shape of the object is expressed using a convex polyhedral tree, thereby obtaining a silhouette and a concealment relationship. Is calculated with a low amount of calculation while maintaining good accuracy, and the culling process is performed at high speed to find only the objects necessary for drawing, without the need for special hardware. This has the effect of reducing the calculation cost for drawing.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の3次元図形描画方法を原理的に説明す
る図。
FIG. 1 is a view for explaining in principle a three-dimensional figure drawing method of the present invention.

【図2】従来の3次元図形描画方法におけるカリング手
法の概要を説明する図
FIG. 2 is a diagram for explaining an outline of a culling method in a conventional three-dimensional graphic drawing method;

【図3】実施形態1において前処理の方法を説明する
図。
FIG. 3 is a view for explaining a preprocessing method in the first embodiment.

【図4】実施形態1において、ウォークスルー時の処理
の方法を説明する図。
FIG. 4 is a view for explaining a method of processing at the time of walk-through in the first embodiment.

【図5】実施形態1において物体のシルエットを求める
方法を説明する図。
FIG. 5 is a view for explaining a method for obtaining a silhouette of an object in the first embodiment.

【図6】実施形態1において2次元凸包間の包含関係を
判定する方法を説明する図。
FIG. 6 is a view for explaining a method of determining the inclusion relationship between two-dimensional convex hulls in the first embodiment.

【符号の説明】[Explanation of symbols]

1、A…椅子 2、B…三角柱 3〜13、C、D…凸多面体 14、15、E、F…シルエット 1, A ... chair 2, B ... triangular prism 3-13, C, D ... convex polyhedron 14, 15, E, F ... silhouette

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 仮想空間に配置される各物体を描画する
に際し、仮想空間のウォークスルー時の視点から見て他
の物体を隠蔽する物体と、他の物体によって隠蔽される
物体を判定し、隠蔽される物体の描画を省略する3次元
図形描画方法において、 ポリゴンの集合で構成される各物体を予め再帰的に適当
な大きさのポリゴンの部分集合に分割しておき、 前記分割された各ポリゴンの部分集合に対して、それら
を包含する最小の直方体または凸包にした凸多面体を生
成しておき、 前記生成された前記凸多面体の集合を階層的な木として
相互の位置関係を求めておき、 仮想空間のウォークスルー時に、物体から隠蔽される可
能性がある物体に対しては最外郭の前記凸多面体のみの
シルエットを求め、物体を隠蔽する可能性がある物体に
対してはその凸多面体をその木構造において高い階層に
属するものから順にシルエットを求め、前記隠蔽する可
能性がある物体の凸多面体のシルエットとそれにより隠
蔽される可能性がある凸多面体のシルエットとの隠蔽関
係を調べ、隠蔽される可能性がある物体の凸多面体のシ
ルエットが隠蔽する可能性がある物体のそれに隠蔽され
ないと判断されたときに該物体を描画する判定をし、隠
蔽する可能性のある物体の凸多面体の木を最下層までた
どっても隠蔽される可能性がある物体が隠蔽されるとき
に該物体を描画しない判定をし、前記描画する判定をし
た物体のみを描画する、ことを特徴とする。
When drawing each object arranged in a virtual space, an object that conceals another object and an object that is concealed by another object are determined when viewed from a viewpoint at the time of walk-through in the virtual space. In a three-dimensional graphic drawing method for omitting the drawing of an object to be concealed, each object composed of a set of polygons is recursively divided in advance into a subset of polygons of an appropriate size, For a subset of polygons, a minimum polyhedron or a convex hull that includes them is generated, and a set of the generated polyhedrons is used as a hierarchical tree to obtain a mutual positional relationship. During the walk-through of the virtual space, for an object that may be concealed from the object, a silhouette of only the outermost convex polyhedron is obtained, and for an object that may conceal the object, Of the convex polyhedron in the tree structure in descending order of those belonging to the higher hierarchy, and the concealment relationship between the silhouette of the convex polyhedron of the object that may be concealed and the silhouette of the convex polyhedron that may be concealed thereby Is examined, and when it is determined that the silhouette of the convex polyhedron of the object that may be concealed is not concealed from that of the object that may be concealed, it is determined that the object is to be drawn, and the object that may be concealed is drawn. When an object that may be concealed even when tracing the tree of the convex polyhedron to the bottom layer is concealed, it is determined not to draw the object, and only the object determined to be drawn is drawn. And
【請求項2】 前記凸多面体の木構造の作成は、物体を
構成するポリゴンの全集合Sを8分割し、集合Sのレベ
ルL(S)を0に設定し、分割した結果生じた部分Si
を全集合Sの子とし、部分SiのレベルL(Si)をL
(S)+1に設定し、前記部分Siに対して、その要素
の全てを囲むことができてかつ最小の大きさの凸多面体
を生成し、前記各部分SiをキューQに入れ、該キュー
Qから取り出した1つのポリゴン集合Tがポリゴン数が
8個以上あって、かつレベルL(T)が指定された最大
レベルLmax以下にあるときに該ポリゴン集合を分割
し、この分割の結果生じたポリゴン集合のレベルをL
(T)+1に設定し、キューQにそのポリゴン集合を入
れ、さらに次のポリゴン集合TをキューQから取りだす
繰り返しで凸多面体とその木を作成することを特徴とす
る請求項1に記載の3次元図形描画方法。
2. The tree structure of the convex polyhedron is created by dividing the entire set S of polygons constituting the object into eight parts, setting the level L (S) of the set S to 0, and forming a part Si resulting from the division.
Is the child of the full set S, and the level L (Si) of the partial Si is L
(S) +1 is set, and for the portion Si, a convex polyhedron capable of surrounding all of its elements and having the smallest size is generated. The polygon set is divided when the number of polygons is one or more and the level L (T) is equal to or less than the specified maximum level Lmax . L level of polygon set
3. The method according to claim 1, wherein (T) +1 is set, the polygon set is put in the queue Q, and a convex polyhedron and its tree are created by repeating the process of taking out the next polygon set T from the queue Q. Dimensional drawing method.
【請求項3】 前記物体間の位置関係は、各物体の凸多
面体をx,y,z軸の最大値でソーティングしたリスト
を作成、およびx,y,z軸の最小値でソーティングし
たリストを作成し、他の物体P’の凸多面体のx,y,
z軸座標の最小値が、物体Pの凸多面体のx,y,z座
標の最大値より大であるときに物体Pから物体P’に向
かって有向枝を生成し、他の物体P’の凸多面体のx,
y,z座標の最大値が、物体Pの凸多面体x,y,z軸
座標の最小値より小であるときに物体Pから物体P’に
向かって有向枝を生成した可視性グラフとして作成する
ことを特徴とする請求項1または2に記載の3次元図形
描画方法。
3. The positional relationship between the objects is obtained by creating a list in which convex polyhedrons of each object are sorted by the maximum values of the x, y, and z axes, and a list in which the convex polyhedrons are sorted by the minimum values of the x, y, and z axes. X, y, of the convex polyhedron of another object P '
When the minimum value of the z-axis coordinate is larger than the maximum value of the x, y, z coordinates of the convex polyhedron of the object P, a directed branch is generated from the object P toward the object P ′, and another object P ′ X of the convex polyhedron of
When the maximum value of the y, z coordinates is smaller than the minimum value of the convex polyhedron x, y, z axis coordinates of the object P, it is created as a visibility graph in which directed branches are generated from the object P toward the object P ′. 3. The three-dimensional figure drawing method according to claim 1, wherein
【請求項4】 前記シルエットの生成は、ウォークスル
ー時に視野に入る物体のうち、他の物体から隠蔽される
可能性がある物体Eと、この物体を隠蔽する可能性があ
る物体Rとを物体間の可視性グラフから選択し、等間隔
にスクリーン上に並んだ垂直方向のスラブ線をもつ2次
元スクリーンに対し、前記物体Eおよび物体Rの凸多面
体の各頂点をそれぞれ射影した座標を求め、該座標を前
記スラブ線のうち最も近いスラブの座標に丸めて該物体
の頂点座標としておき、前記凸多面体の全ての頂点の射
影から求めた2次元凸包を当該物体のシルエットとする
ことを特徴とする請求項1〜3のいずれか1項に記載の
3次元図形描画方法。
4. The method of generating a silhouette includes, among objects entering a field of view during a walkthrough, an object E which may be concealed from another object and an object R which may conceal this object. For the two-dimensional screen having vertical slab lines arranged at equal intervals on the screen, the coordinates of the vertices of the convex polyhedrons of the objects E and R are obtained by selecting from the visibility graph between The coordinates are rounded to the coordinates of the closest slab of the slab line and set as vertex coordinates of the object, and a two-dimensional convex hull obtained from projections of all vertices of the convex polyhedron is used as a silhouette of the object. The three-dimensional figure drawing method according to claim 1.
【請求項5】 前記隠蔽関係の判定は、前記スラブ線上
において、物体Eおよび物体Rをスキャンすることによ
って、それぞれの物体の2次元凸包の辺がそのスラブ線
に交わる位置を配列として記憶しておき、物体Rが交差
しておらず物体Eが交差している箇所が該配列上に存在
するか否かによって、物体Rに対して物体Eが隠蔽され
るか否かを判定することを特徴とする請求項1〜4のい
ずれか1項に記載の3次元図形描画方法。
5. The concealment relationship is determined by scanning an object E and an object R on the slab line, and storing a position where a side of a two-dimensional convex hull of each object intersects the slab line as an array. In advance, it is determined whether or not the object E is concealed from the object R based on whether or not a place where the object R does not intersect and the object E intersects exists on the array. The method for drawing a three-dimensional figure according to any one of claims 1 to 4, characterized in that:
【請求項6】 請求項1〜5のいずれか1項に記載の3
次元図形描画方法における処理手順をコンピュータに実
行させるためのプログラムを、該コンピュータが読み取
り可能に記録したことを特徴とする記録媒体。
6. The method according to claim 1, wherein
A recording medium, wherein a program for causing a computer to execute a processing procedure in a three-dimensional figure drawing method is recorded in a computer-readable manner.
JP2000102934A 2000-04-05 2000-04-05 Method for plotting three-dimensional graphic and recording medium with the method recorded thereon Pending JP2001291115A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000102934A JP2001291115A (en) 2000-04-05 2000-04-05 Method for plotting three-dimensional graphic and recording medium with the method recorded thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000102934A JP2001291115A (en) 2000-04-05 2000-04-05 Method for plotting three-dimensional graphic and recording medium with the method recorded thereon

Publications (1)

Publication Number Publication Date
JP2001291115A true JP2001291115A (en) 2001-10-19

Family

ID=18616714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000102934A Pending JP2001291115A (en) 2000-04-05 2000-04-05 Method for plotting three-dimensional graphic and recording medium with the method recorded thereon

Country Status (1)

Country Link
JP (1) JP2001291115A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3809249A4 (en) * 2018-06-18 2021-08-11 Sony Group Corporation Information processing device, information processing method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3809249A4 (en) * 2018-06-18 2021-08-11 Sony Group Corporation Information processing device, information processing method, and program

Similar Documents

Publication Publication Date Title
US6952204B2 (en) 3D computer modelling apparatus
US6023279A (en) Method and apparatus for rapidly rendering computer generated images of complex structures
JP3981302B2 (en) Hierarchical image-based representation of a three-dimensional stationary or moving object and method and apparatus for using the representation for rendering an object
US7561156B2 (en) Adaptive quadtree-based scalable surface rendering
US20010012018A1 (en) Occlusion culling for complex transparent scenes in computer generated graphics
US6574360B1 (en) Accelerated occlusion culling using directional discretized occluders and system therefore
GB2259432A (en) Three dimensional graphics processing
JPH05266212A (en) Method for generating object
US20060146049A1 (en) Three dimensional image processing
US6570568B1 (en) System and method for the coordinated simplification of surface and wire-frame descriptions of a geometric model
Bernardini et al. Directional discretized occluders for accelerated occlusion culling
JP3350473B2 (en) Three-dimensional graphics drawing apparatus and method for performing occlusion culling
Erikson et al. Simplification culling of static and dynamic scene graphs
Linsen et al. Fan clouds-an alternative to meshes
KR100693134B1 (en) Three dimensional image processing
Ho et al. Occlusion culling using minimum occluder set and opacity map
WO1998043208A2 (en) Method and apparatus for graphics processing
KR19980041796A (en) Efficient rendering with user defined rooms and windows
EP3876205A1 (en) Image generation system and method
US11367262B2 (en) Multi-dimensional acceleration structure
CN110874858B (en) System and method for rendering reflections
JP2001291115A (en) Method for plotting three-dimensional graphic and recording medium with the method recorded thereon
Tavares et al. Efficient approximate visibility of point sets on the GPU
KR101673442B1 (en) The method and apparatus for remeshing visual hull approximation by DBSS(displaced butterfly subdivision surface)
JP3711273B2 (en) 3D graphics drawing device for occlusion culling