JPS6286466A - 曲面作成方法 - Google Patents

曲面作成方法

Info

Publication number
JPS6286466A
JPS6286466A JP60227081A JP22708185A JPS6286466A JP S6286466 A JPS6286466 A JP S6286466A JP 60227081 A JP60227081 A JP 60227081A JP 22708185 A JP22708185 A JP 22708185A JP S6286466 A JPS6286466 A JP S6286466A
Authority
JP
Japan
Prior art keywords
deformation
curved surface
vector
point
modification
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.)
Granted
Application number
JP60227081A
Other languages
English (en)
Other versions
JPH0654496B2 (ja
Inventor
Akio Oba
章男 大場
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP60227081A priority Critical patent/JPH0654496B2/ja
Publication of JPS6286466A publication Critical patent/JPS6286466A/ja
Publication of JPH0654496B2 publication Critical patent/JPH0654496B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A産業上の利用分野 本発明は曲面作成方法に関し、特にコンピュータグラフ
ィックスにおいて、原面を構成する曲面を局所的に新た
な曲面に変形して行くようにしたものである。
B発明の概要 本発明は、コンピュータグラフィックスにおける曲面作
成方法において、曲面の一部を局所的に指定して変形さ
せて自由曲面を作成できるようにするにつき、変形対象
曲面上の作用点に基づいて変形データを指定できるよう
にすることにより、オペレータが変形後の曲面を直感的
に容易に把握し得るようにできるものである。
C従来の技術 従来コンピュータグラフィックスにおいて、3次元の曲
面を生成する方法として、円筒、球などの基本的な曲面
(これをプリミティブ曲面と呼ぶ)のデータを予め用意
しておき、これらのプリミティブ曲面を必要に応じて組
み合わせることによって新しい曲面を作成するような方
法や、新たに作成すべき曲面上の点をコントロールポイ
ントとして指定し、これらのコントロールポイントを通
る曲面をスプライン関数を用いて内挿して行く方法など
が用いられている。
D発明が解決しようとする問題点 これらの従来の方法は、実際上プリミティブ曲面の外形
形状を基本的な形状として、当該基本的な形状に基づい
て曲面を変換処理することによって所望の曲面を得よう
としており、実用上機械的な物体の外観形状を表現する
場合などに適用する限りにおいては、満足し得る曲面を
作成できると考えられている。
因にスプライン関数を用いて曲面を作成する場合におい
ても、実際には、数多くのコントロールポイントを設定
しなければならないので、当該多数のコントロールポイ
ントを形成するために、プリミティブ曲面を用いたり、
断面図を組み合わせたりすることによって、実用上許容
できる範囲でコントロールポイントの設定をするように
なされており、従ってこの場合も実用上はプリミティブ
曲面を組み合わせた場合と同様の特徴をもっている。
ところが例えば人の顔面を表す曲面のように、柔らかな
印象を与え、かつプリミティブ曲面とは異なる曲面(こ
れを自由曲面と呼ぶ)によって表現しなければ不自然に
なるような曲面を作成しようとする場合には、原理上プ
リミティブ曲面の特徴の影響が強く出る従来の曲面作成
方法を用いることは、実用上不十分である。
また新たな曲面を作成する際には、コンピュータによっ
て処理される画像データによって表示画面上に表示され
た画像と、オペレータがコントロール設定すべきデータ
との相関関係が、直感的に把握し易いものであれば、オ
ペレータが得たいと考えている曲面にほどよく適合した
曲面を容易に得ることができる点から考えて、オペレー
タが設定入力するパラメータと、その結果表示画面上の
曲面に現れる変化とが直感的に把握し易いような対応関
係をもつようにすることが望ましい。
本発明は以上の点を考慮してなされたもので、例えば人
の顔面を形成する曲面のように、プリミティブな曲面で
は表現しきれないような自由曲面を作成するにつき、オ
ペレータが変形後の曲面を一段と直感的に把握し易いよ
うな態様で、表示画面上に表示させることができるよう
にした曲面作成方法を提案しようとするものである。
E問題点を解決するための手段 かかる問題点を解決するため、第1の発明においては、
変形対象曲面上に作用点CPl”を指定し、この作用点
cpt”における変形方向及び大きさを表す変形ベクト
ルv正9を指定し、作用点CPl″Sにおいて変形対象
曲面SORに接し、かつ作用点CPi =を基準とする
座標平面SFCを形成し、当該座標平面SFC上の座標
を用いて作用点cp、”を含む所定の変形領域VCF及
びこの変形領域VCF内の各点における変形ベクトルv
i1に対する変形率を表すベクトル場関数Fえを決め、
変形領域VCFの各点を変形対象曲面SOR上に投影し
た曲面位置について、ベクトル場関数Fi と変形ベク
トルv!9との積に基づいて変形対象曲面SORを変形
するようにする。
また第2の発明においては、変形対象曲面SOR上に作
用点CP!”を指定し、作用点cp、”における変形方
向及び大きさを表す変形ベクトルV、″を指定し、作用
点CPえ′を基準とする座標曲面を変形対象曲面SOR
上に形成し、当該座標曲面上の座標を用いて上記作用点
CPi“を含む所定の変形領域VCF及びこの変形領域
VCF内の各点における変形ベクトルVi“に対する変
形率を表すベクトル場関数Ftを決め、ベクトル場関数
F1を変形ベクトル■、′との積に基づいて変形対象曲
面SORを変形するようにする。
F作用 ベクトル場関数F□は、変形領域VCF内の各点におけ
る相対的な変化率を表すスカラ量として与えられており
、従って変形領域VCFに含まれている各点について、
曲面の変形量を表す位置ベクトルV4 ” *F、は、
変形の方向として変形ベクトルv!1の方向をもち、か
つ変形の大きさとしてベクトル場関数Fiによって表さ
れる相対的な変形率に対応する大きさをもつ。
第1の発明においては、 変形対象曲面5OR上に指定
された作用点CPU”に変形ベクトルv!′が指定され
ると共に、作用点CPi“において変形対象曲面SOR
に接する座標平面SFCが形成される。オペレータはこ
の座標平面SFCを用いて、変形領域VCFの指定や当
該変形領域内の各点に対する相対的な変形率分布を表す
パラメータをベクトル場関数F!を指定するデータとし
て入力する。その結果座標平面上の各点を変形対象曲面
SOR上に投影した曲面位置について変形対象曲面が変
形処理される。
かくするにつき、オペレータは作用点CPi ”に関連
する座標平面SFC上の座標を用いてデータを入力し得
ることにより、入力されたデータによって得られる変形
曲面をオペレータが容易に直感的に把握できることにな
る。
また第2の発明においては、変形曲面を得るためのデー
タは、変形対象曲面SOR上に形成された座標曲面を用
いて入力される。従ってオペレータが変形後の曲面をさ
らに一段と容易に把握し得るような手法でデータの入力
をなし得る。
G実施例 以下図面について本発明の一実施例を詳述する。
本発明による曲面作成方法は、第1図に示すように、変
形対象曲面SOR上に作用点CP! ”を表す位置ベク
トルを指定し、当該作用点CP!“を含む変形領域VC
Fの範囲に限って曲面の変形演算をコンピュータによっ
て実行する。その演算結果は、表示装置CRT (第2
図)上の表示画面DSP上に、任意に決めた視点位置か
ら変形後の曲面を見たと同様の変換画面SCHとして表
示することができる。
かかる変形領域VCFにおける曲面の変形は、次の漸化
式 %式% で表される変換式を用いて漸化的に演算される。
(1)式においてPi′は3次元空間に形成さく9) れる変形後の曲面の各点を表す位置ベクトルで、この位
置ベクトルPi*は、変形対象曲面SOR上にある対応
する点の位置ベクトルP□−1″と、当該変形前の位置
ベクトルPi−1”からの変形量V! ” *Ft  
(Pi−+ ” 、CPt ” ) と(7)和で表さ
れる。
この変形量は、ベクトル場関数Fi  (Pi−+ ”
、CPi”)に対して変形ベクトル■19を乗算して得
られる位置ベクトルで表される。
ここで、変形ベクトルvゑ1は、変形対象曲面SORに
おいて作用点CPl“が指定されたとき、当該作用点c
pi”において変形対象曲面SORに対して与えるべき
変形の方向及び大きさをベクトル量で表したもので、こ
れにより変形対象曲面SORの作用点crt”は変形ベ
クトル■五〇だけ変形対象曲面SORから持ち上げられ
るような変形を受けることになる。
またベクトル場関数Fi (Pt−+ ” 、CPt 
”)は、作用点cp、”を含んで決められる変形領域V
CF (その大きさはパラメータを設定入力することに
より指定できる)の各点P1−1 ”に対して、相対的
にどの程度の変形を与えるかを決める相対的な変形率の
分布を表している。この相対的な変形率の分布は、変形
領域VCFの内部にのみ値をもち、かつ周辺部に行くと
「0になる」、又は「0に収束する」ようなスカラ量の
分布をもつ。
このようにして変形量Vi”*Fi  (Pi−+”、
CPi ” >は、変形領域VCFの各点における変形
量を表す位置ベクトルでなり、その方向は変形ベクトル
■i3と平行な方向をもち、かつ大きさは、変形ベクト
ルV!“の大きさと、ベクトル場関数Fiによって表さ
れる相対的な変形率の分布との乗算値(スカラ量)をも
つ。かくして変形領域VCFの曲面の変形は、作用点c
p、’″において変形ベクトルVi′sの方向及び大き
さで生じ、この作用点CPi ”から周辺部に行くに従
って変形ベクトル■1′″の方向に、かつベクトル場関
数F□の変形率の変化に対応して変化する大きさで生じ
る。
ここで、ベクトル場関数F1として例えばガラス分布関
数のように中心点から外側に行くに従って対称的に徐々
に0レベルに収束するような関数が割り当てられた場合
には、変形量Vi”*Fiは作用点CPU”位置におい
てベクトルV、11の方向の最大値をもち、作用点CP
!”から外周部に行(に従ってベクトルV、11の方向
をもち、かつ大きさが次第にOに収束して行くような変
形面が得られることになる。
このようにして1回の変換操作によって変形量V! ”
 IF(が求められ、これが変形前の位置ベクトルPト
1 ”と加算されて変形後の位置ベクトルP1″が求め
られ、以下同様にして変形操作が行われるたびに(1)
式によって表される漸化式を演算することによって、変
形前の位置ベクトルに基づいて変形面を表す位置ベクト
ルが繰り返し漸化的に演算されて行く。
かかる漸化的な演算がN回繰り返された結果、最終的な
変形点PN*を表す位置ベクトルは次式%式% によって表されるように、最初の変形対象曲面5OR(
これを原画と呼ぶ)の点P。′を表す位置ベクトルに対
して、N回の変形演算(i−1〜N)によって順次得ら
れた変形量の総和(すなわちトータル変形量)を加算し
た位置ベクトルとして求められる。
かくして(2)式によればオペレータは最初の変形対象
曲面SOR(すなわち原画)の点P。″からN回の変形
操作を順次行う際に、その都度変形対象曲面SORにつ
いて作用点CPi ”を指定することによって、変形前
の曲面P!−1”から変形させたい位置をオペレータの
判断に基づいて任意に指定できる。またベクトル場関数
F+及び変形ベクトル■t1を決めるパラメータを指定
し直すことによって、変形領域VCFの大きさ、変形曲
面の変形率分布、変形の方向を、同様にオベレ一夕の判
断に基づいて任意に設定し直すことができることになる
かくしてオペレータは、1回の変形操作を実行するごと
に、変形対象曲面SORに対して所望の位置に、所望の
方向に、所望の大きさをもつ変形を加えるような操作を
漸化的に積み重ねることができる。
かくするにつき、(1)式から明らかなように、変形前
の位置ベクトルP!−1”から変換後の位置ベクトルP
!”を得るにつき、変形前の位置ベクトルPi−11に
対して変形量V、”IF1を単に加算するだけで済むの
で、その演算速度は実用上十分に短くできる(実験によ
れば1秒以下にし得た)。そして変形量Vi ” *F
iを得るための演算については、ベクトル場関数Flが
周辺部に行くに従ってOに収束し、又は0になるように
、変形領域VCFに限定するような関数に選定されてい
ることにより、変形ベクトルVl“との乗算演算を実用
上リアルタイム処理と言い得る程度に+1分に短い時間
に短縮し得る(実験によれば1/30秒以内にし得た)
従って本発明による曲面作成方法によれば、オペレータ
が変形操作をするごとに、実用上リアルタイムで変換画
像を表示画面上に表示できることになり、これにより繰
り返し行う画像変換操作をコンピュータに対してインタ
ラクティブに実行し得る。
そこで(2)式について上述したように、最初の変形対
象曲面SORである原画の位置ベクトルPo′から最終
変形位置ベクトルPM1を得るまでの間に、N回の変形
操作を積み重ねる間に、オペレータは試行錯誤的に変形
パラメータを入力し直すことによって、前回の変形操作
によって得られた曲面について、その変換の効果を評価
しながら変形操作を続けて行(ことができ、かくして1
回の変形操作が終わるごとに、次に変形すべき操作とし
て、曲面の「どの位置について」、「どのような広さに
おいて」、「どのような方向に」、「どのような大きさ
」の変形をすれば良いかを考えながら、パラメータの設
定をすることができ、かくして最終的に得たいと考えて
いる曲面に最も近い自由曲面を容易に得ることができる
この変形操作時の新たな作用点CPl”、ベクトル場関
数Fi及び変形ベクトルVi1の指定は、次のようにし
て行われる。
第1実施例の場合、前回の変形操作によって形成された
変形対象曲面SORは、第3図に示すように、位置ベク
トルPi、′によって表される。
新たな作用点cpi’″は、変形対象曲面SOR上に選
定され、この作用点cp、”位置に変形ベクトル■盪1
が設定される。
ここで作用点CPa”において、変形ベクトルv19に
直交する接平面でなるxy直交座標平面SFCが形成さ
れ、X軸及びy軸方向の単位ペクトルビ及びに*が、Z
軸上にある変形ベクトルv正1の単位ベクトルn1に基
づいて決められる。
ここで、変形ベクトルvi8は次式 %式%(3) で表されるように、単位ベクトルn′kに対してスカラ
ー量Vを乗算した式によって表される。
このようにして形成された座標平面SFCの座標(x、
Y)を用いて、 ベクトル場関数F、(Pi−+ ” 
、CPi” )を設定すれば、当該ベクトル場関数によ
って座標平面SFC上に指定した変形領域VCFについ
て、変形率の分布を決めることができる。
座標平面SFC上の座標(x、y)は、x−j” 、(
Pt−+ ”  CPi ” )””・・(4)Y=k
” 、(Pt−+ ”  CPt ”)・・・・・・(
5)のように、それぞれ変形対象曲面SORを表す位置
ベクトルPi−10と、新たな作用点CPi”との差の
ベクトルと、単位ベクトルj“及びk“との内積によっ
て求めることができるような関係にある。
そして単位ベクトルj″′、kg、n”は、次式N” 
、k” 、n” )= ru)(R)(I7) −〔R〕  ・・・・・・ (6) で表されるように、単位行列(u)に3次元回転行列(
R)を乗算した関係にある。また3次元回転行列(R)
は、次式 で表されるように、差のベクトル(P+−+”  CF
4 ” )をX軸の周りを角度γだけ回転させることに
よってXZ平面上のベクトルを得た後((7)式の右辺
第3項)、このベクトルをy軸の周りに角度δだけ回転
させることにより変形ペクトJしy、+にの方向を求め
ることができる((7)式の右辺第2項)。
かくして単位ベクトルn”の作用点CP(’″からの方
向を決めることができ、これと直交する単位ベクトルj
1及びに*が形成される。そこでこの単位ペクトルビ及
びk”を2軸の周りに角度θだけ回転させることにより
、接平面SFCのX及びy軸方向に単位ペクトルビ及び
に9を合わせることができる((7)式の右辺第1項)
このようにすれば実際上オペレータは、パラメータにつ
いてのデータとして、変形対象曲面5OR上の位置ベク
トルPi−1”から作用点CP411までのベクトルに
ついてのデータを入力した後、角度T、δ、θのデータ
を入力すれば、作用点CPi0に接する座標平面SFC
を設定し得ることになる。
従ってこの座標平面SFC上の変形領域VCFのパラメ
ータを入力すると共に、作用点CPi”における変形ベ
クトルVi4のスカラー量Vについてのデータを入力す
れば、(1)式の第2項の式で表される変形量Vi” 
*Fi  (Pi−+ ” 、CP1′)を指定し得た
ことになる。
その結果変形対象曲面SORに生ずる変形は、座標平面
SFC上に形成された変形領域VCFの各座標点を、変
形対象曲面SOR上に投影した各点において、変形領域
VCFについて形成された変形率の分布に相当する変形
量だけ単位ベクトルn*の方向に変形が生ずることにな
る。
このように第3図の方法によれば、座標平面SFCにつ
いて、ベクトル場関数F□の設定をなし得るようになさ
れているので、変形対象曲面5ORをどの程度変形させ
ることができるかを直接的に予測できるようなパラメー
タの設定をすることができ、かくしてオペレータが曲面
の変形を直感的に把握し易いような自由曲面作成装置を
実現し得る。
実際上、座標平面SFC上の各位置を指定するにつき、
円を単位に指定できるようにベクトル場関数Fiを選定
すれば、設定すべきパラメータとしては、作用点CPi
”からの距離だけで良いことになり、このことは、1次
元のパラメータを設定するだけで済むことを意味してい
る。
これに対して一般的には、xy平面上にある座標平面S
FCの各位置を指定するためには、X及びy方向の2次
元のデータを入力する必要がある。
なお第3図においては、座標平面SFCとして接平面を
用いた場合について述べたが、これに代え、変形ベクト
ルV%の方向を変更することにより、変形対象曲面SO
Rに対する座標平面SFCの角度を必要に応じた大きさ
だけ傾けるようにしても、座標平面SFC上において指
定した位置についてベクトル場関数を形成することがで
きる。
第3図の方法によって変形量についてのパラメータを入
力する場合、第4図に示すように作用点CP盈”を表側
の曲面5ORI上に指定して座標平面SFCを形成して
、この座標平面上に形成された変形ベクトルvi′及び
ベクトル場関数FAによる変形分布率Vi ” *F、
に基づいて表面側の変形対象曲面5ORIを変形させる
ようなデータを入力することができる。
しかしこのとき、座標平面SFC上のベクトル場関数F
1を、変形対象曲面SOR上に投影する際に、この投影
方向に裏側の変形対象曲面5OR2があれば、これも同
じように、ベクトル場関数y、m 本Fiによって変形
されるといった望ましくない変形が生ずる結果になる。
このような裏側の変形対象曲面5OR2に対する変形を
防止するには、最初の変形対象曲面SORすなわち原画
上のテクスチャ座標系を用いて、第4図のように互いに
重なり合うおそれがある曲面部分については、ベクトル
場間数F1の影響が及ばないように予め制限するような
条件を設定しておけば良い。このようにすれば、第4図
の問題点を容易に解決することができる。
第5図は本発明の他の実施例を示す。第3図の場合は、
作用点CP+3に接する座標平面SFC上に設定したベ
クトル場間数Flに基づいて決まる変形領域及び変形率
分布を、変形対象曲面SOR上に投影することによって
、変形対象曲面SOR上の対応する点の指定及びその変
形量の指定を行うようにした。これに対して第5図の場
合は作用点cp、”を通って変形対象曲面SOR上に延
長する座標軸U及びVでなる座標曲面SFDを設定し、
この座標軸U及びVによって指定される変形対象曲面S
OR上の各位置について、ベクトル場関数F1を設定す
るようにする。
ここで座標軸U及びVは、作用点CPl”位置で互いに
直交するようになされ、かくして座標軸U及びVの座標
を指定することによって、作用点cp、”を基準にして
変形対象曲面SOR上の各点を指定できるようになされ
ている。
このようにすれば、オペレータが変形しようとする変形
対象曲面SORに対して直接的に変形領域VCF及びベ
クトル場関数Fiを指定することができるので、オペレ
ータがさらに一段と容易に、直感的に変形結果を予測し
ながら変形操作を行うことができることになる。
そしてこの場合も、U及びV座標軸を利用して作用点C
PU”から一定の距離(変形対象曲面SORの表面に沿
って測った距離)をもつ点を指定することによって、ベ
クトル場関数Fiを指定できるようにベクトル場関数F
!を選定しておけば、1次元的なパラメータの設定によ
って変形すべき点を指定することができ、それ以外の場
合は、U軸及びv軸の値を2次元的なパラメータとして
指定することによって変形すべき点を簡易な操作によっ
て指定することができる。
これに加えて第5図の方法によれば、第3図の場合のよ
うに座標平面上の変形データを変形対象曲面SOR上に
投影するような処理を必要としないので、第4図につい
て上述したように表側の変形対象曲面5OR1ヘデータ
を投影したために裏側の変形対象曲面5OR2にまで影
響が生ずるようなおそれがなく、従ってその対策を講す
る必要がない分会体としての構成を簡易化し得る。
上述の曲面作成方法において、例えば人の顔面について
の曲面を作成する実施例においては、上述の(1)式及
び(2)式のベクトル場関数F犬としてガウス分布関数
を用いると共に、変形領域VCFとして円又は楕円形状
を選定し得る。
例えば第3図について上述した第1の実施例の場合、座
標平面SFC上の座標(x、y)の点についての変形位
置ベクトルPi” (x、y)及びPH1(X% y)
は、(1)式及び(2)式にそれぞれ対応させて(8)
式及び(9)式に示すようになる。
P i ”  (X% y) = P t−+ ”  
(X−= 3’)α五 p! PM ”  (xl y)=P6 ”  (xl y)
式 %式%(10) で表されるように、xy平面上の作用点(xi、Yi)
を中心として、X方向及びy方向の半径がα遍及びβ、
の楕円について、第6図に示すように、X方向及びy方
向にガウス分布関数を呈することになる。
このようにするとき、オペレータは、ベクトル場関数F
1について、作用点CPt”のパラメータを座標(X!
、Yりに設定し、また変形領域VCFのパラメータとし
てX方向及びy方向の直径α、及びβ盈を設定すると共
に、変形ベクトルv五′1のパラメータを設定する。
かくしてオペレータは、作用点CPz”(Xt、Yz)
を中心として、半径α髪及びβゑの円又は楕円の変形領
域VCFについて、作用点CPi ”(Xi、Yi)に
立てられた変形ベクトルv!8の方向に、当該変形ベク
トル■!”を中心にして周辺部に行くに従ってガウス分
布曲線を描(ように変形率がOに滑らかに収束して行く
ような変形曲面を得ることができる。
従って変形後の位置ベクトルPム” (x、y)又はP
M”(X%y)で表される曲面は、変形対象曲面のうち
作用点CPi”を中心とした局所的な領域について、変
形ベクトルvI*の方向にガウス分布関数で示されるよ
うな滑らかな自由曲面を呈するような曲面になる。
か(して人の顔面のように柔らかさをもった自由曲面に
ついて、これに適応して不自然さを生じさせないような
曲面を作成することができる。
以上の説明は、第6図に示すベクトル場関数を、第3図
の座標平面SFCに適用した場合について述べたが、こ
れと同様にして、第5図の座標曲面SFDに適用し得、
この場合パラメータの指定を座標軸U及びVによって決
まる座標を用いて行うようにすれば良い。
第1図ないし第5図について上述した曲面作成方法は、
第7図に示すような構成の曲面作成装置によって実現し
得る。なお、この場合ベクトル場関数F!は、楕円の変
形領域について、ガウス分布関数で表される変形率分布
をもつように設定されている。
第7図において、1はコンピュータ構成の曲面演算装置
で、(8)式及び(9)式に基づく演算の結果得られる
位置情報が、曲面表示コントロール装置2によって映像
信号に変換した後、陰極線管構成の表示装置3に表示さ
れる。
曲面演算袋W1には、(8)式及び(9)式の演算に必
要なパラメータを入力するための入力操作子として、マ
ウス4、レバー5.6.7、トラックボール8が設けら
れている。
マウス4はxy平面上の作用点CPi”を設定するため
のパラメータX+ 、Yiを入力し、これにより、(8
)式及び(9)式において、作用点CP!”(Xi、Y
え)を指定する。
またレバー5及び6は、変形領域VCFの大きさを決め
るためのパラメータを入力するもので、(8)式及び(
9)式におけるX方向及びy方向の半径α1及びβ盈を
設定し得る。
さらにレバー7は、変形ベクトルv直”を設定するもの
で、作用点crt、”(X□、Yl)に立てられた変形
ベクトルV11の方向及び高さについてのパラメータを
設定し得る。
さらにトラックボール8は、曲面に対する視点位置を設
定するもので、トラックボール8によつて設定した視点
位置から見た曲面が表示装置3に表示される。
マウス4、及びレバー5〜7による設定が済むと、曲面
演算装置1は(8)式及び(9)式の演算を実行する。
その演算結果は、トラックボール8から入力される視点
位置情報によって回転変換された後、曲面表示コントロ
ール装置2を介して表示装置3に表示される。かくして
表示装置3の表示画面上には、マウス4によって設定さ
れた作用点CPa ”  (Xi 、Yi )を中心に
して、レバー5及び6によって設定された変形領域VC
Fについて、レバー7によって設定された変形ベクトル
vi″の方向及び高さに応じた量だけ中央部分が高(盛
り上がり、その周辺部に行くに従って次第にOに収束し
て行(ような変形を受けた曲面が表示されることになる
かかる変形操作は、曲面演算袋?flがそのCPUによ
って第8図の処理手順を実行することにより得られる。
すなわち曲面演算装置1のCPUは、ステップSPlに
おいて当該処理手順をスタートした後、ステップSP2
において最初の変形対象曲面SORすなわち原画を表す
位置ベクトルP。′を、曲面演算装置1に設けられてい
る曲面データメモリ12(第9図(A))に設定する。
続いてCPUは、次のステップSP3に移って、オペレ
ータによって設定されたパラメータを取り込む。このと
きオペレータは、マウス4によって作用点データXL、
Y!を入力し、レバー5及び6によって半径データαL
及びβ五を入力し、レバー7によって変形ベクトルV%
を入力する。
曲面演算装置1のCPUは、次のステップSP4におい
てオペレータによってトラックボール8から入力される
視点位置データを取り込んだ後、ステップSP5に移る
このステップSP5は(8)式について上述した演算を
実行する。ここで変形前の位置ベクトルPi−+ ” 
 (X、 y)は曲面データメモリ12に設定されてい
るものを用い、また各パラメータαえ、βi 、Xi 
% Yt 、V4 ”はステップSP3において設定さ
れたものを用いる。
続いて曲面演算装置1は、ステップSP6において、ス
テップSP5で演算された変形後の位置ベクトルP!′
によって表される曲面を曲面表示コントロール装置2を
介して表示装置3に表示させる。
この状態において、曲面演算装置1のCPUは曲面Pi
′の表示を継続させることにより、次のステップSP7
においてオペレータが表示装置3の表示を見ながら変形
の程度がオペレータの要求に適応したものであるか否か
を確認させる。その後CPUは、次のステップSP8に
移ってオペレータが確認信号を入力したか否かの判断を
する。
ここで否定結果が得られると、曲面演算装置1のCPU
は上述のステップSP3に戻って新たなパラメータの設
定を待ち受ける状態に戻る。
このときオペレータは、ステップSP3、SF3におい
て、新たなパラメータの設定をし直すことによりステッ
プSP5、SF3において変形演算式の演算をし直した
後表示装置3に表示させ、ステップSP8において、再
度オペレータに対して変形が要求通りであるか否かの判
断をさせる。
かくして曲面演算装置1のCPUは、ステップ5P3−
3P4−3P5−3P6−3P7−3P8−3P3のル
ープLOOPIによって、オペレータが自分の要求に合
う変形ができるまで繰り返し作用点CP!”の位置、変
形領域VCFの大きさ、変形ベクトル■18の方向及び
高さを設定し直すことができる。
やがてオペレータが自分の設定操作に満足して設定終了
信号を曲面演算装置1に入力すると、曲面演算装W1の
CPUは、次のステップSP9に移って設定されたデー
タα正、βi 、Xs 、Yt、■、″を曲面演算装置
1内に設けられたコマンドリストメモリ(第9図(B)
)11の第1回目の設定操作に対応するパラメータメモ
リエリアN−1に、α1、β+ 、Xs 、YI、Vr
 ’″として格納した後、ステップ5PIOに移って操
作回数lに「+1」加算して(i=2)、ステップ5p
i1に移る。
このステップ5PIIは、オペレータが変形操作を終了
したか否かを確認するステップで、オペレータからの操
作終了指令が入力されていないとき、曲面演算装置1の
CPUは、ステップ5P11において否定結果を得るこ
とにより上述のステップSP3に戻って、オペレータに
よる第2回目の変形操作(i=2)を待ち受ける状態に
なる。
この状態において、オペレータは新たな曲面作成意図の
下に、第1回目の曲面の変形操作によって作成した曲面
に対して、第2回目の曲面の変形操作をし得る。かくし
て、第1回目の変形操作によって変形した作用点CP、
”とは異なる作用点crt”について、オペレータは再
度、自分の要求に合う変形操作を実行し得る。
すなわち曲面演算装置1は、オペレータがステップSP
3、SF3においてパラメータの設定をすると、続くス
テップSP5、SF3において(8)式について位置ベ
クトルPg”(xSy)の演算を実行した後当該曲面を
表示装置3に表示させる。この変形操作は、ステップS
PiSP4−3P5−3P6−3P7−3P8−3P3
のループLOOP1によってオペレータが満足するまで
繰り返される。
やがてステップSP8においてオペレータによる変形操
作の終了が確認されると、曲面演算装置1はステップS
P9において新たに入力されたパラメータデータα2、
βz 、X* 、Yz 、Vz ”をコマンドリストメ
モリ11の第2回目の設定操作に対応するパラメータメ
モリエリアN=2に格納した後、ステップ5PIOにお
いて操作回数iに「+1」加算して(i−3)、ステッ
プ5P11に移る。
以下同様にして曲面演算装置1のCPUは、オペレータ
が新たな変形操作をするごとに上述の変形処理ループL
OOP 1の処理を実行した後、当該設定されたパラメ
ータデータをコマンドリストメモリ11に格納すると共
に、変形演算の結果得られた位置ベクトルP8″を曲面
データメモリに格納、更新して行く。従って曲面データ
メモリ12には、N回の変形操作によって生じたトータ
ル変形量の変形を受けた曲面PM”  (x、y)((
9)式)が得られる。
やがてオペレータがすべての変形処理を終了すると、曲
面演算装置1のCPUはステップ5P11から5P12
に移って当該プログラムを終了する。
従って第7図の曲面作成装置によれば、オペレータは1
回の変形操作をする際に、マウス4、レバー5.6.7
、トラックボール8を操作しながら曲面作成装置1に変
換パラメータを入力することにより、曲面の変形処理を
実行させることができる。かくするにつき、(1)式及
び(2)式、又は(8)式及び(9)式について上述し
たように、変形演算に必要な演算時間はたかだか1秒程
度で済むので、実質上オペレータが変形操作をすると直
ちにその変換結果が表示装置3の表示画面上に表示でき
ることにより、オペレータが変形前の曲面のうちの一部
を必要に応じて選択して所望の形に変形させるようなパ
ラメータを設定入力することができ、かくして全体とし
てインターラフティグに所望の曲面を部分的に手直しを
加えながら作成して行くことができる。
また第7図の曲面作成装置は、第9図(B)に示すよう
なコマンドリストメモリ11を有することにより、曲面
データメモリ12に記憶している最も新しい変形位置ベ
クトルP□((9)式)から、1つ前の変形処理におい
て用いたパラメータを読み出して当該1つ前の変形操作
によって加えられた変形量を演算して曲面データメモリ
のデータから減算演算することによって、当該1つ前の
変形操作を実行する前の曲面を再現させることができる
。かくするにつき、データメモリとしては、1フレ一ム
分の画面データメモリ12をもっていれば良いので、曲
面作成装置全体としての構成が簡易で済む。
なお上述の実施例においては、(8)式及び(9)式の
ベクトル場関数F1 としてガウス分布関数を用いた実
施例について述べたが((10)式)、ベクトル場関数
Fiとしては、これに限らず以下に述べるような種々の
関数を用いることができる。
そしてこのような種々のベクトル場関数F!を選択でき
るような曲面作成装置を構成すれば、第8図について上
述した変形処理ループLOOP1において各変形ループ
における変形演算式(ステップ5P5)を順次切り換え
て行くようにしてお(ことにより、曲面の変形を、種々
の特性をもった変形曲面を組み合わせながら実行して行
くことにより、オペレータの要求に最適に適応できるよ
うな曲面を作成することができる。
因に、変形曲面を必要に応じて切り換えて行くことは、
あたかも、刃先の形が異なる彫刻刀を順次変換しながら
、面を彫刻して行くのと同様の効果を生じさせることが
できる。
第10図はxy平面における変形領域VCFが円又は楕
円でなる筒体の外表面を表すベクトル場関数F、を用い
た場合で、ベクトル場関数F、は、F1=1     
            ・・・・・・ (12)とな
り、また のとき F1=0           ・・・・・・(14)
となる。
第10図に示すようなベクトル場関数Fiを用いれば、
変形領域VCFの中央部において最大値をもち、かつ周
辺部において一挙に0になるような変形率の分布を呈し
ながら、円柱面に近僚の形状をもつ変形曲面を得ること
ができ、従って、変形領域を細かく区切りながら変形操
作を重ねて行くことにより、所望の曲面を作成すること
ができる。
第11図はxy平面上の変形領域VCFが長方形でなる
ベクトル場関数F1を用いた場合の実施例で、この場合
ベクトル場関数Fiは、X軸及びy軸方向について、 −a:!ax≦a         ・・・・・・(1
5)−b≦y≦b         ・・・・・・(1
6)のとき F五=1           ・・・・・・(17)
となる。これに対して変形領域VCF以外の領域につい
ては、 −a≦X≦a         ・・・・・・(18)
y<−b、y>b        ・・・・・・(19
)のとき F、=0           ・・・・・・(20)
となり、また x<−aSx>a        −・= (21)−
b≦y≦b         ・・・・・・(22)の
とき i”i−0・・・・・・(23) となり、さらに x<−a、x>a         ・・・・・・(2
4)y<−b、y>b        ・・・・・・(
25)のとき F!=0           ・・・・・・(26)
となる。
このようなベクトル場関数Fiを用いれば、変形前の曲
面を局所的に四角柱の表面形状とするような角柱状の変
形曲面によって変形して行(ことができる。
第12図はベクトル場関数F4として、xy平面上の形
状が円又は楕円の錐体の表面を表す関数を用いた場合の
実施例で、ベクトル場関数Fiは、のとき ・・・・・・(28) になり、また のとき FA=0           ・・・・・・(30)
となる。
これにより変形前の曲面を、(27)式で表される変形
領域VCFの範囲に限って、(28)式で表される錘体
の表面の形状を有する変形曲面によって変形させて行く
ことができる。従ってこの場合の変形率の分布は、変形
領域VCFの中央部において最大で、周辺部に行くに従
ってOに収束することになる。
第13図はベクトル場関数F、として、xy平面上の形
状が四辺形の変形領域VCFに対して立てた錐体の外表
面を表す関数を用いた場合の実施例で、この場合ベクト
ル場間数Fiは、−a≦X≦a         ・・
・・・・(31)−b≦y≦b         ・・
・・・・(32)のとき ・・・・・・(33) で表されるベクトル場関数Flを用いる。これに対して
変形領域VCF以外の領域については、−a≦X≦a 
        ・・・・・・(34)y<−b、y>
b        ・・・・・・(35)のとき F、=0           ・・・・・・(36)
となり、また x<−a、x>a        ・・・・・・(37
)−b≦y≦b         ・・・・・・(38
)のとき F、=0           ・・・・・・(39)
となり、さらに z < −a Sx > a         ・= 
−(40)y<−b、y>b        ・・・・
・・(41)のとき F(=0           ・・・・・・(42)
になる。
かくしてこの実施例の場合は、変形前の曲面に対して、
角錐の外表面の形状を有する変形曲面を用いて曲面の変
形をなし得る。
第14図はベクトル場関数Fi として、xy平面上の
形状が円又は楕円である球面を表す関数を用いた場合の
実施例で、この場合ベクトル場関数Fiは、 で表される変形領域VCFについて、 ・・・・・・(44) になる。
これに対してその他の領域については、のとき F!−0・・・・・・(46) となる。
かくして変形前の曲面に対して、球面の外形形状をもつ
変形曲面を使って比較的柔らかい変形を加えて行くこと
ができる。
第15図は、ベクトル場関数Fムとしてxy平面上の変
形領域VCFの形状が四辺形のプリズム形柱体の外表面
を表す関数を用いた場合の実施例で、この場合ベクトル
場関数Fiは、 −a≦X≦a         ・・・・・・(47)
−b≦y≦b         ・・・・・・(48)
のとき になる。これに対してそれ以外の領域についてベクトル
場関数F1は、 −a≦X≦a         ・・・・・・(50)
y<−b、y>b        ・・・・・・(51
)のとき Fi−0・・・・・・(52) になり、また 一x<−a、、x>a        ・・・・・・(
53)−b≦y≦b         ・・・・・・(
54)のとき F!=0           ・・・・・・(55)
となり、さらに x<−a、x>a        ・・・・・・(56
)y<−bSy>b        ・・・・・・(5
7)のとき F!=O・・・・・・(58) となる。
このようにすれば、変形前の曲面に対してブリズム形柱
体の外表面の形状で、y軸方向に稜線をもつような方向
性をもった変形曲面を用いて曲面の変形をすることがで
きる。
第16図は、第15図に対してベクトル場関数Fiを構
成する曲面の形を稜線の延長方向を90゜回転させてX
軸方向に延長するように変更した場合の実施例で、この
場合ベクトル場関数Fiは、−a≦X≦a      
   ・・・・・・(59)−b≦y≦b      
   ・・・・・・(60)のとき となるのに対して、それ以外の領域については、−a:
5x≦a         ・・・・・・(62)y<
−b、y>b        ・・・・・・(63)の
とき F4=o              ・・・・・・(
64)となり、また x<−a、x>a        ・・・・・・(65
)−b≦y≦b         ・・・・・・(66
)のとき Ft=0               ・・・・・・
 (67)となり、さらに x<−a、x>a         ・・・・・・(6
8)y<−b、y>b        ・・・・・・(
69)のとき Fi=0              ・・・・・・(
70)となる。
このようにしても第15図について上述したと同様の効
果を得ることができる。
H発明の効果 以上のように本発明によれば、変形対象曲面SOR上の
作用点CP□′を指定し、この作用点CPム1を基準に
して変形ベクトルv!1及びベクトル場関数Fiを指定
することによって、ベクトル場関数F!によって指定さ
れた変形領域に限って部分的に変形演算をすることによ
り、実質上リアルタイムで変形曲面を発生することがで
きる。
かくするにつき特に本発明によれば、 作用点CPi′
の位置、変形領域VCFの形及び大きさ、変形ベクトル
■i′の方向、大きさを変形対象曲面SORを基準にし
て決まる座標を用いていれば変形対象曲面SOR上で設
定できるようにしたことにより、オペレータが変形後の
曲面を容易に直感的に予測できるようなパラメータの設
定入力操作をなし得、かくして自由曲面を作成するにつ
き、一段と使い易い曲面作成装置を容易に実現し得る。
【図面の簡単な説明】
第1図ないし第3図は、本発明による曲面作成方法の第
1実施例の説明に供する路線図、第4図はその動作態様
の説明に供する路線図、第5図は第2実施例の説明に供
する路線図、第6図はベクトル場関数Flの説明に供す
る路線図、第7図は本発明の曲面作成方法を実施する曲
面作成装置を示すブロック図、第8図はその処理手順を
示すフローチャート、第9図は第7図の曲面演算装置1
に設けられている曲面データメモリ及びコマンドリスト
メモリを示す路線図、第10図〜第16図は、ベクトル
場間数F1のその他の例を示す路線図である。 1・・・・・・曲面演算装置、2・・・・・・曲面表示
コントロール装置、3・・・・・・表示装置、4・・・
・・・マウス、5〜7・・・・・・レバー、8・・・・
・・トラックボール。

Claims (2)

    【特許請求の範囲】
  1. (1)(a)変形対象曲面上に作用点を指定し、(b)
    上記作用点における変形方向及び大きさを表す変形ベク
    トルを指定し、 (c)上記作用点において上記変形対象曲面に接しかつ
    上記作用点を基準とする座標平面を形成し、当該座標平
    面上の座標を用いて上記作用点を含む所定の変形領域及
    びこの変形領域内の各点における上記変形ベクトルに対
    する相対的な変形率を表すベクトル場関数を決め、 (d)上記変形領域の各点を上記変形対象曲面上に投影
    した曲面位置について、上記ベクトル場関数と上記変形
    ベクトルとの積に基づいて上記変形対象曲面を変形する ことを特徴とする曲面作成方法。
  2. (2)(a)変形対象曲面上に作用点を指定し、(b)
    上記作用点における変形方向及び大きさを表す変形ベク
    トルを指定し、 (c)上記作用点を基準とする座標曲面を上記変形対象
    曲面上に形成し、当該座標曲面上の座標を用いて上記作
    用点を含む所定の変形領域及びこの変形領域内の各点に
    おける上記変形ベクトルに対する相対的な変形率を表す
    ベクトル場関数を決め、(d)上記ベクトル場関数と上
    記変形ベクトルとの積に基づいて上記変形対象曲面を変
    形することを特徴とする曲面作成方法。
JP60227081A 1985-10-11 1985-10-11 曲面作成方法 Expired - Lifetime JPH0654496B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60227081A JPH0654496B2 (ja) 1985-10-11 1985-10-11 曲面作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60227081A JPH0654496B2 (ja) 1985-10-11 1985-10-11 曲面作成方法

Publications (2)

Publication Number Publication Date
JPS6286466A true JPS6286466A (ja) 1987-04-20
JPH0654496B2 JPH0654496B2 (ja) 1994-07-20

Family

ID=16855210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60227081A Expired - Lifetime JPH0654496B2 (ja) 1985-10-11 1985-10-11 曲面作成方法

Country Status (1)

Country Link
JP (1) JPH0654496B2 (ja)

Also Published As

Publication number Publication date
JPH0654496B2 (ja) 1994-07-20

Similar Documents

Publication Publication Date Title
JP3240156B2 (ja) 三次元作業域における目標に対する移動ビューポイント
JP2915826B2 (ja) 干渉チェック装置
US5003498A (en) Graphic display method
JPH0550030B2 (ja)
JPS62159286A (ja) カーソル制御方法及び3次元図形表示装置
JP3526605B2 (ja) 3次元的な物体の変形方法及びモデリングシステム
JPS6286466A (ja) 曲面作成方法
JP2591475B2 (ja) 曲面作成装置
JP2845661B2 (ja) 形状データ作成方法
JPS6226584A (ja) 曲面作成方法
JP3623276B2 (ja) 三次元画像表示方法
JP2591476B2 (ja) 曲面作成方法
JPH11250122A (ja) 干渉チェック装置
JP2822194B2 (ja) 計算機を用いて3次元形状モデルの2次元投影線図を作成する方法及び装置
JP2995812B2 (ja) 数値制御装置による工具軌跡生成方式
JP2767865B2 (ja) ぼかし面データ自動作成装置
Leavitt et al. Automatic generation of 3-D envelopes
JP3823596B2 (ja) 動作シミュレーション用データの圧縮方法
JPS62126468A (ja) 服飾デザイン作成装置
JP2755398B2 (ja) ソリッドモデルに対する点の内外判定処理方法
JPS62251973A (ja) 曲面作成装置
JPS62251974A (ja) 曲面作成方法
JPH1097643A (ja) 浮かし彫り形状等の3次元形状の定義方式
JPS6247781A (ja) 曲面作成方法
JPS62251975A (ja) 曲面作成方法

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term