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
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
形の形状演算を、3次元図形の表面を三角形およびゼロ
三角形で表現したときの三角形面データおよびゼロ三角
形データを用いて行う3次元図形の形状演算装置に関す
るものである。
う3次元図形の形状演算装置が、例えば特開平9−28
2493号公報で知られている。この特開平9−282
493号公報では、3次元図形の表面を三角形およびゼ
ロ三角形(3点線分)で表現したときの三角形面データ
およびゼロ三角形データ(3点線分データ)を用いて、
形状演算を行っている。なお、ここで、形状演算とは、
形状和(足し算)、形状差(引き算)および形状積(重
なる部分)を求めるための演算をいう。また、ゼロ三角
形とは、三角形の3つの頂点が同一直線上となる仮想的
な三角形をいう。
に実用化され広く用いられている形状演算の処理方法
は、以下の3種類の特徴を具備する方法が、一般的に用
いられている。 (1)多角形面データを処理単位としている。 (2)3次元のユークリッド座標系を用いて幾何計算を
行っている。 (3)浮動小数点演算方式を用いた、誤差がある演算を
行っている。
従来の形状演算処理では、浮動小数点演算を行うたび
に、「数値の丸め(切り捨て)」が行われ、その結果、
演算誤差が発生するので、その後にその演算誤差が蓄積
し、幾何演算処理(図形処理)が破綻するという問題が
あった。短的に言うと、処理系において、暴走が生じて
しまうという課題があった。
れぞれの破綻に対応した例外処理部を設けることによっ
て、対応していた。しかし、上記のような処理系の暴走
への対応方法は場当たり的、その場しのぎ的であり、根
本的に処理系の破綻を回避することが出来なかった。
3次元図形の形状演算において、形状演算を何回実行し
ても、演算に破綻が生じない、かつ図形処理を効率的、
高速に実行することが可能な3次元図形の形状演算装置
を提供することを目的とする。
に、請求項1に記載の発明は、複数の3次元図形の形状
演算を、3次元図形の表面を三角形およびゼロ三角形で
表現したときの三角形面データおよびゼロ三角形データ
を用いて行う3次元図形の形状演算装置において、4次
元同次座標系での演算処理を行う4次元同次座標系幾何
処理部と、上記三角形面データおよびゼロ三角形データ
を構成する頂点データを、4次元同次座標系幾何処理部
を用いて4次元頂点データに変換するデータ変換手段
と、上記4次元同次座標系幾何処理部を用い、4次元頂
点データ、三角形面データおよびゼロ三角形データに基
づく4次元同次座標系での幾何処理を行うことによって
各種の4次元幾何処理データを求め、その4次元幾何処
理データに基づいて複数の3次元図形に対する形状演算
処理を行う形状演算手段と、を備え、 上記形状演算手
段は、上記幾何処理および形状演算処理を可変長ビット
の整数演算として行うとともに、形状演算処理におけ
る、三角形を分割し共通交線を生成する分割処理におい
て、共通交線の端点(交点)については1次頂点から生
成される2次頂点のみを保存し、また3次頂点を2次頂
点以下にする低次点化処理を行い、数値の桁数の増大を
抑制して無誤差整数演算を行う、ことを特徴としてい
る。
請求項1に記載の発明の構成に加えて、上記形状演算手
段は、形状演算前に存在していた、両端点とも1次頂点
で構成される1次辺をゼロ三角形の辺として保存し、そ
のゼロ三角形の1次辺を用いて交点および交線を求め、
3次頂点を2次頂点以下にする低次点化処理を行う、こ
とを特徴としている。
下のようになる。本発明では、 (1)可変長ビットの整数演算(無誤差演算) (2)4次元同次座標系幾何処理 (3)ゼロ三角形データを用いた図形処理 の3つの手段を用いて形状演算を行う。可変長ビットの
整数演算を行うことにより、すべての演算を無誤差で行
う。ここで、1÷3のように割り算があると循環小数と
なり、有限の桁数(ビット数)で表現することは出来な
い。そこで、4次元同次座標系幾何処理を用いることに
より割り算を排除する方式を提案している。
桁数が増大していくが、ゼロ三角形データ形式の手法を
用いることにより、桁数の増大を抑制することができ
る。
面に基づいて詳細に説明する。
形表現の説明図である。図2(a)に示す3次元形状2
0を表現する場合、従来の3次元形状表現(境界面表
現)では、図2(b)に示すように多角形面表現が用い
られてきた。この多角形面の一つの面21に三角形面
(実三角形面)を使用した例を図2(c)に示す。
示す超三角形表現を用いている。すなわち、図2(d)
において、頂点C、D、GおよびHは同一直線上にあ
る。そして、三角形CDH、三角形DGHは頂点が同一
直線上となり面積がゼロとなる。これらの三角形をゼロ
三角形と呼称している。ゼロ三角形は三角形が完全につ
ぶれた「線形の三角形(3点線分)」とみなすことがで
きる。また、3つの頂点が同一直線上にない通常の三角
形を実三角形(あるいは単に三角形)と呼称している。
さらに、これらの実三角形とゼロ三角形とを組み合わせ
たものを超三角形と呼び、その表現形式を超三角形表現
と呼称する。
いることにより、より少ない実三角形(通常三角形)で
面分を表現することが可能となる。上記のような特徴に
より、超三角形を用いた形状演算処理では、三角形の表
現性とその処理性が飛躍的に増大する。
タ構造を示す図である。図3(a)は三角形面データの
データ構造を示している。また図3(b)はゼロ三角形
データのデータ構造を、図3(c)は交線データのデー
タ構造を、さらに図3(d)は頂点データのデータ構造
をそれぞれ示している。三角形面データおよびゼロ三角
形データはデータ構造上は全く同じ形式となり、3つの
頂点データへのポインタ(v0,v1,v2)と、3つ
の隣接する三角形面データ或いはゼロ三角形データへの
ポインタ(t0,t1,t2)とから構成される。ここ
で、ポインタとは、記憶装置(メモリー)上において、
該当データが格納されている番地(アドレス)を示すデ
ータである。また、これらのポインタは三角形面または
ゼロ三角形の接続関係を表す位相情報として用いられ
る。
る頂点データへのポインタ(v0,v1)と、交線を挟
んで隣接する2つの三角形面データへのポインタ(t
0,t1)とから構成される。
うに、4次元同次座標系での座標値(X,Y,Z,w)
から構成される。本発明では、座標値X,Y,Z,w
は、全て可変長ビットの整数表現となる。すなわち、数
値は、ビット長と、符号(+、−)と、整数表現された
数値とから構成される。
置の構成を示すブロック図である。図において、この発
明の3次元図形の形状演算装置100は、複数の3次元
図形の形状演算、すなわち形状和(足し算)、形状差
(引き算)および形状積(重なる部分)を求めるための
演算を行う装置であり、例えばMPU(マイクロプロセ
ッサユニット)と半導体メモリ等を用いて構築される。
この形状演算装置100は、データ変換部(データ変換
手段)19と、三角形面データ処理部(形状演算手段)
1と、データ記憶部2と、4次元同次座標系幾何処理部
3と、可変長ビット整数演算器4と、外部機器インター
フェイス5とから構成される。なお、外部機器18に
は、予め処理対象である複数の3次元図形の表面を三角
形面およびゼロ三角形の組み合わせで表したときの三角
形面データおよびゼロ三角形データを、ユークリッド座
標系で備えているものとする。
4次元同次座標系での演算処理を行うプリュッカー座標
演算器である。
から入力された三角形面データおよびゼロ三角形データ
を構成する頂点データを、4次元同次座標系幾何処理部
3を用いて4次元頂点データに変換する。すなわち、頂
点データの次元を1次元上げて、X,Y,Z,wからな
る4次元データとする。
元同次座標系幾何処理部3を用い、4次元頂点データ、
三角形面データおよびゼロ三角形データに基づく4次元
同次座標系での幾何処理を行うことによって各種の4次
元幾何処理データを求め、その4次元幾何処理データに
基づいて複数の3次元図形に対する形状演算処理を行
う。すなわち、形状和(足し算)、形状差(引き算)お
よび形状積(重なる部分)を求める演算を行う。その結
果、新たに生成された三角形面データ、ゼロ三角形デー
タ、交線データ、および頂点の座標を表す頂点データ
は、それぞれ三角形面データ記憶部11、ゼロ三角形デ
ータ記憶部12、交線データ記憶部13、および頂点デ
ータ記憶部14に保存される。
4次元同次座標系幾何処理部3を用いて行う幾何演算処
理について説明する。
次元を1次元上げた4次元の同次座標系(X,Y,Z,
w)を用いて幾何処理を行う。以下、特に断らない限
り、座標系は4次元同次座標系での実施である。この4
次元処理を用いることにより、全ての演算は加減算とか
け算のみとで済み、割り算は必要でなくなる。4次元同
次座標系処理では、分母に対応する値は、wにおいて保
持する。例えば、3次元ユークリッド座標系における
(1/3,2/3,1)は、4次元同次座標系では、
(1,2,3,3)となる。このように処理することに
より割り算、すなわち分母は必要でなくなる。したがっ
て、上記の幾何処理において、扱う数値が全て有限桁数
の有理数となり、その演算結果も有限桁数の有理数とな
る。無限桁数の循環小数等になることはない。
元同次座標系幾何処理を用いている。なお、数式中、太
文字はベクトルを表している。
0,Y0,Z0,w0),V1=(X1,Y1,Z1,
w1)を通る直線L01のプリュッカー座標は次式で与
えられる。
出) 3点V0=(X0,Y0,Z0,w0),V1=
(X1,Y1,Z1,w1),V2=(X2,Y2,Z
2,w2)を通る面F012のプリュッカー座標は次式
で与えられる。
a,Ya,Za,wa),Vb=(Xb,Yb,Zb,
wb)とを通る直線と、面F012との交点Vは次式で
与えられる。ここで、面F012は上記の式(3)によ
り与えられる。
いた頂点を1次頂点(以下、単に1次点という)と呼ぶ
ことにする。また、式(5)のVa,Vbが双方とも1
次点のとき、求められた交点Vを2次頂点(以下、単に
2次点という)と呼ぶことにする。さらに、式5のV
a,Vbの双方が2次点以下で、且つ少なくとも一方が
2次点であるときには、求められた交点Vを3次頂点
(以下、単に3次点という)と呼ぶことにする。
れて、その桁数は通常大きくなる。それゆえ、本発明で
は、桁数の増大を最小限に抑えるために、3次点までの
交点計算ですむ方法を提案している。
1次点から計算される平面F012のプリュッカー座標
の最大桁数は、上記の式(3)より(3L+5)とな
る。したがって、2次点の最大桁数は、式(5)より
(5L+9)となる。さらに、3次点の最大桁数は(1
3L+27)となる。
0,Y0,Z0,w0),V1=(X1,Y1,Z1,
w1)の一致判定は、この2点V0,V1を通る直線L
01のプリュッカー座標が、次式(8)となることであ
る。
[a0,b0,c0,d0]T ,f1=[a1,b1,
c1,d1]T の一致判定は、点と面の双対性により式
(8)と同じ形式となる。
(X,Y,Z,w)が,平面F012に対してどの位置
にあるかの判定は次式で与えられる。
0、−に対応して、点Vは、面の正側、面上、面の負側
となる。
L23が同一直線上にあるときには、両者の向きの判定
は次式で与えられる。
る値が正のときは同じ方向、負のときは逆向きとなる。
345が同一平面であるときには、両者の向きの判定は
次式で与えられる。
れる値が正のときは同じ方向、負のときは逆向きとな
る。
明する。三角形面データ処理部1では、形状演算処理が
行われる。
図1および図4を用いて説明する。ここでは、3次元図
形である形状αと形状βとの2つの形状における形状演
算を想定する。形状αおよび形状β等の3次元図形は、
全て三角形面データおよびゼロ三角形データを用いて構
成される。本発明の三角形面データ処理部1は、以下の
5つの処理部から構成される。なお、この三角形面デー
タ処理部1は、4次元同次座標系幾何処理部3と協働し
て形状演算処理を実行している。
形状αと形状βが共に存在する直方体の共通空間を求め
る(図4(a))。そして、この空間に含まれる両形状
の三角形を三角形面データ記憶部11から取り出す。
により取り出された形状αおよび形状βの三角形面デー
タ間において、交差判定を順次行なう(図4(b−
1))。両者が交差する場合には、その交線を求め、こ
の交線においてそれぞれの実三角形を分割する(図4
(b−2))。この分割処理部7で求められた交線デー
タは、交線データ記憶部13に保存される。分割により
新たに生成されたゼロ三角形データおよび頂点データ
は、それぞれゼロ三角形データ記憶部12および頂点デ
ータ記憶部14に保存される。
形面データは、三角形面データ記憶部11に直ぐには保
存されずに、処理される三角形面データ列に入れられ、
さらに引き続き上記の交差判定および分割処理が行われ
る。全ての交差判定および分割処理が終わった時点で、
三角形面データは、三角形面データ記憶部11に保存さ
れる。
に関して他の形状に対する内外判定を行い、不要となっ
た境界面(三角形面)を消去する(図4(c))。すな
わち、不要となった三角形面データおよびゼロ三角形デ
ータを、それぞれの記憶部11、12から消去する。
両形状の三角形面を、ゼロ三角形を用いて境界面接続す
る(図4(d))。すなわち、交線データ記憶部13か
ら交線データを順次取り出し、交線データが保持してい
る隣接三角形情報(t0,t1)を用いて、両形状の三
角形面を順次接続する。
隣接する周辺の三角形との形状チェックを順次行い、こ
れらの三角形がより大きな1つの三角形を形成する場合
には、これらの三角形を1つの三角形として統合する
(図4(e))。この処理の主目的は、三角形面データ
およびゼロ三角形データの数を減らすことである。した
がって、この処理は省略することができる。
関して詳しく説明する。分割処理部7のフローチャート
は、図5に示すようになる。
概略を説明する。本発明では、ゼロ三角形を用いて、数
値の桁数が無制限に大きくならない、必ずある桁数以下
とする方式を提案している。すなわち、2つの形状を1
回だけ形状演算を行う場合において、従来手法をそのま
ま無誤差(整数演算)化すると、形状演算の過程におい
て、際限なく桁数が増えてしまう。これは、新たに求め
られた(より大きな桁数を持つ)交点から、さらに新た
な交点が求められ、これが繰り返されるためである。桁
数が大きくなると長ビット演算を行う必要があり、演算
効率が著しく低下し、且つデータ量も大きくなる。した
がって、この桁数の増大をいかに抑えるかが重要となっ
てくる。
頂点の生成)は、全て式(5)を用いて行うが、その交
点は1次点から生成される2次点のみを保存するように
している。3次点も求めるが、これは一時的に使用する
だけであり、最終的には消去する。このような処理を行
うことにより,4次点以上の高次点の演算は発生しな
い。このような処理を行うことにより、桁数の増大を最
小限に抑えることができ、また演算に必要な最大桁数を
予め見積もることができる。
算を効率化するために、3次点を2次点以下にする低次
点化処理を行っている。ただし、すべての3次点が低次
点化できるわけではない。例えば、図6(e)では三角
形ABC上に交線HJがある。このときに、従来手法で
は、交点Hは三角形ABCの1次点Aと2次点Bから計
算されるので、3次点となる。しかし、本発明による形
状演算の方式では、形状演算前に存在していた、両端点
共に1次点で構成される「1次辺」をゼロ三角形の辺と
して保存している。
実三角形がどのように分割されても、ゼロ三角形APO
或いはAQPが生成され、保存される。すなわち、1次
辺APは切断されることなく必ず保存される。そこで、
交点H(3次点)は、1次点AおよびPから求めること
ができるので、2次点とすることができ、低次点化され
る。すなわち、桁数が削減される。
周辺への伝播を阻止することである(データ量の低
減)。ここではこれに加えて、ゼロ三角形は、1次辺を
保存するという重要な役割も果たしている。すなわち、
1次辺APはゼロ三角形APO或いはAQPの辺とし
て、分割されることなく、保存される。線分(1次辺)
がゼロ三角形の形式で保存される。このように、ゼロ三
角形を用いることにより、1次辺を保存する特別な枠組
みは必要ではなくなり、三角形面データの枠組みのみ
で、全て保存・処理することができる。
同じように、三角形ABC上に交線HJがあるが、1次
点はAのみであり、他の頂点B,O,P,Qは、全て2
次点である。その結果、交点Hは3次点として求めら
れ、低次点化することはできない。したがって、上記の
頂点Hは新たな頂点として、保存することはしない。
せず、またこの場合に三角形の分割を行わないので、図
8(a)に示す交線sのように、交線と一致する辺が存
在しない交線が発生する。このような交線に対しては、
後述する「交線と辺の一致処理」を行うことにより、交
線と一致する辺を生成する。
(3次点以上の高次点も)は、頂点として保存され、必
ずその交点において三角形の分割が行われる。そこで、
交線と一致する辺が必ず生成されるので、このような三
角形の変形操作は不必要である。しかし、この結果、頂
点(交点)のデータの桁数は際限なく増大する。
て、三角形を分割し交線を生成する「分割処理」だけが
根本的に異なるものとなる。そこで、図5に戻って以下
この処理に関して詳しく説明する。ここでは、形状αと
形状βとの形状演算を行う場合を想定する。
中の交差判定処理(ステップS71)について説明す
る。共通空間内に存在する形状αの実三角形と形状βの
実三角形を、三角形面データ記憶部11から順次取り出
し、両者の「共通交線」を求めることにより、交差判定
処理を行う。
両者は交差すると判定される。図6(b)の例では、形
状αの三角形ABCと、形状βの三角形DEFとが交差
しており、交線はGJに、共通交線はHIになる。
74)について説明する。三角形の交差判定処理(ステ
ップS71)により生成される共通交線の端点(すなわ
ち、交点)は、1次点および2次点の演算から生成され
るので、最大3次点となり、4次点以上の高次点となる
ことはない。そこで、共通交線の端点が3次点の場合に
は、桁数を減少させるために、以下のような3次点を2
次点以下に「下げる」低次点化処理を行う。
の低次点化処理は不要である。上記の処理は、共通交線
の端点の位置に応じて、以下の2通りの処理が行われ
る。また、これらの処理は互いに排他処理である。
図6(a)に示すように、共通交線GHの端点Gが、
三角形DEFの頂点Eと一致する場合である。この場合
は、共通交線の端点として、三角形の頂点E(1次点ま
たは2次点)を採用する。また、端点が2つの三角形の
頂点と一致する場合は、形状αの三角形の頂点を優先し
て採用する。
6(b)に示すように、共通交線HIの端点Hが、三角
形ABCの辺AB上となる場合である。この場合は、こ
の辺ABに隣接する三角形がゼロ三角形の場合のみ低次
化できる可能性があるので、以下の処理を行う。三角形
の場合は低次化できないので、端点は3次点のままで、
何の処理も行われない。
の辺ABの周辺が、図6(d)のようであったとする。
まず、この端点Hと一致する頂点の探索を行う。図6
(d)の例では、辺ABと重なる(辺AB上となる)ゼ
ロ三角形ANB、AKN、KMN、およびKLMの頂点
を順次調べる。
H(3次点)と同一点となるので、端点としてHの代わ
りにMを採用することにより、低次点化を行うことがで
きる。
次辺」探索を行う。ここで、図6(b)に示す三角形A
BCの辺ABの周辺が、図6(e)のようであったとす
ると、辺ABと重なるゼロ三角形AOB、APO、AQ
Pの辺を順次調べる。図6(e)の例では、辺APが1
次辺となるので、このAPと三角形面DEF(図6
(b))との交点計算から端点H(2次点)を再計算す
る。
なる場合は1次辺が存在しないので、Hを低次点化する
ことはできず、そのままとなる。
HまたはIが両方の三角形の辺上となる場合は、形状α
を優先する。まず、形状αの三角形ABCにおいて、上
記の低次点化処理を試み、その結果、低次点化できれ
ば、処理を終了する。
の三角形DEFにおいて、同様に低次点化処理を試み
る。その結果、上記の低次点化処理でも低次点化できな
ければ、3次点のままとなる。
6)について説明する。交線の端点が2次点以下となる
場合には、この端点を三角形の頂点データとして、図1
の頂点データ記憶部14に保存し、三角形の分割を行
う。
(b)、および(c)に示す3通りとなる。図7(a)
の場合は、交線の端点Dが三角形ABCの内部となる場
合である。この場合は、3つの三角形に分割する。
(頂点は除く)となる場合である。この場合は、2つの
三角形と1つのゼロ三角形に分割する。このように、ゼ
ロ三角形を用いて分割することにより、1次辺が切断さ
れることなく保存される。例えば、図7(b)において
辺ABが1次辺であったとすると、この周辺において、
三角形の分割がどのように繰り返されても、ABが切断
されることは一切なく保存される。
る場合である。この場合は、当然分割は行わない。
であった場合には、上記と同様の処理が行われる。両端
点とも2次点以下であった場合には、例えば図7(d)
のように分割が行われる。
了すると、次の3種類の交線が生成される。 (1)両端点共に2次点以下である交線(図7(d)) (2)片端点が2次点以下、もう一方の端点が3次点で
ある交線(図7(e)) (3)両端点が3次点である交線(図7(f))
たな面が生成されることはなく、面は分割或いは接続さ
れるだけである。その結果、交線の端点は、必ず形状演
算を実施する前から存在していた3つの面の交点として
求めることができる。
点は、ここでいう2次点のことである。すなわち、交線
の端点は、全て2次点以下で構成することができる。こ
のことは、頂点データの桁数はある上限、本発明の実施
形態では2次点以下に、必ず抑えることができることを
意味している。
説明する。図7(i)では、形状αの1つの平面と、形
状βの面ABCDEFGHとが交差している。また、2
次点Iがすでに生成しているとする。また、面ABC
H、面HCDG、および面GDEFは平面であるとす
る。
M、MN、NO、OP、PQが生成される。しかし、同
一直線上にあるものを統合すると,交線はJL、LO、
およびOQとなる。そして、その結果、これらの端点
は、全て2次点またはそれ以下となる。上記のように、
交線の端点が3次点以上となる交線(図7(i)では、
MN)は、必ず2次点以下を端点に持つ交線と同一直線
上となり、かつ含まれるので、必ず消去することができ
る。
交線は、必ず両端点において、三角形の分割が行われる
ので、必ずその両端と一致する頂点、および交線と一致
する辺が存在する。したがって、上記の場合は、交線と
辺の一致処理(ステップS78)は行われず、交線デー
タもそのままの状態で、図1の交線データ記憶部13に
保存される。
に示すように、三角形の分割が全く行われないので、両
者の端点共に一致する頂点が存在せず、かつ交線と一致
する辺も存在しない。したがって、上記の(3)の交線
は消去される。
交線と辺の一致処理(ステップS78)が行われる。
方の端点のみが頂点と一致している。そして、他方の端
点と一致する頂点は存在しないので、この交線と一致す
る辺が存在しているかどうかは不定である。したがっ
て、まず交線が辺と重なっているかどうかのチェックを
行う。すなわち、交線の端点を頂点に持つ三角形を順番
に検索する。
点Dを持つ三角形DAB、DBC、DCAが順次検索さ
れ、交線とそれぞれの三角形の辺との重なり判定が行わ
れる。このときの重なり状態は、以下の3通りとなる。
に示すような場合である。交線と一致する辺が存在しな
いので、後述するように、交線と一致する辺を生成する
「三角形の変形操作」を行う。
場合は、図7(g)に例示するように、交線が2つの三
角形に挟まれる場合である。図7(g)では、交線sは
辺ABと一致する。また、三角形に挟まれているので、
辺AB上に他の頂点が存在することはない。したがっ
て、辺ABが交線sと一致する辺となる。
合は、図7(h)に示すように、交線がゼロ三角形と重
なる場合である。図7(h)では、頂点A,C,D,
E,およびFは全て同一直線上にあり、交線sと重なっ
ている。
ゼロ三角形ACD,ADE,AEFを順次検索する。そ
して、頂点Aを端点に持ち、長さが最小の辺を求める。
ここでは、最小の辺はAFとなり、この辺が交線sと一
致する辺となる。
る。図7(e)において、交線が三角形面上となる場合
は、交線と一致する辺が存在しない。そこで、交線と一
致する辺を生成する必要があるので、三角形の変形操作
を行う。
す、ステップB:交線と交わる三角形を全て求める、ス
テップC:求めた三角形が形成する多角形の頂点を順次
減らし、最終的に交線を挟んで隣接する2つの三角形に
より形成される4角形とする、という3つのステップ
A,B,Cから構成される。
いて説明する。図8(a)の交線sは始点として頂点D
を持ち、かつ三角形面DCA上にある。まず、交線sと
重なり、かつ頂点Dに最も近い頂点(終点)を求める。
図8(a)では頂点Eとなる。
を、全て取り出す(図8(b))。さらに、上記の取り
出された三角形が形成する多角形において、頂点を減ら
すために、頂点に集まる辺を減らす処理を行う。この処
理は凸頂点に対してのみについて行い、交線の始点・終
点の頂点、および凹頂点には行わない。また、この処理
を行う頂点の順番は任意で良い。
凸頂点であるFに対して辺の消去処理を行っている。頂
点Aは凹頂点であるので処理をすることが出来ないの
で、処理を保留する。すなわち、図8(b)において、
頂点Fを持ち、かつ隣接する2つの三角形FAJとFJ
Iとに対して変形操作を行い、三角形FAIとAJIと
を生成することにより、辺FJを消去する(図8
(c))。
AIGとする(図8(d))。これらの処理のときに、
変形操作を行う2つの三角形が形成する4角形が凹とな
る場合は、変形操作ができないので、処理を保留して次
の三角形のペアに処理を進める。例えば、図8(b)に
おいて、三角形FJIとFIGが形成する4角形は凹と
なるので処理を保留し、まず、三角形FAJとFJIに
対して変形操作が行われる。
形の辺はすべて消去された、すなわち、頂点Fを持つ三
角形が1個になったので、処理対象からこの三角形を除
外し、次の頂点に処理を進める。
る辺が生成するまで行う。図8(b),(c),(d)
では、頂点Fに集まる辺の消去処理が行われ、その結果
は図8(e)となる。図8(f),(g),(h)では
頂点Aに集まる辺の消去操作が行われる。
処理が行われる。ここで、交線DEと一致する辺が生成
されたので、処理を終了する。
処理ステップで使われるか、また、そのときの数値の最
大桁数をまとめて、次表に示す。
いている。ここでは、1次点の座標値における最大桁数
をLビットとし、全ての幾何演算は、1次点の座標値か
ら演算し導出している。本発明の3次元図形データの形
状演算方法では、表1に示すように、最大必要桁数は5
2L+115ビットである。
いると、以下に説明するような効果を奏することができ
る。
同次座標系処理を導入することにより、演算誤差による
幾何演算の破綻がない、且つ割り算不要の方法が可能に
なる。
以上に増大することはない。また、予め必要とされる最
大桁数を見積もることができる。すなわち、頂点データ
の演算が「3次点」までで済むので、かなり少ない桁数
で、かつ桁数がある上限以上に増大することなく無誤差
演算が可能である。さらに、演算桁数の低減に必要不可
欠な線分である「1次辺」は、ゼロ三角形データの枠組
みで保持されので、非常に単純なデータ構造を構成する
ことが可能となる。
量を大幅に減らすことができるので、高い処理効率を有
し、かつ高速で処理を行うことができる。
すブロック図である。
明図である。
す図である。
説明する図である。
ローチャートを示す図である。
関する説明図である。
算器) 4 可変長ビット整数演算器 5 外部機器インターフェイス 6 共通空間処理部 7 分割処理部 8 消去処理部 9 接続処理部 10 統合処理部 11 三角形面データ記憶部 12 ゼロ三角形データ記憶部 13 交線データ記憶部 14 頂点データ記憶部 15 加算器 16 減算器 17 乗算器 18 外部機器(計算機他) 19 データ変換部 100 3次元図形の形状演算装置
Claims (2)
- 【請求項1】 複数の3次元図形の形状演算を、3次元
図形の表面を三角形およびゼロ三角形で表現したときの
三角形面データおよびゼロ三角形データを用いて行う3
次元図形の形状演算装置において、 4次元同次座標系での演算処理を行う4次元同次座標系
幾何処理部と、 上記三角形面データおよびゼロ三角形データを構成する
頂点データを、4次元同次座標系幾何処理部を用いて4
次元頂点データに変換するデータ変換手段と、 上記4次元同次座標系幾何処理部を用い、4次元頂点デ
ータ、三角形面データおよびゼロ三角形データに基づく
4次元同次座標系での幾何処理を行うことによって各種
の4次元幾何処理データを求め、その4次元幾何処理デ
ータに基づいて複数の3次元図形に対する形状演算処理
を行う形状演算手段と、を備え、上記形状演算手段は、上記幾何処理および形状演算処理
を可変長ビットの整数演算として行うとともに、形状演
算処理における、三角形を分割し共通交線を生成する分
割処理において、共通交線の端点(交点)については1
次頂点から生成される2次頂点のみを保存し、また3次
頂点を2次頂点以下にする低次点化処理を行い、数値の
桁数の増大を抑制して無誤差整数演算を行う、 ことを特徴とする3次元図形の形状演算装置。 - 【請求項2】 上記形状演算手段は、形状演算前に存在
していた、両端点とも1次頂点で構成される1次辺をゼ
ロ三角形の辺として保存し、そのゼロ三角形の1次辺を
用いて交点および交線を求め、3次頂点を2次頂点以下
にする低次点化処理を行う、 ことを特徴とする請求項1に記載の3次元図形の形状演
算装置。
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)
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)
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 |
-
1999
- 1999-06-24 JP JP17757899A patent/JP3151710B2/ja not_active Expired - Fee Related
Non-Patent Citations (7)
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)
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 | |
EP2940576B1 (en) | Approximating functions | |
EP3885896B1 (en) | Float division by constant integer with output subtraction | |
CN115115765B (zh) | 光线跟踪系统中的相交测试 | |
JP3151710B2 (ja) | 3次元図形の形状演算装置 | |
Jia et al. | Singularity computation for rational parametric surfaces using moving planes | |
CN110796735B (zh) | Nurbs曲面有限元板壳网格划分方法及计算机实现系统 | |
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) | パラメータ曲線発生器 | |
Hu et al. | High Performance SM2 Elliptic Curve Cryptographic Processor over GF (p) | |
JP2000251081A (ja) | 内点判定方法、グラフィック描画装置およびプログラム記憶媒体 | |
JP3950976B2 (ja) | 3次元幾何データの無矛盾化方法及びそのシステム | |
CN114972685A (zh) | 文字转化为三维网格面片的方法、装置、设备及存储介质 | |
CN114119708A (zh) | 生成树结构的方法、装置、计算设备及存储介质 | |
CN107527320A (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 |