JP3151710B2 - 3次元図形の形状演算装置 - Google Patents

3次元図形の形状演算装置

Info

Publication number
JP3151710B2
JP3151710B2 JP17757899A JP17757899A JP3151710B2 JP 3151710 B2 JP3151710 B2 JP 3151710B2 JP 17757899 A JP17757899 A JP 17757899A JP 17757899 A JP17757899 A JP 17757899A JP 3151710 B2 JP3151710 B2 JP 3151710B2
Authority
JP
Japan
Prior art keywords
data
triangle
dimensional
processing
shape
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP17757899A
Other languages
English (en)
Other versions
JP2001006005A (ja
Inventor
佳樹 荒川
Original Assignee
郵政省通信総合研究所長
佳樹 荒川
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 郵政省通信総合研究所長, 佳樹 荒川 filed Critical 郵政省通信総合研究所長
Priority to JP17757899A priority Critical patent/JP3151710B2/ja
Publication of JP2001006005A publication Critical patent/JP2001006005A/ja
Application granted granted Critical
Publication of JP3151710B2 publication Critical patent/JP3151710B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数の3次元図
形の形状演算を、3次元図形の表面を三角形およびゼロ
三角形で表現したときの三角形面データおよびゼロ三角
形データを用いて行う3次元図形の形状演算装置に関す
るものである。
【0002】
【従来の技術】従来、複数の3次元図形の形状演算を行
う3次元図形の形状演算装置が、例えば特開平9−28
2493号公報で知られている。この特開平9−282
493号公報では、3次元図形の表面を三角形およびゼ
ロ三角形(3点線分)で表現したときの三角形面データ
およびゼロ三角形データ(3点線分データ)を用いて、
形状演算を行っている。なお、ここで、形状演算とは、
形状和(足し算)、形状差(引き算)および形状積(重
なる部分)を求めるための演算をいう。また、ゼロ三角
形とは、三角形の3つの頂点が同一直線上となる仮想的
な三角形をいう。
【0003】そして、上記公報の場合を含め、これまで
に実用化され広く用いられている形状演算の処理方法
は、以下の3種類の特徴を具備する方法が、一般的に用
いられている。 (1)多角形面データを処理単位としている。 (2)3次元のユークリッド座標系を用いて幾何計算を
行っている。 (3)浮動小数点演算方式を用いた、誤差がある演算を
行っている。
【0004】
【発明が解決しようとする課題】しかし、上記のような
従来の形状演算処理では、浮動小数点演算を行うたび
に、「数値の丸め(切り捨て)」が行われ、その結果、
演算誤差が発生するので、その後にその演算誤差が蓄積
し、幾何演算処理(図形処理)が破綻するという問題が
あった。短的に言うと、処理系において、暴走が生じて
しまうという課題があった。
【0005】従来では、上記課題を解決するために、そ
れぞれの破綻に対応した例外処理部を設けることによっ
て、対応していた。しかし、上記のような処理系の暴走
への対応方法は場当たり的、その場しのぎ的であり、根
本的に処理系の破綻を回避することが出来なかった。
【0006】この発明は上記に鑑み提案されたもので、
3次元図形の形状演算において、形状演算を何回実行し
ても、演算に破綻が生じない、かつ図形処理を効率的、
高速に実行することが可能な3次元図形の形状演算装置
を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、請求項1に記載の発明は、複数の3次元図形の形状
演算を、3次元図形の表面を三角形およびゼロ三角形で
表現したときの三角形面データおよびゼロ三角形データ
を用いて行う3次元図形の形状演算装置において、4次
元同次座標系での演算処理を行う4次元同次座標系幾何
処理部と、上記三角形面データおよびゼロ三角形データ
を構成する頂点データを、4次元同次座標系幾何処理部
を用いて4次元頂点データに変換するデータ変換手段
と、上記4次元同次座標系幾何処理部を用い、4次元頂
点データ、三角形面データおよびゼロ三角形データに基
づく4次元同次座標系での幾何処理を行うことによって
各種の4次元幾何処理データを求め、その4次元幾何処
理データに基づいて複数の3次元図形に対する形状演算
処理を行う形状演算手段と、を備え、 上記形状演算手
段は、上記幾何処理および形状演算処理を可変長ビット
の整数演算として行うとともに、形状演算処理におけ
る、三角形を分割し共通交線を生成する分割処理におい
て、共通交線の端点(交点)については1次頂点から生
成される2次頂点のみを保存し、また3次頂点を2次頂
点以下にする低次点化処理を行い、数値の桁数の増大を
抑制して無誤差整数演算を行う、ことを特徴としてい
る。
【0008】また、請求項2に記載の発明は、上記した
請求項1に記載の発明の構成に加えて、上記形状演算手
段は、形状演算前に存在していた、両端点とも1次頂点
で構成される1次辺をゼロ三角形の辺として保存し、そ
のゼロ三角形の1次辺を用いて交点および交線を求め、
3次頂点を2次頂点以下にする低次点化処理を行う、
とを特徴としている。
【0009】上記の本発明構成の特徴をまとめると、以
下のようになる。本発明では、 (1)可変長ビットの整数演算(無誤差演算) (2)4次元同次座標系幾何処理 (3)ゼロ三角形データを用いた図形処理 の3つの手段を用いて形状演算を行う。可変長ビットの
整数演算を行うことにより、すべての演算を無誤差で行
う。ここで、1÷3のように割り算があると循環小数と
なり、有限の桁数(ビット数)で表現することは出来な
い。そこで、4次元同次座標系幾何処理を用いることに
より割り算を排除する方式を提案している。
【0010】また、無誤差整数演算を繰り返すと次第に
桁数が増大していくが、ゼロ三角形データ形式の手法を
用いることにより、桁数の増大を抑制することができ
る。
【0011】
【発明の実施の形態】以下にこの発明の実施の形態を図
面に基づいて詳細に説明する。
【0012】図2は本発明が用いるゼロ三角形による図
形表現の説明図である。図2(a)に示す3次元形状2
0を表現する場合、従来の3次元形状表現(境界面表
現)では、図2(b)に示すように多角形面表現が用い
られてきた。この多角形面の一つの面21に三角形面
(実三角形面)を使用した例を図2(c)に示す。
【0013】これに対して、本発明では、図2(d)で
示す超三角形表現を用いている。すなわち、図2(d)
において、頂点C、D、GおよびHは同一直線上にあ
る。そして、三角形CDH、三角形DGHは頂点が同一
直線上となり面積がゼロとなる。これらの三角形をゼロ
三角形と呼称している。ゼロ三角形は三角形が完全につ
ぶれた「線形の三角形(3点線分)」とみなすことがで
きる。また、3つの頂点が同一直線上にない通常の三角
形を実三角形(あるいは単に三角形)と呼称している。
さらに、これらの実三角形とゼロ三角形とを組み合わせ
たものを超三角形と呼び、その表現形式を超三角形表現
と呼称する。
【0014】図2(d)に示すように、ゼロ三角形を用
いることにより、より少ない実三角形(通常三角形)で
面分を表現することが可能となる。上記のような特徴に
より、超三角形を用いた形状演算処理では、三角形の表
現性とその処理性が飛躍的に増大する。
【0015】図3は本発明で使用する各種データのデー
タ構造を示す図である。図3(a)は三角形面データの
データ構造を示している。また図3(b)はゼロ三角形
データのデータ構造を、図3(c)は交線データのデー
タ構造を、さらに図3(d)は頂点データのデータ構造
をそれぞれ示している。三角形面データおよびゼロ三角
形データはデータ構造上は全く同じ形式となり、3つの
頂点データへのポインタ(v0,v1,v2)と、3つ
の隣接する三角形面データ或いはゼロ三角形データへの
ポインタ(t0,t1,t2)とから構成される。ここ
で、ポインタとは、記憶装置(メモリー)上において、
該当データが格納されている番地(アドレス)を示すデ
ータである。また、これらのポインタは三角形面または
ゼロ三角形の接続関係を表す位相情報として用いられ
る。
【0016】交線データは、交線の始点および終点とな
る頂点データへのポインタ(v0,v1)と、交線を挟
んで隣接する2つの三角形面データへのポインタ(t
0,t1)とから構成される。
【0017】また、頂点データは、図4(d)に示すよ
うに、4次元同次座標系での座標値(X,Y,Z,w)
から構成される。本発明では、座標値X,Y,Z,w
は、全て可変長ビットの整数表現となる。すなわち、数
値は、ビット長と、符号(+、−)と、整数表現された
数値とから構成される。
【0018】図1はこの発明の3次元図形の形状演算装
置の構成を示すブロック図である。図において、この発
明の3次元図形の形状演算装置100は、複数の3次元
図形の形状演算、すなわち形状和(足し算)、形状差
(引き算)および形状積(重なる部分)を求めるための
演算を行う装置であり、例えばMPU(マイクロプロセ
ッサユニット)と半導体メモリ等を用いて構築される。
この形状演算装置100は、データ変換部(データ変換
手段)19と、三角形面データ処理部(形状演算手段)
1と、データ記憶部2と、4次元同次座標系幾何処理部
3と、可変長ビット整数演算器4と、外部機器インター
フェイス5とから構成される。なお、外部機器18に
は、予め処理対象である複数の3次元図形の表面を三角
形面およびゼロ三角形の組み合わせで表したときの三角
形面データおよびゼロ三角形データを、ユークリッド座
標系で備えているものとする。
【0019】上記の4次元同次座標系幾何処理部3は、
4次元同次座標系での演算処理を行うプリュッカー座標
演算器である。
【0020】上記のデータ変換部19は、外部機器18
から入力された三角形面データおよびゼロ三角形データ
を構成する頂点データを、4次元同次座標系幾何処理部
3を用いて4次元頂点データに変換する。すなわち、頂
点データの次元を1次元上げて、X,Y,Z,wからな
る4次元データとする。
【0021】上記の三角形面データ処理部1では、4次
元同次座標系幾何処理部3を用い、4次元頂点データ、
三角形面データおよびゼロ三角形データに基づく4次元
同次座標系での幾何処理を行うことによって各種の4次
元幾何処理データを求め、その4次元幾何処理データに
基づいて複数の3次元図形に対する形状演算処理を行
う。すなわち、形状和(足し算)、形状差(引き算)お
よび形状積(重なる部分)を求める演算を行う。その結
果、新たに生成された三角形面データ、ゼロ三角形デー
タ、交線データ、および頂点の座標を表す頂点データ
は、それぞれ三角形面データ記憶部11、ゼロ三角形デ
ータ記憶部12、交線データ記憶部13、および頂点デ
ータ記憶部14に保存される。
【0022】次に、上記した三角形面データ処理部1が
4次元同次座標系幾何処理部3を用いて行う幾何演算処
理について説明する。
【0023】本発明では、ユークリッド座標系に対して
次元を1次元上げた4次元の同次座標系(X,Y,Z,
w)を用いて幾何処理を行う。以下、特に断らない限
り、座標系は4次元同次座標系での実施である。この4
次元処理を用いることにより、全ての演算は加減算とか
け算のみとで済み、割り算は必要でなくなる。4次元同
次座標系処理では、分母に対応する値は、wにおいて保
持する。例えば、3次元ユークリッド座標系における
(1/3,2/3,1)は、4次元同次座標系では、
(1,2,3,3)となる。このように処理することに
より割り算、すなわち分母は必要でなくなる。したがっ
て、上記の幾何処理において、扱う数値が全て有限桁数
の有理数となり、その演算結果も有限桁数の有理数とな
る。無限桁数の循環小数等になることはない。
【0024】本発明での幾何演算処理では、以下の4次
元同次座標系幾何処理を用いている。なお、数式中、太
文字はベクトルを表している。
【0025】(1)2点から線の生成 2点V0=(X
0,Y0,Z0,w0),V1=(X1,Y1,Z1,
w1)を通る直線L01のプリュッカー座標は次式で与
えられる。
【数1】 ここで、
【数2】
【0026】(2)3点から面の生成(平面係数の算
出) 3点V0=(X0,Y0,Z0,w0),V1=
(X1,Y1,Z1,w1),V2=(X2,Y2,Z
2,w2)を通る面F012のプリュッカー座標は次式
で与えられる。
【数3】 ここで、
【数4】
【0027】(3)線と面の交点計算 2点Va=(X
a,Ya,Za,wa),Vb=(Xb,Yb,Zb,
wb)とを通る直線と、面F012との交点Vは次式で
与えられる。ここで、面F012は上記の式(3)によ
り与えられる。
【数5】 ここで、
【数6】
【数7】
【0028】本発明では、形状演算を行う前に存在して
いた頂点を1次頂点(以下、単に1次点という)と呼ぶ
ことにする。また、式(5)のVa,Vbが双方とも1
次点のとき、求められた交点Vを2次頂点(以下、単に
2次点という)と呼ぶことにする。さらに、式5のV
a,Vbの双方が2次点以下で、且つ少なくとも一方が
2次点であるときには、求められた交点Vを3次頂点
(以下、単に3次点という)と呼ぶことにする。
【0029】2次点、3次点と頂点の次数が上がるにつ
れて、その桁数は通常大きくなる。それゆえ、本発明で
は、桁数の増大を最小限に抑えるために、3次点までの
交点計算ですむ方法を提案している。
【0030】1次点の座標値の最大桁数をLとすると、
1次点から計算される平面F012のプリュッカー座標
の最大桁数は、上記の式(3)より(3L+5)とな
る。したがって、2次点の最大桁数は、式(5)より
(5L+9)となる。さらに、3次点の最大桁数は(1
3L+27)となる。
【0031】(4)2点の一致判定 2点V0=(X
0,Y0,Z0,w0),V1=(X1,Y1,Z1,
w1)の一致判定は、この2点V0,V1を通る直線L
01のプリュッカー座標が、次式(8)となることであ
る。
【数8】
【0032】(5)2面の一致判定 2つの平面f0=
[a0,b0,c0,d0]T ,f1=[a1,b1,
c1,d1]T の一致判定は、点と面の双対性により式
(8)と同じ形式となる。
【0033】(6)点の面に対する位置判定 点V=
(X,Y,Z,w)が,平面F012に対してどの位置
にあるかの判定は次式で与えられる。
【数9】 式(9)において、演算の結果得られるsの符号+、
0、−に対応して、点Vは、面の正側、面上、面の負側
となる。
【0034】(7)2線分の向き判定 2線分L01,
L23が同一直線上にあるときには、両者の向きの判定
は次式で与えられる。
【数10】 2線分L01,L02の向きは、式(10)より得られ
る値が正のときは同じ方向、負のときは逆向きとなる。
【0035】(8)2面の向き判定 2面F012,F
345が同一平面であるときには、両者の向きの判定は
次式で与えられる。
【数11】 2面F012,F345の向きは、式(11)より得ら
れる値が正のときは同じ方向、負のときは逆向きとな
る。
【0036】次に、三角形面データ処理部1について説
明する。三角形面データ処理部1では、形状演算処理が
行われる。
【0037】まず、本発明の形状演算処理方式の概要を
図1および図4を用いて説明する。ここでは、3次元図
形である形状αと形状βとの2つの形状における形状演
算を想定する。形状αおよび形状β等の3次元図形は、
全て三角形面データおよびゼロ三角形データを用いて構
成される。本発明の三角形面データ処理部1は、以下の
5つの処理部から構成される。なお、この三角形面デー
タ処理部1は、4次元同次座標系幾何処理部3と協働し
て形状演算処理を実行している。
【0038】(1)共通空間処理部6 前処理として、
形状αと形状βが共に存在する直方体の共通空間を求め
る(図4(a))。そして、この空間に含まれる両形状
の三角形を三角形面データ記憶部11から取り出す。
【0039】(2)分割処理部7 上記の共通空間処理
により取り出された形状αおよび形状βの三角形面デー
タ間において、交差判定を順次行なう(図4(b−
1))。両者が交差する場合には、その交線を求め、こ
の交線においてそれぞれの実三角形を分割する(図4
(b−2))。この分割処理部7で求められた交線デー
タは、交線データ記憶部13に保存される。分割により
新たに生成されたゼロ三角形データおよび頂点データ
は、それぞれゼロ三角形データ記憶部12および頂点デ
ータ記憶部14に保存される。
【0040】そして、分割により新たに生成された三角
形面データは、三角形面データ記憶部11に直ぐには保
存されずに、処理される三角形面データ列に入れられ、
さらに引き続き上記の交差判定および分割処理が行われ
る。全ての交差判定および分割処理が終わった時点で、
三角形面データは、三角形面データ記憶部11に保存さ
れる。
【0041】(3)消去処理部8 境界面(三角形面)
に関して他の形状に対する内外判定を行い、不要となっ
た境界面(三角形面)を消去する(図4(c))。すな
わち、不要となった三角形面データおよびゼロ三角形デ
ータを、それぞれの記憶部11、12から消去する。
【0042】(4)接続処理部9 交線において接する
両形状の三角形面を、ゼロ三角形を用いて境界面接続す
る(図4(d))。すなわち、交線データ記憶部13か
ら交線データを順次取り出し、交線データが保持してい
る隣接三角形情報(t0,t1)を用いて、両形状の三
角形面を順次接続する。
【0043】(5)統合処理部10 各三角形において
隣接する周辺の三角形との形状チェックを順次行い、こ
れらの三角形がより大きな1つの三角形を形成する場合
には、これらの三角形を1つの三角形として統合する
(図4(e))。この処理の主目的は、三角形面データ
およびゼロ三角形データの数を減らすことである。した
がって、この処理は省略することができる。
【0044】次に、上記した分割処理部7の処理内容に
関して詳しく説明する。分割処理部7のフローチャート
は、図5に示すようになる。
【0045】先ず、この分割処理部7で行う処理内容の
概略を説明する。本発明では、ゼロ三角形を用いて、数
値の桁数が無制限に大きくならない、必ずある桁数以下
とする方式を提案している。すなわち、2つの形状を1
回だけ形状演算を行う場合において、従来手法をそのま
ま無誤差(整数演算)化すると、形状演算の過程におい
て、際限なく桁数が増えてしまう。これは、新たに求め
られた(より大きな桁数を持つ)交点から、さらに新た
な交点が求められ、これが繰り返されるためである。桁
数が大きくなると長ビット演算を行う必要があり、演算
効率が著しく低下し、且つデータ量も大きくなる。した
がって、この桁数の増大をいかに抑えるかが重要となっ
てくる。
【0046】そこで、本発明では、交点の計算(新たな
頂点の生成)は、全て式(5)を用いて行うが、その交
点は1次点から生成される2次点のみを保存するように
している。3次点も求めるが、これは一時的に使用する
だけであり、最終的には消去する。このような処理を行
うことにより,4次点以上の高次点の演算は発生しな
い。このような処理を行うことにより、桁数の増大を最
小限に抑えることができ、また演算に必要な最大桁数を
予め見積もることができる。
【0047】さらに、本発明では、桁数の増大を抑え演
算を効率化するために、3次点を2次点以下にする低次
点化処理を行っている。ただし、すべての3次点が低次
点化できるわけではない。例えば、図6(e)では三角
形ABC上に交線HJがある。このときに、従来手法で
は、交点Hは三角形ABCの1次点Aと2次点Bから計
算されるので、3次点となる。しかし、本発明による形
状演算の方式では、形状演算前に存在していた、両端点
共に1次点で構成される「1次辺」をゼロ三角形の辺と
して保存している。
【0048】このことを図6(e)の例で説明すると、
実三角形がどのように分割されても、ゼロ三角形APO
或いはAQPが生成され、保存される。すなわち、1次
辺APは切断されることなく必ず保存される。そこで、
交点H(3次点)は、1次点AおよびPから求めること
ができるので、2次点とすることができ、低次点化され
る。すなわち、桁数が削減される。
【0049】ゼロ三角形の1つの効果は、三角形分割の
周辺への伝播を阻止することである(データ量の低
減)。ここではこれに加えて、ゼロ三角形は、1次辺を
保存するという重要な役割も果たしている。すなわち、
1次辺APはゼロ三角形APO或いはAQPの辺とし
て、分割されることなく、保存される。線分(1次辺)
がゼロ三角形の形式で保存される。このように、ゼロ三
角形を用いることにより、1次辺を保存する特別な枠組
みは必要ではなくなり、三角形面データの枠組みのみ
で、全て保存・処理することができる。
【0050】一方、図6(f)の例では、図6(e)と
同じように、三角形ABC上に交線HJがあるが、1次
点はAのみであり、他の頂点B,O,P,Qは、全て2
次点である。その結果、交点Hは3次点として求めら
れ、低次点化することはできない。したがって、上記の
頂点Hは新たな頂点として、保存することはしない。
【0051】このように、3次の交点を頂点として保存
せず、またこの場合に三角形の分割を行わないので、図
8(a)に示す交線sのように、交線と一致する辺が存
在しない交線が発生する。このような交線に対しては、
後述する「交線と辺の一致処理」を行うことにより、交
線と一致する辺を生成する。
【0052】従来手法では、すべての求められた交点
(3次点以上の高次点も)は、頂点として保存され、必
ずその交点において三角形の分割が行われる。そこで、
交線と一致する辺が必ず生成されるので、このような三
角形の変形操作は不必要である。しかし、この結果、頂
点(交点)のデータの桁数は際限なく増大する。
【0053】このように、本発明では、従来手法と比べ
て、三角形を分割し交線を生成する「分割処理」だけが
根本的に異なるものとなる。そこで、図5に戻って以下
この処理に関して詳しく説明する。ここでは、形状αと
形状βとの形状演算を行う場合を想定する。
【0054】図5に示す分割処理部7のフローチャート
中の交差判定処理(ステップS71)について説明す
る。共通空間内に存在する形状αの実三角形と形状βの
実三角形を、三角形面データ記憶部11から順次取り出
し、両者の「共通交線」を求めることにより、交差判定
処理を行う。
【0055】すなわち、共通交線が存在する場合には、
両者は交差すると判定される。図6(b)の例では、形
状αの三角形ABCと、形状βの三角形DEFとが交差
しており、交線はGJに、共通交線はHIになる。
【0056】続いて、図5の低次点化処理(ステップS
74)について説明する。三角形の交差判定処理(ステ
ップS71)により生成される共通交線の端点(すなわ
ち、交点)は、1次点および2次点の演算から生成され
るので、最大3次点となり、4次点以上の高次点となる
ことはない。そこで、共通交線の端点が3次点の場合に
は、桁数を減少させるために、以下のような3次点を2
次点以下に「下げる」低次点化処理を行う。
【0057】なお、端点が2次点以下の場合には、上記
の低次点化処理は不要である。上記の処理は、共通交線
の端点の位置に応じて、以下の2通りの処理が行われ
る。また、これらの処理は互いに排他処理である。
【0058】(1)端点が三角形の頂点と一致する場合
図6(a)に示すように、共通交線GHの端点Gが、
三角形DEFの頂点Eと一致する場合である。この場合
は、共通交線の端点として、三角形の頂点E(1次点ま
たは2次点)を採用する。また、端点が2つの三角形の
頂点と一致する場合は、形状αの三角形の頂点を優先し
て採用する。
【0059】(2)端点が三角形の辺上となる場合 図
6(b)に示すように、共通交線HIの端点Hが、三角
形ABCの辺AB上となる場合である。この場合は、こ
の辺ABに隣接する三角形がゼロ三角形の場合のみ低次
化できる可能性があるので、以下の処理を行う。三角形
の場合は低次化できないので、端点は3次点のままで、
何の処理も行われない。
【0060】ここでは、図6(b)に示す三角形ABC
の辺ABの周辺が、図6(d)のようであったとする。
まず、この端点Hと一致する頂点の探索を行う。図6
(d)の例では、辺ABと重なる(辺AB上となる)ゼ
ロ三角形ANB、AKN、KMN、およびKLMの頂点
を順次調べる。
【0061】図6(d)の例では、頂点M(2次点)が
H(3次点)と同一点となるので、端点としてHの代わ
りにMを採用することにより、低次点化を行うことがで
きる。
【0062】次に、同一頂点が存在しない場合は、「1
次辺」探索を行う。ここで、図6(b)に示す三角形A
BCの辺ABの周辺が、図6(e)のようであったとす
ると、辺ABと重なるゼロ三角形AOB、APO、AQ
Pの辺を順次調べる。図6(e)の例では、辺APが1
次辺となるので、このAPと三角形面DEF(図6
(b))との交点計算から端点H(2次点)を再計算す
る。
【0063】一方、辺ABの周辺が図6(f)のように
なる場合は1次辺が存在しないので、Hを低次点化する
ことはできず、そのままとなる。
【0064】図6(c)に示すように、共通交線の端点
HまたはIが両方の三角形の辺上となる場合は、形状α
を優先する。まず、形状αの三角形ABCにおいて、上
記の低次点化処理を試み、その結果、低次点化できれ
ば、処理を終了する。
【0065】上記の低次点化ができない場合は、形状β
の三角形DEFにおいて、同様に低次点化処理を試み
る。その結果、上記の低次点化処理でも低次点化できな
ければ、3次点のままとなる。
【0066】次に、三角形の分割処理(ステップS7
6)について説明する。交線の端点が2次点以下となる
場合には、この端点を三角形の頂点データとして、図1
の頂点データ記憶部14に保存し、三角形の分割を行
う。
【0067】このときの分割パターンは、図7(a)、
(b)、および(c)に示す3通りとなる。図7(a)
の場合は、交線の端点Dが三角形ABCの内部となる場
合である。この場合は、3つの三角形に分割する。
【0068】図7(b)の場合は、交線の端点が辺上
(頂点は除く)となる場合である。この場合は、2つの
三角形と1つのゼロ三角形に分割する。このように、ゼ
ロ三角形を用いて分割することにより、1次辺が切断さ
れることなく保存される。例えば、図7(b)において
辺ABが1次辺であったとすると、この周辺において、
三角形の分割がどのように繰り返されても、ABが切断
されることは一切なく保存される。
【0069】図7(c)の場合は、端点が頂点と一致す
る場合である。この場合は、当然分割は行わない。
【0070】他方の交線の端点についても、2次点以下
であった場合には、上記と同様の処理が行われる。両端
点とも2次点以下であった場合には、例えば図7(d)
のように分割が行われる。
【0071】三角形の分割処理(ステップS76)が完
了すると、次の3種類の交線が生成される。 (1)両端点共に2次点以下である交線(図7(d)) (2)片端点が2次点以下、もう一方の端点が3次点で
ある交線(図7(e)) (3)両端点が3次点である交線(図7(f))
【0072】平面多面体表現における形状演算では、新
たな面が生成されることはなく、面は分割或いは接続さ
れるだけである。その結果、交線の端点は、必ず形状演
算を実施する前から存在していた3つの面の交点として
求めることができる。
【0073】ところで、この3つの面から求められる交
点は、ここでいう2次点のことである。すなわち、交線
の端点は、全て2次点以下で構成することができる。こ
のことは、頂点データの桁数はある上限、本発明の実施
形態では2次点以下に、必ず抑えることができることを
意味している。
【0074】図7(i)を用いて、このことを具体的に
説明する。図7(i)では、形状αの1つの平面と、形
状βの面ABCDEFGHとが交差している。また、2
次点Iがすでに生成しているとする。また、面ABC
H、面HCDG、および面GDEFは平面であるとす
る。
【0075】ここで、交線を求めると、JK、KL、L
M、MN、NO、OP、PQが生成される。しかし、同
一直線上にあるものを統合すると,交線はJL、LO、
およびOQとなる。そして、その結果、これらの端点
は、全て2次点またはそれ以下となる。上記のように、
交線の端点が3次点以上となる交線(図7(i)では、
MN)は、必ず2次点以下を端点に持つ交線と同一直線
上となり、かつ含まれるので、必ず消去することができ
る。
【0076】図7(d)に示すように、上記の(1)の
交線は、必ず両端点において、三角形の分割が行われる
ので、必ずその両端と一致する頂点、および交線と一致
する辺が存在する。したがって、上記の場合は、交線と
辺の一致処理(ステップS78)は行われず、交線デー
タもそのままの状態で、図1の交線データ記憶部13に
保存される。
【0077】一方、上記の(3)の交線は、図7(f)
に示すように、三角形の分割が全く行われないので、両
者の端点共に一致する頂点が存在せず、かつ交線と一致
する辺も存在しない。したがって、上記の(3)の交線
は消去される。
【0078】(2)の交線に対しては、以下のような、
交線と辺の一致処理(ステップS78)が行われる。
【0079】(2)の交線は、図7(e)のように、片
方の端点のみが頂点と一致している。そして、他方の端
点と一致する頂点は存在しないので、この交線と一致す
る辺が存在しているかどうかは不定である。したがっ
て、まず交線が辺と重なっているかどうかのチェックを
行う。すなわち、交線の端点を頂点に持つ三角形を順番
に検索する。
【0080】図7(e)の例では、交線の端点である頂
点Dを持つ三角形DAB、DBC、DCAが順次検索さ
れ、交線とそれぞれの三角形の辺との重なり判定が行わ
れる。このときの重なり状態は、以下の3通りとなる。
【0081】(1)三角形の面上となる。 図7(e)
に示すような場合である。交線と一致する辺が存在しな
いので、後述するように、交線と一致する辺を生成する
「三角形の変形操作」を行う。
【0082】(2)2つの三角形の辺上となる。 この
場合は、図7(g)に例示するように、交線が2つの三
角形に挟まれる場合である。図7(g)では、交線sは
辺ABと一致する。また、三角形に挟まれているので、
辺AB上に他の頂点が存在することはない。したがっ
て、辺ABが交線sと一致する辺となる。
【0083】(3)ゼロ三角形の辺上となる。 この場
合は、図7(h)に示すように、交線がゼロ三角形と重
なる場合である。図7(h)では、頂点A,C,D,
E,およびFは全て同一直線上にあり、交線sと重なっ
ている。
【0084】この場合は、交線sと重なっている全ての
ゼロ三角形ACD,ADE,AEFを順次検索する。そ
して、頂点Aを端点に持ち、長さが最小の辺を求める。
ここでは、最小の辺はAFとなり、この辺が交線sと一
致する辺となる。
【0085】次に、三角形の変形操作について説明す
る。図7(e)において、交線が三角形面上となる場合
は、交線と一致する辺が存在しない。そこで、交線と一
致する辺を生成する必要があるので、三角形の変形操作
を行う。
【0086】この処理は、ステップA:交線の終点を探
す、ステップB:交線と交わる三角形を全て求める、ス
テップC:求めた三角形が形成する多角形の頂点を順次
減らし、最終的に交線を挟んで隣接する2つの三角形に
より形成される4角形とする、という3つのステップ
A,B,Cから構成される。
【0087】上記の三角形の変形操作を、図8の例を用
いて説明する。図8(a)の交線sは始点として頂点D
を持ち、かつ三角形面DCA上にある。まず、交線sと
重なり、かつ頂点Dに最も近い頂点(終点)を求める。
図8(a)では頂点Eとなる。
【0088】次に、この交線s=DEと交差する三角形
を、全て取り出す(図8(b))。さらに、上記の取り
出された三角形が形成する多角形において、頂点を減ら
すために、頂点に集まる辺を減らす処理を行う。この処
理は凸頂点に対してのみについて行い、交線の始点・終
点の頂点、および凹頂点には行わない。また、この処理
を行う頂点の順番は任意で良い。
【0089】図8(b),(c),および(d)では、
凸頂点であるFに対して辺の消去処理を行っている。頂
点Aは凹頂点であるので処理をすることが出来ないの
で、処理を保留する。すなわち、図8(b)において、
頂点Fを持ち、かつ隣接する2つの三角形FAJとFJ
Iとに対して変形操作を行い、三角形FAIとAJIと
を生成することにより、辺FJを消去する(図8
(c))。
【0090】次に、FAIとFIGを変形してFAGと
AIGとする(図8(d))。これらの処理のときに、
変形操作を行う2つの三角形が形成する4角形が凹とな
る場合は、変形操作ができないので、処理を保留して次
の三角形のペアに処理を進める。例えば、図8(b)に
おいて、三角形FJIとFIGが形成する4角形は凹と
なるので処理を保留し、まず、三角形FAJとFJIに
対して変形操作が行われる。
【0091】これらの処理により、頂点Fに集まる三角
形の辺はすべて消去された、すなわち、頂点Fを持つ三
角形が1個になったので、処理対象からこの三角形を除
外し、次の頂点に処理を進める。
【0092】以上の三角形の変形操作を、交線と一致す
る辺が生成するまで行う。図8(b),(c),(d)
では、頂点Fに集まる辺の消去処理が行われ、その結果
は図8(e)となる。図8(f),(g),(h)では
頂点Aに集まる辺の消去操作が行われる。
【0093】図8(i)では、頂点Gに集まる辺の消去
処理が行われる。ここで、交線DEと一致する辺が生成
されたので、処理を終了する。
【0094】それぞれの4次元同次座標系処理が、どの
処理ステップで使われるか、また、そのときの数値の最
大桁数をまとめて、次表に示す。
【表1】
【0095】本発明では、可変長ビットの整数演算を用
いている。ここでは、1次点の座標値における最大桁数
をLビットとし、全ての幾何演算は、1次点の座標値か
ら演算し導出している。本発明の3次元図形データの形
状演算方法では、表1に示すように、最大必要桁数は5
2L+115ビットである。
【0096】
【発明の効果】本発明の3次元図形の形状演算装置を用
いると、以下に説明するような効果を奏することができ
る。
【0097】(1)可変長ビットの整数演算に、4次元
同次座標系処理を導入することにより、演算誤差による
幾何演算の破綻がない、且つ割り算不要の方法が可能に
なる。
【0098】(2)演算に必要とされる桁数がある上限
以上に増大することはない。また、予め必要とされる最
大桁数を見積もることができる。すなわち、頂点データ
の演算が「3次点」までで済むので、かなり少ない桁数
で、かつ桁数がある上限以上に増大することなく無誤差
演算が可能である。さらに、演算桁数の低減に必要不可
欠な線分である「1次辺」は、ゼロ三角形データの枠組
みで保持されので、非常に単純なデータ構造を構成する
ことが可能となる。
【0099】(3)その結果、データ処理量および演算
量を大幅に減らすことができるので、高い処理効率を有
し、かつ高速で処理を行うことができる。
【図面の簡単な説明】
【図1】本発明の3次元図形の形状演算装置の構成を示
すブロック図である。
【図2】本発明が用いるゼロ三角形による図形表現の説
明図である。
【図3】本発明で使用する各種データのデータ構造を示
す図である。
【図4】本発明での形状演算処理のステップを概略的に
説明する図である。
【図5】本発明での形状演算処理における分割処理のフ
ローチャートを示す図である。
【図6】三角形の交差状態とその交点の低次点化処理に
関する説明図である。
【図7】三角形の分割処理に関する説明図である。
【図8】交線と辺の一致処理に関する説明図である。
【符号の説明】
1 三角形面データ処理部 2 データ記憶部 3 4次元同次座標系幾何処理部(プリュッカー座標演
算器) 4 可変長ビット整数演算器 5 外部機器インターフェイス 6 共通空間処理部 7 分割処理部 8 消去処理部 9 接続処理部 10 統合処理部 11 三角形面データ記憶部 12 ゼロ三角形データ記憶部 13 交線データ記憶部 14 頂点データ記憶部 15 加算器 16 減算器 17 乗算器 18 外部機器(計算機他) 19 データ変換部 100 3次元図形の形状演算装置
フロントページの続き (56)参考文献 特開 平9−282493(JP,A) 特開 平6−223201(JP,A) 特開 平3−232076(JP,A) 特開 平6−243265(JP,A) 特開 平6−348858(JP,A) 特開 平6−131471(JP,A) 特開 平5−250445(JP,A) 特開 平7−65205(JP,A) 特開 平1−159770(JP,A) 荒川佳樹ほか”超3角形BRepにお けるEdge−basedデータ構造と 形状演算アルゴリズム”,情報処理学会 論文誌,情報処理学会,1998年1月10 日,第39巻,第1号,p.39−49 荒川佳樹”仮想空間における立体形状 モデリング”,グラフィックスとCAD シンポジウム論文集,情報処理学会,V ol.91,No.7,p.33−42 荒川佳樹”超3角形を用いた3次元図 形処理 統一処理と超高速処理を実現し た3次元形状モデリング”,画像ラボ, 1998年4月1日,第7巻、第4号,p. 63−66 荒川佳樹”体積ゼロ4面体を用いた3 次元形状モデリング”,グラフィックス とCADシンポジウム論文集,情報処理 学会,Vol.93,No.6,p.51− 58 荒川佳樹”面積ゼロ3角形を用いた3 角形BRep”,情報処理学会論文誌, 1995年2月10日,第36巻,第2号,p. 362−373 志沢雅彦”4次元同次座標系における 可逆的座標変換”,情報処理学会第38回 全国大会講演論文集,情報処理学会,平 成元年3月15日,Vol.38th,N o.2,p.691−692 David F.Rogersほか 「コンピュータグラフィックス−第2版 −」,第2版,日刊工業新聞社,1993年 3月30日,p.6−8 (58)調査した分野(Int.Cl.7,DB名) G06T 17/10 G06T 11/20 100 G06T 17/40 JICSTファイル(JOIS)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の3次元図形の形状演算を、3次元
    図形の表面を三角形およびゼロ三角形で表現したときの
    三角形面データおよびゼロ三角形データを用いて行う3
    次元図形の形状演算装置において、 4次元同次座標系での演算処理を行う4次元同次座標系
    幾何処理部と、 上記三角形面データおよびゼロ三角形データを構成する
    頂点データを、4次元同次座標系幾何処理部を用いて4
    次元頂点データに変換するデータ変換手段と、 上記4次元同次座標系幾何処理部を用い、4次元頂点デ
    ータ、三角形面データおよびゼロ三角形データに基づく
    4次元同次座標系での幾何処理を行うことによって各種
    の4次元幾何処理データを求め、その4次元幾何処理デ
    ータに基づいて複数の3次元図形に対する形状演算処理
    を行う形状演算手段と、を備え、上記形状演算手段は、上記幾何処理および形状演算処理
    を可変長ビットの整数演算として行うとともに、形状演
    算処理における、三角形を分割し共通交線を生成する分
    割処理において、共通交線の端点(交点)については1
    次頂点から生成される2次頂点のみを保存し、また3次
    頂点を2次頂点以下にする低次点化処理を行い、数値の
    桁数の増大を抑制して無誤差整数演算を行う、 ことを特徴とする3次元図形の形状演算装置。
  2. 【請求項2】 上記形状演算手段は、形状演算前に存在
    していた、両端点とも1次頂点で構成される1次辺をゼ
    ロ三角形の辺として保存し、そのゼロ三角形の1次辺を
    用いて交点および交線を求め、3次頂点を2次頂点以下
    にする低次点化処理を行う、 ことを特徴とする請求項1に記載の3次元図形の形状演
    算装置。
JP17757899A 1999-06-24 1999-06-24 3次元図形の形状演算装置 Expired - Fee Related JP3151710B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17757899A JP3151710B2 (ja) 1999-06-24 1999-06-24 3次元図形の形状演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17757899A JP3151710B2 (ja) 1999-06-24 1999-06-24 3次元図形の形状演算装置

Publications (2)

Publication Number Publication Date
JP2001006005A JP2001006005A (ja) 2001-01-12
JP3151710B2 true JP3151710B2 (ja) 2001-04-03

Family

ID=16033431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17757899A Expired - Fee Related JP3151710B2 (ja) 1999-06-24 1999-06-24 3次元図形の形状演算装置

Country Status (1)

Country Link
JP (1) JP3151710B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8658421B2 (en) 2010-07-23 2014-02-25 Kairos Global Co., Ltd. Circulatory photobioreactor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150339410A1 (en) * 2014-05-22 2015-11-26 Siemens Product Lifecycle Management Software Inc. Cad components with overlay data
FR3028990B1 (fr) * 2014-11-21 2018-01-19 Institut National Des Sciences Appliquees De Lyon Procedes de compression et de decompression de donnees representatives d’un objet tridimensionnel numerique et support d'enregistrement d'informations contenant ces donnees

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
David F.Rogersほか「コンピュータグラフィックス−第2版−」,第2版,日刊工業新聞社,1993年3月30日,p.6−8
志沢雅彦"4次元同次座標系における可逆的座標変換",情報処理学会第38回全国大会講演論文集,情報処理学会,平成元年3月15日,Vol.38th,No.2,p.691−692
荒川佳樹"仮想空間における立体形状モデリング",グラフィックスとCADシンポジウム論文集,情報処理学会,Vol.91,No.7,p.33−42
荒川佳樹"体積ゼロ4面体を用いた3次元形状モデリング",グラフィックスとCADシンポジウム論文集,情報処理学会,Vol.93,No.6,p.51−58
荒川佳樹"超3角形を用いた3次元図形処理 統一処理と超高速処理を実現した3次元形状モデリング",画像ラボ,1998年4月1日,第7巻、第4号,p.63−66
荒川佳樹"面積ゼロ3角形を用いた3角形BRep",情報処理学会論文誌,1995年2月10日,第36巻,第2号,p.362−373
荒川佳樹ほか"超3角形BRepにおけるEdge−basedデータ構造と形状演算アルゴリズム",情報処理学会論文誌,情報処理学会,1998年1月10日,第39巻,第1号,p.39−49

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8658421B2 (en) 2010-07-23 2014-02-25 Kairos Global Co., Ltd. Circulatory photobioreactor

Also Published As

Publication number Publication date
JP2001006005A (ja) 2001-01-12

Similar Documents

Publication Publication Date Title
US9489342B2 (en) Systems, methods, and computer program products for performing mathematical operations
TWI238975B (en) Method of performing cubic mapping with texturing
US10209957B2 (en) Partial remainder/divisor table split implementation
EP2940576B1 (en) Approximating functions
CN115115765B (zh) 光线跟踪系统中的相交测试
EP3885897B1 (en) Float division by constant integer using a predetermined number of modulo units
JP3151710B2 (ja) 3次元図形の形状演算装置
CN110796735B (zh) Nurbs曲面有限元板壳网格划分方法及计算机实现系统
Jia et al. Singularity computation for rational parametric surfaces using moving planes
Bajaj et al. Energy formulations of A-splines
EP4064034A1 (en) Performing operations using floating point values
US20070180010A1 (en) System and method for iteratively eliminating common subexpressions in an arithmetic system
JPH11353496A (ja) 光線追跡のための交点探索装置
CN111897513A (zh) 一种基于反向极性技术的乘法器及其代码生成方法
US9911229B2 (en) Transmission and configuration of three dimensional digital content
JP4710029B2 (ja) 幾何図形データ処理装置、幾何図形データ処理方法及び幾何図形データ処理プログラム
US20020167514A1 (en) Polygon generating apparatus and drawing system
JP4556646B2 (ja) 図形情報生成装置、画像処理装置、情報処理装置、および図形情報生成方法
Castelli Aleardi et al. Periodic planar straight-frame drawings with polynomial resolution
JPH02176879A (ja) パラメータ曲線発生器
JP2000251081A (ja) 内点判定方法、グラフィック描画装置およびプログラム記憶媒体
EP4064033A1 (en) Performing operations using floating point values
CN114972685A (zh) 文字转化为三维网格面片的方法、装置、设备及存储介质
Miyazaki et al. Improving Multiple Precision Integer Multiplication on GPUs
CN114119708A (zh) 生成树结构的方法、装置、计算设备及存储介质

Legal Events

Date Code Title Description
S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080126

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090126

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090126

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100126

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140126

Year of fee payment: 13

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees