JPH06149913A - B−スプライン曲線および曲面の階層化方法ならびに階層的形状作成装置 - Google Patents

B−スプライン曲線および曲面の階層化方法ならびに階層的形状作成装置

Info

Publication number
JPH06149913A
JPH06149913A JP4322544A JP32254492A JPH06149913A JP H06149913 A JPH06149913 A JP H06149913A JP 4322544 A JP4322544 A JP 4322544A JP 32254492 A JP32254492 A JP 32254492A JP H06149913 A JPH06149913 A JP H06149913A
Authority
JP
Japan
Prior art keywords
vector
control point
storage means
hierarchy
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.)
Withdrawn
Application number
JP4322544A
Other languages
English (en)
Inventor
Mamoru Hashimoto
守 橋本
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4322544A priority Critical patent/JPH06149913A/ja
Publication of JPH06149913A publication Critical patent/JPH06149913A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】 B−スプライン曲線および曲面の形状作成に
おいて、大域的形状の作成と局所的形状の作成を任意の
時点で切り替えておこなうことで、形状作成を効率化す
る。 【構成】 階層化する曲線301の制御点307に対し
て細分前の制御点303と304を基準点として選び、
第1ベクトル311は、2個の基準点303,304の
位置ベクトル、から求め、第2ベクトル313は第1ベ
クトル311に垂直ベクトルとして、制御点307を点
309に移動した際には、点307から点309に向か
うベクトル310を、ベクトル311方向の成分ベクト
ル312と、ベクトル313方向の成分ベクトル314
に分解し、ベクトル312がベクトル311のs倍、ベ
クトル314がベクトル313のt倍だったとすると、
このs,tを階層データとして保存する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、グラフィックデザイン
・コンピュータグラフィックス・CAD(コンピュータ
・エイディッド・デザイン)において図形の表現に用い
られる、B−スプライン曲線および曲面の階層化方法な
らびに階層的形状作成装置に関する。
【0002】
【従来の技術】グラフィックデザイン・コンピュータグ
ラフィックス、CAD(コンピュータ・エイディッド・
デザイン)において、滑らかな図形を表現するために、
B−スプライン曲線・曲面が広く用いられている。
【0003】まず、B−スプライン曲線・曲面の表現方
法と制御点を用いた変形方法を説明する。以下では、簡
単のためのB−スプラインの次数が3であるとして説明
する。また、曲面特有の事情を説明する場合以外は、曲
線の場合のみを説明する。
【0004】B−スプライン曲線・曲面は、B−スプラ
イン関数と、制御点と呼ばれる点のベクトルとの積和と
して式(1),(2)のように表される。
【数1】
【数2】
【0005】ここで、B−スプライン曲線・曲面のパラ
メータの範囲はそれぞれt3 ≦t≦tn ,u3 ≦u≦u
m ,v3 ≦v≦vn であり、B−スプライン曲線・曲面
は、ノットと呼ばれるパラメータの区切りの集合
[t0 ,t1 ,…,tn+3 ]、[u0 ,u1 ,…,u
m+3 ]、[v0 ,v1 ,…,vn+3 ](これらをノット
ベクトルと呼ぶ)に対して定められる。Bi (t),C
i (u),Dj (v)は3次のB−スプライン関数であ
り、5個のノット[ti ,ti+1 ,ti+2 ,ti+3 ,t
i+4 ](または[ui ,ui+1 ,ui+2 ,ui+3 ,u
i+4 ]、[vi ,vi+1 ,vi+2 ,vi+3 ,vi+4 ])
に対して区分的多項式として式(3)のように表される
2 級の関数である。
【数3】 ここでは[ti ,ti+1 ,ti+2 ,ti+3 ,ti+4 ]に
関して表してあるが、[ui ,ui+1 ,ui+2
i+3 ,ui+4 ]、[vi ,vi+1 ,vi+2 ,vi+3
i+4 ]に対しても全く同様である。
【0006】次に、B−スプライン曲線の部分について
説明する。B−スプライン曲線は、形状をそのまま保ち
ながら、ノットを増加させることで制御点を増加させ、
より細部の変形がおこなえるようにできる。すなわち、
式(1)で表される曲線が式(4)
【数4】
【0007】{Qj }を{Pi }から計算する細分アル
ゴリズムは、オスロアルゴリズムとして知られている。
ここでは、エスアイエーエム・ジャーナル・オブ・ニュ
ーメリカル・アナリシス(SIAM Journal
of NumericalAnalysis)23巻、
3号、1986年、663ページから675ページで紹
介されている方法を説明する。
【0008】まず、jに対してti ≦τj <ti+1 とな
るiを求める。τj+1 ,τj+2 ,τj+3 =z1 (r
1 個),…,zn ,…,zn (rn 個)(ただしz1
…<zn )であったとし、zR が[t0 ,t1 ,…,t
n+3 ]に現れる回数をsR 回としたときに、新ノットξ
1 ,…,ξv =z1 ,…,z1 (v1 個)…,zn
…,zn (vn 個)(ただしvR =max(rR −sR
0)と番号μをi−min(r1 ,s1 )(τj =τ
j+1 のとき)、j(τj <τj+1のとき)で定める。
【数5】
【0009】さて、このようにして制御点を増加させる
ことで、より細部の変形ができるようになるが、半面、
変形範囲が細分前より小さくなるために、大域的な形状
変更をおこなうときには、細分前よりも多数の制御点を
動かさなければならなくなる。そこで細分前の変形範囲
をもつ制御点を用意しておき、大域的な形状変更がおこ
なえるようにすることで試行錯誤を支援し、形状作成を
効率化できると考えられる。
【0010】従来のB−スプライン曲面の階層化手法と
して、コンピュータ・グラフィックス(Compute
r Graphics)22巻、4号、205ページか
ら212ページで提案されている手法を図5を参照して
説明する。曲線の場合について説明するが、曲面の場合
も全く同様である。
【0011】この手法では、細分後の制御点を、細分前
の曲線上に定めた座標系に関する成分として表現する。
【0012】ここでは、曲線の細分前のノットベクトル
は[00002222]、細分後のノットベクトルは
[000012222]であったとする。曲線501
を、細分前は式(6)で表し、細分後は式(7)で表
す。
【数6】
【数7】 このとき、507から509への変位513は、点51
0における曲線501の接線511方向の成分と法線5
12方向の成分に分解される。そして、曲線501に細
分前の制御点502,503,504,505により変
形が加えられたときには、点510における接線と法線
が再計算され、上記の方法で記録されているデータから
2 の位置が計算される。
【0013】
【発明が解決しようとする課題】第1に、上記の階層化
手法では、曲線を階層化したあとでは細分前の制御点が
影響を及ぼす範囲が広がってしまう。実際、上記の例で
は、曲線404の点403における接ベクトルは式
(8)で計算される。
【数8】 ところで、上述したオスロアルゴリズムによれば、曲線
404を細分したときに計算されるQ2 は式(9)
【数9】 で表されるので、上記の方法で曲線を階層化したとき、
細分後の制御点{Qj}は階層化する以前よりも多くの
細分前の制御点{Pi }に依存することになる。逆に言
うと、階層化することで、細分前の制御点{Pi }を動
かしたときに変化する曲線の範囲が広がってしまい、B
−スプライン曲線の特徴である変形の局所性を損なう。
【0014】第2に、上記の階層化手法では、細分後の
制御点{Qj }について、移動前の位置(オスロアルゴ
リズムで計算される位置、ここでは基本位置と呼ぶ)か
ら移動後の位置までのベクトルの長さをそのままにして
いるため、細分前の制御点を用いて、全体的に寸法を変
えるような変形をおこなったときに、縮小すると変形し
た部分同士が衝突し、拡大すると変形した部分が相対的
に目立たなくなるので、変形する前の曲線の形状の印象
を保存することができない。
【0015】本発明は、階層化したB−スプライン曲線
・曲面の大域的な形状変更の範囲を保ち、また、制御点
を用いた縮小・拡大変形に対して曲面の形状の印象をよ
りよく保存する、B−スプライン曲線・曲面の階層化方
法および階層的形状生成装置を提供することを目的とす
る。
【0016】
【課題を解決するための手段】本発明のB−スプライン
曲線階層化方法は、平面上にあり、次数が3以下である
B−スプライン曲線を細分して、細分後の曲線のデータ
を、細分前の曲線の制御点と、細分後の曲線の各制御点
の、前記細分前の制御点から細分アルゴリズムによって
計算される基本位置からの、変位とで表現する際に、細
分後の曲線の各制御点に対し、2個の基準点を、前記基
本位置を前記細分アルゴリズムを用いて計算するのに必
要な細分前の曲線の制御点の数が、1個のときはこの点
とこの点に隣接する細分前の曲線の制御点、2個のとき
はこれらの2個の点、3個のときはこれらの3個の点の
両端の2個の点であると定め、前記変位を前記の2個の
基準点から計算される第1ベクトルとこのベクトルに垂
直な第2ベクトルの一次結合で表現したときの係数とし
て保存する。
【0017】第1ベクトルは2個の基準点を結ぶベクト
ルとし、第2ベクトルは第1ベクトルと同じ長さのもの
とすることができる。また、第1ベクトルは2個の基準
点を結ぶベクトルとし、第2ベクトルは単位ベクトルと
することもできるし、第1ベクトルは2個の基準点を結
ぶベクトルを単位化したベクトルとし、第2ベクトルも
単位ベクトルとすることもできる。
【0018】本発明のB−スプライン曲線階層化手法
は、2個のパラメータu,vの各々に関して次数が3以
下であるB−スプライン曲面を細分して、細分後の曲面
のデータを、細分前の制御点と、細分後の曲面の各制御
点の、u,v方向にそれぞれに細分アルゴリズムを適用
して計算される基本位置からの、変位とで表現する際
に、細分後の曲面の各制御点に対し、2個のu−基準点
を、前記細分をv方向に細分アルゴリズムを適用した後
にu方向に細分アルゴリズムを適用したものとするとき
に、v方向に細分アルゴリズムを適用した時点で得られ
るu−中間点から選ばれる2個の点とし、2個のv−基
準点を、前記細分をu方向に細分アルゴリズムを適用し
た後にv方向に細分アルゴリズムを適用したものとする
ときに、u方向に細分アルゴリズムを適用した時点で得
られるv−中間点から選ばれる2個の点とするが、前記
u−基準点またはv−基準点は、u方向またはv方向に
細分アルゴリズムを適用して前記基本位置を計算するの
に必要な前記u−中間点または前記v−中間点の数が、
1個のときはこの点とこの点に隣接するu−中間点また
はv−中間点とし、2個のときはこれらの2個の点と
し、3個のときはこれらの点の両端の2個の点として、
前記変位を、u−基準点から計算される第1ベクトル
と、v−基準点から計算される第2ベクトルと、前記第
1ベクトルおよび前記第2ベクトルに垂直な第3ベクト
ルとの一次結合で表現したときの係数として保存する。
【0019】第1ベクトルは2個のu−基準点を結ぶベ
クトルとし、第2ベクトルを2個のv−基準点を結ぶベ
クトルとして、第3ベクトルを単位ベクトルとすること
ができる。また、第1ベクトルは2個のu−基準点を結
ぶベクトルを単位化したベクトルとし、第2ベクトルは
2個のv−基準点を結ぶベクトルを単位化したベクトル
とし、第3ベクトルを単位ベクトルとすることもでき
る。
【0020】本発明のB−スプライン曲線の階層的形状
作成装置は、制御点の階層を記憶する制御点階層記憶手
段と操作者の指示で前記制御点階層記憶手段を書き換え
る制御点階層変更手段と、選択・移動の対象である階層
の各制御点の座標値を記憶する制御点記憶手段と、制御
点を選択する制御点選択手段と、階層化した曲線のデー
タを記憶する階層データ記憶手段と、選択・移動の対象
である階層の一つ上の階層の制御点を前記制御点階層記
憶手段と前記階層データ記憶手段から計算する上位階層
制御点計算手段と、該上位階層計算手段で計算された上
位階層の制御点を記憶する上位階層制御点記憶手段と、
前記制御点階層記憶手段から選択・移動対象である階層
の各制御点に対する2個の基準点の番号を計算する基準
点番号計算手段と、該基準点番号計算手段で計算された
各制御点に対する2個の基準点の番号を記憶する基準点
番号記憶手段と、前記制御点階層記憶手段と前記基準点
番号記憶手段と前記上位階層制御点記憶手段から各制御
点の第1ベクトルを計算する第1ベクトル計算手段と、
該第1ベクトル計算手段で計算された各制御点の第1ベ
クトルを記憶する第1ベクトル記憶手段と、前記制御点
階層記憶手段と前記第1ベクトル記憶手段から各制御点
の第2ベクトルを計算する第2ベクトル計算手段と、該
第2ベクトル計算手段で計算された各制御点の第2ベク
トルを記憶する第2ベクトル記憶手段と、選択・移動の
対象である階層の各制御点の基本位置を前記制御点階層
記憶手段と前記上位階層制御点記憶手段から計算する基
本位置計算手段と、該基本位置計算手段で計算された各
制御点の基本位置を記憶する基本位置記憶手段と、前記
制御点階層記憶手段と前記制御点番号記憶手段と前記制
御点記憶手段と前記第1ベクトル記憶手段と前記第2ベ
クトル記憶手段と前記基本位置記憶手段とから選択され
た制御点のその基本位置からの変位を第1ベクトルと第
2ベクトルの一次結合で表したときの係数をその制御点
の階層データとして前記階層データ記憶手段を更新する
制御点データ階層化手段と、選択・移動の対象である階
層の各制御点の座標値を前記制御点階層記憶手段と前記
階層データ記憶手段とから計算して前記制御点記憶手段
を更新する制御点計算手段と、表示する曲線の階層を記
憶する表示曲線階層記憶手段と、操作者の指示で表示す
る曲線の階層を変更し前記表示曲線階層記憶手段を更新
する表示曲線階層更新手段と、前記表示曲線階層記憶手
段と前記階層データ記憶手段とから表示する曲線のデー
タを計算する表示曲線データ計算手段と、前記表示曲線
データ計算手段で計算された表示曲線のデータを記憶す
る表示曲線データ記憶手段と、前記制御点記憶手段と前
記表示曲線データ記憶手段とから選択・移動の対象であ
る制御点と指定された階層の曲線を表示する表示手段と
からなる。
【0021】第1ベクトル計算手段では、各制御点に対
して第1ベクトルを2個の基準点の位置ベクトルの差の
ベクトルとし、第2ベクトル計算手段では、各制御点に
対して第2ベクトルを第1ベクトルに垂直で同じ長さの
ベクトルとすることができる。
【0022】また、第1ベクトル計算手段では、各制御
点に対して第1ベクトルを2個の基準点の位置ベクトル
の差のベクトルとし、第2ベクトル計算手段では、各制
御点に対して第2ベクトルを第1ベクトルに垂直な単位
ベクトルとすることもできるし、第1ベクトルの計算手
段では、各制御点に対して第1ベクトルを2個の基準点
の位置ベクトルの差のベクトルを単位化したベクトルと
し、第2ベクトル計算手段では、各制御点に対して第2
ベクトルを第1ベクトルに垂直な単位ベクトルとするこ
ともできる。
【0023】本発明のB−スプライン曲面の階層的形状
作成装置は、制御点の階層を記憶する制御点階層記憶手
段と、操作者の指示で前記制御点階層記憶手段を書き換
える制御点階層変更手段と、選択・移動の対象である階
層の各制御点の座標値を記憶する制御点記憶手段と、制
御点を選択する制御点選択手段と、該制御点選択手段で
選択された制御点の番号を記憶する制御点番号記憶手段
と、階層化した曲線のデータを記憶する階層データ記憶
手段と、選択・移動の対象である階層の一つ上の階層の
制御点を前記制御点階層記憶手段と前記階層データ記憶
手段から計算する上位階層制御点計算手段と、該上位階
層計算手段で計算された上位階層の制御点を記憶する上
位階層制御点記憶手段と、該上位階層制御点記憶手段に
記憶されている上位階層の制御点のv方向に細分アルゴ
リズムを作用させてu−中間点を計算するu−中間点計
算手段と、該u−中間点計算手段で計算されたu−中間
点を記憶するu−中間点記憶手段と、前記上位階層制御
点記憶手段に記憶されている上位階層の制御点のu方向
に細分アルゴリズムを作用させてv−中間点を計算する
v−中間点計算手段と、該v−中間点計算手段で計算さ
れたv−中間点を記憶するv−中間点記憶手段と、前記
制御点階層記憶手段から選択・移動対象である階層の各
制御点に対する2個のu−基準点の番号を計算するu−
基準点番号計算手段と、該u−基準点番号計算手段で計
算された各制御点に対する2個のu−基準点の番号を記
憶するu−基準点番号記憶手段と、前記制御点階層記憶
手段から選択・移動対象である階層の各制御点に対する
2個のv−基準点の番号を計算するv−基準点番号計算
手段と、該v−基準点番号計算手段で計算された各制御
点に対する2個のv−基準点の番号を記憶するv−基準
点番号記憶手段と、前記制御点階層記憶手段と前記u−
基準点番号記憶手段と前記u−中間点記憶手段から各制
御点の第1ベクトルを計算する第1ベクトル計算手段
と、該第1ベクトル計算手段で計算された各制御点の第
1ベクトルを記憶する第1ベクトル記憶手段と、前記制
御点階層記憶手段と前記v−基準点番号記憶手段と前記
v−中間点記憶手段から各制御点の第2ベクトルを計算
する第2ベクトル計算手段と、該第2ベクトル計算手段
で計算された各制御点の第2ベクトルを記憶する第2ベ
クトル記憶手段と、前記制御点階層記憶手段と前記第1
ベクトル記憶手段と前記第2ベクトル記憶手段から各制
御点の第3ベクトルを第1ベクトルと第2ベクトルに垂
直な単位ベクトルとする第3ベクトル計算手段と、該第
3ベクトル計算手段で計算された各制御点の第3ベクト
ルを記憶する第3ベクトル記憶手段と、選択・移動の対
象である階層の各制御点の基本位置を前記制御点階層記
憶手段と前記上位階層制御点記憶手段から計算する基本
位置計算手段と、該基本位置計算手段で計算された各制
御点の基本位置を記憶する基本位置記憶手段と、前記制
御点階層記憶手段と前記制御点番号記憶手段と前制御点
記憶手段と前記第1ベクトル記憶手段と前記第2ベクト
ル記憶手段と前記第3ベクトル記憶手段と前記基本位置
記憶手段とから選択された制御点のその基本位置からの
変位を第1ベクトルと第2ベクトルと第3ベクトルの一
次結合で表したときの係数をその制御点の階層データと
して前記階層データ記憶手段を更新する制御点データ階
層化手段と、選択・移動の対象である階層の各制御点の
座標値を前記制御点階層記憶手段と前記階層データ記憶
手段とから計算して前記制御点記憶手段を更新する制御
点計算手段と、表示する曲面の階層を記憶する表示曲面
階層記憶手段と、操作者の指示で表示する曲面の階層を
変更し前記表示曲面階層記憶手段を更新する表示曲面階
層更新手段と、前記表示曲面階層記憶手段と前記階層デ
ータ記憶手段とから表示する曲面のデータを計算する表
示曲面データ計算手段と、前記表示曲面データ計算手段
で計算された表示曲面のデータを記憶する表示曲面デー
タ記憶手段と、前記制御点記憶手段と前記表示曲面デー
タ記憶手段とから選択・移動の対象である制御点と指定
された階層の曲面を表示する表示手段とからなる。
【0024】第1ベクトル計算手段では、各制御点に対
して第1ベクトルを2個のu−基準点の位置ベクトルの
差のベクトルとし、第2ベクトル計算手段では、各制御
点に対して第1ベクトルを2個のu−基準点の位置ベク
トルの差のベクトルとすることができる。
【0025】また、第1ベクトル計算手段では、各制御
点に対して第1ベクトルを2個のu−基準点の位置ベク
トルの差のベクトルを単位化したベクトルとし、第2ベ
クトル計算手段では、各制御点に対して第1ベクトルを
2個のu−基準点の位置ベクトルの差のベクトルを単位
化したベクトルとすることもできる。
【0026】
【作用】階層化後に、大域的形状を変更する制御点の影
響の及ぶ範囲を広げないためには、細分後の制御点の基
本位置からの変位を表すのに、基本位置を計算する際に
必要な細分前の制御点のみを用いることが望ましい。ま
た、大域的形状の変更において形状の印象を保つために
は、座標系の成分としてではなく、細分前の制御点間の
距離に依存する量として保存することが必要と考えられ
る。
【0027】以上の用件を満たすために、本発明は以下
のように作用する。 1.細分後の制御点の基本位置からの変位は、基本位置
をオスロアルゴリズムによって計算するのに必要なだけ
の細分前の制御点2個(これらを基準点と呼ぶ)によっ
て表現する。 2.上記変位は、基準点から計算される第1ベクトル
と、それに垂直な第2ベクトル(曲面の場合はu,v方
向各々の基準点から計算される第1、第2ベクトル、そ
れらに垂直な第3ベクトル)の一次結合で表現した際の
係数として保存する。
【0028】本発明の曲線の場合における作用を図3を
参照して説明する。簡単のため、曲線301は、ノット
ベクトル[00002222]と、制御点302,30
3,304,305で表現されており、曲線301の細
分は、ノットを挿入してノットベクトルを[00001
2222]にするものとする。オスロアルゴリズムを用
いて、制御点302,306,307,308,305
が求められる。
【0029】この場合、制御点307は、細分の方法か
ら、基本位置を計算するのに必要な細分前の制御点は、
点303と点304の2個である。したがって、基準点
としては、この2個をそのまま用いる。
【0030】制御点307の第1ベクトルは、2個の基
準点303,304の位置ベクトルの差をとったベクト
ル311とし、第2ベクトル313は第1ベクトル31
1を、ここでは簡単のため時計まわりに90度回転させ
たベクトルとする。
【0031】制御点307を点309に移動した際に
は、点307から点309に向かうベクトル310を、
ベクトル311方向の成分ベクトル312と、ベクトル
313方向の成分ベクトル314に分解し、ベクトル3
12がベクトル311のs倍、ベクトル314がベクト
ル313のt倍だったとすると、このs,tを階層デー
タとして保存する。
【0032】このように階層データをとることで、細分
前の制御点302,303,304,305を移動させ
ることで曲線全体を縮小・拡大変形しても、階層化した
部分も曲線全体の大きさに比例して縮小・拡大するの
で、形状の印象を、従来手法に比較してよりよく保存す
る。また、第1ベクトル311は上述の方法で、第2ベ
クトル313は第1ベクトル311を時計まわりまたは
反時計まわりに90度回転させたベクトルを単位化(長
さを1にする)したベクトルとすれば、階層化した部分
同士が衝突することは避けられる。さらに、第1ベクト
ル311は上述の方法で求めたベクトルを単位化したベ
クトル、第2ベクトル313は第1ベクトル311を時
計まわりまたは反時計まわりに90度回転させたベクト
ルとしても、細分前の制御点の移動による変形範囲が広
がってしまうことは避けられる。
【0033】本発明の曲面の場合における作用を、図4
を参照して説明する。ここでは簡単のため、細分前の曲
面の制御点は16個、2つのパラメータのノットベクト
ルは共に[00002222]であって、細分は、2つ
のパラメータのノットベクトルにノットを1つずつ挿入
して[000012222]とするものとする。
【0034】図4(A)は、16個の制御点を模式的に
表したものである。細分においては、2つのパラメータ
u,vの方向のそれぞれに対して上述の曲線の場合の細
分をおこなうが、図4(B)はv方向にオスロアルゴリ
ズムを適用して計算したu−中間点、図4(C)はu方
向にオスロアルゴリズムを適用して計算したv−中間
点、図4(D)は細分後の制御点を図示したものであ
る。
【0035】この場合、オスロアルゴリズムを用いて制
御点473の基本位置を計算するのに必要なu−中間点
は430と431、v−中間点は448と453であ
り、これらを制御点473の基準点と定める。
【0036】曲線の場合と同様に、u方向、v方向の基
準点から第1、第2ベクトルを計算する方法は、2個の
基準点の位置ベクトルの差をとったベクトルとし、第3
ベクトルは、第1、第2ベクトルに垂直な単位ベクトル
とすれば、階層化した部分同士が衝突するのは避けられ
る。また、第1、第2ベクトルを両方とも単位ベクトル
としても、細分前の制御点の移動による変形範囲が広が
ってしまうことは避けられる。
【0037】
【実施例】本発明のB−スプライン曲線の階層的形状作
成装置の第1の実施例を図1を参照して説明する。
【0038】このB−スプライン曲線の階層的形状生成
装置は、制御点の階層を記憶する制御点階層記憶手段1
01と、操作者の指示で制御点階層記憶手段101を書
き換える制御点階層変更手段102と、選択・移動の対
象である階層の各制御点の座標値を記憶する制御点記憶
手段103と、制御点を選択する制御点選択手段104
と、制御点選択手段104で選択された制御点の番号を
記憶する制御点番号記憶手段105と、制御点番号記憶
手段105に記憶されている制御点に対して操作者が指
示した量の変更を与えて制御点記憶手段103を更新す
る制御点移動手段106と、階層化した曲線のデータを
記憶する階層データ記憶手段107と、選択・移動の対
象である階層の一つ上の階層の制御点を前記制御点階層
記憶手段101と階層データ記憶手段107から計算す
る上位階層制御点計算手段108と、上位階層計算手段
108で計算された上位階層の制御点を記憶する上位階
層制御点記憶手段109と、制御点階層記憶手段101
から選択・移動対象である階層の各制御点に対する2個
の基準点の番号を計算する基準点番号計算手段110
と、基準点番号計算手段110で計算された各制御点に
対する2個の基準点の番号を記憶する基準点番号記憶手
段111と、制御点階層記憶手段101と基準点番号記
憶手段111と上位階層制御点記憶手段109から各制
御点の第1ベクトルを計算する第1ベクトル計算手段1
12と、第1ベクトル計算手段112で計算された各制
御点の第1ベクトルを記憶する第1ベクトル記憶手段1
13と、制御点階層記憶手段101と第1ベクトル記憶
手段113から各制御点の第2ベクトルを計算する第2
ベクトル計算手段114と、第2ベクトル計算手段11
4で計算された各制御点の第2ベクトルを記憶する第2
ベクトル記憶手段115と、選択・移動の対象である階
層の各制御点の基本位置を前記制御点階層記憶手段10
1と上位階層制御点記憶手段109から計算する基本位
置計算手段116と、該基本位置計算手段116で計算
された各制御点の基本位置を記憶する基本位置記憶手段
117と、制御点階層記憶手段101と制御点番号記憶
手段105と制御点記憶手段103と第1ベクトル記憶
手段113と第2ベクトル記憶手段115と基本位置記
憶手段117とから選択された制御点のその基本位置か
らの変位を第1ベクトルと第2ベクトルの一次結合で表
したときの係数をその制御点の階層データとして階層デ
ータ記憶手段107を更新する制御点データ階層化手段
118と、選択・移動の対象である階層の各制御点の座
標値を制御点階層記憶手段101と階層データ記憶手段
107とから計算して制御点記憶手段103を更新する
制御点計算手段119と、表示する曲線の階層を記憶す
る表示曲線階層記憶手段120と、操作者の指示で表示
する曲線の階層を変更し表示曲線階層記憶手段120を
更新する表示曲線階層更新手段121と、表示曲線階層
記憶手段120と階層データ記憶手段107とから表示
する曲線のデータを計算する表示曲線データ計算手段1
22と、表示曲線データ計算手段122で計算された表
示曲線のデータを記憶する表示曲線データ記憶手段12
3と、制御点記憶手段103と表示曲線データ記憶手段
123とから選択・移動の対象である制御点と指定され
た階層の曲線を表示する表示手段124とから構成され
る。
【0039】このB−スプライン曲線の階層的形状生成
装置の動作を、操作者による操作と内部の処理とを関連
させながら説明する。
【0040】操作者は、CRTディスプレイ等に表示手
段124によって表示された、曲線と制御点の絵を見な
がら、マウス等の入力機器により制御点の選択と移動を
制御点選択手段104と制御点移動手段106に伝え
る。
【0041】制御点選択手段104は、伝えられた制御
点の番号を制御点番号記憶手段105に記憶させる。そ
して、制御点移動手段106は、伝えられた移動量を用
いて、制御点番号記憶手段105を参照して、制御点記
憶手段103に記憶されている選択された制御点の座標
値を更新する。
【0042】一方、階層データ記憶手段107に記憶さ
れている曲線の階層化データと 制御点階層記憶手段1
01によって、上位階層制御点計算手段108は、制御
点階層記憶手段101に保存されている階層(すなわち
表示手段124により表示されており、制御点選択手段
104と制御点移動手段106による選択と移動を受け
る階層)よりも一つ上の階層の制御点を計算しておく。
この上位階層制御点計算手段108では、最上位の制御
点から、指定されている階層の一つ上の階層まで、オス
ロアルゴリズムにより階層の一つ下の制御点の基本位置
を計算し、後述する基準点番号計算手段110と第1ベ
クトル計算手段112と第2ベクトル計算手段114と
同様の処理で第1ベクトルと第2ベクトルを計算し、後
述する制御点データ階層化手段118の逆の処理をおこ
なって階層データから制御点データを計算することを繰
り返す。
【0043】また、制御点階層記憶手段101に記憶さ
れている階層における制御点のおのおのについて、変位
を表すのに必要な、基準点の番号を基準点番号計算手段
110では計算する。そして、その結果は基準点番号記
憶手段111に記憶する。
【0044】第1ベクトル計算手段112では、上位階
層制御点記憶手段109に記憶されている上位階層の制
御点から、基準点番号記憶手段111を参照し、細分ア
ルゴリズムを適用して各制御点の基準点を選択し、この
2点の基準点の位置ベクトルの差を第1ベクトルを計算
して、第1ベクトル記憶手段113に記憶する。
【0045】第2ベクトル計算手段114は、第1ベク
トル記憶手段113に記憶されている第1ベクトルが式
(10)で表されるベクトルであった場合、式(11)
で表されるベクトルを第2ベクトルとし、第2ベクトル
記憶手段115に記憶する。 (a,b) (10) (−b,a) (11)
【0046】基本位置計算手段116は、制御点階層記
憶手段101を参照して、上位階層制御点記憶手段10
9に記録されている上位階層の制御点にオスロアルゴリ
ズムを適用することで、選択・移動対象の階層の制御点
の基本位置を計算し、基本位置記憶手段117に記憶す
る。
【0047】制御点データ階層化手段118は、制御点
番号記憶手段105を参照して、制御点記憶手段103
中の変化があったものについて、制御点記憶手段103
の座標値と基本位置記憶手段117に記憶されている基
本位置からの変位を求め、それを第1ベクトル記憶手段
113から選んだ第1ベクトルと、第2ベクトル記憶手
段115から選んだ第2ベクトルの線形結合として表現
したときの係数を求め、階層データ記憶手段107に記
録する。
【0048】また、表示する制御点、曲線の階層を、キ
ーボード等の入力機器から制御点階層変更手段102と
表示曲線階層更新手段121に伝える。制御点階層変更
手段102は制御点階層記憶手段101に記憶されてい
る制御点の階層を更新する。制御点階層記憶手段101
が更新されると、制御点計算手段119が階層データ記
憶手段107から、この階層の制御点を計算し、制御点
記憶手段103を更新する。表示曲線階層更新手段12
1で更新された表示曲線階層記憶手段120を参照し
て、表示曲線データ計算手段122が階層データ記憶手
段107から、表示用の曲線データを計算し、表示曲線
データ記憶手段123を更新する。
【0049】そして、表示手段124が更新された制御
点記憶手段103と表示曲線データ記憶手段123を参
照して、CRTディスプレイ等の出力機器に表示する。
【0050】本発明のB−スプライン曲線の階層的形状
作成装置の第2の実施例は、第1ベクトル計算手段11
2における第1ベクトル計算の処理に、さらに長さを1
にする処理を加えたもので、他は第1の実施例と同様で
あるので、詳細は省略する。
【0051】本発明のB−スプライン曲面の階層的形状
作成装置の第1の実施例を図2を参照して説明する。こ
のB−スプライン曲面の階層的形状作成装置は、制御点
の階層を記憶する制御点階層記憶手段201と、操作者
の指示で制御点階層記憶手段201を書き換える制御点
階層変更手段202と、選択・移動の対象である階層の
各制御点の座標値を記憶する制御点記憶手段203と、
制御点を選択する制御点選択手段204と、制御点選択
手段204で選択された制御点の番号を記憶する制御点
番号記憶手段205と、制御点番号記憶手段205に記
憶されている制御点に対して操作者が指示した量の変更
を与えて制御点記憶手段203を更新する制御点移動手
段206と、階層化した曲線のデータを記憶する階層デ
ータ記憶手段207と、選択・移動の対象である階層の
一つ上の階層の制御点を制御点階層記憶手段201と階
層データ記憶手段207から計算する上位階層制御点計
算手段208と、上位階層計算手段208で計算された
上位階層の制御点を記憶する上位階層制御点記憶手段2
09と、制御点階層記憶手段201を参照し上位階層制
御点記憶手段209に記憶されている上位階層の制御点
のv方向に細分アルゴリズムを作用させてu−中間点を
計算するu−中間点計算手段210と、u−中間点計算
手段210で計算されたu−中間点を記憶するu−中間
点記憶手段211と、制御点階層記憶手段201を参照
し上位階層制御点記憶手段209に記憶されている上位
階層の制御点のu方向に細分アルゴリズムを作用させて
v−中間点を計算するv−中間点計算手段212と、v
−中間点計算手段212で計算されたv−中間点を記憶
するv−中間点記憶手段213と、制御点階層記憶手段
201から選択・移動対象である階層の各制御点に対す
る2個のu−基準点の番号を計算するu−基準点番号計
算手段214と、u−基準点番号計算手段214で計算
された各制御点に対する2個のu−基準点の番号を記憶
するu−基準点番号記憶手段215と、制御点階層記憶
手段201から選択・移動対象である階層の各制御点に
対する2個のv−基準点の番号を計算するv−基準点番
号計算手段216と、v−基準点番号計算手段216で
計算された各制御点に対する2個のv−基準点の番号を
記憶するv−基準点番号記憶手段217と、制御点階層
記憶手段201とu−基準点番号記憶手段215とu−
中間点記憶手段211から各制御点の第1ベクトルを計
算する第1ベクトル計算手段218と、第1ベクトル計
算手段218で計算された各制御点の第1ベクトルを記
憶する第1ベクトル記憶手段219と、制御点階層記憶
手段201とv−基準点番号記憶手段217とv−中間
点記憶手段213から各制御点の第2ベクトルを計算す
る第2ベクトル計算手段220と、第2ベクトル計算手
段220で計算された各制御点の第2ベクトルを記憶す
る第2ベクトル記憶手段221と、制御点階層記憶手段
201と第1ベクトル記憶手段219と第2ベクトル記
憶手段221から各制御点の第3ベクトルを第1ベクト
ルと第2ベクトルに垂直な単位ベクトルとする第3ベク
トル計算手段222と、第3ベクトル計算手段222で
計算された各制御点の第3ベクトルを記憶する第3ベク
トル記憶手段223と、選択・移動の対象である階層の
各制御点の基本位置を制御点階層記憶手段201と上位
階層制御点記憶手段209から計算する基本位置計算手
段224と、基本位置計算手段224で計算された各制
御点の基本位置を記憶する基本位置記憶手段225と、
制御点階層記憶手段201と制御点番号記憶手段205
と前制御点記憶手段203と第1ベクトル記憶手段21
9と第2ベクトル記憶手段221と第3ベクトル記憶手
段223と基本位置記憶手段225とから選択された制
御点のその基本位置からの変位を第1ベクトルと第2ベ
クトルと第3ベクトルの一次結合で表したときの係数を
その制御点の階層データとして階層データ記憶手段20
7を更新する制御点データ階層化手段226と、選択・
移動の対象である階層の各制御点の座標値を制御点階層
記憶手段205と階層データ記憶手段207とから計算
して制御点記憶手段203を更新する制御点計算手段2
27と、表示する曲面の階層を記憶する表示曲面階層記
憶手段228と、操作者の指示で表示する曲面の階層を
変更し表示曲面階層記憶手段228を更新する表示曲面
階層更新手段229と、表示曲面階層記憶手段228と
階層データ記憶手段207とから表示する曲面のデータ
を計算する表示曲面データ計算手段230と、表示曲面
データ計算手段230で計算された表示曲面のデータを
記憶する表示曲面データ記憶手段231と、制御点記憶
手段203と表示曲面データ記憶手段231とから選択
・移動の対象である制御点と指定された階層の曲面を表
示する表示手段232とから構成される。
【0052】このB−スプライン曲面の階層的形状生成
装置の動作を、操作者による操作と内部の処理とを関連
させながら説明する。
【0053】操作者は、CRTディスプレイ等に表示手
段232によって表示された、曲面と制御点の絵を見な
がら、マウス等の入力機器により制御点の選択と移動を
制御点選択手段204と制御点移動手段206に伝え
る。
【0054】制御点選択手段204は、伝えられた制御
点の番号を制御点番号記憶手段205に記憶させる。そ
して、制御点移動手段206は、伝えられた移動量を用
いて、制御点番号記憶手段205を参照して、制御点記
憶手段203に記憶されている選択された制御点の座標
値を更新する。
【0055】一方、階層データ記憶手段207に記憶さ
れている曲線の階層化データと 制御点階層記憶手段2
01によって、上位階層制御点計算手段208は、制御
点階層記憶手段201に保存されている階層(すなわち
表示手段232により表示されており、制御点選択手段
204と制御点移動手段206による選択と移動を受け
る階層)よりも一つ上の階層の制御点を計算しておく。
この上位階層制御点計算手段208では、最上位の制御
点から、指定されている階層の一つ上の階層まで、オス
ロアルゴリズムにより階層の一つ下の制御点の基本位置
を計算し、後述するu−中間点計算手段210とv−中
間点計算手段212とu−基準点番号計算手段214と
v−基準点番号計算手段216と第1ベクトル計算手段
218と第2ベクトル計算手段220と第3ベクトル計
算手段222と同様の処理で第1ベクトルと第2ベクト
ルと第3ベクトルを計算し、後述する制御点データ階層
化手段226の逆の処理をおこなって階層データから制
御点データを計算することを繰り返す。
【0056】u−中間点計算手段210では、上位階層
制御点記憶手段209に記憶されている、選択・移動の
対象の階層の1つ上位の階層の制御点を、まず細分のう
ちv方向のものを作用させ、u−中間点記憶手段211
に記録する。この処理は、制御点の2次元的な配列の、
各第1インデックスに対して、曲線の場合のオスロアル
ゴリズムを適用するものである。また、v−中間点計算
手段212も同様にu方向について細分をおこなってv
−中間点記憶手段213に記録する。
【0057】また、制御点階層記憶手段201に記憶さ
れている階層における制御点のおのおのについて、変位
を表すのに必要な、u−基準点の番号をu−基準点番号
計算手段214で計算してu−基準点番号記憶手段21
5に記憶し、v−基準点の番号をv−基準点番号計算手
段216で計算してv−基準点番号記憶手段217に記
憶する。
【0058】第1ベクトル計算手段218では、u−中
間点記憶手段211に記憶されているu−中間点から、
u−基準点番号記憶手段215を参照し、細分アルゴリ
ズムを適用して各制御点のu−基準点を選択し、この2
点の基準点の位置ベクトルの差を第1ベクトルとして、
第1ベクトル記憶手段219に記憶する。
【0059】第2ベクトル計算手段220では、第1ベ
クトル計算手段218と同様にして、v−中間点記憶手
段213とv−基準点番号記憶手段217を参照し、第
2ベクトルを計算して、第2ベクトル記憶手段221に
記憶する。
【0060】第3ベクトル計算手段222は、第1ベク
トル計算手段218と第2ベクトル記憶手段221とに
記憶されている第1ベクトルと第2ベクトルの外積を計
算して、それを第3ベクトル記憶手段223に記録す
る。
【0061】基本位置計算手段224は、制御点階層記
憶手段201を参照して、上位階層制御点記憶手段20
9に記録されている上位階層の制御点にu方向、v方向
双方にオスロアルゴリズムを適用して、選択・移動対象
の階層の制御点の基本位置を計算し、基本位置記憶手段
225に記憶する。
【0062】制御点データ階層化手段226は、制御点
番号記憶手段205を参照して、制御点記憶手段203
中の変化があったものについて、制御点記憶手段203
の座標値と基本位置記憶手段225に記憶されている基
本位置からの変位を求め、それを第1ベクトル記憶手段
219から選んだ第1ベクトルと、第2ベクトル記憶手
段221から選んだ第2ベクトルと第3ベクトル記憶手
段223から選んだ第3ベクトルの線形結合として表現
したときの係数を求め、階層データ記憶手段207に記
録する。
【0063】また、表示する制御点、曲面の階層を、キ
ーボード等の入力機器から制御点階層変更手段202と
表示曲面階層更新手段229に伝える。制御点階層変更
手段202は制御点階層記憶手段201に記憶されてい
る制御点の階層を更新する。制御点階層記憶手段201
が更新されると、制御点計算手段227が階層データ記
憶手段207から、この階層の制御点を計算し、制御点
記憶手段203を更新する。表示曲面階層更新手段22
9で更新された表示曲面階層記憶手段228を参照し
て、表示曲面データ計算手段230が階層データ記憶手
段207から、表示用の曲面データを計算し、表示曲面
データ記憶手段231を更新する。
【0064】そして、表示手段232が更新された制御
点記憶手段203と表示曲面データ記憶手段231を参
照して、CRTディスプレイ等の出力機器に表示する。
【0065】本発明のB−スプライン曲面の階層的形状
作成装置の第2の実施例は、第1ベクトル計算手段21
8における第1ベクトル計算の処理に、さらに長さを1
にする処理を加えたもので、他は第1の実施例と同様で
あるので、詳細は省略する。
【0066】
【発明の効果】以上述べたB−スプライン曲線および曲
面の階層化方法および階層的形状作成装置により、B−
スプライン曲線および曲面の形状作成において、大域的
形状の作成と局所的形状の作成を任意の時点で切り替え
ておこなうことで、特に複雑な形状に対して、形状作成
を効率化できる。
【図面の簡単な説明】
【図1】本発明になるB−スプライン曲線の階層化形状
作成装置の実施例の構成図である。
【図2】本発明になるB−スプライン曲面の階層化形状
作成装置の実施例の構成図である。
【図3】本発明になるB−スプライン曲線の階層化方法
の作用を説明する図である。
【図4】本発明になるB−スプライン曲面の階層化方法
の作用を説明する図である。
【図5】B−スプライン曲線の従来の階層化方法を説明
する図である。
【符号の説明】
101,201 制御点階層記憶手段 102,202 制御点階層変更手段 103,203 制御点記憶手段 104,204 制御点選択手段 105,205 制御点番号記憶手段 106,206 制御点移動手段 107,207 階層データ記憶手段 108,208 上位階層制御点計算手段 109,209 上位階層制御点記憶手段 110 基準点番号計算手段 111 基準点番号記憶手段 112,218 第1ベクトル計算手段 113,219 第1ベクトル記憶手段 114,220 第2ベクトル計算手段 115,221 第2ベクトル記憶手段 116,224 基本位置計算手段 117,225 基本位置記憶手段 118,226 制御点データ階層化手段 120,228 表示曲線階層記憶手段 121,229 表示曲線階層更新手段 122,230 表示曲線データ計算手段 123,231 表示曲線データ記憶手段 124,232 表示手段 214 u−基準点番号計算手段 215 u−基準点番号記憶手段 216 v−基準点番号計算手段 217 v−基準点番号記憶手段 210 u−中間点計算手段 211 u−中間点記憶手段 212 v−中間点計算手段 213 v−中間点記憶手段 222 第3ベクトル計算手段 223 第3ベクトル記憶手段 301 B−スプライン曲線 302,303,304,305,306,307,3
08 制御点 309 制御点の移動位置 310 変位ベクトル 311 第1ベクトル 312 変位ベクトルの第1ベクトル成分 313 第2ベクトル 314 変位ベクトルの第2ベクトル成分 401,402,403,404,405,406,4
07,408,409,410,411,412,41
3,414,415,416 B−スプライン曲面の
細分前の制御点 421,422,423,424,425,426,4
27,428,429,430,431,432,43
3,434,435,436,437,438,43
9,440 B−スプライン曲面のu−中間点 441,442,443,444,445,446,4
47,448,449,450,451,452,45
3,454,455,456,457,458,45
9,460 B−スプライン曲面のv−中間点 461,462,463,464,465,466,4
67,468,469,470,471,472,47
3,474,475,476,477,478,47
9,480,481,482,483,484,485
B−スプライン曲面の細分後の制御点 501 スプライン曲線 502,503,504,505,506,507,5
08 制御点 509 制御点の移動位置 510 座標軸の原点 511 第1座標軸 512 第2座標軸 513 変位ベクトル

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 平面上にあり、次数が3以下であるB−
    スプライン曲線を細分するが、その細分は各内部ノット
    間に高々1個のノットを挿入するものとして、細分後の
    曲線のデータを、細分前の曲線の制御点と、細分後の曲
    線の各制御点の、前記細分前の制御点から細分アルゴリ
    ズムによって計算される基本位置からの、変位とで表現
    する際に、細分後の曲線の各制御点に対し、2個の基準
    点を、前記基本位置を前記細分アルゴリズムを用いて計
    算するのに必要な細分前の曲線の制御点の数が、1個の
    ときはこの点とこの点に隣接する細分前の曲線の制御
    点、2個のときはこれらの2個の点、3個のときはこれ
    らの3個の点の両端の2個の点であると定め、前記変位
    を前記の2個の基準点から計算される第1ベクトルとこ
    のベクトルに垂直な第2ベクトルの一次結合で表現した
    ときの係数として保存することを特徴とするB−スプラ
    イン曲線の階層化方法。
  2. 【請求項2】 第1ベクトルを2個の基準点を結ぶベク
    トルとし、第2ベクトルを第1ベクトルと同じ長さのも
    のとすることを特徴とする請求項1に記載のB−スプラ
    イン曲線の階層化方法。
  3. 【請求項3】 第1ベクトルを2個の基準点を結ぶベク
    トルとし、第2ベクトルは単位ベクトルとすることを特
    徴とする請求項1に記載のB−スプライン曲線の階層化
    方法。
  4. 【請求項4】 第1ベクトルを2個の基準点を結ぶベク
    トルを単位化したベクトルとし、第2ベクトルも単位ベ
    クトルとすることを特徴とする請求項1に記載のB−ス
    プライン曲線の階層化方法。
  5. 【請求項5】 2個のパラメータu,vの各々に関して
    次数が3以下であるB−スプライン曲線を細分するが、
    その細分は各内部ノット間に高々1個のノットを挿入す
    るものとして、細分後の曲面のデータを、細分前の制御
    点と、細分後の曲面の各制御点の、u,v方向にそれぞ
    れに細分アルゴリズムを適用して計算される基本位置か
    らの、変位とで表現する際に、細分後の曲面の各制御点
    に対し、2個のu−基準点を、前記細分をv方向に細分
    アルゴリズムを適用した後にu方向に細分アルゴリズム
    を適用したものとするときに、v方向に細分アルゴリズ
    ムを適用した時点で得られるu−中間点から選ばれる2
    個の点とし、2個のv−基準点を、前記細分をu方向に
    細分アルゴリズムを適用した後にv方向に細分アルゴリ
    ズムを適用したものとするときに、u方向に細分アルゴ
    リズムを適用した時点で得られるv−中間点から選ばれ
    る2個の点とするが、前記u−基準点またはv−基準点
    は、u方向またはv方向に細分アルゴリズムを適用して
    前記基本位置を計算するのに必要な前記u−中間点また
    は前記v−中間点の数が、1個のときはこの点とこの点
    に隣接するu−中間点またはv−中間点とし、2個のと
    きはこれらの2個の点とし、3個のときはこれらの点の
    両端の2個の点として、前記変位を、u−基準点から計
    算される第1ベクトルと、v−基準点から計算される第
    2ベクトルと、前記第1ベクトルおよび前記第2ベクト
    ルに垂直な第3ベクトルとの一次結合で表現したときの
    係数として保存することを特徴とするB−スプライン曲
    面の階層化方法。
  6. 【請求項6】 第1ベクトルを2個のu−基準点を結ぶ
    ベクトルとし、第2ベクトルを2個のv−基準点を結ぶ
    ベクトルとして、第3ベクトルを単位ベクトルとするこ
    とを特徴とする請求項5に記載のB−スプライン曲面の
    階層化方法。
  7. 【請求項7】 第1ベクトルを2個のu−基準点を結ぶ
    ベクトルを単位化したベクトルとし、第2ベクトルを2
    個のv−基準点を結ぶベクトルを単位化したベクトルと
    し、第3ベクトルを単位ベクトルとすることを特徴とす
    る請求項5に記載のB−スプライン曲面の階層化方法。
  8. 【請求項8】 制御点の階層を記憶する制御点階層記憶
    手段と操作者の指示で前記制御点階層記憶手段を書き換
    える制御点階層変更手段と、選択・移動の対象である階
    層の各制御点の座標値を記憶する制御点記憶手段と、制
    御点を選択する制御点選択手段と、該制御点選択手段で
    選択された制御点の番号を記憶する制御点番号記憶手段
    と、該制御点番号記憶手段に記憶されている制御点に対
    して操作者が指示した量の変更を与えて前記制御点記憶
    手段を更新する制御点移動手段と、階層化した曲線のデ
    ータを記憶する階層データ記憶手段と、選択・移動の対
    象である階層の一つ上の階層の制御点を前記制御点階層
    記憶手段と前記階層データ記憶手段から計算する上位階
    層制御点計算手段と、該上位階層計算手段で計算された
    上位階層の制御点を記憶する上位階層制御点記憶手段
    と、前記制御点階層記憶手段から選択・移動対象である
    階層の各制御点に対する2個の基準点の番号を計算する
    基準点番号計算手段と、該基準点番号計算手段で計算さ
    れた各制御点に対する2個の基準点の番号を記憶する基
    準点番号記憶手段と、前記制御点階層記憶手段と前記基
    準点番号記憶手段と前記上位階層制御点記憶手段から各
    制御点の第1ベクトルを計算する第1ベクトル計算手段
    と、該第1ベクトル計算手段で計算された各制御点の第
    1ベクトルを記憶する第1ベクトル記憶手段と、前記制
    御点階層記憶手段と前記第1ベクトル記憶手段から各制
    御点の第2ベクトルを計算する第2ベクトル計算手段
    と、該第2ベクトル計算手段で計算された各制御点の第
    2ベクトルを記憶する第2ベクトル記憶手段と、選択・
    移動の対象である階層の各制御点の基本位置を前記制御
    点階層記憶手段と前記上位階層制御点記憶手段から計算
    する基本位置計算手段と、該基本位置計算手段で計算さ
    れた各制御点の基本位置を記憶する基本位置記憶手段
    と、前記制御点階層記憶手段と前記制御点番号記憶手段
    と前記制御点記憶手段と前記第1ベクトル記憶手段と前
    記第2ベクトル記憶手段と前記基本位置記憶手段とから
    選択された制御点のその基本位置からの変位を第1ベク
    トルと第2ベクトルの一次結合で表したときの係数をそ
    の制御点の階層データとして前記階層データ記憶手段を
    更新する制御点データ階層化手段と、選択・移動の対象
    である階層の各制御点の座標値を前記制御点階層記憶手
    段と前記階層データ記憶手段とから計算して前記制御点
    記憶手段を更新する制御点計算手段と、表示する曲線の
    階層を記憶する表示曲線階層記憶手段と、操作者の指示
    で表示する曲線の階層を変更し前記表示曲線階層記憶手
    段を更新する表示曲線階層更新手段と、前記表示曲線階
    層記憶手段と前記階層データ記憶手段とから表示する曲
    線のデータを計算する表示曲線データ計算手段と、前記
    表示曲線データ計算手段で計算された表示曲線のデータ
    を記憶する表示曲線データ記憶手段と、前記制御点記憶
    手段と前記表示曲線データ記憶手段とから選択・移動の
    対象である制御点と指定された階層の曲線を表示する表
    示手段とからなることを特徴とするB−スプライン曲線
    の階層的形状作成装置。
  9. 【請求項9】 第1ベクトル計算手段では、各制御点に
    対して第1ベクトルを2個の基準点の位置ベクトルの差
    のベクトルとし、第2ベクトル計算手段では、各制御点
    に対して第2ベクトルを第1ベクトルに垂直で同じ長さ
    のベクトルとすることを特徴とする請求項8に記載のB
    −スプライン曲線の階層的形状作成装置。
  10. 【請求項10】 第1ベクトル計算手段では、各制御点
    に対して第1ベクトルを2個の基準点の位置ベクトルの
    差のベクトルとし、第2ベクトル計算手段では、各制御
    点に対して第2ベクトルを第1ベクトルに垂直な単位ベ
    クトルとすることを特徴とする請求項8に記載のB−ス
    プライン曲線の階層的形状作成装置。
  11. 【請求項11】 第1ベクトルの計算手段では、各制御
    点に対して第1ベクトルを2個の基準点の位置ベクトル
    の差のベクトルを単位化したベクトルとし、第2ベクト
    ル計算手段では、各制御点に対して第2ベクトルを第1
    ベクトルに垂直な単位ベクトルとすることを特徴とする
    請求項8に記載のB−スプライン曲線の階層的形状作成
    装置。
  12. 【請求項12】 制御点の階層を記憶する制御点階層記
    憶手段と、操作者の指示で前記制御点階層記憶手段を書
    き換える制御点階層変更手段と、選択・移動の対象であ
    る階層の各制御点の座標値を記憶する制御点記憶手段
    と、制御点を選択する制御点選択手段と、該制御点選択
    手段で選択された制御点の番号を記憶する制御点番号記
    憶手段と、該制御点番号記憶手段に記憶されている制御
    点に対して操作者が指示した量の変更を与えて前記制御
    点記憶手段を更新する制御点移動手段と、階層化した曲
    線のデータを記憶する階層データ記憶手段と、選択・移
    動の対象である階層の一つ上の階層の制御点を前記制御
    点階層記憶手段と前記階層データ記憶手段から計算する
    上位階層制御点計算手段と、該上位階層計算手段で計算
    された上位階層の制御点を記憶する上位階層制御点記憶
    手段と、前記制御点階層記憶手段を参照し該上位階層制
    御点記憶手段に記憶されている上位階層の制御点のv方
    向に細分アルゴリズムを作用させてu−中間点を計算す
    るu−中間点計算手段と、該u−中間点計算手段で計算
    されたu−中間点を記憶するu−中間点記憶手段と、前
    記制御点階層記憶手段を参照し前記上位階層制御点記憶
    手段に記憶されている上位階層の制御点のu方向に細分
    アルゴリズムを作用させてv−中間点を計算するv−中
    間点計算手段と、該v−中間点計算手段で計算されたv
    −中間点を記憶するv−中間点記憶手段と、前記制御点
    階層記憶手段から選択・移動対象である階層の各制御点
    に対する2個のu−基準点の番号を計算するu−基準点
    番号計算手段と、該u−基準点番号計算手段で計算され
    た各制御点に対する2個のu−基準点の番号を記憶する
    u−基準点番号記憶手段と、前記制御点階層記憶手段か
    ら選択・移動対象である階層の各制御点に対する2個の
    v−基準点の番号を計算するv−基準点番号計算手段
    と、該v−基準点番号計算手段で計算された各制御点に
    対する2個のv−基準点の番号を記憶するv−基準点番
    号記憶手段と、前記制御点階層記憶手段と前記u−基準
    点番号記憶手段と前記u−中間点記憶手段から各制御点
    の第1ベクトルを計算する第1ベクトル計算手段と、該
    第1ベクトル計算手段で計算された各制御点の第1ベク
    トルを記憶する第1ベクトル記憶手段と、前記制御点階
    層記憶手段と前記v−基準点番号記憶手段と前記v−中
    間点記憶手段から各制御点の第2ベクトルを計算する第
    2ベクトル計算手段と、該第2ベクトル計算手段で計算
    された各制御点の第2ベクトルを記憶する第2ベクトル
    記憶手段と、前記制御点階層記憶手段と前記第1ベクト
    ル記憶手段と前記第2ベクトル記憶手段から各制御点の
    第3ベクトルを第1ベクトルと第2ベクトルに垂直な単
    位ベクトルとする第3ベクトル計算手段と、該第3ベク
    トル計算手段で計算された各制御点の第3ベクトルを記
    憶する第3ベクトル記憶手段と、選択・移動の対象であ
    る階層の各制御点の基本位置を前記制御点階層記憶手段
    と前記上位階層制御点記憶手段から計算する基本位置計
    算手段と、該基本位置計算手段で計算された各制御点の
    基本位置を記憶する基本位置記憶手段と、前記制御点階
    層記憶手段と前記制御点番号記憶手段と前制御点記憶手
    段と前記第1ベクトル記憶手段と前記第2ベクトル記憶
    手段と前記第3ベクトル記憶手段と前記基本位置記憶手
    段とから選択された制御点のその基本位置からの変位を
    第1ベクトルと第2ベクトルと第3ベクトルの一次結合
    で表したときの係数をその制御点の階層データとして前
    記階層データ記憶手段を更新する制御点データ階層化手
    段と、選択・移動の対象である階層の各制御点の座標値
    を前記制御点階層記憶手段と前記階層データ記憶手段と
    から計算して前記制御点記憶手段を更新する制御点計算
    手段と、表示する曲面の階層を記憶する表示曲面階層記
    憶手段と、操作者の指示で表示する曲面の階層を変更し
    前記表示曲面階層記憶手段を更新する表示曲面階層更新
    手段と、前記表示曲面階層記憶手段と前記階層データ記
    憶手段とから表示する曲面のデータを計算する表示曲面
    データ計算手段と、前記表示曲面データ計算手段で計算
    された表示曲面のデータを記憶する表示曲面データ記憶
    手段と、前記制御点記憶手段と前記表示曲面データ記憶
    手段とから選択・移動の対象である制御点と指定された
    階層の曲面を表示する表示手段とからなることを特徴と
    するB−スプライン曲面の階層的形状作成装置。
  13. 【請求項13】 第1ベクトル計算手段では、各制御点
    に対して第1ベクトルを2個のu−基準点の位置ベクト
    ルの差のベクトルとし、第2ベクトル計算手段では、各
    制御点に対して第1ベクトルを2個のu−基準点の位置
    ベクトルの差のベクトルとすることを特徴とする請求項
    12に記載のB−スプライン曲面の階層的形状作成装
    置。
  14. 【請求項14】 第1ベクトル計算手段では、各制御点
    に対して第1ベクトルを2個のu−基準点の位置ベクト
    ルの差のベクトルを単位化したベクトルとし、第2ベク
    トル計算手段では、各制御点に対して第1ベクトルを2
    個のu−基準点の位置ベクトルの差のベクトルを単位化
    したベクトルとすることを特徴とする請求項12に記載
    のB−スプライン曲面の階層的形状作成装置。
JP4322544A 1992-11-06 1992-11-06 B−スプライン曲線および曲面の階層化方法ならびに階層的形状作成装置 Withdrawn JPH06149913A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4322544A JPH06149913A (ja) 1992-11-06 1992-11-06 B−スプライン曲線および曲面の階層化方法ならびに階層的形状作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4322544A JPH06149913A (ja) 1992-11-06 1992-11-06 B−スプライン曲線および曲面の階層化方法ならびに階層的形状作成装置

Publications (1)

Publication Number Publication Date
JPH06149913A true JPH06149913A (ja) 1994-05-31

Family

ID=18144859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4322544A Withdrawn JPH06149913A (ja) 1992-11-06 1992-11-06 B−スプライン曲線および曲面の階層化方法ならびに階層的形状作成装置

Country Status (1)

Country Link
JP (1) JPH06149913A (ja)

Similar Documents

Publication Publication Date Title
US7868885B2 (en) Direct manipulation of subdivision surfaces using a graphics processing unit
US6031548A (en) Progressive multi-level transmission and display of triangular meshes
US8063917B2 (en) Image processing system and program
US5317682A (en) Parametric curve evaluation method and apparatus for a computer graphics display system
JPH0776991B2 (ja) Nurbsデータ変換方法及び装置
MX2007014662A (es) Deformacion de engranaje sin limitaciones utilizando grafica volumetrica laplaciana.
JP2618951B2 (ja) 三次元図形処理装置
JP2002520703A (ja) コンピュータ・グラフィックス・アニメーションの装置及び方法
JPH06124314A (ja) コンピュータ支援設計システムおよびそのシステムにおける幾何学的対象を修正する方法
JPH08315171A (ja) アニメーションデータの作成方法および作成装置
Pourazady et al. Direct manipulations of B-spline and NURBS curves
US5736991A (en) Animation editing apparatus
US5065348A (en) Method and system for transforming a free curved surface
US5649081A (en) Method and apparatus for pattern data processing
Li et al. Interactive rendering of deforming NURBS surfaces
JPH0623989B2 (ja) 境界表現ソリツド・モデリング・システム
US7015917B2 (en) Curved surface subdivision apparatus
JPH06149913A (ja) B−スプライン曲線および曲面の階層化方法ならびに階層的形状作成装置
JPH06215105A (ja) 3次元画像処理装置及びその方法
JP3511301B2 (ja) 曲面データ生成方法
US7151862B2 (en) Image processing apparatus and method, storage medium, and program
JP2000172742A (ja) 曲線変形処理方法、曲線変形処理装置、曲線変形用処理プログラムが記憶された記憶媒体、曲面変形処理方法、曲面変形処理装置および曲面変形用処理プログラムが記憶された記憶媒体
JP3039387B2 (ja) 3次元cadにおけるb−スプライン曲線と直線との交点算出装置
Alciatore et al. Importing and reshaping digitized data for use in rapid prototyping: a system for sculpting polygonal mesh surfaces
JPH0449471A (ja) 画像編集装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000201