JP2728115B2 - スプライン曲線、曲面の生成方法及び装置 - Google Patents

スプライン曲線、曲面の生成方法及び装置

Info

Publication number
JP2728115B2
JP2728115B2 JP6193859A JP19385994A JP2728115B2 JP 2728115 B2 JP2728115 B2 JP 2728115B2 JP 6193859 A JP6193859 A JP 6193859A JP 19385994 A JP19385994 A JP 19385994A JP 2728115 B2 JP2728115 B2 JP 2728115B2
Authority
JP
Japan
Prior art keywords
spline
equation
curve
generating
data point
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 - Lifetime
Application number
JP6193859A
Other languages
English (en)
Other versions
JPH0844907A (ja
Inventor
守 橋本
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP6193859A priority Critical patent/JP2728115B2/ja
Publication of JPH0844907A publication Critical patent/JPH0844907A/ja
Application granted granted Critical
Publication of JP2728115B2 publication Critical patent/JP2728115B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、CG(computer graph
ic)/CAD(computer aided design )に関し、特に
CGモデル作成に用いるスプライン曲線、曲面の生成方
法及び装置に関する。
【0002】
【従来の技術】CGモデルの曲線表現において、物体形
状の特徴を表すデータ点列を、重み関数(Bスプライン
関数)を用いて区分的多項式で近似したBスプライン曲
線がしばしば用いられる。曲面表現の場合も、Bスプラ
イン曲面で各頂点に与えたBスプライン関数を用い、複
数個の区間を簡単な多項式で近似したBスプライン曲面
が用いられる。
【0003】このようなBスプライン曲線又は曲面は、
図7に示すように、特徴検出部71で検出した物体形状
の特徴を表すデータ点列の個々のデータ点に対し、パラ
メータ割当部702で曲線又は曲面の基本パラメータを
割り当て、各曲線又は曲面周縁と対応するデータ点との
距離が最小となるような制御点を制御点演算処理部70
2において導出して、この基準点に基づいて生成してい
るのが通常である。生成されたBスプライン曲線又は曲
面は、CADシステム72に導かれ、ここで所定の図形
処理がなされる。
【0004】この種の従来技術として、例えば1993
年5月、情報処理学会技術報告第43号p23〜30に
記載された技術が知られている。この論文に記載された
技術は、与えられたデータ点列を数回にわたって近似す
る処理に関するものであるが、便宜上その1回分につい
てのみ説明する。
【0005】論文によれば、Bスプライン関数Bm(t)
は、式(1) で定義される。
【0006】
【数1】 このBスプライン関数Bm(t)は、区分的に(m−1)次
の多項式で表現される。m=4の場合の例を式(2) で示
す。
【0007】
【数2】 以下の説明は、一般の整数値mにおいて成り立つもので
あるが、便宜上m=4として説明を進める。
【0008】Bスプライン曲線C(t) は式(3) のように
定義される。
【0009】
【数3】 パラメータtの値の範囲は[0,1]である。各Pi
前述の割当点とデータ点との距離が最小となるように定
められる制御点(control point )であり、その実体は
2次元又は3次元のベクトルである。以下では、説明の
便宜上、制御点Pj は2次元のベクトルであるものとす
る。
【0010】閉曲線の場合は、P-3=Pn-3 , P-2=P
n-2 , P-1=Pn-1 となるので、Bスプライン曲線C
(t) は式(4) にて表すことができる。
【0011】
【数4】 Nはデータ点数、{Qi }はデータ点列を表すものと
し、各データ点列Qi は、制御点Pi と同じ次元のベク
トルであるものとする。また、各データ点列Qiに対す
る曲線上のパラメータはtj であり、曲線のパラメータ
の範囲に入るように、0≦tj ≦1(0≦j<N)であ
るものとする。
【0012】このとき、式(5) を最小にする制御点の集
合{Pi }を求める。但し、式(5)中の縦2本線はベク
トルの長さを表す。
【0013】
【数5】 各データ点列{Qi }を近似するBスプライン曲線C
(t) の制御点数は(n+3)であり、Bスプライン曲線
C(t) が閉曲線のときは、制御点のうち3個が重複して
いるので実際の制御点数はnとなる。制御点数はデータ
点数より少なくなる必要があるので、開曲線のときは
(n+3)<N、閉曲線のときはn<Nとなる。式(5)
は、Bスプライン曲線C(t) が開曲線のときは式(6) で
表され、閉曲線のときは式(7) で表される。
【0014】
【数6】 制御点{Pi }とデータ点列{Qi }を同一の座標系に
関する成分で表したものがそれぞれ式(8) 及び式(9) で
あるものとする。
【0015】
【数7】 この式(8) 及び式(9) を用いると、式(6) は式(10)で表
現され、式(7) は式(11)で表現される。
【0016】
【数8】 制御点{Pik}が式(10)を最小にするための必要十分条
件は、各kに対して式(12)を最小にすることであり、式
(11)を最小にするための必要十分条件は、各kに対して
式(13)を最小にすることである。また、式(12)(13)は、
共に式(14)の形で表現することができる。
【0017】
【数9】 ここでxk は制御点の第k成分pikを並べたベクトルで
ある。このベクトルxk の第j成分をxkjと表現する。
【0018】このベクトルxk はBスプライン曲線C
(t) が開曲線のときは(n+3)次元のベクトルであ
り、xkj=p(j-4)k,1≦j≦(n+3)である。一
方、閉曲線のときはn次元のベクトルであり、xkj=p
(j-1)k,1≦j≦(n)である。ck はデータ点列の第
k成分qjkを並べたN次元のベクトルで、その第i成分
kiは、cki=q(i-1)k,1≦i≦Nである。
【0019】A(=aij)は、Bスプライン関数値を要
素とする行列で、Bスプライン曲線C(t) が開曲線のと
き、添字i,jの範囲は、1≦j≦N、1≦j≦(n+
3)であり、aijは式(15)で表される。一方、閉曲線の
とき、添字i,jの範囲は、1≦j≦N、1≦j≦n
で、aijは式(16)で表される。
【0020】
【数10】 式(14)の最小値を与えるxk は、式(14)をベクトルxk
の各成分で偏微分した式を0とおいて得られる式(17)で
求めることができる。なお、AT は行列Aの転置行列を
表す。
【0021】
【数11】 以上のようにして、データ点列を近似するBスプライン
曲線が求められる。
【0022】次に、データ点列をBスプライン曲面で近
似する方法を説明する。
【0023】Bスプライン曲面S(u, v)は、一般に
式(18)のように定義される。
【0024】
【数12】 式(18)において、パラメータu,vの範囲は[0,1]
である。Pijは制御点であり、その実体は3次元のベク
トルである。曲面が閉じている場合は、閉じている方向
に関してはBスプライン曲線の場合と同様、3個ずつの
重複がある。このとき、u方向に閉じている場合は、P
(-3)j =P(m-3)j,P(-2)j =P(m-2)j,P(-1)j =P
(m-1)jであり、v方向に閉じている場合は、Pi(-3)
i(n-3),Pi(-2) =Pi(n-2),Pi(-1) =Pi(n-1)
ある。
【0025】従って、Bスプライン曲面S(u, v)
は、式(18)からu方向にのみ閉じている場合は式(19)
で、v方向にのみ閉じている場合は式(20)で、u,v両
方向に閉じている場合は式(21)で表すことができる。
【0026】
【数13】 データ点数はM×N、データ点列は{Qkl}で表す。ま
た、各データ点列Qklに対する曲面上のパラメータは
{ukl,vkl}であり、添字の範囲は、0≦k<M、0
≦l<Nである。このとき、式(22)を最小にする制御点
{Pij}を求める。
【0027】
【数14】 式(22)において、縦2本線の組は、挟まれているベクト
ルの長さを示す。
【0028】データ点列{Qkl}を近似するBスプライ
ン曲面S(u, v)の制御点数は、u方向に(m+
3)、v方向に(n+3)である。S(u,v)がu方
向に閉じているときは、u方向に関しては両端の3個が
重複しているので、制御点数はmとなる。同様に、v方
向に閉じているときは、v方向に関しては制御点数はn
となる。制御点数は、データ点数より小さくなる必要が
あるので、S(u, v)がu方向に開いているときは
(m+3)<M、閉じているときはm<M、v方向に開
いているときは(n+3)<N、閉じているときはn<
Nであるものとする。
【0029】式(22)は、Bスプライン曲面S(u, v)
が開いているときは、下記式(23)で表される。また、B
スプライン曲面S(u, v)がu方向に閉じているとき
は、下記式(24)で表され、v方向に閉じているときは、
下記式(25)で表され、uv両方向に閉じているときは、
下記式(26)で表される。
【0030】
【数15】 制御点{Pij}とデータ点列{Qkl}を同一の座標系に
関する成分で表したものがそれぞれ式(27)と式(28)であ
るものとする。
【0031】
【数16】 このとき、式(27)と式(28)を用いて表現すると、前記式
(23)は下記式(29)のようになり、前記式(24)は下記式(3
0)のようになり、前記式(25)は下記式(31)のようにな
り、前記式(26)は下記式(32)のようになる。
【0032】
【数17】 上記各式において制御点{pklh }が式(29)を最小にす
るための必要十分条件は、各hに対して式(33) を最小
にすることであり、式(30)を最小にするための必要十分
条件は、各hに対して式(34) を最小にすることであ
り、式(31)を最小にするための必要十分条件は、各hに
対して式(35) を最小にすることであり、式(32)を最小
にするための必要十分条件は、各hに対して式(36) を
最小にすることである。
【0033】
【数18】 式(33)(34)(35)(36)は、共に、下記式(37)の形で表現で
きる。
【0034】
【数19】 ここで、xh は、制御点の第h成分を並べた縦ベクトル
{pijh }を表し、ch はデータ点列の第h成分を並べ
た縦ベクトル{qklh }を表す。Bスプライン曲面S
(u,v)がパラメータu,vのどちらに対しても閉じ
ていないときは、ベクトルxh は、(m+3)×(n+
3)次元のベクトルで、その第t成分xhtは、式(38)で
定まるi,jに対してxht=pijh となる。但し、式(3
8)は、tを(n+3)で割った商が(i+3)で、余り
が(j+4)であることを示す。以下の同様な表現は、
全てこの意味で用いる。
【0035】Bスプライン曲面S(u,v)がu方向に
のみ閉じているときは、ベクトルxh はm×(n+3)
次元ベクトルとなり、その第t成分xhtは、式(39)で定
まるi,jに対してxht=pijh となる。また、v方向
にのみ閉じているときは、ベクトルxh は(m+3)}
×n次元のベクトルとなり、その第t成分xhtは、式(4
0)で定まるi,jに対してxht=pijh となる。更に、
uv両方向に閉じているときは、ベクトルxh は、m×
n次元のベクトルとなり、その第t成分xhtは、式(41)
で定まるi,jに対してxht=pijh となる。ベクトル
h の第s成分chsは、式(42) で定まるk,lに対し
てchs=qklh となる。
【0036】
【数20】 式(37)において、A(=ast)は、Bスプライン関数値
の積を要素とする行列である。
【0037】Bスプライン曲面S(u, v)がパラメー
タu,vのどちらにも閉じていないとき、添字の範囲
は、1≦s≦M×N、1≦t≦(m+3)×(n+3)
で、astは、式(38)と式(42)で定まるi,j,k,lに
対して式(43)で表される。
【0038】一方、Bスプライン曲面S(u, v)がu
方向に閉じているとき、添字の範囲は、1≦s≦M×
N、1≦t≦m×(n+3)で、astは、式(39)と式(4
2)で定まるi,j,k,lに対して式(44)で表される。
また、v方向に閉じているとき、添字の範囲は、1≦s
≦M×N、1≦t≦(m+3)×nで、astは、式(40)
と式(42)で定まるi,j,k,lに対して式(45)で表さ
れる。更に、uv両方向に閉じているとき、添字の範囲
は、1≦s≦M×N、1≦t≦m×nで、astは、式(4
1)と式(42)で定まるi,j,k,lに対して式(46)で表
される。
【0039】
【数21】 Bスプライン曲線の場合と同様に、式(37)の最小値を与
えるベクトルxh は、式(37)をベクトルxh の各成分で
偏微分した式を0とおいて得られる式(47)で求めること
ができる。
【0040】
【数22】 ここでも、AT はAの転置行列を表している。
【0041】以上のようにして、データ点列を近似する
Bスプライン曲面S(u, v)が求められる。
【0042】
【発明が解決しようとする課題】ところで、データ点列
に近似する滑らかなBスプライン曲線、曲面を生成する
ためには、上記制御点の数を少なくする必要がある。制
御点数が多いとBスプライン曲線、曲面に個々のデータ
点の変動が反映し、凹凸のある形状になり易いためであ
る。しかしながら、制御点数が少なすぎると、図8に示
すように、制御点801とデータ点802が近いところ
の曲線/曲面形状は、その曲率が大きくなり、逆に、制
御点801から離れたところでは曲率が小さくなるとい
った、形状の偏りが発生する問題が生じる。これはBス
プライン曲線、曲面が区分的多項式で表現されており、
多項式の部分とその接続部分とでは曲がり方の性質が異
なることに起因する。
【0043】例えば、上述の式(1) 〜式(17)において、
各データ点{Qj }に割り当てられているパラメータt
j がj/Nであるとし、生成されるBスプライン曲線
が、制御点数が4の閉曲線であるものとすると、生成さ
れるBスプライン曲線の形状は、図5のようになる。こ
の場合、パラメータtj が0,1/4,1/2,3/4
に対応するデータ点501ではBスプライン曲線502
の曲率が大きく、逆にこれらの間のデータ点では曲率が
小さくなって、データ点列に存在しない形状の方向性が
現れる。制御点を増やせば曲率の変動幅が小さくなるた
め、形状の方向性が現れにくくなるが、そうすると、上
述のように、データ点列の誤差が反映され易く、凹凸の
ある形状になって滑らかな曲線形状が得にくくなる。
【0044】Bスプライン曲面の場合も、少数の制御点
で近似させると曲面形状にデータ点列には存在しない形
状の方向性が現れ、Bスプライン曲線の場合と全く同様
の問題が生じる。
【0045】本発明は、かかる問題点を解消し、方向性
の無い滑らかな曲線、曲面を生成する方法及びこの方法
を実現する装置を提供することをその課題とする。
【0046】
【課題を解決するための手段】図1は、上記課題を解決
する本発明の原理説明図であり、スプライン曲線の生成
方法の例を示す。
【0047】図1を参照すると、本発明では、まず、物
体形状の特徴を表すデータ点102,105の列を検出
し、このデータ点列に対する曲線の曲率を調整するため
の複数個の制御点101,104を導出して、導出した
各制御点101,104に基づいてデータ点列に近似す
る複数個のBスプライン曲線103,106を生成す
る。次に、生成された各Bスプライン曲線103,10
6の全体又は対応する部分に含まれる前記制御点10
1,104を平均化し、この平均化された制御点107
に基づいて新たなBスプライン曲線109を生成する。
【0048】スプライン曲面の生成方法も同様の原理に
基づくもので、物体形状の特徴を表すデータ点列を検出
し、検出したデータ点列に対する曲面周縁の曲率を調整
するための複数個の制御点を導出する段階と、導出した
各制御点に基づいてデータ点列に近似する複数個のBス
プライン曲面を生成する段階と、生成された各Bスプラ
イン曲面の全体又は対応する部分に含まれる前記制御点
を平均化する段階と、平均化された制御点に基づいてB
スプライン曲面を生成する段階とを有する。
【0049】また、上記方法を実現する本発明のスプラ
イン曲線生成装置は、物体形状の特徴を表す複数個のデ
ータ点の列と近似する形状のBスプライン曲線を異なっ
たノットベクトルに基づいて複数個生成するBスプライ
ン曲線生成手段と、生成された複数個のBスプライン曲
線の全体又は対応する部分の形状を平均化するBスプラ
イン曲線平均手段とを有し、平均化された形状のBスプ
ライン曲線をCADシステムに出力する構成であること
を特徴とする。
【0050】また、本発明のスプライン曲面生成装置
は、物体形状の特徴を表す複数個のデータ点の列と近似
する形状のBスプライン曲面を異なったノットベクトル
に基づいて複数個生成するBスプライン曲面生成手段
と、生成された複数個のBスプライン曲面の全体又は対
応する部分の形状を平均化するBスプライン曲面平均手
段とを有し、平均化された形状のBスプライン曲面をC
ADシステムに出力する構成であることを特徴とする。
【0051】また、本発明では、上記ノットベクトルに
よらず、曲線あるいは曲面の基本パラメータを変更する
ことで複数個のBスプライン曲線あるいはBスプライン
曲面を生成し、更にそれらの平均化をとる装置をも提供
する。
【0052】即ち、このようなスプライン曲線生成装置
は、物体形状の特徴を表すデータ点列の個々のデータ点
に割り当てるための基本パラメータを決定する基本パラ
メータ決定手段と、決定された前記基本パラメータの開
始位置を定め、その開始位置がゼロ値に近づくように各
基本パラメータの値を変更してこれを各データ点に割り
当てるパラメータ割当手段と、パラメータが割り当てら
れた各々のデータ点と曲線の距離を最小にする複数個の
制御点を導出し、該制御点に基づいて前記データ点列に
近似する形状のBスプライン曲線を複数個生成する第1
の曲線生成手段と、生成された各Bスプライン曲線に含
まれる複数個の制御点を、対応するデータ点同士のパラ
メータが一致するように変更してその平均値に基づくB
スプライン曲線を生成する第2の曲線生成手段とを有
し、この第2の曲線生成手段で生成したBスプライン曲
線をCADシステムに出力する構成であることを特徴と
する。
【0053】また、スプライン曲面生成装置は、物体形
状の特徴を表すデータ点列の個々のデータ点に割り当て
るための基本パラメータを決定する基本パラメータ決定
手段と、決定された前記基本パラメータの開始位置を定
め、その開始位置がゼロ値に近づくように各基本パラメ
ータの値を変更してこれを各データ点に割り当てるパラ
メータ割当手段と、パラメータが割り当てられた各々の
データ点と曲線の距離を最小にする複数個の制御点を導
出し、該制御点に基づいて前記データ点列に近似する形
状のBスプライン曲面を複数個生成する第1の曲面生成
手段と、生成された各Bスプライン曲面に含まれる複数
個の制御点を、対応するデータ点同士のパラメータが一
致するように変更してその平均値に基づくBスプライン
曲面を生成する第2の曲面生成手段とを有し、この第2
の曲面生成手段で生成したBスプライン曲面をCADシ
ステムに出力する構成構成であることを特徴とする。
【0054】
【実施例】次に、図面を参照して本発明の実施例を説明
する。 (第1実施例)図2は本発明の第1実施例に係るBスプ
ライン曲線生成装置の機能ブロック図である。図2を参
照すると、このBスプライン曲線生成装置20は、物体
形状の特徴を表すデータ点列を検出する公知の特徴検出
手段21と、CADシステム22との間に設けられ、特
徴検出手段21で検出したデータ点列を近似する形状の
Bスプライン曲線を異なったノットベクトルに基づいて
複数個生成するBスプライン曲線生成部201と、この
Bスプライン曲線生成部201で生成した複数個のBス
プライン曲線の全体または対応する部分の形状を平均化
してCADシステム22に出力するBスプライン曲線平
均部202とを有している。
【0055】まず、Bスプライン曲線生成部201にお
ける処理を説明する。
【0056】Bスプライン曲線は区分的多項式で表され
るのは前述のとおりである。この場合、多項式と多項式
の継目をノットと呼び、ノットを値の小さい順に並べた
数列をノットベクトルと呼ぶ。例えば、従来技術で説明
した式(3) で表されるBスプライン曲線のノットベクト
ルは、〔−3/n,−2/n,−1/n,0,1/n・
・・,1,1+1/n,1+2/n,1+3/n〕であ
る。
【0057】以下、fを任意の整数とするとき、式(4
8)で表されるf個のノットベクトルに対してデータ点
列を近似するBスプライン曲線を生成する例を述べる。
【0058】
【数23】 式(48)で表されるノットベクトルに対応するBスプライ
ン曲線C(i) (t) は、式(49)(50)で表される。
【0059】
【数24】 上記各式において、パラメータtの値の範囲は0≦t≦
1である。
【0060】制御点Pj (i) は、従来技術の場合と同
様、説明の都合上2次元のベクトルとしておくが、3次
元のベクトルであったとしても処理は全く同様である。
閉曲線の場合、Bスプライン曲線C(o) (t) はP-3=P
n-3 ,P-2=Pn-2 ,P-1=Pn-1 であり、式(49)は
式(51)で表される。
【0061】
【数25】 従来技術の場合と同様、データ点数はN、データ点列は
{Qk }で表し、また、各データ点列Qk に対する曲線
上のパラメータはtk であるものとする。このとき式(5
3)を最小にする制御点{Pj (i) }を求める。
【0062】
【数26】 但し、式(53)中の縦2本線は、ベクトルの長さを表す。
【0063】データ点列{Qk }を近似するBスプライ
ン曲線C(i) (t) の制御点数は、i=0のときは(n+
3)であり、1≦i<fのときは(n+4)である。B
スプライン曲線C(i) (t) が閉曲線のとき、i=0なら
ば、制御点のうち3個が重複していて、1≦i<fなら
ば、制御点のうち4個が重複している。従って、実際の
制御点数はnとなる。制御点数はデータ点数より少なく
なる必要があるので、開曲線のときは、i=0ならば
(n+3)<N、1≦i<fならば(n+4)<Nであ
り、閉曲線のときはn<Nであるものとする。
【0064】式(53)は、Bスプライン曲線C(o) (t) が
開曲線のときは式(54)で表され、閉曲線のときは式(55)
で表される。また、1≦i<fに対しては、Bスプライ
ン曲線C(i) (t) が開曲線のときは式(56)で表され、閉
曲線のときは式(57)で表される。
【0065】
【数27】 制御点{Pj (i) }とデータ点列{Qk }を同一座標系
に関する成分で表したものがそれぞれ式(58)と式(59)で
あるものとする。
【0066】
【数28】 このとき、式(58)と式(59)を用いて、式(54)は式(60)で
表現され、式(55)は式(61)で表現され、式(56)は式(62)
で表現され、式(57)は式(63)で表現される。
【0067】
【数29】 制御点{Pjl (i) }が式(60)を最小にするための必要十
分条件は、各lに対して式(64)を最小にすることであ
り、式(61)を最小にするための必要十分条件は、各lに
対して式(65)を最小にすることであり、式(62)を最小に
するための必要十分条件は、各lに対して式(66)を最小
にすることであり、式(63)を最小にするための必要十分
条件は、各lに対して式(67)を最小にすることである。
また、式(64)(65)(66)(67)は、全て式(68)の形で表現す
ることができる。
【0068】
【数30】 ここで、xl (i) は制御点の第l成分Pjl (i) を並べた
ベクトルであり、このベクトルxl (i) の第h成分をx
lh (i) と表すこととする。
【0069】ベクトルxl (i) は、Bスプライン曲線C
(i) (t) が開曲線のとき、i=0ならば(n+3)次元
ベクトル、1≦i<fならば(n+4)次元ベクトルで
あり、その第h成分xlh (i) はp(h-4)l (I) である。ま
た、Bスプライン曲線C(i)(t) が閉曲線のときはn次
元のベクトルであり、その第h成分xlh (o) は、xlh
(o) =p(h-1)l (o),lh (i) =phl (i),1≦i<fであ
る。cl はデータ点列の第l成分qklを並べたN次元の
ベクトルで、その第g成分ckgは、ckg=qgk,1≦g
<Nである。A(i) (=agh (i) )は、Bスプライン関
数値を要素とする行列であり、Bスプライン曲線C(i)
(t) が開曲線のときは、行列A(i) はi=0ならば
(N, (n+3))行列で式((69)で表され、1≦i<
fならば(N, (n+4))行列で式((70)で表され
る。
【0070】Bスプライン曲線C(i) (t) が閉曲線のと
き、行列A(i) は、 (N,n)行列で、i=0ならば式
(71)で表され、1≦i<fならば式(72 )で表され
る。
【0071】
【数31】 式(68)の最小値を与えるベクトルxl (i) は、式(68 )
をベクトルxl (i) の各成分で偏微分した式を0とおい
て得られる式(73 )で求めることができる。
【0072】
【数32】 但し、(A(i) T は、行列A(i) の転置行列を表す。
【0073】以上のようにして、データ点列を近似する
Bスプライン曲線C(i) (t) を求め、これをBスプライ
ン曲線平均部202に導く。
【0074】次に、Bスプライン曲線平均部202にお
ける処理を説明する。
【0075】Bスプライン曲線平均部202では、Bス
プライン曲線生成手段201で生成されたf個のBスプ
ライン曲線のノットベクトルを統合した新たなノットベ
クトルに対する各曲線の制御点を求め、得られた制御点
を平均してCADシステム22に出力する。
【0076】Bスプライン曲線は、もとのノットベクト
ルのノットを全て含むノットベクトルに対して、曲線形
状を変えずに表現し直すことができるという性質があ
る。
【0077】Bスプライン曲線生成部201で生成され
たf個のBスプライン曲線のノットベクトルは、互いに
1/(nf)ずつずれているので、ノット間の長さが全
て1/(nf)のノットベクトルは、前記f個のBスプ
ライン曲線のノットベクトルを全て含むことができる。
つまり、ノット間の長さが全て1/(nf)のノットベ
クトルは、これらのノットベクトルを統合したものにな
っている。
【0078】そこで、Bスプライン曲線平均部202で
は、Bスプライン曲線生成部201で生成されたf個の
Bスプライン曲線をこのノットベクトルに対して表現し
直し、得られた曲線の制御点を平均して、最終的な曲線
の制御点とする。
【0079】以下、この処理について詳述する。
【0080】f個のBスプライン曲線のノットベクトル
を統合したノットベクトルのうち、Bスプライン曲線の
定義に必要な部分は、〔−3/nf,−2/nf,−1
/nf,0,1/nf・・・,1,1+1/nf,1+
2/nf,1+3/nf〕である。このノットベクトル
に対して、Bスプライン曲線生成部201で生成された
f個のBスプライン曲線C(i) (t) は、曲線形状を変え
ることなく式(74)の形式で表現することができる。
【0081】
【数33】 式(74)の形式で表現したときの制御点は、式(49)(50)の
制御点から線形演算で求めることができる。ノット間の
長さが1のノットベクトルに対するBスプライン関数
と、ノット間の長さが1/fのノットベクトルに対する
Bスプライン関数との関係は式(75)で与えられる。
【0082】
【数34】 式(75)下段右辺は、a1,2 ,・・・,af が0からm
まで重複を許し、Σ記号の下の式を満たすもの全てにつ
いてとった和を表す。式(49)(50)と式(74)が等しいとお
いて、式(75)の関係を用いると、式(76)のように制御点
同士の関係式が得られる。
【0083】
【数35】 最終的に出力されるBスプライン曲線の制御点104
{Rj }は、式(76)で求めたRj (i) から式(77)のよう
に求められる。
【0084】
【数36】 本実施例により生成したBスプライン曲線の形状を図4
に示す。図5に示した従来例の場合と同様に、データ点
列{Qj }401は、xy平面上の円周上の点で、各デ
ータ点Qj に割り当てられているパラメータtj はj/
Nであるものとすると、このデータ点列を近似する第1
のBスプライン曲線402は、制御点数が4の閉曲線
で、ノットベクトルは[0,1/4,1/2,3/4]
である。
【0085】同様に、第2のBスプライン曲面403
は、制御点数が4の閉曲線で、ノットベクトルは[1/
8,3/8,5/8,7/8]である。
【0086】これら第1及び第2のBスプライン曲線4
02,403のそれぞれには、図示のように、その形状
に方向性が現れるが、ノットベクトルの違いから、第1
のBスプライン曲線402では曲率が大きくなっている
箇所が第2のBスプライン曲線403では小さくなって
おり、形状の方向性が互いに逆になっている。
【0087】従って、これらを平均して得た第3のBス
プライン曲線404では、各Bスプライン曲線402,
403に現れていた形状の方向性が相殺され、図5との
比較からも明らかなように滑らかな曲線になる。 (2実施例)図3は、本発明の第2実施例に係るBスプ
ライン曲面生成装置の機能ブロック図である。図3を参
照すると、このBスプライン曲面生成装置30は、物体
形状の特徴を表すデータ点列を検出する公知の特徴検出
手段31と、CADシステム32との間に設けられ、特
徴検出手段31で検出したデータ点列を近似する形状の
Bスプライン曲面を異なったノットベクトルに基づいて
複数個生成するBスプライン曲面生成部301と、この
Bスプライン曲線生成部301で生成した複数個のBス
プライン曲線の全体または対応する部分の形状を平均化
してCADシステム32に出力するBスプライン曲線平
均部302とを有している。
【0088】まず、Bスプライン曲面生成部301にお
ける処理を説明する。
【0089】Bスプライン曲面も、Bスプライン曲線と
同様に区分的多項式で表される。多項式と多項式の継目
をノットと呼び、ノットを値の小さい順に並べた数列を
ノットベクトルと呼ぶ。Bスプライン曲面の場合は、パ
ラメータ2つで表現されているので、このノットベクト
ルも2つになる。
【0090】例えば、従来技術で説明した式(18)で表さ
れるBスプライン曲面のノットベクトルは〔−3/m,
−2/m,−1/m,0,1/m・・・,1,1+1/
m,1+2/m,1+3/m〕と〔−3/n,−2/
n,−1/n,0,1/n,・・・,1,1+1/n,
1+2/n,1+3/n〕である。e,fを任意の整数
とするとき、式(78)(79)で表されるそれぞれe個、f個
のノットベクトルに対してデータ点列を近似する曲面を
生成する。
【0091】
【数37】 但し、0≦i<e、0≦j<fである。
【0092】これらのノットベクトルを持つBスプライ
ン曲面S(ij)(u,v)は、式(80)(81)(82)(83)で表さ
れる。
【0093】
【数38】 上記各式において、パラメータu,vの値の範囲は、0
≦u、v≦1である。
【0094】制御点Pkl (i,j) は3次元のベクトルであ
る。u方向にのみ閉じているBスプライン曲面S(o,j)
(0≦j<f)は、p(-3)l (o,j) =p(m-3)l (o,j),
(-2)l (o,j) =p(m-2)l, (o,j),(-1)l (o,j)=
(m-1)l (o,j) となるので、式(80)は式(84)で表され、式
(81)は式(85)で表される。
【0095】
【数39】 また、Bスプライン曲面S(i,j) (1≦i<e)では、
(-3)l (i,j) =p(m-3) l (i,j),(-2)l (i,j) =p
(m-2)l, (i,j),(-1)l (i,j)=(m-1)l (i,j),ol
(i,j) = ml (i,j) となるので、式(82)は式(86)で表さ
れ、式(83)は式(87)で表される。
【0096】
【数40】 v方向にのみ閉じているBスプライン曲面S(i,o) (0
≦i<e)は、pk(-3) (i,o) =pk(n-3) (i,o),
k(-2) (i,o) =pk(n-2), (i,o),(-1) (i,o)=k(n-1)
(i,o) となるので、式(80)は式(88)で表され、式(82)は
式(89)で表される。
【0097】
【数41】 また、Bスプライン曲面S(i,j) (1≦j<f)では、
k(-3) (i,j) =pk(n-3 ) (i,j),k(-2) (i,j) =p
k(n-2), (i,j),k(-1) (i,j)=k(n-1) (i,j),ko
(i,j) = kn (i,j) となるので、式(81)は式(90)で表さ
れ、式(83)は式(91)で表される。
【0098】
【数42】 同様にして、u,v両方向に閉じているBスプライン曲
面の場合は、式(80)は式(92)で、式(81)は式(93)で、式
(82)は式(94)で、式(83)は式(95)で表される。
【0099】
【数43】
【0100】
【数44】 従来の技術の項と同様に、データ点数はM×N、データ
点列は{Qst}と表現する。また、各データ点列Qst
対する曲面上のパラメータは、{ust, st}であると
する。
【0101】このとき、式(96)を最小にする制御点{P
kl (ij)}を求める。
【0102】
【数45】 但し、式(96)中の縦2本線の組は、挟まれているベクト
ルの長さを示す記号である。
【0103】制御点数はデータ点数より少なくなる必要
があるので、Bスプライン曲面がu方向に開いている場
合は、i=0に対しては(m+3)<M、1≦i<eに
対しては(m+4)<Mであり、閉じている場合はm<
Mである。v方向に開いている場合は、j=0に対して
は(n+3)<N、1≦j<fに対しては(n+4)<
Nであり、閉じている場合はn<Nである。
【0104】このとき、式(96)は、式(80)(81)(82)(83)
(84)(85)(86)(87)(88)(90)(89)(91)(92)(93)(94)(95)の
各々に対して、式(97)(98)(99)(100)(101)(102)(103)(1
04)(105)(107)(106)(108)(109)(110)(111)(112)で表さ
れる。
【0105】
【数46】
【0106】
【数47】
【0107】
【数48】
【0108】
【数49】
【0109】
【数50】 制御点{Pkl (i,j) }とデータ点列{Qst}を同一の座
標系に関する成分で表したものがそれぞれ式(113) と式
(114) であるものとする。
【0110】
【数51】 このとき、式(113) と式(114)を用いて、式(97)は式(1
15) で表現され、式(98)は式(116) で表現され、式(99)
は式(117) で表現され、式(100) は式(118) で表現さ
れ、式(101) は式(119) で表現され、式(102) は式(12
0) で表現され、式(103) は式(121) で表現され、式(10
4) は式(122) で表現され、式(105) は式(123) で表現
され、式(107) は式(125) で表現され、式(106) は式(1
24) で表現され、式(108) は式(126) で表現され、式(1
09) は式(127) で表現され、式(110)は式(128) で表現
され、式(111) は式(129) で表現され、式(112) は式(1
30) で表現される。
【0111】
【数52】
【0112】
【数53】
【0113】
【数54】
【0114】
【数55】
【0115】
【数56】
【0116】
【数57】 制御点{Pklg (i,j) }が式(115) を最小にするための
必要十分条件は、各gに対して式(131) を最小にするこ
とであり、式(116) を最小にするための必要十分条件
は、各gに対して式(132) を最小にすることであり、式
(117) を最小にするための必要十分条件は、各gに対し
て式(133) を最小にすることであり、式(118) を最小に
するための必要十分条件は、各gに対して式(134) を最
小にすることであり、式(119) を最小にするための必要
十分条件は、各gに対して式(135) を最小にすることで
あり、式(120) を最小にするための必要十分条件は、各
gに対して式(136) を最小にすることであり、式(121)
を最小にするための必要十分条件は、各gに対して式(1
37) を最小にすることであり、式(122) を最小にするた
めの必要十分条件は、各gに対して式(138) を最小にす
ることであり、式(123) を最小にするための必要十分条
件は、各gに対して式(139) を最小にすることであり、
式(125) を最小にするための必要十分条件は、各gに対
して式(141) を最小にすることであり、式(124) を最小
にするための必要十分条件は、各gに対して式(140) を
最小にすることであり、式(126) を最小にするための必
要十分条件は、各gに対して式(142) を最小にすること
であり、式(127) を最小にするための必要十分条件は、
各gに対して式(143) を最小にすることであり、式(12
8) を最小にするための必要十分条件は、各gに対して
式(144) を最小にすることであり、式(129) を最小にす
るための必要十分条件は、各gに対して式(145) を最小
にすることであり、式(130) を最小にするための必要十
分条件は、各gに対して式(146) を最小にすることであ
る。
【0117】
【数58】
【0118】
【数59】
【0119】
【数60】
【0120】
【数61】 式(131)(132)(133)(134)(135)(136)(137)(138)(139)(14
1)(140)(142)(143)(144)(145)(146)は、全て式(147) の
形で表現される。
【0121】
【数62】 ここで、xg (i,j) は制御点の第g成分Pklg (i,j)
並べたベクトルであり、このベクトルxg (i,j) の第d
成分をxgd (i,j) と表現する。このベクトルxg (i,j)
は、Bスプライン曲面S(i,j) (u,v) がu,v両方向に
開いているときは、i=0,j=0ならば(m+3)×
(n+3)次元のベクトル、i=0, 1≦j<fならば
(m+3)×(n+4)次元のベクトル、1≦i<e,j
=0ならば(m+4)×(n+3)次元、1≦i<e,1
≦j<fならば(m+4)×(n+4)次元のベクトル
である。
【0122】ベクトルxg (i,j) の成分xgd (i,j) は、
j=0のときは式(148)で、1≦j<fのときは式(14
9) で定まるk,lに対してxgd (i,j) =Pklg (i,j)
となる。
【0123】Bスプライン曲面S(i,j) (u,v) がu方向
にのみ閉じているとき、ベクトルxg (i,j) は、j=0
ならばm×(n+3)次元、1≦j<fならばm×(n
+4)次元のベクトルである。
【0124】ベクトルxg (i,j) の成分xgd (i,j) は、
i=0,j=0のときは式(150)で、1≦i<e,j =0
のときは式(151) で、i=0,1≦j<f、のときは式
(152) で、1≦i<e,1≦j<fのときは式(153) で定
まるk,lに対してxgd (i,j) =Pklg ( i,j)となる。
【0125】Bスプライン曲面S(i,j) (u,v) がv方向
にのみ閉じているとき、ベクトルxg (i,j) は、i=0
ならば(m+3)×n次元、1≦i<eならば(m+
4)×n次元のベクトルである。ベクトルxg (i,j)
成分xgd (i,j) は、j=0のときは式(154)で、1≦j
<fのときは式(155) で定まるk,lに対してxgd
(i,j) =Pklg (i,j) となる。
【0126】Bスプライン曲面S(i,j) (u,v) がu,v両
方向に閉じているとき、ベクトルxg (i,j) は、m×n
次元のベクトルである。ベクトルxg (i,j) の成分xgd
(i,j) は、i=0, j=0のときは式(156)で、1≦i
<e, j=0のときは式(157) で、i=0, 1≦j<f
のときは式(158)で、1≦i<e, 1≦j<fのときは
式(159) で定まるk,lに対してxgd (i,j) =Pklg
(i,j) となる。
【0127】
【数63】 g は、データ点列の第g成分qstg を並べたM×N次
元のベクトルで、その成分bgcは、式(160) で定まる
s,tに対してbgc=qstg である。
【0128】
【数64】 (i,j) =(acd (i,j) )は、Bスプライン関数値を要
素とする行列で、Bスプライン曲面S(i,j) (u,v)
がu,v両方向に開いているときは、i=0,j=0な
らば、添字の範囲は、1≦c<M×N、1≦d<(m+
3)×(n+3)で、acd (0,0) は、式(148) と式(16
0) で定まるk,l,s,tに対して式(160) で表され
る。
【0129】i=0、1≦j<fならば、添字の範囲
は、1≦c<M×N、1≦d<(m+3)×(n+4)
で、acd (0,j) は、式(149) と式(160) で定まるk,
l,s,tに対して式(162)で表される。
【0130】1≦i<e、j=0、1≦j<fならば、
添字の範囲は、1≦c<M×N、1≦d<(m+4)×
(n+3)で、acd (i,0) は、式(148) と式(160) で定
まるk,l,s,tに対して式(163)で表される。
【0131】1≦i<e、1≦j<fならば、添字の範
囲は、1≦c<M×N、1≦d<(m+4)×(n+
4)で、acd (i,j) は、式(149) と式(160) で定まる
k,l,s,tに対して式(164)で表される。
【0132】
【数65】 Bスプライン曲面S(i,j) (u,v)がu方向にのみ閉
じているときは、i=0、j=0ならば、添字の範囲
は、1≦c<M×N、1≦d<m×(n+3)で、acd
(0,0) は、式(150) と式(160) で定まるk,l,s,t
に対して式(165) で表される。
【0133】i=0、1≦j<fならば、添字の範囲
は、1≦c<M×N、1≦d<m×(n+4)で、acd
(0,j) は、式(151) と式(160) で定まるk,l,s,t
に対して式(166)で表される。
【0134】1≦i<e、j=0ならば、添字の範囲
は、1≦c<M×N、1≦d<m×(n+3)で、acd
(i,0) は、式(152) と式(160) で定まるk,l,s,t
に対して式(167)で表される。
【0135】1≦i<e、1≦j<fならば、添字の範
囲は、1≦c<M×N、1≦d<m×(n+4)で、a
cd (i,j) は、式(153) と式(160) で定まるk,l,s,
tに対して式(168)で表される。
【0136】
【数66】
【0137】
【数67】
【0138】
【数68】
【0139】
【数69】 Bスプライン曲面S(i,j) (u,v)がv方向にのみ閉
じているときは、i=0、j=0ならば、添字の範囲
は、1≦c<M×N、1≦d<(m+3)×nで、acd
(0,0) は、式(154) と式(160) で定まるk,l,s,t
に対して式(169) で表される。
【0140】i=0、1≦j<fならば、添字の範囲
は、1≦c<M×N、1≦d<(m+3)×nで、acd
(0,j) は、式(155) と式(160) で定まるk,l,s,t
に対して式(170)で表される。
【0141】1≦i<e、j=0ならば、添字の範囲
は、1≦c<M×N、1≦d<(m+4)×nで、acd
(i,0) は、式(154) と式(160) で定まるk,l,s,t
に対して式(171)で表される。
【0142】1≦i<e、1≦j<fならば、添字の範
囲は、1≦c<M×N、1≦d<(m+4)×nで、a
cd (i,j) は、式(155) と式(160) で定まるk,l,s,
tに対して式(172)で表される。
【0143】
【数70】
【0144】
【数71】
【0145】
【数72】
【0146】
【数73】 Bスプライン曲面S(i,j) (u,v)がu,v両方向に
閉じているときは、添字の範囲は、1≦c<M×N、1
≦d<m×nで、i=0、j=0ならば、a
cd (0,0) は、式(156) と式(160) で定まるk,l,s,
tに対して式(173) で表される。
【0147】i=0、1≦j<fならば、a
cd (0,j) は、式(157) と式(160) で定まるk,l,s,
tに対して式(174)で表される。
【0148】1≦i<e、j=0ならば、a
cd (i,0) は、式(158) と式(160) で定まるk,l,s,
tに対して式(175)で表される。
【0149】1≦i<e、1≦j<fならば、acd
(i,j) は、式(159) と式(160) で定まるk,l,s,t
に対して式(176)で表される。
【0150】
【数74】
【0151】
【数75】
【0152】
【数76】
【0153】
【数77】 式(147) の最小値を与えるベクトルxg (i,j) は、式(1
47) をxg (i,j) の各成分で偏微分した式を0とおいて
得られる式(177)で求めることができる。
【0154】
【数78】 但し、(A(i,j) T は、A(i,j) の転置行列を表す。
【0155】以上のようにして、データ点列を近似する
Bスプライン曲面S(i,j) (u, v)が生成され、その
出力がBスプライン曲面平均部302に導かれる。
【0156】次に、Bスプライン曲面平均部302にお
ける処理を説明する。
【0157】ここでは、前述のBスプライン曲面生成部
301で生成されたe×f個のBスプライン曲面のノッ
トベクトルを統合した新たなノットベクトルに対する各
曲面の制御点を求め、得られた制御点を平均して新たな
制御点とする。
【0158】Bスプライン曲面もBスプライン曲線と同
様、もとのノットベクトルのノットを全て含むノットベ
クトルに対して、形状を変えずに表現し直すことができ
る。Bスプライン曲面生成部301で生成されたe×f
個のBスプライン曲面のノットベクトルは、互いに1/
(me)乃至1/(nf)だけずれている。従って、ノ
ット間の長さが全て1/(me)のノットベクトルと1
/(nf)のノットベクトルは、前記e×f個のBスプ
ライン曲面のノットベクトルを全て含むことができる。
つまり、ノット間の長さが全て1/(me)のノットベ
クトルと全て1/(nf)のノットベクトルは、これら
の曲面のノットベクトルを結合したものになっている。
【0159】Bスプライン曲面平均部302では、Bス
プライン曲面生成部301で生成されたe×f個のBス
プライン曲面をこのノットベクトルに対して表現し直
し、得られた曲面の制御点を平均して、これを最終的な
曲面の制御点とする。以下、この処理を詳述する。
【0160】e個のノットベクトルを結合したノットベ
クトルのうち、Bスプライン曲線の定義に必要な部分
は、[−3/(me),−2/(me),−1/(m
e),0,1/(me),・・・1,1+1/(m
e),1+2/(me),1+3/(me)]であり、
f個のノットベクトルを結合したノットベクトルのう
ち、Bスプライン曲線の定義に必要な部分は、[−3/
(nf),−2/(nf),−1/(nf),0,1/
(nf),・・・1,1+1/(nf),1+2/(n
f),1+3/(nf)]である。
【0161】これらのノットベクトルに対して、Bスプ
ライン曲面生成部301で生成されたe×f個のBスプ
ライン曲面S(i,j) (u, v)は、曲線形状を変えるこ
となく、式(178)の形式で表現することができる。
【0162】
【数79】 式(178) の形式で表現したときの制御点は、式(80)(8
1)(82)(83) の制御点から線形演算で求めることができ
る。
【0163】ノット間の長さが1のノットベクトルに対
するBスプライン関数とノット間の長さが1/fのノッ
トベクトルに対するBスプライン関数との関係は、式(7
5)で与えられる。ノット間の長さが1のノットベクトル
に対するBスプライン関数とノット間の長さが1/eの
ノットベクトルに対するBスプライン関数との関係も全
く同様に与えられる。関係式の係数を式(179) で表す。
なお、係数の定義は、式(75)にて与えられているので、
ここでは省略する。
【0164】
【数80】 式(80)(81)(82)(83)と式(74) が等しいとおいて、式(1
79) の関係を用いると、式(180) のように制御点同士の
関係式が得られる。
【0165】
【数81】 最終的に出力されるBスプライン曲線の制御点{Rkl
は、式(180) で求めたRkl (i,j) から、式(181) のよう
に求められる。
【0166】
【数82】 このような処理によって、図4に示した形状の、方向性
のない滑らかな周縁形状のBスプライン曲面が生成され
る。
【0167】なお、以上の説明は、曲線、曲面の基本パ
ラメータの値を固定し、ノットベクトルを用いて複数個
のBスプライン曲線、曲面を生成した場合の例である
が、基本パラメータを種々の値に変更して複数個のBス
プライン曲線、曲面を生成するようにしても良い。
【0168】図6はこの場合の構成図であり、Bスプラ
イン曲線、Bスプライン曲面生成装置60のうち、共通
の部分を示してある。この装置60は、特徴検出手段6
1で検出したデータ点列の個々のデータ点に割り当てる
ための基本パラメータを決定する基本パラメータ決定部
601と、決定された基本パラメータの開始位置を定
め、その開始位置がゼロ値に近づくように各基本パラメ
ータの値を変更してこれを各データ点に割り当てるパラ
メータ割当部602と、パラメータが割り当てられた各
々のデータ点と曲線又は曲面周縁との距離を最小にする
複数個の制御点を導出する制御点演算処理部603と、
導出された複数個の制御点を、対応するデータ点同士の
パラメータが一致するように変更してその平均値を演算
する制御点平均処理部604とを有している。
【0169】制御点演算処理部603の出力は、図示を
省略したBスプライン曲線生成手段あるいはBスプライ
ン曲面生成手段に導かれ、各制御点に基づいてデータ点
列に近似する形状のBスプライン曲線、曲面が複数個生
成される。また、制御点平均処理部604で平均化され
る制御点は、これら複数個のBスプライン曲線、曲面に
含まれる制御点であり、その平均がとられることで新た
なBスプライン曲線、曲面が生成される。
【0170】このようにして生成されたBスプライン曲
線、曲面をCADシステム62に出力して所定の図形処
理を行う点は上述の各実施例と同様である。
【0171】
【発明の効果】以上の説明から明らかなように、本発明
のスプライン曲線、曲面の生成方法によれば、物体形状
の特徴を表すデータ点列に近似する複数個のBスプライ
ン曲線、曲面が生成された後、各Bスプライン曲線、曲
面の全体又は対応する部分の形状が平均化されるので、
方向性の無い滑らかな形状のBスプライン曲線、曲面が
生成される効果がある。
【0172】また、本発明のスプライン曲線、曲面の生
成装置によれば、複数個のノットベクトルに基づいて、
あるいは曲線、曲面の基本パラメータの値を種々変える
ことにより、物体形状の特徴を表すデータ点列に近似す
る複数個のBスプライン曲線、曲面を容易に生成するこ
とができる。これら複数個のBスプライン曲線、曲面の
形状には方向性が現れる場合があるが、Bスプライン曲
線平均手段、Bスプライン曲面平均手段にて全体又は対
応する部分の形状が平均化されるので、最終的に方向性
が相殺された滑らかなBスプライン曲線、曲面が生成さ
れる効果があり、これがCADシステムに導かれる。
【図面の簡単な説明】
【図1】本発明の原理説明図。
【図2】本発明の第1実施例に係るスプライン曲線生成
装置の構成図。
【図3】本発明の第2実施例に係るスプライン曲面生成
装置の構成図。
【図4】第1及び第2実施例の装置により生成されるB
スプライン曲線、曲面の形状を示す説明図。
【図5】従来手法により生成されるBスプライン曲線、
曲面の形状を示す説明図。
【図6】本発明の他の実施例に係るスプライン曲線、曲
面生成装置の要部構成図。
【図7】従来のスプライン曲線、曲面生成装置の要部構
成図。
【図8】本発明の課題の説明図。
【符号の説明】
21,31,61 特徴検出手段 22,32,62 CADシステム 20 スプライン曲線生成装置 201 Bスプライン曲線生成部 202 Bスプライン曲線平均部 30 スプライン曲面生成装置 301 Bスプライン曲面生成部 302 Bスプライン曲面平均部 60 Bスプライン曲線、曲面の生成装置 601 基本パラメータ決定部 602 パラメータ割当部 603 制御点演算処理部 604 制御点平均処理部

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 CADシステムで可読な形状データを生
    成するスプライン曲線生成装置で、物体の形状を表すス
    プライン曲線の生成方法において、物体から形状の特徴
    を表すデータ点列を特徴検出手段により検出する段階
    と、検出したデータ点列に対する曲線の曲率を調整する
    ための複数個の制御点を導出する段階と、導出した各制
    御点に基づいて前記データ点列に近似する複数個のBス
    プライン曲線を生成する段階と、生成された各Bスプラ
    イン曲線の全体又は対応する部分に含まれる前記制御点
    を平均化する段階と、平均化された制御点に基づいてB
    スプライン曲線を生成する段階とを有することを特徴と
    するスプライン曲線の生成方法。
  2. 【請求項2】 CADシステムで可読な形状データを生
    成するスプライン曲面生成装置で、物体の形状を表すス
    プライン曲面の生成方法において、物体から形状の特徴
    を表すデータ点列を特徴検出手段により検出する段階
    と、検出したデータ点列に対する曲面周縁の曲率を調整
    するための複数個の制御点を導出する段階と、導出した
    各制御点に基づいて前記データ点列に近似する複数個の
    Bスプライン曲面を生成する段階と、生成された各Bス
    プライン曲面の全体又は対応する部分に含まれる前記制
    御点を平均化する段階と、平均化された制御点に基づい
    てBスプライン曲面を生成する段階とを有することを特
    徴とするスプライン曲面の生成方法。
  3. 【請求項3】 物体から形状の特徴を表す複数個のデー
    タ点の列を検出する特徴検出手段と、検出したデータ点
    の列と近似する形状のBスプライン曲線を異なったノッ
    トベクトルに基づいて複数個生成するBスプライン曲線
    生成手段と、生成された複数個のBスプライン曲線の全
    体又は対応する部分の形状を平均化するBスプライン曲
    線平均手段とを有し、平均化された形状のBスプライン
    曲線をCADシステムに出力する構成であることを特徴
    とするスプライン曲線生成装置。
  4. 【請求項4】 物体から形状の特徴を表す複数個のデー
    タ点の列を検出する特徴検出手段と、検出したデータ点
    の列と近似する形状のBスプライン曲面を異なったノッ
    トベクトルに基づいて複数個生成するBスプライン曲面
    生成手段と、生成された複数個のBスプライン曲面の全
    体又は対応する部分の形状を平均化するBスプライン曲
    面平均手段とを有し、平均化された形状のBスプライン
    曲面をCADシステムに出力する構成であることを特徴
    とするスプイラン曲面生成装置。
  5. 【請求項5】 物体から形状の特徴を表すデータ点列を
    検出する特徴検出手段と、このデータ点列の個々のデー
    タ点に割り当てるための基本パラメータを決定する基本
    パラメータ決定手段と、決定された前記基本パラメータ
    の開始位置を定め、その開始位置がゼロ値に近づくよう
    に各基本パラメータの値を変更してこれを各データ点に
    割り当てるパラメータ割当手段と、パラメータが割り当
    てられた各々のデータ点と曲線の距離を最小にする複数
    個の制御点を導出し、該制御点に基づいて前記データ点
    列に近似する形状のBスプライン曲線を複数個生成する
    第1の曲線生成手段と、生成された各Bスプライン曲線
    に含まれる複数個の制御点を、対応するデータ点同士の
    パラメータが一致するように変更してその平均値に基づ
    くBスプライン曲線を生成する第2の曲線生成手段とを
    有し、この第2の曲線生成手段で生成したBスプライン
    曲線をCADシステムに出力する構成であることを特徴
    とするスプライン曲線生成装置。
  6. 【請求項6】 物体から形状の特徴を表すデータ点列を
    検出する特徴検出手段と、このデータ点列の個々のデー
    タ点に割り当てるための基本パラメータを決定する基本
    パラメータ決定手段と、決定された前記基本パラメータ
    の開始位置を定め、その開始位置がゼロ値に近づくよう
    に各基本パラメータの値を変更してこれを各データ点に
    割り当てるパラメータ割当手段と、パラメータが割り当
    てられた各々のデータ点と曲面の距離を最小にする複数
    個の制御点を導出し、該制御点に基づいて前記データ点
    列に近似する形状のBスプライン曲面を複数個生成する
    第1の曲面生成手段と、生成された各Bスプライン曲面
    に含まれる複数個の制御点を、対応するデータ点同士の
    パラメータが一致するように変更してその平均値に基づ
    くBスプライン曲面を生成する第2の曲面生成手段とを
    有し、この第2の曲面生成手段で生成したBスプライン
    曲面をCADシステムに出力する構成であることを特徴
    とするスプライン曲面生成装置。
JP6193859A 1994-07-27 1994-07-27 スプライン曲線、曲面の生成方法及び装置 Expired - Lifetime JP2728115B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6193859A JP2728115B2 (ja) 1994-07-27 1994-07-27 スプライン曲線、曲面の生成方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6193859A JP2728115B2 (ja) 1994-07-27 1994-07-27 スプライン曲線、曲面の生成方法及び装置

Publications (2)

Publication Number Publication Date
JPH0844907A JPH0844907A (ja) 1996-02-16
JP2728115B2 true JP2728115B2 (ja) 1998-03-18

Family

ID=16314946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6193859A Expired - Lifetime JP2728115B2 (ja) 1994-07-27 1994-07-27 スプライン曲線、曲面の生成方法及び装置

Country Status (1)

Country Link
JP (1) JP2728115B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107283422A (zh) * 2016-04-11 2017-10-24 南京埃斯顿自动化股份有限公司 基于离线编程的机器人加持工件打磨的轨迹规划方法
CN107357960A (zh) * 2017-06-15 2017-11-17 哈尔滨汽轮机厂有限责任公司 一种汽轮机叶片汽道型线量具中型线内背弧设计方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114217572B (zh) * 2021-12-08 2023-07-25 中国科学院数学与系统科学研究院 一种基于cam的时间样条曲面生成方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107283422A (zh) * 2016-04-11 2017-10-24 南京埃斯顿自动化股份有限公司 基于离线编程的机器人加持工件打磨的轨迹规划方法
CN107283422B (zh) * 2016-04-11 2020-01-31 南京埃斯顿自动化股份有限公司 基于离线编程的机器人加持工件打磨的轨迹规划方法
CN107357960A (zh) * 2017-06-15 2017-11-17 哈尔滨汽轮机厂有限责任公司 一种汽轮机叶片汽道型线量具中型线内背弧设计方法及装置

Also Published As

Publication number Publication date
JPH0844907A (ja) 1996-02-16

Similar Documents

Publication Publication Date Title
US6084981A (en) Image processing apparatus for performing image converting process by neural network
US20090034865A1 (en) Method for Filtering Images with Bilateral Filters
US20050175255A1 (en) Apparatus and method for correcting distortion of input image
JP4049831B2 (ja) 客体の輪郭映像検知/細線化装置及びその方法
US5093870A (en) Smoothing method and apparatus for smoothing contour of character
JPH07220061A (ja) 画像補間装置
JP2010003298A (ja) 画像フィルタリング方法
US7991240B2 (en) Methods, systems and apparatuses for modeling optical images
EP1044430A1 (en) Method and apparatus for zooming digital images
JP2728115B2 (ja) スプライン曲線、曲面の生成方法及び装置
JPH0883060A (ja) 太め細め文字生成装置
US20040156556A1 (en) Image processing method
US6026178A (en) Image processing apparatus using neural network
JPH06266747A (ja) Dct/逆dct演算装置
JP4156194B2 (ja) 第1の解像度のラスタのデジタルデータを第2の解像度のデジタルデータに変換する方法
JPH06274149A (ja) アウトラインフォントの幅変更処理方法および装置
JP2658089B2 (ja) カラー画像処理方法
Xu et al. Regular algebraic curve segments (II)—interpolation and approximation
JP3066060B2 (ja) ベゼー曲線区間の多角形近似方式
JP3766878B2 (ja) 立体データ作成方法及びそれを用いた線画レリーフ模様作成方法
WO2020129716A1 (ja) モデル学習装置、モデル学習方法、及びプログラム
WO2024185106A1 (ja) 物体検出装置及び物体検出方法
JP2000050213A5 (ja)
JP3054299B2 (ja) 画像処理装置及びその方法
JP2903175B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19971112