JP2002163665A - 描画装置 - Google Patents

描画装置

Info

Publication number
JP2002163665A
JP2002163665A JP2000357931A JP2000357931A JP2002163665A JP 2002163665 A JP2002163665 A JP 2002163665A JP 2000357931 A JP2000357931 A JP 2000357931A JP 2000357931 A JP2000357931 A JP 2000357931A JP 2002163665 A JP2002163665 A JP 2002163665A
Authority
JP
Japan
Prior art keywords
polygon
vertex
partial
data
vertices
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.)
Granted
Application number
JP2000357931A
Other languages
English (en)
Other versions
JP4541533B2 (ja
Inventor
Keiichi Senda
圭一 仙田
Shigeo Asahara
重夫 浅原
Kenji Nishimura
健二 西村
Hitoshi Araki
均 荒木
Masato Yuda
正人 湯田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000357931A priority Critical patent/JP4541533B2/ja
Priority to US09/988,325 priority patent/US6977652B2/en
Publication of JP2002163665A publication Critical patent/JP2002163665A/ja
Application granted granted Critical
Publication of JP4541533B2 publication Critical patent/JP4541533B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 多角形を高速に描画することができる描画装
置Urendを提供することである。 【解決手段】 描画装置Urendでは、ステップS36に
おいて、描画対象の多角形を特定する多角形データに基
づいて、それぞれが当該多角形を分割した1つの部分多
角形を特定する部分多角形データを複数個作成する多角
形分割処理が行われる。さらに、ステップS37におい
て、ステップS36で作成された各部分多角形データに
基づいて、描画対象の多角形の画像を表す画像データを
作成する部分多角形描画処理が行われる。ここで、各部
分多角形は、描画対象の多角形の1つの頂点を含む複数
の三角形の集合であって、各部分多角形に属する各三角
形は、同じ部分多角形に属する残りの三角形のいずれか
と少なくとも1つの辺を共有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、描画装置に関し、
より特定的には、描画処理、つまり、表示装置が表示す
べき多角形を表す画像データを作成する描画装置に関す
る。
【0002】
【従来の技術】上記のような描画装置は、従来より多数
の文献で開示されている。図11は、従来の描画装置C
Urendの基本的な構成を示すブロック図である。図11
の描画装置CUrendは、多角形データ記憶部701と、
凹多角形判定部702と、第1の三角形分割部703
と、第2の三角形分割部704と、三角形描画部705
と、表示部706とを備える。
【0003】以下、描画装置CUrendの動作について説
明する。多角形データ記憶部701には、いくつかの多
角形データDpolyが格納されている。1つの多角形デー
タDpolyは、描画対象となる1つの多角形Pが有するn
個(nは3以上の自然数)の頂点座標P1 〜Pn を少な
くとも含む。ここで、頂点座標P1 〜Pn は、2次元座
標または3次元座標の値で示される。ただし、3次元座
標の場合には、すべての頂点座標P1 〜Pn は、同一平
面に含まれる必要がある。また、多角形データDpoly
は、頂点座標P1 〜Pn 以外にも、様々な付随情報を含
む場合もある。付随情報については、以下の説明におい
て適時説明する。
【0004】凹多角形判定部702は、多角形データ記
憶部701から多角形データDpolyを受け取って、それ
に含まれる頂点座標P1 〜Pn が三次元座標で表されて
いる場合には、予め定められた二次元平面(以下の説明
ではxy平面)Ft 上への相似変換処理を行う。
【0005】今、多角形データDpolyは、多角形Pの頂
点座標P1 (x1 ,y1 ,z1 ),P2 (x2 ,y2 ,
z2 ),…,Pn (xn ,yn ,zn )を含むとする。
凹多角形判定部702は、相似変換処理において、ま
ず、多角形Pに対する法線ベクトルNを求める。凹多角
形判定部702は、法線ベクトルNがz軸に平行であれ
ば、すべての頂点座標P1 〜Pn のz成分のみを0に置
換して、多角形Pをxy平面Ft に正投影した時の各座
標Q1 (x1 ,y1 ,0)〜Qn (xn ,yn ,0)を
導出する。
【0006】一方、法線ベクトルNがz軸に平行でない
場合の相似変換処理については、図12を参照して説明
する。かかる場合、凹多角形判定部702は、図12に
示す交線Lおよび角度αを求める。ここで、交線Lは、
xy平面Ft と、多角形Pを含む平面Fp とが交わる線
である。また、角度αは、xy平面Ft および平面Fp
とがなす角の値である。交線Lおよび角度αを求めた
後、凹多角形判定部702は、平面Fp 上の各頂点座標
P1 (x1 ,y1 ,z1 )〜Pn (xn ,yn ,zn )
を、直線Lを回転中心として、角度αだけ回転させるこ
とにより、座標Q'1(x'1 ,y'1 ,0)〜Q'n(x'n
,y'n ,0)を導出する。
【0007】以上から分かるように、多角形Qは、頂点
座標Q1 (x1 ,y1 ,0)〜Qn(xn ,yn ,0)
を頂点座標とする多角形、または頂点座標Q'1(x'1
,y'1 ,0)〜Q'n(x'n ,y'n ,0)を頂点座標
とする。ただし、以下には、頂点座標Q'1〜Q'nから構
成される多角形Qに対する処理のみを説明し、頂点座標
Q1 〜Qn からなるものについては、頂点座標Q'1〜
Q'nと同様であるため、その説明を省略する。
【0008】凹多角形判定部702は、凹凸判定処理を
行って、多角形Qが凹多角形か否かを判定する。図13
は、上記凹凸判定処理の一例を説明するための図であ
る。なお、上記相似変換処理ではn=6の場合を説明し
たが、凹凸判定処理では、便宜上、n=4の場合につい
て説明する。
【0009】凹凸判定処理において、凹多角形判定部7
02は、まず、多角形Qについてのすべての辺を表す三
次元辺ベクトルV1 (a1 ,b1 ,c1 )〜Vn (an
,bn ,cn )を求める。各三次元辺ベクトルV1 〜
Vn において、z方向成分c1〜cn は0である。ま
た、三次元辺ベクトルV1 は頂点座標Q'1およびQ'2と
から求められ、(a1 ,b1 ,c1 )は(x'2−x'1
,y'2−y'1 ,0)に等しい。以降同様に、2≦i≦
n−1の場合、三次元辺ベクトルVi は頂点座標Q'iお
よびQ'(i+1)とから求められ、(ai ,bi ,ci )は
(x'(i+1)−x'i ,y'(i+1)−y'i ,0)に等しい。
また、i=nの場合、三次元辺ベクトルVnは、頂点座
標Q'nとQ'1とから求められ、(an ,bn ,cn )は
(x'1−x'n,y'1−y'n ,0)に等しい。
【0010】全三次元辺ベクトルV1 〜Vn を求めた
後、凹多角形判定部702は、多角形Qにおいて互いに
交わる2辺の外積ベクトルV1 ×V2 ,V2 ×V3 ,
…,V(n-1) ×Vn ,Vn ×V1 を順番に算出する。そ
の後、凹多角形判定部702は、算出された外積ベクト
ルV1 ×V2 ,V2 ×V3 ,…,V(n-1) ×Vn ,Vn
×V1 のz方向成分が同符号または0であれば、多角形
Qが凸多角形であり、同符号または0でなければ凹多角
形と判定する。
【0011】多角形Pは多角形Qの基礎であるから、凹
多角形判定部702は、多角形Qが凸多角形であれば、
多角形Pも凸多角形であると判定し、多角形データ記憶
部701から受け取った多角形データDpolyを、第1の
三角形分割部703に渡す。一方、凹多角形判定部70
2は、多角形Pが凹多角形であると判定した場合には、
多角形データDpolyを第2の三角形分割部704に渡
す。
【0012】なお、多角形データDpolyが、付随情報と
して、多角形Pの凹凸属性を示す情報を含んでいる場合
には、凹多角形判定部702は、以上の外積を用いた凹
凸判定処理ではなく、当該凹凸属性に従って多角形Q
(つまり多角形P)が凹多角形であるか否かを判定す
る。
【0013】第1の三角形分割部703は、受け取った
多角形データDpolyに、第1の三角形分割処理を行っ
て、凸多角形Pを複数の独立した三角形で表現する。第
1の三角形分割処理において、まず、第1の三角形分割
部703は、受け取った多角形データDpolyから、頂点
座標P1 、P2 およびP3 を選択し、これら3つの頂点
座標P1 、P2 およびP3 からなる三角形データDtri1
を作成する。これによって、概念的には、凸多角形P
は、頂点座標P1 、P2 およびP3 からなる三角形△P
1 P2 P3 に分割される。
【0014】次に、第1の三角形分割部703は、3つ
の頂点座標P1 、P3 およびP4 を選択して、これら頂
点座標P1 、P3 およびP4 からなる三角形データDtr
i2を作成する。以降同様に、3≦i≦n−2の場合、第
1の三角形分割部703は、頂点座標P1 、P(i+1) お
よびP(i+2) を選択して、これら頂点座標P1 、P(i+
1) およびP(i+2) からなる三角形データDtri3〜Dtri
(n-2)を作成する。これによって、概念的には、凸多角
形Pは、(n−2)個の三角形に分割される。第1の三
角形分割部703は、作成した(n−2)個の三角形デ
ータDtri1〜Dtri(n-2)を三角形描画部705に渡す。
また、第1の三角形分割部703は、受け取った多角形
データDpolyに付随情報が含まれる場合には、それも三
角形描画部705に渡す。
【0015】また、第2の三角形分割部704は、受け
取った多角形データDpolyを保持し、当該多角形データ
Dpolyに対して、図14に手順を示す第2の三角形分割
処理を行って、凹多角形Pを複数の独立した三角形で表
現する。図14において、第2の三角形分割部704
は、凹多角形Pの各頂点が凹頂点か凸頂点かを調べた後
に、凹頂点の数Nc を計数する(ステップS100
1)。ここで、凹頂点とは、凹多角形Pにおいて、18
0°を超える内角を持つ頂点を意味する。また、凸頂点
とは、凹多角形Pにおいて、180°未満の内角を持つ
頂点を意味する。
【0016】ステップS1001をより具体的に説明す
ると、凹多角形判定部702の凹凸判定処理と同様の処
理がまず行われる。つまり、第2の三角形分割部704
は、凹多角形Pの各頂点Pi (i=1,2,…,n)に
つながる両辺を表すベクトル同士の外積を算出し、算出
した外積のz成分の符号を基礎として、対象となる頂点
Pi の凹凸を判定する。なお、外積のz成分が0である
頂点Pi に関しては、凹頂点と判定してもよいし、凸頂
点と判定してもよい。
【0017】ステップS1001において、さらに、第
2の三角形分割部704は、凹凸の判定結果を基に、凹
多角形Pに含まれる凹頂点の個数Nc を計数し、その
後、ステップS1002に進む。なお、以下では、本ス
テップで凹頂点と判定された頂点Pi を凹頂点CPi と
記し、そうでないものを凸頂点VPi と記す。
【0018】第2の三角形分割部704は、個数Nc が
0でなければ(ステップS1002)、凸頂点VPi の
内の1つを、基準頂点Pb を1つ選択する(ステップS
1003)。次に、第2の三角形分割部704は、頂点
座標P1 〜Pn の中から、基準頂点Pb の両隣に位置す
る頂点座標Pk および Pj (k=1,2,…,n、j
=1,2,…,n、k≠j)を選択する。これによっ
て、第2の三角形分割部704は、基準頂点Pb 、頂点
Pk および頂点Pj からなる部分三角形△Pb Pk Pj
を形成する(ステップS1004)。
【0019】次に、第2の三角形分割部704は、部分
三角形△Pb Pk Pj の内部に、頂点Pb 、Pk および
Pj を除く他の頂点P1 〜Pn が含まれるか否かを判定
する(ステップS1005)。第2の三角形分割部70
4は、他の頂点P1 〜Pn が含まれると判定した場合、
三角形描画部705が正しい多角形Pを表示可能な画像
データDimage を作成できないとみなす。つまり、ステ
ップS1004で形成した部分三角形△Pb Pk Pj
は、正しい多角形Pの描画に不適格であると判断して、
第2の三角形分割部704はステップS1003に戻
る。そして、第2の三角形分割部704は、未選択の凸
頂点VPi を基準頂点Pb として選択し(ステップS1
003)、その後、ステップS1004およびS100
5を実行する。
【0020】一方、第2の三角形分割部704は、ステ
ップS1005において、他の頂点頂点P1 〜Pn が含
まれていないと判定した場合、ステップS1004で形
成した部分三角形△Pb Pk Pj は、正しい多角形Pを
描画できるとして、ステップS1006に進む。そし
て、第2の三角形分割部704は、部分三角形△Pb P
k Pj の頂点座標Pb 、Pk 、およびPj からなる三角
形データDtri を作成し、保持する(ステップS100
6)。
【0021】次に、第2の三角形分割部704は、現在
保持する多角形データDpolyから、多角形データDpol
y’を作成できるか否かを判断する(ステップS100
7)。より具体的には、第2の三角形分割部704は、
多角形データDpolyの中から、ステップS1003で選
択した基準頂点座標Pb を除去する。基準頂点座標Pb
を除去した結果、残りの頂点の数が0個の場合には、多
角形データDpoly’の作成が不可能と判断して、ステッ
プS1010に進む。そして、第2の三角形分割部70
4は、ステップS1006で作成した少なくとも1つの
三角形データDtri を三角形描画部705に渡す。ま
た、第2の三角形分割部704は、最初に受け取った多
角形データDpolyに付随情報が含まれる場合には、それ
も三角形描画部705に渡す。
【0022】一方、基準頂点座標Pb を除去した結果、
残りの頂点の数が0個でない場合には、多角形データD
poly’の作成が可能と判断して、ステップS1008に
進む。そして、第2の三角形分割部704は、多角形デ
ータDpoly’を作成する。したがって、多角形データD
poly’が表す多角形P’は、多角形Pの内、基準頂点P
b を除いた各頂点P1 〜Pn から形成される。
【0023】次に、第2の三角形分割部704は、作成
した多角形データDpoly’を多角形データDpolyとして
設定し(ステップS1008)、その後、ステップS1
001に戻る。したがって、今回、第2の三角形分割部
704は、上述の多角形P’が有する凹頂点CPi の個
数Nc を計数する(ステップS1001)。その後、第
2の三角形分割部704は、個数Nc が0か否かを判定
し、0でなければ、新しく設定された多角形データDpo
lyに対して上述したステップS1003〜S1008を
行う。
【0024】一方、個数Nc が0であれば、多角形P’
は凸多角形となり、第2の三角形分割部704は、当該
多角形P’に対して第1の三角形分割処理を行う(ステ
ップS1009)。その結果、第2の三角形分割部70
4は、多角形P’の頂点数をNv とした場合には、(N
v −2)個の三角形データDtri1〜Dtri(Nv-2)を作成
する。
【0025】次に、第2の三角形分割部704は、ステ
ップS1006で作成した少なくとも1つの三角形デー
タDtri と、ステップS1009で作成した(Nv −
2)個の三角形データDtri1〜Dtri(Nv-2)とを、三角
形描画部705に渡す(ステップS1010)。また、
第2の三角形分割部704は、最初に受け取った多角形
データDpolyに付随情報が含まれる場合には、それも三
角形描画部705に渡す。
【0026】三角形描画部705には、第1の三角形分
割部703または第2の三角形分割部704から、いく
つかの三角形データDtri を受け取る。また、三角形描
画部705は、多角形データDpolyの付随情報を受け取
る場合もある。三角形描画部705は、受け取った1つ
三角形データDtri を構成する3つの頂点座標Pr (r
=1,2,…n)、Ps (s=1,2,…n)およびP
t (t=1,2,…n、ただし、r≠s≠t)で囲まれ
る領域を、付随情報の一部としての色情報に従って塗り
つぶす。その後、三角形描画部705は、残りの三角形
データDtri から1つの選択しては、選択した三角形デ
ータDtri を構成する3つの頂点座標Pr 、Ps および
Pt で囲まれる領域を塗りつぶすという描画処理を、す
べての三角形データDtri を選択するまで繰り返す。そ
の結果、三角形描画部705の内部メモリには、多角形
Pを表す画像データDimage が作成され、表示部706
は、作成された画像データDimage に従って表示処理を
行って、自身の画面上に多角形Pを表示する。
【0027】
【発明が解決しようとする課題】以上のように、従来の
描画装置CUrendでは、三角形描画部705が三角形単
位で描画処理を行うために、多角形データDpolyから、
いくつかの三角形データDtri が作成される。しかしな
がら、描画対象の多角形Pの頂点数が多くなればなるほ
ど、作成される三角形データDtri の数が多くなりた
め、三角形描画部705における描画処理に時間がかか
るという問題点があった。
【0028】特に、描画対象が凹多角形Pの場合、第2
の三角形分割処理(図14参照)が必要となり、第1の
三角形分割処理のように簡単には三角形に分割すること
ができないので、従来の描画装置CUrendは、凹多角形
Pの描画までにかなりの時間を要していた。
【0029】それ故に、本発明の目的は、多角形を高速
に描画することができる描画装置を提供することであ
る。
【0030】
【課題を解決するための手段および発明の効果】第1の
発明は、多角形を描画するための装置であって、描画対
象の多角形を特定する多角形データに基づいて、それぞ
れが当該多角形を分割した1つの部分多角形を特定する
部分多角形データを複数個作成する多角形分割部と、描
画処理を行って、多角形分割部により作成された各部分
多角形データに基づいて、描画対象の多角形の画像を表
す画像データを作成する部分多角形描画部とを備える。
【0031】さらに、第1の発明において、各部分多角
形は、描画対象の多角形の1つの頂点を含む複数の三角
形の集合であって、各部分多角形に属する各三角形は、
同じ部分多角形に属する残りの三角形のいずれかと少な
くとも1つの辺を共有する。
【0032】上記第1の発明では、上記のような部分多
角形単位で、部分多角形描画部は描画処理を行う。その
ため、従来の三角形単位で行われる描画処理と比較し
て、部分多角形描画部が処理するデータ量が少なくな
る。これによって、描画対象の多角形を従来よりも高速
に描画することが可能となる。
【0033】第2の発明は、第1の発明に従属してお
り、多角形データは、描画対象の多角形を特定するため
の座標を含んでおり、描画装置は、多角形データに不要
点除去処理を行って、不要な座標が除去された多角形デ
ータを作成する不要点除去部をさらに備え、多角形分割
部は、不要点除去部により処理された多角形データに基
づいて、部分多角形データを作成する。
【0034】上記第2の発明では、不要点除去部は、不
要な座標を除去した多角形データを作成する。したがっ
て、多角形分割部は、必要最小限の座標のみを含む多角
形データから部分多角形データを作成する。その結果、
多角形分割部および部分多角形描画部が処理するデータ
量が少なくなり、描画対象の多角形をさらに高速に描画
することが可能となる。
【0035】第3の発明は、第1の発明に従属してお
り、描画装置は、多角形データが凹多角形を特定してい
るか否かを判定する凹多角形判定部をさらに備え、多角
形分割部は、凹多角形判定部により凹多角形を特定する
と判定された多角形データに基づいて、部分多角形デー
タを作成する。
【0036】凹多角形を三角形に分割するのは、従来技
術の欄でも述べたように、複雑な処理が必要となり、さ
らに、凹多角形の頂点数が多くなればなるほど、多くの
三角形データができてしまう。そこで、上記第3の発明
では、このような凹多角形を特定する多角形データか
ら、相対的にデータ量の少ない部分多角形データが作成
される。このように、第3の発明によれば、凹多角形の
描画に適した描画装置を提供することができる。
【0037】さらに、第3の発明によれば、付加的な効
果として、凹多角形判定部により凹多角形ではないと判
定された多角形データに対しては、単純な第1の三角形
分割(従来の技術の欄を参照)を適用することも可能に
なる。その結果、多角形の凹凸に応じて、最適な処理を
行うことができる描画装置を実現することが可能とな
る。
【0038】第4の発明は、第1の発明に従属してお
り、部分多角形描画部は、多角形分割部により作成され
た部分多角形データに基づいて、透視投影変換処理を行
って、予め定められた視点から描画対象の多角形を見た
ときの画像を表す画像データを作成する。上記第4の発
明によれば、透視投影処理により、描画対象の多角形を
様々な方向から見た時の画像データを作成することがで
きるので、より使い勝手のいい描画装置を提供すること
ができる。
【0039】第5の発明は、第1の発明に従属してお
り、多角形データには、描画対象の多角形が有するn個
の各頂点座標P1 〜Pn が、当該多角形を一筆書き可能
な方向である順方向に沿って並んでおり、多角形分割部
は、まず、多角形データの頂点座標P1 〜Pn の1つ
を、基準頂点Pb (b=1,2,…,n)として選択
し、さらに、順方向に沿って当該基準頂点Pb の隣に位
置する頂点Pc およびP(c+1) を選択する。ここで、当
該頂点Pb 、Pc およびP(c+1) からなる△Pb PcP
(c+1) の内部には、描画対象の多角形に属しかつ未選択
である他の頂点Pi (i=1,2,…nかつi≠b,i
≠c,i≠c+1)はなく、さらに、当該頂点Pb 、P
c およびP(c+1) からなる∠Pb Pc P(c+1) は凸であ
る。
【0040】さらに、第5の発明において、多角形分割
部は、基準頂点Pb および頂点P(c+1) に加えて、順方
向に沿って当該頂点P(c+1) の隣に位置する頂点P(c+
2) を選択する。ここで、当該頂点Pb 、P(c+1) およ
びP(c+2) からなる△Pb P(c+1) P(c+2) の内部に
は、描画対象の多角形に属しかつ未選択である他の頂点
Pj (j=1,2,…nかつj≠b,j≠c,j≠c+
1,j≠c+2)はなく、さらに、当該頂点Pb 、P(c
+1) およびP(c+2) からなる∠Pb P(c+1) (c+2)は凸
である。
【0041】さらに、第5の発明において、多角形分割
部は、自身が選択した基準頂点Pbならびに頂点Pc 、
P(c+1) およびP(c+2) で少なくとも構成される部分多
角形を特定する部分多角形データを作成する。
【0042】上記第5の発明では、部分多角形は、少な
くとも、基準頂点Pb と、当該基準頂点Pb から順方向
に沿って並ぶ3つの頂点Pc 、P(c+1) およびP(c+2)
とから構成される。ここで、△Pb Pc P(c+1) および
△Pb P(c+1) P(c+2) の内部には、描画対象の多角形
の他の頂点Pi は存在しない。さらに、∠Pb Pc P(c
+1) および∠Pb P(c+1) P(c+2) は凸である。これに
よって、描画対象が凹多角形であっても正確に描画する
ことが可能になる。
【0043】第6の発明は、第5の発明に従属してお
り、多角形分割部は、自身が選択した頂点P(c+2) が、
△Pb P(c+1) P(c+2) の内部に他の頂点Pj がなく、
かつ∠Pb P(c+1) (b+2) が凸であるという条件を満た
す場合には、さらに、頂点P(c+2) を頂点P(c+1)に設
定する。
【0044】その後、多角形分割部は、基準頂点Pb お
よび、新たに設定された頂点P(c+1) に加えて、当該頂
点P(c+1) の隣に位置する頂点P(c+2) を新たに選択す
るという動作を、上記条件を満たさなくなるまで続け、
基準頂点Pb 、頂点Pc およびP(c+1) ならびに、少な
くとも1つの頂点P(c+2) からなる部分多角形を特定す
る部分多角形データを作成する。
【0045】上記第6の発明では、多角形分割部は、上
記条件を満たさなくなるまで、頂点P(c+2) を選択し続
ける。そのため、部分多角形は、正確に描画ができる最
大の数の頂点からなる。これによって、多角形分割部
は、描画対象の多角形を最小数の部分多角形に分割する
ことができる。これによって、描画対象の多角形を、高
速かつ最も効率的に描画することが可能となる。
【0046】第7の発明は、多角形を描画するための方
法であって、描画対象の多角形を特定する多角形データ
に基づいて、それぞれが当該多角形を分割した1つの部
分多角形を特定する部分多角形データを複数個作成する
多角形分割ステップと、描画処理を行って、多角形分割
ステップで作成された各部分多角形データに基づいて、
描画対象の多角形の画像を表す画像データを作成する部
分多角形描画ステップとを備える。
【0047】さらに、第7の発明において、各部分多角
形は、描画対象の多角形の1つの頂点を含む複数の三角
形の集合であって、各部分多角形に属する各三角形は、
同じ部分多角形に属する残りの三角形のいずれかと少な
くとも1つの辺を共有する。
【0048】第8の発明は、第7の発明に従属してお
り、多角形データには、描画対象の多角形が有するn個
の各頂点座標P1 〜Pn が、当該多角形を一筆書き可能
な方向である順方向に沿って並んでいる。多角形分割ス
テップは、多角形データの頂点座標P1 〜Pn の1つ
を、基準頂点Pb (b=1,2,…,n)として選択
し、さらに、順方向に沿って当該基準頂点Pb の隣に位
置する頂点Pc およびP(c+1) を選択する第1の選択ス
テップを含む。ここで、頂点Pb 、Pc およびP(c+1)
からなる△Pb Pc P(c+1) の内部には、描画対象の多
角形に属しかつ未選択である他の頂点Pi (i=1,
2,…nかつi≠b,i≠c,i≠c+1)はなく、さ
らに、当該頂点Pb 、Pc およびP(c+1) からなる∠P
b Pc P(c+1) は凸である。
【0049】第8の発明において、多角形分割ステップ
は、第1の選択ステップの後、基準頂点Pb および頂点
P(c+1) に加えて、順方向に沿って当該頂点P(c+1) の
隣に位置する頂点P(c+2) を選択する第2の選択ステッ
プをさらに含む。ここで、頂点Pb 、P(c+1) およびP
(c+2) からなる△Pb P(c+1) P(c+2) の内部には、描
画対象の多角形に属しかつ未選択である他の頂点Pj
(j=1,2,…nかつj≠b,j≠c,j≠c+1,
j≠c+2)はなく、さらに、当該頂点Pb 、P(c+1)
およびP(c+2) からなる∠Pb P(c+1) (c+2) は凸であ
る。
【0050】第8の発明において、多角形分割ステップ
では、第1の選択ステップで選択された頂点Pb 、Pc
およびP(c+1) と、第2の選択ステップで選択された頂
点P(c+2) とで少なくとも構成される部分多角形を特定
する部分多角形データが作成される。
【0051】第9の発明は、第8の発明において、多角
形分割ステップはさらに、第2の選択ステップで選択さ
れた頂点P(c+2) が、△Pb P(c+1) P(c+2) の内部に
他の頂点Pj がなく、かつ∠Pb P(c+1) (b+2) が凸で
あるという条件を満たす場合に、頂点P(c+2) を頂点P
(c+1)に設定する設定ステップをさらに含む。
【0052】第2の選択ステップにおいては、第1の選
択ステップで選択された基準頂点Pb および、設定ステ
ップにおいて設定された頂点P(c+1) に加えて、当該頂
点P(c+1) の隣に位置する頂点P(c+2) を新たに選択す
るという動作が、条件を満たさなくなるまで続けられ
る。さらに、第9の発明において、多角形分割ステップ
では、第1のステップで選択された基準頂点Pb 、頂点
Pc およびP(c+1) と、第2の選択ステップで選択され
た頂点P(c+2) からなる部分多角形を特定する部分多角
形データが作成される。
【0053】第10の発明は、多角形を描画するための
プログラムを記録した記録媒体であって、描画対象の多
角形を特定する多角形データに基づいて、それぞれが当
該多角形を分割した1つの部分多角形を特定する部分多
角形データを複数個作成する多角形分割ステップと、描
画処理を行って、多角形分割ステップで作成された各部
分多角形データに基づいて、描画対象の多角形の画像を
表す画像データを作成する部分多角形描画ステップとを
含む。
【0054】さらに、第10の発明において、各部分多
角形は、描画対象の多角形の1つの頂点を含む複数の三
角形の集合であって、各部分多角形に属する各三角形
は、同じ部分多角形に属する残りの三角形のいずれかと
少なくとも1つの辺を共有する。
【0055】第11の発明は、第10の発明に従属して
おり、多角形データには、描画対象の多角形が有するn
個の各頂点座標P1 〜Pn が、当該多角形を一筆書き可
能な方向である順方向に沿って並んでいる。多角形分割
ステップは、多角形データの頂点座標P1 〜Pn の1つ
を、基準頂点Pb (b=1,2,…,n)として選択
し、さらに、順方向に沿って当該基準頂点Pb の隣に位
置する頂点Pc およびP(c+1) を選択する第1の選択ス
テップを含む。ここで、頂点Pb 、Pc およびP(c+1)
からなる△Pb Pc P(c+1) の内部には、描画対象の多
角形に属しかつ未選択である他の頂点Pi (i=1,
2,…nかつi≠b,i≠c,i≠c+1)はなく、さ
らに、当該頂点Pb 、Pc およびP(c+1) からなる∠P
b Pc P(c+1) は凸である。
【0056】また、第11の発明において、多角形分割
ステップは、第1の選択ステップの後、基準頂点Pb お
よび頂点P(c+1) に加えて、順方向に沿って当該頂点P
(c+1) の隣に位置する頂点P(c+2) を選択する第2の選
択ステップをさらに含む。ここで、頂点Pb 、P(c+1)
およびP(c+2) からなる△Pb P(c+1) P(c+2) の内部
には、描画対象の多角形に属しかつ未選択である他の頂
点Pj (j=1,2,…nかつj≠b,j≠c,j≠c
+1,j≠c+2)はなく、さらに、当該頂点Pb 、P
(c+1) およびP(c+2) からなる∠Pb P(c+1) (c+2) は
凸である。
【0057】さらに、第11の発明において、多角形分
割ステップでは、第1の選択ステップで選択された頂点
Pb 、Pc およびP(c+1) と、第2の選択ステップで選
択された頂点P(c+2) とで少なくとも構成される部分多
角形を特定する部分多角形データが作成される。
【0058】第12の発明は、第11の発明に従属して
おり、多角形分割ステップはさらに、第2の選択ステッ
プで選択された頂点P(c+2) が、△Pb P(c+1) P(c+
2) の内部に他の頂点Pj がなく、かつ∠Pb P(c+1)
(b+2) が凸であるという条件を満たす場合に、頂点P(c
+2) を頂点P(c+1)に設定する設定ステップをさらに含
む。
【0059】また、第12の発明において、第2のステ
ップでは、第1の選択ステップで選択された基準頂点P
b および、設定ステップにおいて設定された頂点P(c+
1) に加えて、当該頂点P(c+1) の隣に位置する頂点P
(c+2) を新たに選択するという動作が、上記条件を満た
さなくなるまで続けられる。
【0060】さらに、第12の発明において、多角形分
割ステップでは、第1のステップで選択された基準頂点
Pb 、頂点Pc およびP(c+1) と、第2の選択ステップ
で選択された頂点P(c+2) からなる部分多角形を特定す
る部分多角形データが作成される。
【0061】第13の発明は、多角形を描画するための
プログラムであって、描画対象の多角形を特定する多角
形データに基づいて、それぞれが当該多角形を分割した
1つの部分多角形を特定する部分多角形データを複数個
作成する多角形分割ステップと、描画処理を行って、多
角形分割ステップで作成された各部分多角形データに基
づいて、描画対象の多角形の画像を表す画像データを作
成する部分多角形描画ステップとを含む。
【0062】さらに、第13の発明において、各部分多
角形は、描画対象の多角形の1つの頂点を含む複数の三
角形の集合であって、各部分多角形に属する各三角形
は、同じ部分多角形に属する残りの三角形のいずれかと
少なくとも1つの辺を共有する。
【0063】
【発明の実施の形態】図1は、本発明の一実施形態に係
る描画装置Urendを組み込んだ端末装置Dtermの構成を
示すブロック図である。図1の端末装置Dtermにおい
て、描画装置Urendは、記憶装置Ustorおよび表示装置
Udispと通信可能に接続される。描画装置Urendは、プ
ロセッサ1、プログラムメモリ2およびワーキングエリ
ア3を備えている。プロセッサ1は、典型的には、CP
U(Central ProcessingUnit) またはMPU(Micro Proc
essing Unit) から構成される。プログラムメモリ2
は、典型的には、ROM(Read Only Memory)から構成さ
れており、レンダリング用のプログラム21を格納して
いる。ワーキングエリア3は、典型的には、RAM(Ran
dom Access Memory)から構成される。なお、以上のプロ
セッサ1、プログラムメモリ2およびワーキングエリア
3の組み合わせは、描画装置Urendだけでなく、請求項
における不要点除去部および凹多角形判定部を構成す
る。
【0064】以上の構成の描画装置Urendにおいて、プ
ロセッサ1は、プログラム21に従って処理を行って、
記憶装置Ustorに格納された多角形データDpolyを基礎
として、画像データDimage をワーキングエリア3上で
作成する。また、記憶装置Ustorは、それぞれが描画対
象となる多角形Pを特定するいくつかの多角形データD
polyを格納している。1つの多角形データDpolyは、好
ましくは、図2に示すように、描画対象となる1つの多
角形Pが有するn個の頂点座標P1 〜Pn を含んでお
り、これによって、当該多角形Pを特定する。ここで、
頂点座標P1 〜Pn は、2次元座標または3次元座標の
値で示される。ただし、3次元座標の場合には、すべて
の頂点座標P1 〜Pn は、同一平面に含まれる必要があ
る。
【0065】また、多角形データDpolyはさらに、多角
形Pの形状を特定するために、頂点P1 〜Pn がどのよ
うにつながるかを特定する接続情報も含む。本実施形態
においては、好ましい例として、頂点座標P1 〜Pn が
並ぶ順番が接続情報であるとする。より具体的には、多
角形データDpolyには、多角形Pを一筆書き可能な方向
である順方向に沿うように、頂点座標P1 〜Pn が順番
に並べられる。また、頂点座標P1 はペンダウンおよび
ペンアップの位置を示す。なお、以上の多角形データD
polyは、上記以外にも様々な付随情報を含んでいるが、
付随情報については、本発明に必須ではないため、以下
において適時説明する。
【0066】表示装置Udispは、ワーキングエリア3か
ら転送されてくる画像データDimage に従って表示処理
を行って、自身の画面上に、当該画像データDimage に
より表される多角形Pを表示する。次に、以上の構成の
端末装置Dtermの動作について、描画装置Urendの動作
を中心に説明する。ここで、図3は、プログラム21に
記述されたプロセッサ1の処理手順を示すメインフロー
チャートである。プロセッサ1は、プログラム21の実
行開始直後に、描画対象となる多角形Pを特定する多角
形データDpolyを、必要な数だけ、記憶装置Ustorから
読み出して、ワーキングエリア3上に転送し、これによ
って、当該多角形データDpolyを取得する(ステップS
31)。本実施形態では、説明を簡素化するため、プロ
セッサ1は1つの多角形データDpolyを取得するものと
する。
【0067】次に、プロセッサ1は、ワーキングエリア
3上の多角形データDpolyに対して不要点除去処理を行
って(ステップS32)、それに含まれる全頂点座標P
1 〜Pn から、多角形Pの描画に不要な頂点座標Pi
(iは1,2,…,n)を除去する。なお、本ステップ
S32が、請求項における不要点除去部に相当する。
【0068】以下、本ステップ32をより詳細に説明す
る。原則として、各頂点座標P1 〜Pn は、多角形Pの
各辺の端を規定する。しかしながら、なんらかの事情
で、ある頂点座標Pi が多角形Pの辺上に乗ってしまう
場合がある。このように辺の途中に位置する頂点Pi は
多角形Pの描画に不要であるばかりか、後の各処理を非
効率的にしてしまう。以上のような理由から、プロセッ
サ1は、ステップS32の不要点除去処理を行う。具体
的には、今、多角形データDpolyが、三次元座標である
頂点座標P1 (x1 ,y1 ,z1 ),P2 (x2 ,y2
,z2 ),…,Pn (xn ,yn ,zn )を含むと仮
定する。この仮定下で、プロセッサ1は、まず、多角形
Pのすべての辺に対する三次元辺ベクトルVi (i=
1,2,…,n)を求める。ここで、i≠nの場合、三
次元辺ベクトルVi は、頂点Pi から頂点P(i+1) に向
かうベクトルである。また、i=nの場合、三次元辺ベ
クトルVn は、頂点Pn から頂点P1 に向かうベクトル
である。
【0069】次に、プロセッサ1は、多角形Pにおいて
互いに接する2辺の外積ベクトルの大きさ、つまり、n
個の外積ベクトルV1 ×V2 ,V2 ×V3 ,…,Vi ×
V(i+1) ,…Vn ×V1 の大きさを順次計算する。ここ
で、例えば、Vi ×V(i+1)の大きさが0であれば、頂
点P(i-1) 、Pi およびP(i+1) は一直線上にあること
になるで、頂点Pi が不要となるので、プロセッサ1
は、ワーキングエリア3上の多角形データDpolyから当
該不要な頂点Pi を除去し、当該多角形データDpolyが
付随情報として頂点数を含む場合には、当該頂点数を1
だけデクリメントする。一方、不要な頂点座標Pi がな
ければ、多角形データDpolyをワーキングエリア3上に
そのままにしておく。
【0070】なお、多角形データDpolyが、各頂点P1
〜Pn に割り当てられる付随情報を含む場合、または、
多角形データDpolyに同じ頂点座標Pがいくつも連続す
る時に、何らかの特殊な処理が行われる場合には、上記
のような不要点除去処理は行われなくともよい。また、
以下には、ステップS32において不要な頂点Pi がな
かった場合について説明する。なお、ステップS32に
おいて不要な頂点Pi が除去された場合も、本質的には
以下の説明をそのまま適用できるので、その場合の説明
を省略する。次に、プロセッサ1は、ワーキングエリア
3上の多角形データDpolyに対して、例えば、図11の
凹多角形判定部702と同様の処理を行って、多角形デ
ータDpolyが特定する多角形Pが凹多角形か否かを判定
する(ステップS33)。なお、本ステップS33が、
請求項における凹多角形判定部に相当する。
【0071】描画対象の多角形Pが凸多角形であると判
定された場合、プロセッサ1は、例えば、第1の三角形
分割部703と同様の処理を行って(ステップS3
4)、いくつかの三角形データDtri をワーキングエリ
ア3上で作成する。その後、プロセッサ1は、三角形描
画部705と同様の処理を行って(ステップS35)、
ワーキングエリア3上に、付随情報の一部としての色情
報により特定される色で塗りつぶされた多角形Pを表す
画像データDimage を作成する。以上、ステップS34
およびS35により、プロセッサ1は、凸多角形Pを特
定する多角形データDpolyに対しては、より単純な処理
である第1の三角形分割を適用することで、描画装置U
rendは、さほどの処理負担なく凸多角形Pを描画するこ
とができる。
【0072】以上のステップS35が終わった後、プロ
セッサ1は、ワーキングエリア3上で作成した画像デー
タDimage を表示装置Udispに転送する(ステップS3
8)。表示装置Udispは、転送されてきた画像データD
image に従って、表示制御を行って、自身の画面上に、
多角形Pを表示する。
【0073】一方、プロセッサ1は、描画対象の多角形
Pが凹多角形であると判定された場合、多角形Pを複数
の部分多角形PPに分割するための部分多角形分割処理
を行う(ステップS36)。本ステップS36が請求項
における多角形分割部に相当する。ここで、図4および
図5は、部分多角形分割処理の詳細な処理手順の前半部
分および後半部分を示すフローチャートである。まず、
図4において、プロセッサ1は、ワーキングエリア3上
の多角形データDpolyに含まれる頂点P1 〜Pn のいず
れかを、基準頂点Pb (b=1,2,…,n)として選
択する(ステップS401)。
【0074】次に、プロセッサ1は、ワーキングエリア
3上の頂点P1 〜Pn の中から、頂点Pc およびP(c+
1) を選択する(ステップS402)。本ステップS4
02において、頂点Pc は、多角形データDpolyにおい
て、基準頂点Pb の次に配置されており、前述の順方向
に従って多角形Pを一筆書きする場合に、基準頂点Pb
の次に描かれる。また、頂点P(c+1) は、多角形データ
Dpolyにおいて頂点Pcの次に配置されており、順方向
に従って多角形Pを一筆書きする場合に、頂点Pc の次
に描かれる。なお、上記ステップS401およびS40
2の組み合わせが、請求項における第1の選択ステップ
に相当する。
【0075】次に、プロセッサ1は、下記の第1および
第2の条件を満たすか否かを判定する(ステップS40
3)。第1の条件は、現在の基準頂点Pb 、頂点Pc お
よび頂点P(c+1) からなる三角形△Pb Pc P(c+1) の
内部に、他の頂点Pi が位置しないという条件である。
第1の条件において、他の頂点Pi とは、頂点P1 〜P
n の中の少なくとも1つであり、かつステップS401
およびS402で選択されていないものを意味する。つ
まり、ステップS403においては、i≠b,i≠c,
i≠c+1である。
【0076】第2の条件は、現在の基準頂点Pb 、頂点
Pc および頂点P(c+1) とがなす角∠Pb Pc P(c+1)
が凸であるという条件である。∠Pb Pc P(c+1) の凹
凸判定に関しては、従来の技術の欄における凹多角形判
定部702と同様の処理を行えばよいので、ここでは詳
しい説明を省略する。以上の第1および第2の両条件を
満たさない場合、プロセッサ1は、今回の基準頂点Pb
が、後述する部分多角形PPのものとして不適切である
とみなして、ステップS401に戻り、別の基準頂点P
b を選択する。
【0077】一方、ステップS403において、第1お
よび第2の両条件を満たす場合、プロセッサ1は、現在
の基準頂点Pb 、頂点Pc および頂点P(c+1) を、後述
する部分多角形PPの頂点として、ワーキングエリア3
に登録する。さらに、カウンタ(図示せず)の値Vtri
を1だけインクリメントして、その初期値0から1に変
更する(ステップS404)。ここで、値Vtri は、後
述する部分多角形PPに含まれる三角形(つまり、△P
b Pc P(c+1) または△Pb P(c+1) P(c+2))の現在
の個数を示す。
【0078】次に、プロセッサ1は、現在のカウンタ値
Vtri が(n−2)と等しいか否かを判定する(ステッ
プ405)。多角形Pが含むn個の頂点P1 〜Pn か
ら、3つの頂点Pを選んで三角形を作った時、当該三角
形の総数は(n−2)個となる。したがって、カウンタ
値Vtri =(n−2)であれば、今回の多角形Pから
は、次のステップS406で選択しうる頂点Pb 、頂点
P(c+1) および頂点P(c+2) の組み合わせをすべて選択
し尽くしたことになる。一方、カウンタ値Vtri ≠(n
−2)であれば、今回の多角形Pから、次のステップS
406で選択しうる頂点Pb 、頂点P(c+1) および頂点
P(c+2) の組み合わせがまだ残っていることになる。
【0079】以上のことから、Vtri =(n−2)の場
合には、プロセッサ1は、描画対象の多角形Pを複数の
部分多角形PPに完全に分割し終えたとみなして、ステ
ップS414に進む。ただし、ステップS414につい
ては後で説明した方が分かり易いので、ここではその説
明をしない。
【0080】一方、Vtri ≠(n−2)であれば、プロ
セッサ1は、描画対象の多角形Pを完全に分割し終えて
いないとして、ステップS406に進む。そして、プロ
セッサ1は、ワーキングエリア3上の頂点P1 〜Pn の
中から、現在の基準頂点Pb、頂点P(c+1) および頂点
P(c+2) を選択する(ステップS406)。ただし、頂
点P(c+1) として頂点Pn が選択されている場合には、
頂点P(c+2) としては頂点P1 が選択される。なお、本
ステップS406が、請求項における第2の選択ステッ
プに相当する。
【0081】また、頂点P(c+1) は、ワーキングエリア
3上の多角形データDpolyにおいて、現在の頂点Pc の
直後に設定されており、前述の順方向に従って多角形P
を一筆書きした場合に、当該頂点Pc の次に描かれる。
また、頂点P(c+2) は、多角形データDpolyにおいて頂
点P(c+1) の次に設定されており、順方向に従って多角
形Pを一筆書きする場合に、当該頂点P(c+1) の次に描
かれる。
【0082】ステップS406の次に、プロセッサ1
は、下記の第3および第4の条件を満たすか否かを判定
する(ステップS407)。第3の条件は、現在の基準
頂点Pb 、頂点P(c+1) および頂点P(c+2) からなる三
角形△Pb P(c+1) P(c+2) の内部に、他の頂点Pj が
位置しないという条件である。第3の条件において、他
の頂点Pj とは、多角形データDpolyに含まれる頂点P
1 〜Pn の中の少なくとも1つであり、かつステップS
406で未選択のものを意味する。つまり、ステップS
407においては、j≠b,j≠c+1,j≠c+2で
ある。
【0083】第4の条件は、現在の基準頂点Pb 、頂点
P(c+1) および頂点P(c+2) がなす角∠Pb P(c+1) P
(c+2) が凸であるという条件である。角∠Pb P(c+1)
P(c+2) の凹凸判定は、上述の通り周知技術を適用でき
るため、その詳しい説明を省略する。第3および第4の
条件の両方を満たす場合、プロセッサ1は、現在の頂点
P(c+2) を、後述する部分多角形PPの頂点として、ワ
ーキングエリア3の所定領域に追加登録する。さらに、
カウンタ(図示せず)の値Vtri を1だけインクリメン
トする(ステップS408)。なお、第3および第4の
条件の両方を満たさない場合については、後で説明す
る。
【0084】さて、ステップS408の次に、プロセッ
サ1は、現在の頂点P(c+2) を新しい頂点P(c+1) とし
て設定する(ステップS409)。本ステップS409
が請求項における設定ステップに相当する。その後、プ
ロセッサ1は、ステップS405に戻り、ステップS4
05でVtri =(n−2)と判定するまで、またはステ
ップS407において第3および第4の両条件を満たさ
ないと判定するまで、ステップS405〜S409から
なるループを繰り返し実行する。
【0085】ここで、かかるループに含まれるステップ
S405において、Vtri =(n−2)を満たす場合に
は、上述したように、プロセッサ1は、描画対象の多角
形Pを複数の部分多角形PPに完全に分割し終えたとみ
なして、ステップS414に進む。ステップS414に
部分多角形分割処理が進んだ時、ワーキングエリア3上
には、最後の部分多角形PPを構成する頂点が登録され
ている。最後の部分多角形PPの頂点は、ステップS4
04で登録された現在の基準頂点Pb 、頂点Pc および
頂点P(c+1) だけ、または、当該基準頂点Pb 、当該頂
点Pc および当該頂点P(c+1) ならびにステップS40
8で追加登録された少なくとも1つの頂点P(c+2) であ
る。プロセッサ1は、以上の基準頂点Pb 、頂点Pc お
よび頂点P(c+1) だけ、または、これら3つの頂点Pお
よび少なくとも1つの頂点P(c+2) からなる部分多角形
データDpartを作成し(ステップS414)、その後、
図4および図5に示す部分多角形分割処理から抜ける。
つまり、プロセッサ1は、図3のステップS36から抜
けて、ステップS37に進む。
【0086】ステップS414で作成された部分多角形
データDpartは部分多角形PPを特定する。ここで、部
分多角形PPは、描画対象の多角形Pの一部であり、よ
り具体的には、描画対象の多角形Pの現在の基準頂点P
b を含む△Pb Pc P(c+1)だけ、または、当該△Pb
Pc P(c+1) および少なくとも1つの△Pb P(c+1)P
(c+2) からなる。ここで、部分多角形PPが複数の三角
形の集合からなる場合には、部分多角形PPに属する△
Pb Pc P(c+1) および△Pb P(c+1) P(c+2) は、同
じ部分多角形PPに属する他の△Pb Pc P(c+1)、お
よび△Pb P(c+1) P(c+2) のいずれかと少なくとも1
つの辺を共有する。
【0087】ステップS407において第3および第4
の両条件を満たさないと判定された場合、プロセッサ1
は、現在の頂点P(c+2) が今回の部分多角形PPの頂点
として不適切であり、さらに、描画対象の多角形Pから
1つの部分多角形PPを分割し終えたとみなして、図5
のステップS410に進む。ここで、第3および第4の
両条件を満たさない場合、頂点P(c+2) が多角形PPの
頂点として不適切な理由は後で説明する。
【0088】ステップS410に部分多角形分割処理が
進んだ時、ワーキングエリア3上には1つの部分多角形
PPを構成する頂点が登録されている。部分多角形PP
の頂点は、ステップS404で登録された基準頂点Pb
、頂点Pc および頂点P(c+1) だけ、または、当該基
準頂点Pb 、当該頂点Pc 、当該頂点P(c+1) およびス
テップS408で追加登録された少なくとも1つの頂点
P(c+2) である。プロセッサ1は、基準頂点Pb 、頂点
Pc および頂点P(c+1) のみからなる、または、これら
3頂点Pおよび少なくとも1つの頂点P(c+2) からなる
部分多角形データDpartを作成し、さらに、当該部分多
角形データDpartをワーキングエリア3上で保持する。
本ステップS410で作成された部分多角形データDpa
rtは、ステップS414で作成されたものと同様の部分
多角形PPを特定する。さらに、1つの部分多角形PP
を作成し終わったことになるので、次の部分多角形PP
に含まれる三角形の個数を計数するための準備として、
カウンタの値Vtri を0にリセットする(ステップS4
10)。
【0089】次に、プロセッサ1は、ワーキングエリア
3上の多角形データDpolyから、多角形データDpoly’
を作成する(ステップS411)。より具体的には、プ
ロセッサ1は、多角形データDpolyが含む頂点座標P1
〜Pn から、ステップS402およびS406で選択さ
れた頂点Pc 、P(c+1) およびP(c+2) を除去する。た
だし、最後に選択された頂点P(c+2) (つまり、現在の
頂点P(c+2) )は、後のステップS413で新しい基準
頂点Pb として選択されるので除去されない。さらに、
基準頂点Pb も多角形データDpoly’を構成するために
必要であるから除去されない。そして、プロセッサ1
は、後の処理での便宜のため、現在残っている頂点座標
Pを並び替えて、現在の頂点座標P(c+2) 〜頂点座標P
n および頂点座標Pb がその内部に順番に並んでいる多
角形データDpoly’を作成する。つまり、多角形データ
Dpoly’は、現在の頂点座標P(c+2) 〜頂点座標Pn お
よび基準頂点座標Pb からなる多角形を一筆書きできる
ようなデータ構造を有する。なお、多角形データDpoly
が含む付随情報については、多角形データDpoly’にそ
のまま設定されてもよいし、ワーキングエリア3の他の
領域に退避されてもよい。
【0090】次に、プロセッサ1は、多角形データDpo
ly’を、新しい多角形データDpolyに設定し(ステップ
S412)、さらに、現在の頂点P(c+2) を新しい基準
頂点Pb に設定する(ステップS413)。その後、プ
ロセッサ1は、図4のステップS402に戻って、以降
の処理を進める。
【0091】以上、部分多角形分割処理を、図4および
図5を参照して説明した。以下には、その理解をより深
めるために、図6(a)に示すような凹多角形Pを特定
する多角形データDpolyに対する部分多角形分割処理つ
いて説明する。また、図6(a)の凹多角形Pを特定す
るために、処理対象となる多角形データDpolyには、図
6(b)に示すように、頂点座標P1 〜P14が順番に並
んでいる。
【0092】まず、ステップS401では、図7(a)
の星印で示すように、頂点P1 が基準頂点Pb として選
択される。次のステップS402では、頂点P2 が頂点
Pcとして選択され、頂点P3 が頂点P(c+1) として選
択される。ここで、ステップS403において、△P1
P2 P3 が第1の条件を満たし、かつ∠P1 P2 P3が
第2の条件を満たすと仮定すると、ステップS404に
おいて、頂点P1 〜P3 が部分多角形PPの頂点として
登録され、さらに、カウンタ値Vtri が初期値0から1
に変更される。
【0093】頂点P1 〜P3 だけが部分多角形PPの頂
点として登録されている条件下では、Vtri =1であ
り、さらに、現在、(n−2)=12であるから、ステ
ップS405ではVtri ≠(n−2)と判断されるの
で、ステップS406において、基準頂点Pb 、頂点P
(c+1) および頂点P(c+2) の組み合わせとして、頂点P
1、頂点P3 および頂点P4 の組み合わせが選択され
る。今、ステップS407において、△P1 P3 P4 が
第3の条件を満たし、かつ∠P1 P3 P4 が第4の条件
を満たすと仮定すると、ステップS408において、部
分多角形PPの頂点として、頂点P4 が追加登録され、
さらにカウンタの値Vtri が1から2に更新される。そ
の後のステップS409において、現在の頂点P(c+2)
である頂点P4が新しい頂点P(c+1) として設定され
る。
【0094】そして、ステップS405でVtri ≠(n
−2)と判断された後、ステップS406が行われる。
現在の基準頂点Pb および頂点P(c+1) は頂点P1 およ
び頂点P4 であるから、ステップS406では、頂点P
(c+2) として頂点P5 が選択される。今、ステップS4
07において、△P1 P4 P5 が第3の条件を満たし、
かつ∠P1 P4 P5 が第4の条件を満たすと仮定する
と、ステップS408において、部分多角形PPの頂点
として、頂点P5 が追加登録され、さらにカウンタの値
Vtri が2から3に更新される。その後のステップS4
09において、現在の頂点P(c+2) である頂点P5 が新
しい頂点P(c+1) として設定される。
【0095】そして、ステップS405でVtri ≠(n
−2)であると判断された後、ステップS406におい
て、頂点P6 が頂点P(c+2) として選択される。今、ス
テップS407において、△P1 P5 P6 が第3の条件
を満たし、かつ∠P1 P5 P6 が第4の条件を満たすと
仮定すると、頂点P6 は、ステップS408において追
加登録され、さらにカウンタの値Vtri が4に更新され
る。さらに、頂点P6は、ステップS409において、
新しい頂点P(c+1) として設定される。
【0096】その後、ステップS405でVtri ≠(n
−2)であると判断され、ステップS406で、頂点P
7 が頂点P(c+2) として選択される。ここで、∠P1 P
6 P7 は凹であるとすると、第4の条件は満足しない。
したがって、プロセッサ1は、現在の頂点P(c+2) つま
り頂点P7 が部分多角形PPの頂点として不適切である
とみなす。頂点P7 が多角形PPの頂点として不適切で
あるのは、∠Pb P(c+1) P(c+2) としての∠P1 P6
P7 が凹であると、頂点P5 から頂点P6 へと向かう線
分に対して、頂点P6 から頂点P7 へと向かう線分が逆
戻りするようになってしまい、正確な部分多角形PP
が、後で行われるステップS37で描画されないからで
ある。なお、第3の条件を満たさない場合も、同様の理
由で、頂点P(c+2) が多角形PPの頂点として不適切で
あると判断される。
【0097】以上のように、第3および第4の両条件を
満たさないと判定されると、プロセッサ1が多角形Pか
ら1つの部分多角形PPを分割し終えたとみなし、ステ
ップS410が行われる。今回のステップS410で
は、頂点座標P1 〜頂点座標P6 を含む部分多角形デー
タDpartが作成され保持される。さらに、ステップS4
10では、カウンタ値Vtri (=4)が0にリセットさ
れる。ここで、便宜上、今回作成された部分多角形デー
タDpartを部分多角形データDpart1 と称する。部分多
角形データDpart1 は、図7(a)の斜線を付けた部分
に示すように、頂点P1 〜P6 からなる部分多角形PP
1 を特定する。
【0098】ここで、部分多角形PP1 は、それぞれが
基準頂点Pb (=P1 )を含む三角形△P1 P2 P3 、
△P1 P3 P4 、△P1 P4 P5 および△P1 P5 P6
との集合である。さらに、△P1 P2 P3 は、△P1 P
3 P4 と、辺P1 P3 を共有する。他の△P1 P3 P4
、△P1 P4 P5 および△P1 P5 P6 もまた、部分
多角形PP1 に属しておりかつ自身を除いた他の三角形
のいずれかと少なくとも1つの辺を共有する。
【0099】次に、ステップS411では、前述したよ
うに、頂点座標P1 〜Pn から、頂点Pc 、頂点P(c+
1) および、現在の頂点P(c+2) を除く他の頂点P(c+2)
が除去される。したがって、ワーキングエリア3上の
多角形データDpolyから頂点座標P2 〜P5 が除去され
た後、頂点座標Pの並び替えが行われ、これによって、
図7(b)に示すように、その内部に10個の頂点座標
P6 〜P14およびP1 が順番に並んでいる多角形データ
Dpoly’が作成され、ステップS412において、当該
多角形データDpoly’が、新しい多角形データDpolyと
して設定される。その後、ステップS413において頂
点P6 が基準頂点Pb として設定される。
【0100】基準頂点Pb が頂点P6 の時には、頂点P
(c+1) が頂点P11でありかつ頂点P(c+2) が頂点P12で
ある場合にはじめて、第3および第4の両条件を満たさ
なくなるので(ステップS407)、図8(a)に示す
ような部分多角形PP2 (右下がりの斜線を付けた部分
参照)を特定する部分多角形データDpart2 が作成され
保持される(ステップS410)。そして、ステップS
411において、ワーキングエリア3上の多角形データ
Dpolyから頂点座標P7 〜P10が除去された後、頂点座
標Pの並び替えが行われ、これによって、図8(b)に
示すように、6個の頂点座標P11〜P14ならびに頂点座
標P1 およびP6 が、順番に並んでいる多角形データD
poly’が作成され、ステップS412において、当該多
角形データDpoly’が新しい多角形データDpolyとして
設定される。
【0101】さらに、ステップS413において、図8
(a)に示すように、頂点P11が基準頂点Pb として設
定された後、部分多角形分割処理はステップS402に
戻る。ステップS402では、頂点P12が頂点Pc とし
て選択され、頂点P13が頂点P(c+1) として選択され
る。ここで、ステップS403において、△P11P12P
13が第1の条件を満たし、かつ∠P11P12P13が第2の
条件を満たすと仮定すると、ステップS404におい
て、頂点P11〜P13が登録され、さらに、カウンタ値V
tri が1に更新される。
【0102】頂点P11〜P13だけが部分多角形PPの頂
点として登録されている条件下では、Vtri =1であ
り、さらに、現在、(n−2)=4であるから、ステッ
プS405ではVtri ≠(n−2)と判断されるので、
ステップS406において、基準頂点Pb 、頂点P(c+
1) および頂点P(c+2) の組み合わせとして、頂点P1
1、頂点P13および頂点P14の組み合わせが選択され
る。今、ステップS407において、△P11P13P14が
第3の条件を満たし、かつ∠P11P13P14が第4の条件
を満たすと仮定すると、ステップS408において頂点
P14が追加登録され、さらにカウンタの値Vtri が2に
更新される。その後のステップS409において、現在
の頂点P(c+2) である頂点P14が新しい頂点P(c+1) と
して設定される。
【0103】そして、ステップS405でVtri ≠(n
−2)と判断された後、ステップS406が行われる。
現在の基準頂点Pb および頂点P(c+1) は頂点P11およ
び頂点P14であり、さらに、現在の多角形データDpoly
において頂点P14の直後には頂点P1 が設定されている
ので、ステップS406では、頂点P(c+2) として頂点
P1 が選択される。今、ステップS407において、△
P11P14P1 が第3の条件を満たし、かつ∠P11P14P
1 が第4の条件を満たすと仮定すると、ステップS40
8において頂点P1 が追加登録され、さらにカウンタの
値Vtri が3に更新される。その後のステップS409
において、現在の頂点P(c+2) である頂点P1 が新しい
頂点P(c+1) として設定される。
【0104】そして、ステップS405でVtri ≠(n
−2)であると判断された後、ステップS406におい
て、現在の多角形データDpolyにおいて、頂点P1 の直
後に設定されている頂点P6 が頂点P(c+2) として選択
される。今、ステップS407において、△P11P1 P
6 が第3の条件を満たし、かつ∠P11P1 P6 が第4の
条件を満たすと仮定すると、頂点P6 は、ステップS4
08において追加登録され、さらにカウンタの値Vtri
が4に更新される。さらに、頂点P6 は、ステップS4
09において、新しい頂点P(c+1) として設定される。
【0105】その後、ステップS405でVtri =(n
−2)であると判断されので、プロセッサ1が描画対象
の多角形Pから部分多角形PPを完全に分割し終えたと
みなし、多角形分割処理は、ステップS414に進む。
ステップS414では、現在ワーキングエリア3に登録
されている頂点座標P11〜P14、ならびに頂点座標P1
およびP6 を含む部分多角形データDpartが作成され保
持される。便宜上、今回作成された部分多角形データD
partを部分多角形データDpart3 と称する。部分多角形
データDpart3 は、図8(b)の格子状のハッチングを
付けた部分に示すような部分多角形PP3 を特定する。
【0106】以上、図6〜図8を参照して、部分多角形
分割処理の具体例について説明した。かかる具体例で
は、ワーキングエリア3上には、3つの部分多角形デー
タDpart1 〜Dpart3 が作成される。その後、プロセッ
サ1は、図4および図5に示す部分多角形分割処理から
抜けて、図3のステップS37に進む。
【0107】ステップS37において、プロセッサ1
は、ステップS36で作成された1つの部分多角形デー
タDpartを選択した後、多角形データDpolyの付随情報
としての色情報に従って、ワーキングエリア3上で、部
分多角形PPを表す部分画像データを作成する。より具
体的には、部分画像データは、部分多角形PPの形状を
表しており、かつ色情報により特定される色で当該部分
多角形PPが塗りつぶされたデータを意味する。プロセ
ッサ1は、以上のような部分多角形描画処理を他の部分
多角形データDpartに対しても行い、これによって、描
画対象となる多角形Pを形状を表しかつ当該多角形Pの
内部が色情報に従って塗りつぶされた画像データDimag
e をワーキングエリア3上に作成する(ステップS3
7)。以上のステップS37は、請求項における部分多
角形描画部に相当する。
【0108】ここで、ステップS37において、プロセ
ッサ1はさらに、図9に示すように、ステップS36で
作成された各部分多角形データDpartに透視投影変換処
理を行ってもよい。透視投影変換処理においては、各部
分多角形データDpartが座標変換されることにより、各
部分多角形PPは、三次元空間上において予め定められ
た視点VPを含む視線ベクトルに対して垂直なスクリー
ンSR上に投影され、その結果、スクリーンSR上には
多角形P’が表示される。以上のステップS37が終わ
った後、プロセッサ1は、ワーキングエリア3上で作成
した画像データDimage を表示装置Udispに転送する
(ステップS38)。表示装置Udispは、転送されてき
た画像データDimage に従って、表示制御を行って、自
身の画面上に、多角形Pを表示する。
【0109】以上説明したように、本実施形態に係る描
画装置Urendによれば、部分多角形分割処理(ステップ
S36)により、描画対象の凹多角形Pは部分多角形P
Pに分割される。そのため、ステップS37では、部分
多角形PPを単位として、部分多角形描画処理が行わ
れ、凹多角形Pを表す画像データDimage が作成され
る。そのため、従来の三角形単位で行われる凹多角形P
の描画処理と比較して、部分多角形描画処理において処
理されるデータ量、特に頂点座標Pの数が格段に少なく
なる。これによって、描画対象の凹多角形Pを従来より
も高速に描画することが可能となる。
【0110】なお、以上の説明では、ステップS36お
よびS37は、凹多角形Pを特定する多角形データDpo
lyに対して行われたが、凸多角形Pの多角形データDpo
lyに対して行われてもよい。また、以上の実施形態で
は、プロセッサ1は、ステップS31において、多角形
データDpolyを、端末装置Dtermが内部に備える記憶装
置Ustorからワーキングエリア3に読み出して、後の処
理を行うと説明した。しかし、これに限らず、プロセッ
サ1は、ネットワークやバスに代表される通信路を通じ
て送信されてきた多角形データDpolyをワーキングエリ
ア3に転送し、当該多角形データDpolyに対して、ステ
ップS32〜S38を行ってもよい。つまり、記憶装置
Ustorは必ずしも、描画装置Urendの必須の構成とはな
らない。
【0111】また、以上の実施形態では、プロセッサ1
は、ステップS38において、画像データDimage を、
ワーキングエリア3から端末装置Dtermが内部に備える
表示装置Udispに転送すると説明した。しかし、これに
限らず、プロセッサ1は、上記通信路を通じて、端末装
置Dtermの外部に設置された表示装置に画像データDim
ageを転送するようにしてもよい。つまり、表示装置Ud
ispは必ずしも、描画装置Urendの必須の構成とはなら
ない。
【0112】また、以上の実施形態では、多角形データ
Dpolyは、描画対象となる多角形Pを一筆書きできる順
番に、頂点座標P1 〜Pn を含むと説明した。しかしな
がら、多角形データDpolyに、多角形Pを一筆書きでき
る順番に頂点座標Pが並んでいない場合には、プロセッ
サ1は、付随情報としての接続情報に従って、多角形P
を一筆書きできる順番に頂点座標P1 〜Pn を並び替え
た後に、ステップS36を行えばよい。
【0113】さらに、以上の実施形態では、記憶装置U
stor内の部分多角形データDpartは、部分多角形PPが
複数の三角形の集合からなる場合には、基準頂点Pb を
含む三角形△Pb Pc P(c+1) および少なくとも1つの
三角形△Pb P(c+1) P(c+2) からなる部分多角形PP
を特定する頂点座標Pからなっていた。しかし、プロセ
ッサ1は、自身の処理能力によっては、部分多角形PP
を描くことができず、単なる四角形しか描けない場合が
ある。このような場合、プロセッサ1は、部分多角形デ
ータDpartとして、基準頂点Pb を含む四角形□Pb P
c P(c+1) Pbおよび少なくとも1つの四角形□Pb P
(c+1) P(c+2) Pb からなる部分多角形PPを特定する
頂点座標Pからなるものを作成すればよい。プロセッサ
1がかかる部分多角形データDpartに従って部分多角形
描画処理(ステップS37)を行うと、形式的には、図
10(a)に示すように、四角形□Pb Pc P(c+1) P
bおよび四角形□Pb P(c+1) P(c+2) Pb を描くこと
となるが、両四角形において、基準頂点Pb が重複する
ので、結果として、図10(b)に示すような部分多角
形PPを描画することとなる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る描画装置Urend の
構成を示すブロック図である。
【図2】多角形データDpolyのデータ構造の一例を示す
図である。
【図3】プロセッサ1の処理手順を示すメインフローチ
ャートである。
【図4】ステップS26の詳細な処理手順を示すフロー
チャートの前半部分である。
【図5】ステップS26の詳細な処理手順を示すフロー
チャートの後半部分である。
【図6】描画対象となる多角形Pおよび多角形データD
polyの例を示す図である。
【図7】部分多角形PP1 、および最初の多角形データ
Dpoly’を示す図である。
【図8】部分多角形PP1 〜PP3 および最後の多角形
データDpoly’を示す図である。
【図9】透視投影変換を説明するための図である。
【図10】特別な場合における部分多角形PPの描画方
法および結果を示す図である。
【図11】従来の描画装置CUrendの構成を示すブロッ
ク図である。
【図12】描画装置CUrendにおける相似変換を説明す
るための図である。
【図13】描画装置CUrendにおける凹凸判定を説明す
るための図である。
【図14】描画装置CUrendにおける第2の三角形分割
の手順を示すフローチャートである。
【符号の説明】
Urend…描画装置 1…プロセッサ 2…プログラムメモリ 21…レンダリング用のプログラム 3…ワーキングエリア Ustor…記憶装置 Udisp…表示装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西村 健二 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 荒木 均 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 湯田 正人 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B080 BA04 DA00 GA26 GA27

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 多角形を描画するための装置であって、 描画対象の多角形を特定する多角形データに基づいて、
    それぞれが当該多角形を分割した1つの部分多角形を特
    定する部分多角形データを複数個作成する多角形分割部
    と、 描画処理を行って、前記多角形分割部により作成された
    各部分多角形データに基づいて、描画対象の多角形の画
    像を表す画像データを作成する部分多角形描画部とを備
    え、 各前記部分多角形は、前記描画対象の多角形の1つの頂
    点を含む複数の三角形の集合であって、 各前記部分多角形に属する各三角形は、同じ部分多角形
    に属する残りの三角形のいずれかと少なくとも1つの辺
    を共有する、描画装置。
  2. 【請求項2】 前記多角形データは、前記描画対象の多
    角形を特定するための座標を含んでおり、 前記多角形データに不要点除去処理を行って、不要な座
    標が除去された多角形データを作成する不要点除去部を
    さらに備え、 前記多角形分割部は、不要点除去部により処理された多
    角形データに基づいて、前記部分多角形データを作成す
    る、請求項1に記載の描画装置。
  3. 【請求項3】 前記多角形データが凹多角形を特定して
    いるか否かを判定する凹多角形判定部をさらに備え、 前記多角形分割部は、前記凹多角形判定部により凹多角
    形を特定すると判定された多角形データに基づいて、前
    記部分多角形データを作成する、請求項1に記載の描画
    装置。
  4. 【請求項4】 前記部分多角形描画部は、前記多角形分
    割部により作成された部分多角形データに基づいて、透
    視投影変換処理を行って、予め定められた視点から前記
    描画対象の多角形を見たときの画像を表す画像データを
    作成する、請求項1に記載の描画装置。
  5. 【請求項5】 前記多角形データには、前記描画対象の
    多角形が有するn個の各頂点座標P1 〜Pn が、当該多
    角形を一筆書き可能な方向である順方向に沿って並んで
    おり、 前記多角形分割部は、 前記多角形データの頂点座標P1 〜Pn の1つを、基準
    頂点Pb (b=1,2,…,n)として選択し、さら
    に、前記順方向に沿って当該基準頂点Pb の隣に位置す
    る頂点Pc およびP(c+1) を選択し、ここで、当該頂点
    Pb 、Pc およびP(c+1) からなる△Pb Pc P(c+1)
    の内部には、前記描画対象の多角形に属しかつ未選択で
    ある他の頂点Pi (i=1,2,…nかつi≠b,i≠
    c,i≠c+1)はなく、しかも、当該頂点Pb 、Pc
    およびP(c+1) からなる∠Pb Pc P(c+1) は凸であ
    り、 その後、前記基準頂点Pb および前記頂点P(c+1) に加
    えて、前記順方向に沿って当該頂点P(c+1) の隣に位置
    する頂点P(c+2) を選択し、ここで、当該頂点Pb 、P
    (c+1) およびP(c+2) からなる△Pb P(c+1) P(c+2)
    の内部には、前記描画対象の多角形に属しかつ未選択で
    ある他の頂点Pj (j=1,2,…nかつj≠b,j≠
    c,j≠c+1,j≠c+2)はなく、しかも、当該頂
    点Pb、P(c+1) およびP(c+2) からなる∠Pb P(c+1)
    (c+2) は凸であり、 少なくとも、前記基準頂点Pb ならびに頂点Pc 、P(c
    +1) およびP(c+2)からなる部分多角形を特定する部分
    多角形データを作成する、請求項1に記載の描画装置。
  6. 【請求項6】 前記多角形分割部は、 自身が選択した頂点P(c+2) が、前記△Pb P(c+1) P
    (c+2) の内部に前記他の頂点Pj がなく、かつ前記∠P
    b P(c+1) (b+2) が凸であるという条件を満たす場合に
    は、さらに、前記頂点P(c+2) を頂点P(c+1)に設定
    し、 前記基準頂点Pb および、新たに設定された頂点P(c+
    1) に加えて、当該頂点P(c+1) の隣に位置する頂点P
    (c+2) を新たに選択するという動作を、前記条件を満た
    さなくなるまで続け、 前記基準頂点Pb 、前記頂点Pc およびP(c+1) ならび
    に、少なくとも1つの頂点P(c+2) からなる部分多角形
    を特定する部分多角形データを作成する、請求項5に記
    載の描画装置。
  7. 【請求項7】 多角形を描画するための方法であって、 描画対象の多角形を特定する多角形データに基づいて、
    それぞれが当該多角形を分割した1つの部分多角形を特
    定する部分多角形データを複数個作成する多角形分割ス
    テップと、 描画処理を行って、前記多角形分割ステップで作成され
    た各部分多角形データに基づいて、描画対象の多角形の
    画像を表す画像データを作成する部分多角形描画ステッ
    プとを備え、 各前記部分多角形は、前記描画対象の多角形の1つの頂
    点を含む複数の三角形の集合であって、 各前記部分多角形に属する各三角形は、同じ部分多角形
    に属する残りの三角形のいずれかと少なくとも1つの辺
    を共有する、描画方法。
  8. 【請求項8】 前記多角形データには、前記描画対象の
    多角形が有するn個の各頂点座標P1 〜Pn が、当該多
    角形を一筆書き可能な方向である順方向に沿って並んで
    おり、 前記多角形分割ステップは、前記多角形データの頂点座
    標P1 〜Pn の1つを、基準頂点Pb (b=1,2,
    …,n)として選択し、さらに、前記順方向に沿って当
    該基準頂点Pb の隣に位置する頂点Pc およびP(c+1)
    を選択する第1の選択ステップを含み、 ここで、前記頂点Pb 、Pc およびP(c+1) からなる△
    Pb Pc P(c+1) の内部には、前記描画対象の多角形に
    属しかつ未選択である他の頂点Pi (i=1,2,…n
    かつi≠b,i≠c,i≠c+1)はなく、さらに、当
    該頂点Pb 、Pc およびP(c+1) からなる∠Pb Pc P
    (c+1) は凸であり、 前記多角形分割ステップは、前記第1の選択ステップの
    後、前記基準頂点Pbおよび前記頂点P(c+1) に加え
    て、前記順方向に沿って当該頂点P(c+1) の隣に位置す
    る頂点P(c+2) を選択する第2の選択ステップをさらに
    含み、 ここで、前記頂点Pb 、P(c+1) およびP(c+2) からな
    る△Pb P(c+1) P(c+2) の内部には、前記描画対象の
    多角形に属しかつ未選択である他の頂点Pj(j=1,
    2,…nかつj≠b,j≠c,j≠c+1,j≠c+
    2)はなく、しかも、当該頂点Pb 、P(c+1) およびP
    (c+2) からなる∠Pb P(c+1) (c+2) は凸であり、 前記多角形分割ステップにおいては、前記第1の選択ス
    テップで選択された前記頂点Pb 、Pc およびP(c+1)
    と、前記第2の選択ステップで選択された前記頂点P(c
    +2) とで少なくとも構成される部分多角形を特定する部
    分多角形データが作成される、請求項7に記載の描画方
    法。
  9. 【請求項9】 前記多角形分割ステップはさらに、前記
    第2の選択ステップで選択された頂点P(c+2) が、前記
    △Pb P(c+1) P(c+2) の内部に前記他の頂点Pj がな
    く、かつ前記∠Pb P(c+1) (b+2) が凸であるという条
    件を満たす場合に、前記頂点P(c+2) を頂点P(c+1)に
    設定する設定ステップをさらに含み、 前記第2の選択ステップにおいては、前記第1の選択ス
    テップで選択された前記基準頂点Pb および、前記設定
    ステップにおいて設定された前記頂点P(c+1)に加え
    て、当該頂点P(c+1) の隣に位置する頂点P(c+2) を新
    たに選択するという動作が、前記条件を満たさなくなる
    まで続けられ、 前記多角形分割ステップにおいては、前記第1のステッ
    プで選択された前記基準頂点Pb 、前記頂点Pc および
    P(c+1) と、前記第2の選択ステップで選択された頂点
    P(c+2) からなる部分多角形を特定する部分多角形デー
    タが作成される、請求項8に記載の描画方法。
  10. 【請求項10】 多角形を描画するためのプログラムを
    記録した記録媒体であって、 描画対象の多角形を特定する多角形データに基づいて、
    それぞれが当該多角形を分割した1つの部分多角形を特
    定する部分多角形データを複数個作成する多角形分割ス
    テップと、 描画処理を行って、前記多角形分割ステップで作成され
    た各部分多角形データに基づいて、描画対象の多角形の
    画像を表す画像データを作成する部分多角形描画ステッ
    プとを含み、 各前記部分多角形は、前記描画対象の多角形の1つの頂
    点を含む複数の三角形の集合であって、 各前記部分多角形に属する各三角形は、同じ部分多角形
    に属する残りの三角形のいずれかと少なくとも1つの辺
    を共有する、プログラムを記録した記録媒体。
  11. 【請求項11】 前記多角形データには、前記描画対象
    の多角形が有するn個の各頂点座標P1 〜Pn が、当該
    多角形を一筆書き可能な方向である順方向に沿って並ん
    でおり、 前記多角形分割ステップは、前記多角形データの頂点座
    標P1 〜Pn の1つを、基準頂点Pb (b=1,2,
    …,n)として選択し、さらに、前記順方向に沿って当
    該基準頂点Pb の隣に位置する頂点Pc およびP(c+1)
    を選択する第1の選択ステップを含み、 ここで、前記頂点Pb 、Pc およびP(c+1) からなる△
    Pb Pc P(c+1) の内部には、前記描画対象の多角形に
    属しかつ未選択である他の頂点Pi (i=1,2,…n
    かつi≠b,i≠c,i≠c+1)はなく、しかも、当
    該頂点Pb 、Pc およびP(c+1) からなる∠Pb Pc P
    (c+1) は凸であり、 前記多角形分割ステップは、前記第1の選択ステップの
    後、前記基準頂点Pbおよび前記頂点P(c+1) に加え
    て、前記順方向に沿って当該頂点P(c+1) の隣に位置す
    る頂点P(c+2) を選択する第2の選択ステップをさらに
    含み、 ここで、前記頂点Pb 、P(c+1) およびP(c+2) からな
    る△Pb P(c+1) P(c+2) の内部には、前記描画対象の
    多角形に属しかつ未選択である他の頂点Pj(j=1,
    2,…nかつj≠b,j≠c,j≠c+1,j≠c+
    2)はなく、しかも、当該頂点Pb 、P(c+1) およびP
    (c+2) からなる∠Pb P(c+1) (c+2) は凸であり、 前記多角形分割ステップにおいては、前記第1の選択ス
    テップで選択された前記頂点Pb 、Pc およびP(c+1)
    と、前記第2の選択ステップで選択された前記頂点P(c
    +2) とで少なくとも構成される部分多角形を特定する部
    分多角形データが作成される、請求項10に記載のプロ
    グラムを記録した記録媒体。
  12. 【請求項12】 前記多角形分割ステップはさらに、前
    記第2の選択ステップで選択された頂点P(c+2) が、前
    記△Pb P(c+1) P(c+2) の内部に前記他の頂点Pj が
    なく、かつ前記∠Pb P(c+1) (b+2) が凸であるという
    条件を満たす場合に、前記頂点P(c+2) を頂点P(c+1)
    に設定する設定ステップをさらに含み、 前記第2のステップにおいては、前記第1の選択ステッ
    プで選択された前記基準頂点Pb および、前記設定ステ
    ップにおいて設定された前記頂点P(c+1) に加えて、当
    該頂点P(c+1) の隣に位置する頂点P(c+2) を新たに選
    択するという動作が、前記条件を満たさなくなるまで続
    けられ、 前記多角形分割ステップにおいては、前記第1のステッ
    プで選択された前記基準頂点Pb 、前記頂点Pc および
    P(c+1) と、前記第2の選択ステップで選択された頂点
    P(c+2) からなる部分多角形を特定する部分多角形デー
    タが作成される、請求項11に記載のプログラムを記録
    した記録媒体。
  13. 【請求項13】 多角形を描画するためのプログラムで
    あって、 描画対象の多角形を特定する多角形データに基づいて、
    それぞれが当該多角形を分割した1つの部分多角形を特
    定する部分多角形データを複数個作成する多角形分割ス
    テップと、 描画処理を行って、前記多角形分割ステップで作成され
    た各部分多角形データに基づいて、描画対象の多角形の
    画像を表す画像データを作成する部分多角形描画ステッ
    プとを含み、 各前記部分多角形は、前記描画対象の多角形の1つの頂
    点を含む複数の三角形の集合であって、 各前記部分多角形に属する各三角形は、同じ部分多角形
    に属する残りの三角形のいずれかと少なくとも1つの辺
    を共有する、プログラム。
JP2000357931A 2000-11-24 2000-11-24 描画装置 Expired - Fee Related JP4541533B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000357931A JP4541533B2 (ja) 2000-11-24 2000-11-24 描画装置
US09/988,325 US6977652B2 (en) 2000-11-24 2001-11-19 Polygon rendering device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000357931A JP4541533B2 (ja) 2000-11-24 2000-11-24 描画装置

Publications (2)

Publication Number Publication Date
JP2002163665A true JP2002163665A (ja) 2002-06-07
JP4541533B2 JP4541533B2 (ja) 2010-09-08

Family

ID=18829920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000357931A Expired - Fee Related JP4541533B2 (ja) 2000-11-24 2000-11-24 描画装置

Country Status (2)

Country Link
US (1) US6977652B2 (ja)
JP (1) JP4541533B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015501981A (ja) * 2011-11-16 2015-01-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated タイルベースのレンダリングにおけるテッセレーション
JP2017533494A (ja) * 2014-08-29 2017-11-09 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc Mpeg/sc3dmc標準のポリゴンメッシュへの拡張
JP2018041244A (ja) * 2016-09-07 2018-03-15 ボッシュ株式会社 移動体の周囲の障害物情報を生成するための処理装置及び処理方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7436414B2 (en) * 2004-11-12 2008-10-14 Valve Corporation Method for accelerated determination of occlusion between polygons
US8599195B2 (en) * 2007-03-15 2013-12-03 Basimah Khulusi Apparatus and method for modeling all matter by modeling, truncating, and creating N-dimensional polyhedra including those having holes, concave attributes, and no symmetry
JP4636146B2 (ja) * 2008-09-05 2011-02-23 ソニー株式会社 画像処理方法、画像処理装置、プログラム及び画像処理システム
CN102110306B (zh) * 2009-12-23 2016-09-21 富士通株式会社 用于对凹多边形进行三角化的方法和系统
US8976188B1 (en) 2012-04-20 2015-03-10 Google Inc. Optimized data communication system and method for an image rendering system
US20150310647A1 (en) 2014-04-24 2015-10-29 Sas Institute Inc. Techniques for Visualization of Data
US9721363B2 (en) 2014-05-19 2017-08-01 Google Inc. Encoding polygon data for fast retrieval and rendering
US10834413B2 (en) * 2018-08-24 2020-11-10 Disney Enterprises, Inc. Fast and accurate block matching for computer generated content
CN112837416A (zh) * 2019-11-22 2021-05-25 上海幻电信息科技有限公司 基于三角剖分的多边形渲染方法、装置及存储介质
CN115330974B (zh) * 2022-07-21 2024-04-26 北京汉仪创新科技股份有限公司 一种三维字体实时建模渲染方法、系统、设备和介质
CN116012491B (zh) * 2023-03-20 2023-09-19 电科疆泰(深圳)科技发展有限公司 多边形填充方法和装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04184689A (ja) * 1990-11-20 1992-07-01 Daikin Ind Ltd 多角形分割方法およびその装置
JPH06266846A (ja) * 1992-10-20 1994-09-22 Ricoh Co Ltd 画像処理装置
JPH0721397A (ja) * 1993-07-05 1995-01-24 Fanuc Ltd 多角形の塗りつぶし描画方法
JPH07105405A (ja) * 1993-09-30 1995-04-21 Fujitsu Ltd 多角形の描画方式,三角形の描画方式および四辺形メッシュの描画方式
JPH07325929A (ja) * 1994-05-31 1995-12-12 Nec Corp 図形近似方法およびその装置
JPH086485A (ja) * 1994-06-17 1996-01-12 Namco Ltd ポリゴンデータ変換装置及び3次元シミュレータ装置
JPH11259681A (ja) * 1998-03-09 1999-09-24 Japan Nuclear Cycle Development Inst State Of Projects(Jnc) オブジェクトをプリミティブに変換する装置
JPH11296686A (ja) * 1998-04-09 1999-10-29 Sony Computer Entertainment Inc 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体
JP2000242802A (ja) * 1999-02-22 2000-09-08 Fuji Xerox Co Ltd 図形処理装置
JP2000251056A (ja) * 1999-03-01 2000-09-14 Matsushita Electric Ind Co Ltd 多角形幾何学的分割方法および装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5575125A (en) * 1987-04-09 1996-11-19 Lalvani; Haresh Periodic and non-periodic tilings and building blocks from prismatic nodes
JPH0760465B2 (ja) * 1989-10-23 1995-06-28 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 凹ポリゴン描出方法及びプロセツサ
US5428717A (en) * 1991-12-30 1995-06-27 Xerox Corporation Methods for converting concave polyhedra to their convex hulls
US6078331A (en) * 1996-09-30 2000-06-20 Silicon Graphics, Inc. Method and system for efficiently drawing subdivision surfaces for 3D graphics
GB2343603B (en) * 1998-11-06 2003-04-02 Videologic Ltd Shading 3-dimensional computer generated images
US6437780B1 (en) * 1999-03-17 2002-08-20 Nvidia Us Investment Company Method for determining tiles in a computer display that are covered by a graphics primitive

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04184689A (ja) * 1990-11-20 1992-07-01 Daikin Ind Ltd 多角形分割方法およびその装置
JPH06266846A (ja) * 1992-10-20 1994-09-22 Ricoh Co Ltd 画像処理装置
JPH0721397A (ja) * 1993-07-05 1995-01-24 Fanuc Ltd 多角形の塗りつぶし描画方法
JPH07105405A (ja) * 1993-09-30 1995-04-21 Fujitsu Ltd 多角形の描画方式,三角形の描画方式および四辺形メッシュの描画方式
JPH07325929A (ja) * 1994-05-31 1995-12-12 Nec Corp 図形近似方法およびその装置
JPH086485A (ja) * 1994-06-17 1996-01-12 Namco Ltd ポリゴンデータ変換装置及び3次元シミュレータ装置
JPH11259681A (ja) * 1998-03-09 1999-09-24 Japan Nuclear Cycle Development Inst State Of Projects(Jnc) オブジェクトをプリミティブに変換する装置
JPH11296686A (ja) * 1998-04-09 1999-10-29 Sony Computer Entertainment Inc 画像処理装置および画像処理方法、プログラム提供媒体、並びにデータ提供媒体
JP2000242802A (ja) * 1999-02-22 2000-09-08 Fuji Xerox Co Ltd 図形処理装置
JP2000251056A (ja) * 1999-03-01 2000-09-14 Matsushita Electric Ind Co Ltd 多角形幾何学的分割方法および装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015501981A (ja) * 2011-11-16 2015-01-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated タイルベースのレンダリングにおけるテッセレーション
US10089774B2 (en) 2011-11-16 2018-10-02 Qualcomm Incorporated Tessellation in tile-based rendering
JP2017533494A (ja) * 2014-08-29 2017-11-09 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc Mpeg/sc3dmc標準のポリゴンメッシュへの拡張
JP2018041244A (ja) * 2016-09-07 2018-03-15 ボッシュ株式会社 移動体の周囲の障害物情報を生成するための処理装置及び処理方法

Also Published As

Publication number Publication date
US20020063708A1 (en) 2002-05-30
US6977652B2 (en) 2005-12-20
JP4541533B2 (ja) 2010-09-08

Similar Documents

Publication Publication Date Title
JP2002163665A (ja) 描画装置
CN102306395B (zh) 一种三维模型数据分布式绘图方法及装置
JP3885262B2 (ja) テクスチャマップ上の複数画素を混合する方法及び、これを用いた複数画素混合回路と画像処理装置
JP5562439B2 (ja) 空間データ処理方法及び装置
US5877779A (en) Method and apparatus for efficient rendering of three-dimensional scenes
US11651556B2 (en) Virtual exhibition space providing method for efficient data management
CN113112581A (zh) 三维模型的纹理贴图生成方法、装置、设备及存储介质
JP2612221B2 (ja) 図形画像を生成する装置及び方法
US6556198B1 (en) Polyhedron generating method and apparatus thereof, and storage medium for storing the method
CN110599564A (zh) 图像展示方法、装置、计算机设备和存储介质
JPH11259671A (ja) 画像表示方法及びそれを実行する画像表示装置
JP5657099B2 (ja) テクスチャマッピング装置
US20230343021A1 (en) Visible element determination method and apparatus, storage medium, and electronic device
Stolte et al. Parallel spatial enumeration of implicit surfaces using interval arithmetic for octree generation and its direct visualization
CN111950057A (zh) 一种建筑信息模型bim的加载方法及装置
CN111402369A (zh) 互动广告的处理方法、装置、终端设备及存储介质
CN116523738A (zh) 一种任务触发方法、装置、存储介质以及电子设备
CN110458928A (zh) 基于unity3d的AR动画生成方法、装置、介质
CN106846498B (zh) 激光点云渲染方法和装置
CN115512089A (zh) 一种bim模型的快速浏览方法
KR100684558B1 (ko) 텍스쳐 밉매핑 장치 및 방법
Egan et al. The display of molecular models with the Ames Interactive Modeling System (AIMS)
JP4114385B2 (ja) 仮想3次元空間画像管理システム及び方法、並びにコンピュータ・プログラム
KR20070106324A (ko) 이동 통신 단말기에서 나만의 이미지를 생성하는 방법
JPH06309471A (ja) 3次元グラフィックス描画装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100518

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: 20100603

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: 20100624

R150 Certificate of patent or registration of utility model

Ref document number: 4541533

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: 20130702

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees