JPH10247249A - 自由曲線表現方法 - Google Patents
自由曲線表現方法Info
- Publication number
- JPH10247249A JPH10247249A JP9051220A JP5122097A JPH10247249A JP H10247249 A JPH10247249 A JP H10247249A JP 9051220 A JP9051220 A JP 9051220A JP 5122097 A JP5122097 A JP 5122097A JP H10247249 A JPH10247249 A JP H10247249A
- Authority
- JP
- Japan
- Prior art keywords
- curve
- rational
- knot
- spline
- reduce
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Image Generation (AREA)
Abstract
(57)【要約】
【課題】 有理B-spline曲線の形状を変更せず、各中
間ノットの多重度を減らすように各制御点の重みを調整
する。 【解決手段】 隣りあう2つの曲線セグメントの共有節
点をw1P1とし、その両側の制御点をw0P0,w2P2と
する。次式により、共有節点のノットの多重度を減ら
す。 t0,t1…曲線セグメントのパラメータ長 α,w2…未知数
間ノットの多重度を減らすように各制御点の重みを調整
する。 【解決手段】 隣りあう2つの曲線セグメントの共有節
点をw1P1とし、その両側の制御点をw0P0,w2P2と
する。次式により、共有節点のノットの多重度を減ら
す。 t0,t1…曲線セグメントのパラメータ長 α,w2…未知数
Description
【0001】
【発明の属する技術分野】本発明は、自由曲線表現方
法、より詳細には、CAD/CAMを用いた3次自由曲
線表現方法に関する。
法、より詳細には、CAD/CAMを用いた3次自由曲
線表現方法に関する。
【0002】
【従来の技術】Leslie Piegl and Wayne Tiller,“A M
enagerie of Rational B-Spline Circles”,IEEE CG&
A,September,1989,pp.48-66には、4つの90度円弧
より構成された有理B-spline曲線における中間ノット
の多重度を減らすことが提案されている。しかし、上述
文献に記載された発明は、円弧から構成された有理B-s
pline曲線の場合にしか対応できなかった。
enagerie of Rational B-Spline Circles”,IEEE CG&
A,September,1989,pp.48-66には、4つの90度円弧
より構成された有理B-spline曲線における中間ノット
の多重度を減らすことが提案されている。しかし、上述
文献に記載された発明は、円弧から構成された有理B-s
pline曲線の場合にしか対応できなかった。
【0003】一方、有理B-spline曲線を構成する曲線
セグメントの中には、直線、円弧、または有理Bezier
曲線が混在するのが一般的である。これらのケースにつ
いて、多重度を減らせば、以下の効果が得られる。 ・曲線の制御点の数が少なくなる。つまり、データ量が
少なくなる。 ・B-splineの基底関数の連続性を改善できる。 そのため、基底関数を利用したアプリケーションの連続
性も改善できる。例えば、中間ノットの多重度は(位数
−1)である場合には、曲線の連続性がC1であって
も、基底関数の連続性はC0になる。そのため、例え
ば、その曲線を軌道として、スイープ曲線を生成するア
プリケーションにおいて、生成されたスイープ曲面が不
連続となる。このような場合には、多重度を減らした方
が望ましい。
セグメントの中には、直線、円弧、または有理Bezier
曲線が混在するのが一般的である。これらのケースにつ
いて、多重度を減らせば、以下の効果が得られる。 ・曲線の制御点の数が少なくなる。つまり、データ量が
少なくなる。 ・B-splineの基底関数の連続性を改善できる。 そのため、基底関数を利用したアプリケーションの連続
性も改善できる。例えば、中間ノットの多重度は(位数
−1)である場合には、曲線の連続性がC1であって
も、基底関数の連続性はC0になる。そのため、例え
ば、その曲線を軌道として、スイープ曲線を生成するア
プリケーションにおいて、生成されたスイープ曲面が不
連続となる。このような場合には、多重度を減らした方
が望ましい。
【0004】
【発明が解決しようとする課題】本発明は、上述のごと
き知見に基づいてなされたもので、特に、有理B-splin
e曲線に対して、有理B-spline曲線の形状を変更せず、
各中間ノットの多重度を減らすように各制御点の重みを
調整することを目的とするものである。
き知見に基づいてなされたもので、特に、有理B-splin
e曲線に対して、有理B-spline曲線の形状を変更せず、
各中間ノットの多重度を減らすように各制御点の重みを
調整することを目的とするものである。
【0005】
【課題を解決するための手段】請求項1の発明は、有理
B-spline曲線(NURBS曲線とも呼ぶ)の表現や有
理B-spline曲線の基底関数を利用した応用において、
有理B-spline曲線の形状を変更せず、各中間ノットの
多重度を減らすように各制御点の重みを調整することを
特徴とし、もって、制御点の数を少なくしてデータ量を
減らして、更には、B-splineの基底関数の連続性を改
善するようにしたものである。
B-spline曲線(NURBS曲線とも呼ぶ)の表現や有
理B-spline曲線の基底関数を利用した応用において、
有理B-spline曲線の形状を変更せず、各中間ノットの
多重度を減らすように各制御点の重みを調整することを
特徴とし、もって、制御点の数を少なくしてデータ量を
減らして、更には、B-splineの基底関数の連続性を改
善するようにしたものである。
【0006】請求項2の発明は、請求項1の発明におい
て、前記中間ノットの多重度を下記の式を用いて減らす
ようにしたことを特徴とするものである。
て、前記中間ノットの多重度を下記の式を用いて減らす
ようにしたことを特徴とするものである。
【0007】
【数2】
【0008】w1P1…隣り合う2つの曲線セグメントの
共有接点 w0P0,w2P2…一直線に並ぶノットの両側の制御点 t0,t1…曲線セグメントのパラメータ長 α,w2…未知数(αが決まるとw2が決まる)
共有接点 w0P0,w2P2…一直線に並ぶノットの両側の制御点 t0,t1…曲線セグメントのパラメータ長 α,w2…未知数(αが決まるとw2が決まる)
【0009】
【発明の実施の形態】図1は、有理B-spline曲線の一
例を示す図で、図中、四角(黒及び白)にて示す点を制
御点、黒四角で示す点を節点という。本発明でいう有理
B-spline曲線とは、図1に示すように、複数本の曲線
セグメント(直線、円弧、または、有理Bezier曲線:
各々自由曲線)より構成された曲線(図1の実線S)で
ある。各自由曲線を区分曲線と呼び、各自由曲線の端点
を節点(黒四角にて示す)と呼ぶ。また、スプライン曲
線Sにおける各節点のパラメータをノットと呼び、各ノ
ットの集りをノット列と呼ぶ。なお、各曲線セグメント
の次数を揃え、有理B-spline曲線で表現されたものを
図3(A)に示す。
例を示す図で、図中、四角(黒及び白)にて示す点を制
御点、黒四角で示す点を節点という。本発明でいう有理
B-spline曲線とは、図1に示すように、複数本の曲線
セグメント(直線、円弧、または、有理Bezier曲線:
各々自由曲線)より構成された曲線(図1の実線S)で
ある。各自由曲線を区分曲線と呼び、各自由曲線の端点
を節点(黒四角にて示す)と呼ぶ。また、スプライン曲
線Sにおける各節点のパラメータをノットと呼び、各ノ
ットの集りをノット列と呼ぶ。なお、各曲線セグメント
の次数を揃え、有理B-spline曲線で表現されたものを
図3(A)に示す。
【0010】図2に示すような隣りあう2つの曲線セグ
メントS1,S2において、2つの曲線セグメントS1,
S2の共有節点をw1P1とし、一直線に並ぶノットの両
側の制御点をw0P0,w2P2とする。ここで、共有節点
w1P1のノットの多重度を減らすため、次の式を満たす
必要がある(w0,w1,w2は重み、P0,P1,P2は制
御点)。
メントS1,S2において、2つの曲線セグメントS1,
S2の共有節点をw1P1とし、一直線に並ぶノットの両
側の制御点をw0P0,w2P2とする。ここで、共有節点
w1P1のノットの多重度を減らすため、次の式を満たす
必要がある(w0,w1,w2は重み、P0,P1,P2は制
御点)。
【0011】
【数3】
【0012】ここで、t0,t1は節点w1P1の左右の曲
線セグメントS1,S2のパラメータ長である。本発明で
は、α,w2を未知数とし、上記の方程式を解くことに
する。式(1)を整理すれば、
線セグメントS1,S2のパラメータ長である。本発明で
は、α,w2を未知数とし、上記の方程式を解くことに
する。式(1)を整理すれば、
【0013】
【数4】
【0014】となり、式(4)を式(2)に代入すれ
ば、αに関する1次式となるので、αの値が次の式
(5)により求まり、
ば、αに関する1次式となるので、αの値が次の式
(5)により求まり、
【0015】
【数5】
【0016】α(ノット)が求まれば、式(4)によ
り、w2(重み)が求まる。
り、w2(重み)が求まる。
【0017】隣りあう2つの曲線セグメントの2本目の
曲線セグメントの重みを調整する。例えば、次の公知文
献(Richard R.Patterson,“Projective Transformat
ionof the Parameter of a Bernsten-Bezier Curve”,
ACM Transactions on Graphics,Vol.4,No.4,1985,p
p.276-290)を利用して2本目の曲線セグメントの重み
を調整する。
曲線セグメントの重みを調整する。例えば、次の公知文
献(Richard R.Patterson,“Projective Transformat
ionof the Parameter of a Bernsten-Bezier Curve”,
ACM Transactions on Graphics,Vol.4,No.4,1985,p
p.276-290)を利用して2本目の曲線セグメントの重み
を調整する。
【0018】この方法によると、以下に示す2本の有理
Bezierの形状が同じであることがわかる。
Bezierの形状が同じであることがわかる。
【0019】
【数6】
【0020】曲線セグメントが2本以上の場合にも、以
上のプロセスを次々へ繰返して適応すれば、すべてのパ
ラメータ長の比が求まるので、各節点のパラメータ(ノ
ット)や、各曲線セグメントの新しい重みを計算でき
る。
上のプロセスを次々へ繰返して適応すれば、すべてのパ
ラメータ長の比が求まるので、各節点のパラメータ(ノ
ット)や、各曲線セグメントの新しい重みを計算でき
る。
【0021】この方法を図3(A)の有理B-spline曲
線に適用した結果を図3(B)に示す。図3(A)の有
理B-spline曲線の重み及びノット列は次のようにな
る。 重み 1.000000 0.815450 0.815450 1.000000 0.906723 0.906723 1.000000 0.979269 0.979269 1.000000 0.977284 0.977284 1.000000 0.977284 0.977284 1.000000 1.000000 1.000000 1.000000 ノット列 0 0.000000 1 0.000000 2 0.000000 3 0.000000 4 0.171469 5 0.171469 6 0.171469 7 0.422291 8 0.422291 9 0.422291 10 0.543948 11 0.543948 12 0.543948 13 0.671199 14 0.671199 15 0.671199 16 0.798450 17 0.798450 18 0.798450 19 1.000000 20 1.000000 21 1.000000 22 1.000000
線に適用した結果を図3(B)に示す。図3(A)の有
理B-spline曲線の重み及びノット列は次のようにな
る。 重み 1.000000 0.815450 0.815450 1.000000 0.906723 0.906723 1.000000 0.979269 0.979269 1.000000 0.977284 0.977284 1.000000 0.977284 0.977284 1.000000 1.000000 1.000000 1.000000 ノット列 0 0.000000 1 0.000000 2 0.000000 3 0.000000 4 0.171469 5 0.171469 6 0.171469 7 0.422291 8 0.422291 9 0.422291 10 0.543948 11 0.543948 12 0.543948 13 0.671199 14 0.671199 15 0.671199 16 0.798450 17 0.798450 18 0.798450 19 1.000000 20 1.000000 21 1.000000 22 1.000000
【0022】図3(B)の有理B-spline曲線の重み及
びノット列は次のようになる。 重み 1.000000 0.553972 0.376339 0.257078 0.232478 0.231584 0.236204 0.257217 0.275178 0.332745 0.376094 0.574081 0.757681 0.983467 ノット列 0 0.000000 1 0.000000 2 0.000000 3 0.000000 4 0.216200 5 0.216200 6 0.410488 7 0.410488 8 0.497406 9 0.497406 10 0.596610 11 0.596610 12 0.716569 13 0.716569 14 1.000000 15 1.000000 16 1.000000 17 1.000000
びノット列は次のようになる。 重み 1.000000 0.553972 0.376339 0.257078 0.232478 0.231584 0.236204 0.257217 0.275178 0.332745 0.376094 0.574081 0.757681 0.983467 ノット列 0 0.000000 1 0.000000 2 0.000000 3 0.000000 4 0.216200 5 0.216200 6 0.410488 7 0.410488 8 0.497406 9 0.497406 10 0.596610 11 0.596610 12 0.716569 13 0.716569 14 1.000000 15 1.000000 16 1.000000 17 1.000000
【0023】よって、図3(A)の有理B-spline曲線
の中間ノットの多重度は3から2に減らされ、また、そ
れによって、制御点も5個少なくなった。
の中間ノットの多重度は3から2に減らされ、また、そ
れによって、制御点も5個少なくなった。
【0024】
【発明の効果】以上の説明から明らかなように、本発明
によると、有理B-spline曲線(NURBS曲線とも呼
ぶ)の表現や有理B-spline曲線の基底関数を利用した
応用において、有理B-spline曲線の形状を変更せず、
各中間ノットの多重度を減らすように各制御点の重みを
調整することができ、従って、制御点の数を少なくして
データ量を減らして、更には、B-splineの基底関数の
連続性を改善するようにしたものである。
によると、有理B-spline曲線(NURBS曲線とも呼
ぶ)の表現や有理B-spline曲線の基底関数を利用した
応用において、有理B-spline曲線の形状を変更せず、
各中間ノットの多重度を減らすように各制御点の重みを
調整することができ、従って、制御点の数を少なくして
データ量を減らして、更には、B-splineの基底関数の
連続性を改善するようにしたものである。
【図1】 有理B-spline曲線の一例を示す図である。
【図2】 共有節点のノットの多重度を減らす例を説明
するための図である。
するための図である。
【図3】 本発明を図3(A)の有理B-spline曲線に
適用した結果を図3(B)にて示す図である。
適用した結果を図3(B)にて示す図である。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年3月17日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】
Claims (2)
- 【請求項1】 有理B-spline曲線の表現や有理B-spli
ne曲線の基底関数を利用した応用において、有理B-spl
ine曲線の形状を変更せず、各中間ノットの多重度を減
らすように各制御点の重みを調整することを特徴とする
自由曲線表現方法。 - 【請求項2】 下記の式を用いて前記中間ノットの多重
度を減らすことを特徴とする請求項1に記載の自由曲線
表現方法。 【数1】 w1P1…隣り合う2つの曲線セグメントの共有接点 w0P0,w2P2…一直線に並ぶノットの両側の制御点 t0,t1…曲線セグメントのパラメータ長 α,w2…未知数
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9051220A JPH10247249A (ja) | 1997-03-06 | 1997-03-06 | 自由曲線表現方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9051220A JPH10247249A (ja) | 1997-03-06 | 1997-03-06 | 自由曲線表現方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10247249A true JPH10247249A (ja) | 1998-09-14 |
Family
ID=12880858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9051220A Pending JPH10247249A (ja) | 1997-03-06 | 1997-03-06 | 自由曲線表現方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10247249A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100823900B1 (ko) | 2004-02-06 | 2008-04-21 | 다솔 시스템므 | 컴퓨터-지원 설계 시스템에서 곡선을 드래프팅하는 프로세스 |
WO2009152583A1 (en) * | 2008-06-20 | 2009-12-23 | National Ict Australia Limited | Compact representation of a reflectance spectrum |
-
1997
- 1997-03-06 JP JP9051220A patent/JPH10247249A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100823900B1 (ko) | 2004-02-06 | 2008-04-21 | 다솔 시스템므 | 컴퓨터-지원 설계 시스템에서 곡선을 드래프팅하는 프로세스 |
WO2009152583A1 (en) * | 2008-06-20 | 2009-12-23 | National Ict Australia Limited | Compact representation of a reflectance spectrum |
CN102067110A (zh) * | 2008-06-20 | 2011-05-18 | 澳大利亚国家Ict有限公司 | 反射光谱的简洁表示 |
JP2011524578A (ja) * | 2008-06-20 | 2011-09-01 | ナショナル・アイシーティ・オーストラリア・リミテッド | 反射率スペクトルのコンパクト表現 |
US8666700B2 (en) | 2008-06-20 | 2014-03-04 | National Ict Australia Limited | Compact representation of a reflectance spectrum |
EP2304601A4 (en) * | 2008-06-20 | 2017-04-19 | National ICT Australia Limited | Compact representation of a reflectance spectrum |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Seidel | An introduction to polar forms | |
US7903112B2 (en) | Drawing processing apparatus, texture processing apparatus, and tessellation method | |
JP3860859B2 (ja) | 高性能プリミティブ・クリッピング・プリプロセシングを有するコンピュータ・グラフィックス・システム | |
JP2010191991A (ja) | サーフェス法線ベクトルを求めるための装置又は方法 | |
JP2000510268A (ja) | 3次元グラフィックス補間を実行するための乗算器 | |
EP0996094A4 (en) | IMAGE PROCESSING DEVICE AND PICTURE PROCESSING PROCESS, PROGRAM DELIVERY MEDIA AND DATA DELIVERY MEDIUM | |
JPH04289984A (ja) | ビット平面マスキングを用いた消去表面表示システムおよびその方法 | |
JPH10283490A (ja) | 自由曲面の生成方法 | |
JPH10247249A (ja) | 自由曲線表現方法 | |
US6476819B1 (en) | Apparatus and method for assigning shrinkage factor during texture mapping operations | |
Nasri et al. | Taxonomy of interpolation constraints on recursive subdivision curves | |
US6008815A (en) | Method for adaptive polygon rendering with fast operation speed of interpolation | |
US5502801A (en) | Method and system for drawing narrow lines on a computer display | |
JP2870397B2 (ja) | 図面の塗り潰し方法 | |
Barnard et al. | Combinatorial excursions in moduli space | |
Shirman | Construction of smooth curves and surfaces from polyhedral models | |
JP3690501B2 (ja) | 3次元モデル化方法 | |
JP2003346177A (ja) | 3角形パッチを用いたラジオシティ幾何処理方法 | |
JPH10198812A (ja) | 自由曲面の近似方法 | |
JPH08194816A (ja) | 線分近似方法および線分近似方式 | |
JP2005301425A (ja) | 座標変換装置、座標変換方法およびプログラム | |
Tokuyama et al. | Reparameterization of piecewise rational Bézier curves and its applications | |
JP2828759B2 (ja) | 自由曲面の分割方法 | |
JP2000057356A (ja) | 画像生成装置及び画像生成方法 | |
KR20020064799A (ko) | 전송되는 다각형 메시 데이터의 정련 |