JPH0535826A - 自由曲線作成方法及び自由曲面作成方法 - Google Patents

自由曲線作成方法及び自由曲面作成方法

Info

Publication number
JPH0535826A
JPH0535826A JP3311952A JP31195291A JPH0535826A JP H0535826 A JPH0535826 A JP H0535826A JP 3311952 A JP3311952 A JP 3311952A JP 31195291 A JP31195291 A JP 31195291A JP H0535826 A JPH0535826 A JP H0535826A
Authority
JP
Japan
Prior art keywords
vector
free
point
patch
curve
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
Application number
JP3311952A
Other languages
English (en)
Inventor
Yoshikazu Ooka
美和 大岡
Tetsuzo Kuragano
哲造 倉賀野
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 US07/965,079 priority Critical patent/US6084586A/en
Publication of JPH0535826A publication Critical patent/JPH0535826A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Numerical Control (AREA)

Abstract

(57)【要約】 【目的】本発明は、自由曲線作成方法及び自由曲面作成
方法に関し、例えばCAD/CAMの手法を用いたデザ
イン装置において、点列、点群、曲面を基準にしてベジ
エ曲線、ベジエ曲面を簡易に生成する。 【構成】本発明は、点列の始点及び終点を節点に設定し
て自由曲線を仮設定した後、各点から当該自由曲線まで
の最短距離が小さくなるように制御点を再設定する。さ
らに複数の点の座標データに基づいて、各点から基準の
パツチまでの最短距離を検出し、最短距離の総和が最少
になるように内部制御点を設定する。このとき複数の点
が外形形状を表してなるパツチを生成し、また変形対象
のパツチ上に複数の点を設定することにより、点群及び
曲面を基準にしてベジエ曲面を生成する。

Description

【発明の詳細な説明】
【0001】
【目次】以下の順序で本発明を説明する。 産業上の利用分野 従来の技術(図27) 発明が解決しようとする課題(図27) 課題を解決するための手段(図3、図9、図19) 作用(図3、図9、図19) 実施例 (1)CAD/CAMシステムの全体構成(図1) (2)自由曲線の作成 (2−1)自由曲線の原理(図2) (2−2)曲線セグメントの生成(図1〜図8) (3)自由曲面の生成(図9〜図18) (4)自由曲面の変形(図19〜図26) (5)実施例の効果 (6)他の実施例 発明の効果
【0002】
【産業上の利用分野】本発明は自由曲線作成方法及び自
由曲面作成方法に関し、例えばCAD/CAM(comput
er aided design /computer aided manufacturing) の
手法を用いたデザイン装置に適用し得る。
【0003】
【従来の技術】例えば、CADの手法を用いて自由曲面
をもつた物体の形状をデザインする場合(geometric mo
deling) 、一般にデザイナは、曲面が通るべき3次元空
間における複数の点(これを節点と呼ぶ)を指定し、当
該指定された節点を結ぶ境界曲線網を所望のベクトル関
数によつて演算させることにより、いわゆるワイヤーフ
レームで表現された曲面を作成する。かくして境界曲線
によつて囲まれた多数の枠組み空間を形成することがで
きる(この処理を枠組み処理と呼ぶ)。
【0004】かかる枠組み処理によつて形成された境界
曲線網は、それ自体デザイナがデザインしようとする大
まかな形状を表しており、各枠組み空間を囲む境界曲線
を用いて所定のベクトル関数によつて表現できる曲面を
補間演算することができれば、全体としてデザイナがデ
ザインした自由曲面(2次関数で規定できないものをい
う)を生成することができる。ここで各枠組み空間に張
られた曲面は全体の曲面を構成する基本要素を形成し、
これをパツチと呼ぶ。
【0005】ところで生成した自由曲面全体としてより
自然な外形形状をもたせるために、共有境界を挟んで隣
接する2つの枠組み空間に、共有境界において接平面連
続の条件を満足するようなパツチを張るように、共有境
界周りの制御辺ベクトルを設定し直すようにした自由曲
線作成方法が提案されている(特願昭 60-277448号)。
【0006】この自由曲面作成方法は、図27に示すよ
うに、四辺形枠組空間に張られるパツチベクトルS(u,
v)1及びベクトルS(u,v)2を3次のベジエ式でなるベク
トル関数ベクトルS(u,v) で表し、2つのパツチベクト
ルS(u,v)1及びベクトルS(u,v)2を滑からに接続するた
めに、枠組み処理によつて与えられた節点ベクトルP(0
0)、ベクトルP(30)1 、ベクトルP(33)1 、ベクトルP
(03)、ベクトルP(33)2、ベクトルP(30)2 に基づい
て、隣接するパツチベクトルS(u,v)1及びベクトルS
(u,v)2の共有境界COMにおいて接平面連続の条件が成
り立つような制御辺ベクトルベクトルa1、ベクトルa
2及びベクトルc1、ベクトルc2を設定し、これらの
制御辺ベクトルによつて制御点ベクトルP(11)1 、ベク
トルP(12)1 、ベクトルP(11)2 、ベクトルP(12)2 を
設定し直すことを原理としている。
【0007】このような手法を他の共有境界についても
適用すれば、結局パツチベクトルS(u,v)1及びベクトル
S(u,v)2は隣接するパツチと接平面連続の条件に従つて
滑らかに接続することができる。ここで、3次のベジエ
式でなるベクトル関数ベクトルS(u,v) は、次式
【数1】 のように、u方向及びv方向のパラメータu及びv、シ
フト演算子E及びFを用いて表現され、制御点ベクトル
P(ij)に対して、次式
【数2】
【数3】
【数4】
【数5】 の関係をもつ。
【0008】さらに、接平面とは共有境界の各点におけ
るu方向及びv方向の接線ベクトルによつて形成される
平面を意味し、例えば図27の共有境界COM12につ
いて、パツチベクトルS(u,v)1及びベクトルS(u,v)2の
接平面が同一のとき接平面連続の条件が成り立つ。
【0009】この方法によれば、デザイナの意図するま
まに、全体として滑らかに曲面形状が変化するような、
従来の設計手法では実際上デザインすることが困難な物
体形状をも、容易にデザインし得る。
【0010】
【発明が解決しようとする課題】ところでこのようなデ
ザイン装置において、デザインしようとする物体の外形
形状を点列で入力することができれば、当該デザイン装
置の使い勝手を向上し得、便利であると考えられる。こ
のためには、入力した点列を結ぶような形状で、ワイヤ
フレームモデルを形成する必要がある。さらに当該ワイ
ヤフレームモデルを形成する自由曲線をベジエ曲線で表
現する必要がある。
【0011】さらに生成したワイヤフレームモデルに対
して、点群を通過するように自由曲面を生成する必要が
ある。
【0012】また、このようにして生成したパツチの形
状を、例えば円弧等の曲面を利用して補正することがで
きれば、便利であると考えられる。このように曲面の形
状を変形することができれば、必要に応じてパツチの大
きさを設定し直すこともでき、組み空間自体を設定し直
すこともできる。本発明は以上の点を考慮してなされた
もので、与えられた点列、点群、曲面を基準にしてベジ
エ曲線、ベジエ曲面を生成する自由曲線作成方法及び自
由曲面作成方法を提案しようとするものである。
【0013】
【課題を解決するための手段】かかる課題を解決するた
め第1の発明においては、3次元空間上の2つの節点ベ
クトルP0 、ベクトルP3 間に制御点ベクトルP1 、ベ
クトルP2 を生成し、節点ベクトルP0 、ベクトルP3
及び制御点ベクトルP1 、ベクトルP2 に基づいて、所
定のパラメータtを用いたベクトル関数ベクトルR(t)
で表される自由曲線を生成する自由曲線作成方法におい
て、入力された点列ベクトルq1 〜ベクトルqm の始点
ベクトルq1 及び終点ベクトルqm を節点ベクトルP0
、ベクトルP3 に設定すると共に、始点ベクトルq1
及び終点ベクトルqm に隣接する上記点列ベクトルq1
〜ベクトルqm の点ベクトルq2 、ベクトルqm-1に基
づいて制御点ベクトルP1 、ベクトルP2 を仮設定した
後、入力された点列ベクトルq1 〜ベクトルqm の各点
ベクトルq2〜ベクトルqm-1 から、節点ベクトルP0
、ベクトルP3 及び制御点ベクトルP1 、ベクトルP2
で決まる自由曲線ベクトルR(t) に垂線を下ろして自
由曲線ベクトルR(t) との交点のパラメータtiを検出
し、点列ベクトルq1 〜ベクトルqm の各点ベクトルq
2 〜ベクトルqm-1から該パラメータtiで決まる自由曲
線ベクトルR(t) までの距離di の総和が小さくなるよ
うに制御点ベクトルP1 、ベクトルP2 を再設定し、設
定した節点ベクトルP0 、ベクトルP3 及び再設定した
制御点ベクトルP1 、ベクトルP2 で、点列ベクトルq
1 〜ベクトルqm に似通よつた自由曲線ベクトルR(t)
を形成する。
【0014】さらに第2の発明においては、3次元空間
上の境界曲線COM1、COM2、COM3、COM4
で囲まれた枠組み空間に内部制御点ベクトルP11、ベ
クトルP12、ベクトルP21、ベクトルP22を設定
することにより、境界曲線COM1、COM2、COM
3、COM4及び内部制御点ベクトルP11、ベクトル
P12、ベクトルP21、ベクトルP22に基づいて所
定のベクトル関数ベクトルS(u,v) で表されるパツチベ
クトルS(u,v) を枠組み空間に張ることにより、自由曲
面を作成する自由曲面作成方法において、複数の点ベク
トルq1 〜ベクトルqm の座標データに基づいて、各点
ベクトルq1 〜ベクトルqm から基準のパツチベクトル
S(u,v) までの最短距離diを検出し、最短距離diの
総和が最少になるように内部制御点ベクトルP11、ベ
クトルP12、ベクトルP21、ベクトルP22を設定
してパツチベクトルS(u,v) を生成する。
【0015】さらに第3の発明においては、3次元空間
上の境界曲線COM1、COM2、COM3、COM4
で囲まれた枠組み空間に内部制御点ベクトルP11、ベ
クトルP12、ベクトルP21、ベクトルP22を設定
することにより、境界曲線COM1、COM2、COM
3、COM4及び内部制御点ベクトルP11、ベクトル
P12、ベクトルP21、ベクトルP22に基づいて所
定のベクトル関数ベクトルS(u,v) で表されるパツチベ
クトルS(u,v) を枠組み空間に張ることにより、自由曲
面を作成する自由曲面作成方法において、複数の点ベク
トルq1 〜ベクトルqm から枠組み空間に形成されたパ
ツチベクトルS(u,v) までの最短距離diを検出し、最
短距離diの総和が最少になるように、パツチベクトル
S(u,v)の枠組み空間に内部制御点ベクトルP11、ベ
クトルP12、ベクトルP21、ベクトルP22を設定
し、複数の点ベクトルq1 〜ベクトルqm が外形形状を
表してなるパツチベクトルS(u,v) を生成する。
【0016】さらに第4の発明においては、3次元空間
上の境界曲線COM1、COM2、COM3、COM4
で囲まれた枠組み空間に内部制御点ベクトルP11、ベ
クトルP12、ベクトルP21、ベクトルP22を設定
することにより、境界曲線COM1、COM2、COM
3、COM4及び内部制御点ベクトルP11、ベクトル
P12、ベクトルP21、ベクトルP22に基づいて所
定のベクトル関数ベクトルS(u,v) で表されるパツチベ
クトルS(u,v) を枠組み空間に張ることにより、自由曲
面を作成する自由曲面作成方法において、変形対象のパ
ツチベクトルS(u,v) 上に複数の点ベクトルq1〜ベク
トルqm を設定し、複数の点ベクトルq1 〜ベクトルq
m から変形目標のパツチベクトルS(u,v)Mまでの最短距
離diを検出し、最短距離diの総和が最少になるよう
に、変形対象のパツチS(u,v) の枠組み空間に内部制御
点ベクトルP11、ベクトルP12、ベクトルP21、
ベクトルP22を設定し、変形対象のパツチベクトルS
(u,v) の枠組み空間に、変形目標の曲面形状のパツチベ
クトルS(u,v) を生成する。
【0017】
【作用】節点ベクトルP0 、ベクトルP3 及び制御点ベ
クトルP1 、ベクトルP2 で決まる自由曲線ベクトルR
(t) に垂線を下ろして自由曲線ベクトルR(t) との交点
のパラメータtiを検出し、入力された点列ベクトルq1
〜ベクトルqm の各点ベクトルq2 〜ベクトルqm-1 か
ら該パラメータtiで決まる自由曲線ベクトルR(t) まで
の距離di の総和が小さくなるように制御点ベクトルP
1 、ベクトルP2を再設定すれば、設定した節点ベクト
ルP0 、ベクトルP3 及び再設定した制御点ベクトルP
1 、ベクトルP2 で、点列ベクトルq1 〜ベクトルqm
に似通よつた自由曲線ベクトルR(t) を簡易に形成する
ことができ、かくして点列ベクトルq1 〜ベクトルqm
を入力して自由曲線ベクトルR(t) を生成することがで
きる。
【0018】さらに、複数の点ベクトルq1 〜ベクトル
qm の座標データに基づいて、各点ベクトルq1 〜ベク
トルqm から基準のパツチベクトルS(u,v) までの最短
距離diを検出し、最短距離diの総和が最少になるよ
うに内部制御点ベクトルP11、ベクトルP12、ベク
トルP21、ベクトルP22を設定してパツチベクトル
S(u,v) を生成すれば、所望の曲面形状のパツチベクト
ルS(u,v) を生成することができる。
【0019】このときパツチベクトルS(u,v) の枠組み
空間に内部制御点ベクトルP11、ベクトルP12、ベ
クトルP21、ベクトルP22を設定し、複数の点ベク
トルq1 〜ベクトルqm が外形形状を表してなるパツチ
ベクトルS(u,v) を生成すれば、例えば点群ベクトルq
1 〜ベクトルqm を入力して、当該点群ベクトルq1〜
ベクトルqm の外形形状でなるパツチベクトルS(u,v)
を生成することができる。
【0020】また、変形対象のパツチベクトルS(u,v)
上に複数の点ベクトルq1 〜ベクトルqm を設定し、変
形目標のパツチベクトルS(u,v)Mまでの最短距離diの
総和が最少になるように、変形対象のパツチS(u,v) の
枠組み空間に内部制御点ベクトルP11、ベクトルP1
2、ベクトルP21、ベクトルP22を設定すれば、枠
組み空間を変更処理した場合等においても、元の曲面形
状のパツチベクトルS(u,v)Eを得ることができる。
【0021】
【実施例】以下図面について、本発明の一実施例を詳述
する。
【0022】(1)CAD/CAMシステムの全体構成 図1において、10は全体としてCAD/CAMシステ
ムを示し、自由曲面作成装置12で自由曲面を表す形状
データDTSを作成した後、工具経路作成装置13で切
削加工用の加工データDTCLを作成する。
【0023】すなわち自由曲面作成装置12は、中央処
理装置(CPU)を有し、表示装置16の表示に応答し
て入力装置17を操作することにより、デザイナが指定
入力したワイヤフレームモデルに3次のベジエ式を用い
てパツチを張つた後、当該パツチを接続し直すことによ
り、自由曲面を有する物体の形状データDTS を作成す
る。
【0024】これに対して工具経路作成装置13は、形
状データDTSに基づいて、金型を荒加工及び仕上げす
る加工データDTCLを作成した後、当該荒加工用及び
仕上げ加工用の加工データDTCLを、例えばフロツピ
デイスク15を介して、NCミーリングマシン14に出
力する。NCミーリングマシン14は、当該加工データ
DTCLに基づいて例えばNCフライス盤を駆動し、こ
れにより形状データDTSで表される製品の金型を作成
する。
【0025】(2)自由曲線の作成 (2−1)自由曲線の原理 ここで図2に示すように、ベジエ曲線は、3次のベジエ
(bezier)式を用いて次式、
【数6】 で表されるパラメトリツクな空間曲線ベクトルR(t) で
表現される。
【0026】ここでt は、一方の節点ベクトルP0 から
曲線セグメントKSGに沿う方向に他方の節点ベクトルP
3 に至るまでの間に、次式
【数7】 で表されるように値0から値1まで変化するパラメータ
である。このようにして3次のベジエ式で表される曲線
セグメントKSGは、シフト演算子Eによつて節点ベクト
ルP0 及びベクトルP3 間に2つの制御点ベクトルP1
及びベクトルP2 を指定することによつて曲線セグメン
トKSG上の各点が次式
【数8】 の展開によつてxyz空間の原点0からの位置ベクトル
R(t) として表される。
【0027】ここでシフト演算子Eは、曲線セグメント
KSG上の制御点ベクトルPi に対して次式
【数9】
【数10】 の関係をもつ。
【0028】従つて(6)式を展開して(9)式の関係
を代入すれば、次式
【数11】 のように演算することができ、その結果(8)式が得ら
れる。
【0029】かくしてベジエ曲線で表される各曲線セグ
メントKSG1 、KSG2 、KSG3 は(8)式に基づいてそ
れぞれ2つの節点及び制御点ベクトルP(0)1〜3 、ベク
トルP(1)1〜3 、ベクトルP(2)1〜3 及びベクトルP
(3)1〜3 によつて表すことができ、節点ベクトルP(0)1
〜3 及びP(3)1間に制御点ベクトルP(1)1〜3 及びベク
トルP(2)1〜3 を設定することにより、節点ベクトルP
(0)1〜3 及びP(3)1を通つて制御点ベクトルP(0)1〜3
、ベクトルP(1)1〜3 、ベクトルP(2)1〜3 及びベク
トルP(3)1〜3 で決まる形状に設定することができる。
【0030】(2−2)曲線セグメントの生成 自由曲面作成装置12は、図3に示す処理手順を実行
し、デザイナが指定した点群について、形状の似通つた
曲線群を生成する。すなわち自由曲面作成装置12は、
ステツプSP1からステツプSP2に移り、ここで図4
に示すように、入力装置17を介してデザイナが入力す
る点列ベクトルq1 、ベクトルq2 、ベクトルq3 、ベ
クトルq4 、……、ベクトルqm の座標データを取り込
む。
【0031】続いて自由曲面作成装置12は、ステツプ
SP3に移つてベジエ曲線ベクトルR(t) を仮設定した
後、ステツプSP4に移り、入力された点列ベクトルq
1 、ベクトルq2 、ベクトルq3 、ベクトルq4 、…
…、ベクトルqm について始点ベクトルq1 及び終点ベ
クトルqm を検出した後、図5に示すように当該始点ベ
クトルq1 及び終点ベクトルqm を当該ベジエ曲線ベク
トルR(t) の節点ベクトルP0 、ベクトルP3 に設定す
る。
【0032】続いて自由曲面作成装置12は、ステツプ
SP5に移り、図6に示すように、ベジエ曲線ベクトル
R(t) の制御点ベクトルP1 及びベクトルP2 を、それ
ぞれ始点ベクトルq1 に隣接する点ベクトルq2 及び終
点ベクトルqm に隣接する点ベクトルqm-1 に設定す
る。続いて自由曲面作成装置12は、ステツプSP6に
移り、図7に示すように、当該節点ベクトルq1 及びベ
クトルqm 、制御点ベクトルq2 及びベクトルqm-1 の
ベジエ曲線ベクトルR(t) を生成した後、ステツプSP
7に移る。
【0033】ここで自由曲面作成装置12は、始点ベク
トルq1 及び終点ベクトルqm を除いた各点ベクトルq
2 〜ベクトルqm-1 からベジエ曲線ベクトルR(t) まで
垂線を下ろした距離di の総和Sを検出する。ここで、
次式
【数12】
【数13】
【数14】
【数15】 と置くと、(11)式は、次式
【数16】 で表すことができる。
【0034】ここで、この実施例においては、始点ベク
トルq1 及び終点ベクトルqm を当該ベジエ曲線ベクト
ルR(t) の節点ベクトルP0 、ベクトルP1 に設定した
ことにより、さらに次式
【数17】 で表すことができる。従つて、(17)式で表される曲線
セグメントの形状が入力された点列ベクトルq1 、ベク
トルq2 、ベクトルq3 、ベクトルq4 、……、ベクト
ルqm に似通うように制御点ベクトルP1 、ベクトルP
2 を設定し直せば、形状の通つた自由曲線を生成するこ
とができる。
【0035】すなわち制御点ベクトルP1 、ベクトルP
2 の座標値(x1 、y1 、z1 )、(x2 、y2 、z
2)を未知数とおき、これを求めれば良いことがわか
る。さらにここで制御点ベクトルP1 及びベクトルP2
を、それぞれ始点ベクトルq1 に隣接する点ベクトルq
2 及び終点ベクトルqm に隣接する点ベクトルqm-1 に
仮設定したことにより、(17)式は、次式
【数18】 で表すことができる。
【0036】ここで自由曲面作成装置12は、各点ベク
トルq2 〜ベクトルqm-1 からベジエ曲線ベクトルR
(t) まで垂線を下ろし、ベジエ曲線ベクトルR(t) につ
いて当該垂線との交点についてパラメータti を順次検
出する。さらに検出したパラメータti を順次(18)式に
代入し、各ベクトルq2 〜ベクトルqm-1 からパラメー
タti で決まるベジエ曲線ベクトルR(t) までの距離d
i を検出する。
【0037】これにより当該距離di の二乗和Sは、次
【数19】 で表し得、これを最少とする制御点ベクトルP1 、ベク
トルP2 の座標値(x1、y1 、z1 )、(x2 、y2
、z2 )を検出する。このときベジエ曲線ベクトルR
(t) と垂線とが交点を結ばないとき、自由曲面作成装置
12は、始点ベクトルq1 又は終点ベクトルqm までの
近い方を選択し、距離di を検出する。
【0038】ここで(19)式をそれぞれ6つの変数x1 、
y1 、z1 、x2 、y2 、z2 で微分すれば、次式
【数20】
【数21】
【数22】
【数23】
【数24】
【数25】 で表すことができる。
【0039】従つてここで次式
【数26】
【数27】
【数28】
【数29】
【数30】
【数31】 とおいて、(17)式に代入すれば、次式
【数32】
【数33】
【数34】
【数35】
【数36】
【数37】 で表すことができ、これから次式
【数38】
【数39】
【数40】 で示すように二元一次連立方程式を解けば良いことが分
かる。
【0040】これにより自由曲面作成装置12は、パラ
メータti を一定値に保持した状態で各点ベクトルq2
〜ベクトルqm-1 について(38)〜(40)式の演算処理を実
行し、制御点ベクトルP1 、ベクトルP2 の座標値(x
1 、y1 、z1 )、(x2 、y2 、z2 )を検出する
と、ステツプSP8に移る。ここで自由曲面作成装置1
2は、それぞれ仮設定した制御点ベクトルP1 、ベクト
ルP2 からステツプSP7で検出された制御点ベクトル
P1 、ベクトルP2までの距離を検出し、当該距離が所
定の許容範囲内か否か判断する。
【0041】ここで否定結果が得られると、自由曲面作
成装置12は、ステツプSP6に戻り、改めてステツプ
SP7で検出した制御点ベクトルP1 、ベクトルP2 を
用いてベジエ曲線を生成した後、当該ベジエ曲線に対し
て各点ベクトルq2 〜ベクトルqm-1 から垂線を下ろ
し、当該垂線の交点についてパラメータti を検出す
る。これにより自由曲面作成装置12は、ステツプSP
6−SP7−SP8−SP6のループLOOP1を繰り
返し、各点ベクトルq2 〜ベクトルqm-1 からベジエ曲
線ベクトルR(t) まで下ろした交点についてパラメータ
ti を検出し、当該パラメータti を一定値に保持した
状態で、距離di の二乗和Sが最も小さくなるようにベ
ジエ曲線ベクトルR(t) を生成し、その結果得られたベ
ジエ曲線ベクトルR(t) について再びパラメータti の
検出、ベジエ曲線ベクトルR(t) の生成を繰り返す。
【0042】実際上、このようなパラメータtを用いた
ベクトル関数においては、当該パラメータtを変数とし
て用いるようにすると、簡易に解を求めることが困難に
なる。ところがこの実施例のように、各点ベクトルq2
〜ベクトルqm-1 からベジエ曲線ベクトルR(t) まで下
ろした交点を基準にしてパラメータti を一定値に保持
し、ベジエ曲線ベクトルR(t)の生成を繰り返すように
すれば、図8に示すようにベジエ曲線ベクトルR(t) の
生成を繰り返す度に各点ベクトルq2 〜ベクトルqm-1
に対応するパラメータtの値を最適値に収束させること
ができ、簡易に解を求めることができる。
【0043】従つて、当該処理を繰り返すことにより、
点列ベクトルq1 〜ベクトルqm に似通つた自由曲線を
生成することができ、その分点列を入力して自由曲線を
生成することができる。
【0044】かくして、ベジエ曲線ベクトルR(t) の生
成を繰り返して制御点ベクトルP1、ベクトルP2の変
化が小さくなると、ステツプSP8において肯定結果が
得られることにより、自由曲面作成装置12はステツプ
SP9に移つてベジエ曲線を生成した後、ステツプSP
10に移つて当該処理手順を終了する。
【0045】かくして入力された点列の始点及び終点を
節点に設定し、入力された各点から垂線を下ろして自由
曲線との交点のパラメータを検出し、点列の各点から該
パラメータで決まる自由曲線までの距離が小さくなるよ
うに制御点を再設定することにより、点列に似通よつた
自由曲線を簡易に形成することができ、これにより点列
を入力して自由曲線を生成することができる。従つて、
その分当該自由曲面作成装置の使い勝手を向上すること
ができる。
【0046】(3)自由曲面の生成 このようにして自由曲線を生成してワイヤフレームモデ
ルを生成すると、自由曲面作成装置12は、図9に示す
処理手順を実行し、オペレータが入力した点群を基準に
して自由曲面を生成する。
【0047】すなわち自由曲面作成装置12は、ステツ
プSP11からステツプSP12に移り、ここで図10
に示すように、入力装置17を介してデザイナが入力す
る点群ベクトルq1 、ベクトルq2 、ベクトルq3 、ベ
クトルq4 、……、ベクトルqm の座標データを取り込
む。
【0048】続いて自由曲面作成装置12は、ステツプ
SP13に移つて、図11に示すように、当該点群ベク
トルq1 〜ベクトルqm に対応する境界曲線COM1〜
COM4の制御点ベクトルP00〜ベクトルP33を設定す
る。この設定処理は、上述の自由曲線作成方法によつて
生成した自由曲線群について、点群ベクトルq1 〜ベク
トルqm を囲む枠組み空間を選択し、当該枠組み空間の
自由曲線について制御点ベクトルP0〜ベクトルP3を
選択し、それぞれ制御点ベクトルP00〜ベクトルP33に
設定することにより、実行する。
【0049】続いて自由曲面作成装置12は、ステツプ
SP14に移り、ここで境界曲線COM1〜COM4で
囲まれる枠組み空間に内部制御点ベクトルP11、ベクト
ルP12、ベクトルP21、ベクトルP22を設定する。
【0050】図12に示すようにこの実施例において、
自由曲面作成装置12は、このようにして設定した内部
制御点ベクトルP11、ベクトルP12、ベクトルP21、ベ
クトルP22を繰り返し設定し直すことにより、入力され
た点群ベクトルq1 〜ベクトルqm で表される形状の自
由曲面を生成する。
【0051】すなわち自由曲面作成装置12は、内部制
御点ベクトルP11、ベクトルP12、ベクトルP21、ベク
トルP22の座標データをそれぞれ(x11、y11、z1
1)、(x12、y12、z12)、(x21、y21、z21)、
(x22、y22、z22)とおいて、入力された点群ベクト
ルq1 〜ベクトルqm までの距離が所定値以下になるよ
うに座標データ(x11、y11、z11)、(x12、y12、
z12)、(x21、y21、z21)、(x22、y22、z22)
を選定し、これにより点群ベクトルq1 〜ベクトルqm
で表される形状のパツチベクトルS(u,v) を生成する。
ここで内部制御点ベクトルP11、ベクトルP12、ベクト
ルP21、ベクトルP22を設定すると、自由曲面作成装置
12は、ステツプSP15に移り、内部制御点ベクトル
P11、ベクトルP12、ベクトルP21、ベクトルP22の座
標データ(x11、y11、z11)、(x12、y12、z1
2)、(x21、y21、z21)、(x22、y22、z22)を
初期値に設定する。
【0052】ここで自由曲面作成装置12は、次式
【数41】
【数42】
【数43】
【数44】 の演算処理を実行し、それぞれ内部制御点ベクトルP11
と制御点ベクトルP00、ベクトルP01及びベクトルP1
0、内部制御点ベクトルP12と制御点ベクトルP02、ベ
クトルP13及びベクトルP03、内部制御点ベクトルP21
と制御点ベクトルP20、ベクトルP31及びベクトルP3
0、内部制御点ベクトルP22と制御点ベクトルP23、ベ
クトルP32及びベクトルP33とが平行四辺形を形成する
ように、内部制御点ベクトルP11、ベクトルP12、ベク
トルP21、ベクトルP22の座標データ(x11、y11、z
11)、(x12、y12、z12)、(x21、y21、z21)、
(x22、y22、z22)を初期値に設定する。
【0053】続いて自由曲面作成装置12は、ステツプ
SP16に移り、制御点ベクトルP00〜ベクトルP33及
び内部制御点ベクトルP11〜ベクトルP22で決まるパツ
チベクトルS(u,v) を生成した後、ステツプSP17に
移り、各点群ベクトルq1 〜ベクトルqm からパツチベ
クトルS(u,v) までの最短距離di の2乗和を検出す
る。
【0054】すなわち図13に示すように、自由曲面作
成装置12は、入力された各点ベクトルq1 〜ベクトル
qm からそれぞれパツチベクトルS(u,v) まで垂線を下
ろし、交点ベクトルR1 〜ベクトルRmを検出する。
【0055】さらに自由曲面作成装置12は、各交点ベ
クトルR1 〜ベクトルRm について、パツチベクトルS
(u,v) 上のパラメータ(u1,v1)、(u2,v2)、……、(u
m,vm)を検出する。図14に示すように、自由曲面作成
装置12は、点ベクトルq1 〜ベクトルqm からそれぞ
れパツチベクトルS(u,v) まで垂線を下ろしたとき、パ
ツチベクトルS(u,v) 上に交点を形成し得ない場合、パ
ツチベクトルS(u,v) 上の点ベクトルq1 〜ベクトルq
m に最も近い点を交点ベクトルR1 〜ベクトルRm に設
定し、当該交点ベクトルR1 〜ベクトルRm のパラメー
タ(u1,v1)、(u2,v2)、……、(um,vm)を検出する。
【0056】続いて自由曲面作成装置12は、次式
【数45】 の演算処理を実行して、交点ベクトルR1 〜ベクトルR
m から対応する点ベクトルq1 〜ベクトルqm までの距
離di の2乗和を検出する。ここでR(ui,vi)x、R(u
i,vi)y 、R(ui,vi)z 、(i=1〜m)は、それぞれ
交点ベクトルR1〜ベクトルRm のx、y、z座標値を
表す。
【0057】ここで(45)式で表される最短距離di の
2乗和を、次式
【数46】 とおけば、当該2乗和は、内部制御点ベクトルP11、ベ
クトルP12、ベクトルP21、ベクトルP22の座標データ
(x11、y11、z11)、(x12、y12、z12)、(x2
1、y21、z21)、(x22、y22、z22)を変数にして
表す。これにより自由曲面作成装置12は、パツチに垂
線を下ろすことにより、点群からパツチまでの最短距離
を検出し、当該検出結果に基づいて(46)式で表される
関数が最小値になるように内部制御点ベクトルP11、ベ
クトルP12、ベクトルP21、ベクトルP22を設定する。
これにより自由曲面作成装置12においては、入力され
た点群ベクトルq1 〜ベクトルqm で表される形状の自
由曲面を生成し得る。
【0058】ここで(1)式を分解して(2)式及び
(3)式の関係を代入することにより、パツチベクトル
S(u,v) は、次式
【数47】 で表し得、ここで次式
【数48】
【数49】
【数50】
【数51】
【数52】
【数53】
【数54】
【数55】
【数56】
【数57】
【数58】
【数59】
【数60】
【数61】
【数62】
【数63】 とおいて、(47)式は、次式
【数64】 で表すことができる。
【0059】従つて(64)式で表される関数を内部制御
点ベクトルP11のx座標値x11で微分して、次式とおけ
ば、
【数65】 で表し得、ここで内部制御点ベクトルP11、ベクトルP
12、ベクトルP21、ベクトルP22の座標データ(x11、
y11、z11)、(x12、y12、z12)、(x21、y21、
z21)、(x22、y22、z22)が変数でなることによ
り、(48)式から、次式
【数66】 の関係を得ることができる。
【0060】これにより(65)式は、(64)式を代入し
て、次式
【数67】 で表し得ることがわかる。
【0061】同様にして(64)式の関数を、それぞれ内
部制御点ベクトルP11のy座標値y11及びz座標値z11
で微分し、次式
【数68】
【数69】 とおけば、次式
【数70】
【数71】 の関係式から、(64)式を代入して、次式
【数72】
【数73】 の関係式を得ることができる。
【0062】同様にして内部制御点ベクトルP12の座標
値x12、y12、z12について、次式
【数74】
【数75】
【数76】 とおけば、次式
【数77】
【数78】
【数79】 の関係式が成り立つことにより、次式
【数80】
【数81】
【数82】 の関係式を得ることができる。
【0063】同様にして内部制御点ベクトルP21、ベク
トルP22の座標値x21、y21、z21、x22、y22、z22
について、次式
【数83】
【数84】
【数85】
【数86】
【数87】
【数88】 とおけば、次式
【数89】
【数90】
【数91】
【数92】
【数93】
【数94】 の関係式が成り立つことにより、次式
【数95】
【数96】
【数97】
【数98】
【数99】
【数100】 の関係式を得ることができる。
【0064】ここで次式
【数101】 とおけば、(67)、(80)、(95)、(98)式は、次式
【数102】 で示すように行列の形で表すことができる。
【0065】同様に、次式
【数103】
【数104】 とおけば、(72)、(81)、(96)、(99)式及び(7
3)、(82)、(97)、(100)式は、次式
【数105】
【数106】 で示すように行列の形で表すことができる。
【0066】かくして各変数は独立でなることにより、
3組の四元一次連立方程式を解けば、内部制御点ベクト
ルP11、ベクトルP12、ベクトルP21、ベクトルP22の
座標データ(x11、y11、z11)、(x12、y12、z1
2)、(x21、y21、z21)、(x22、y22、z22)を
設定することができる。
【0067】すなわち自由曲面装置12は、(102)、(1
05)、(106)式の演算処理を実行して座標データ(x1
1、y11、z11)、(x12、y12、z12)、(x21、y2
1、z21)、(x22、y22、z22)を検出すると、ステ
ツプSP18に移る。ここで自由曲面装置12は、検出
した座標データ(x11、y11、z11)〜(x22、y22、
z22)とステツプSP16で生成した内部制御点ベクト
ルP11〜ベクトルP22の座標データ(x11、y11、z1
1)〜(x22、y22、z22)とをそれぞれ比較し、各座
標データの差が所定の設定値以下か否か判断する。
【0068】ここで否定結果が得られると自由曲面装置
12は、ステツプSP16に戻り、検出した内部制御点
ベクトルP11〜ベクトルP22の座標データ(x11、y1
1、z11)〜(x22、y22、z22)に基づいてパツチベ
クトルS(u,v) を生成し、ステツプSP17に移る。こ
れにより図15に示すように自由曲面装置12において
は、パツチベクトルS(u,v) に垂線を下ろし、与えられ
た点群ベクトルq1 〜ベクトルqm に対応するパラメー
タu,vを設定し、当該パラメータu,vで決まるパツ
チベクトルS(u,v) 上の点ベクトルR1〜ベクトルRm
と各点ベクトルq1 〜ベクトルqm 間の距離di が最少
になるように、内部制御点ベクトルP11〜ベクトルP22
を設定する。
【0069】さらにこのようにして設定した内部制御点
ベクトルP11〜ベクトルP22でパツチベクトルS(u,v)1
を生成した後、当該パツチベクトルS(u,v)1に垂線を下
ろしてパラメータu,vを設定し、当該パラメータu,
vで決まるパツチベクトルS(u,v)1上の点ベクトルR1
〜ベクトルRm と各点ベクトルq1 〜ベクトルqm 間の
距離di が最少になるように、内部制御点ベクトルP11
〜ベクトルP22を設定する。これによりステツプSP1
6−SP17−SP18−SP16の処理手順を繰り返
して、順次パツチベクトルS(u,v) を変形し得、入力さ
れた点群ベクトルq1 〜ベクトルqm で表される形状の
自由曲面を生成することができる。
【0070】すなわち自由曲面装置12においては、ス
テツプSP18において肯定結果が得られると、ステツ
プSP19に移り、ここで検出した内部制御点ベクトル
P11〜ベクトルP22の座標データ(x11、y11、z11)
〜(x22、y22、z22)に基づいてパツチベクトルS
(u,v) を生成し直した後、ステツプSP20に移つて当
該処理手順を終了する。
【0071】これにより点群を入力して簡易に自由曲面
を生成し得、当該自由曲面装置12の使い勝手を向上す
ることができる。
【0072】実際上、図16に示すように、1/8に分
割した球表面の座標データを入力して3つのパツチベク
トルS(u,v)1、ベクトルS(u,v)2、ベクトルS(u,v)3を
生成した場合、図17及図18に示すように、当初入力
した点群に対して誤差の大きかつたパツチベクトルS
(u,v)1、ベクトルS(u,v)2、ベクトルS(u,v)3を、除々
に点群に近い形状に変形し得、最終的にほぼ球面に近い
形状に変形することができた。
【0073】かくしてパツチを仮生成し、入力した点群
から当該パツチに下ろした垂線の長さの2乗和が最少に
なるように、当該パツチの内部制御点を設定することに
より、当該点群に近い形状のパツチを生成することがで
き、これにより点群を入力して所望の自由曲面を生成し
得、当該自由曲面作成装置の使い勝手を向上することが
できる。
【0074】(4)自由曲面の変形 このようにして枠組み空間に形成したパツチにおいて
は、そのうちの1つの枠組み空間が大きすぎる場合等が
ある。
【0075】この場合自由曲面作成装置12において
は、オペレータの操作に応動して図19に示す処理手順
を実行することにより、オペレータが新たに設定し直し
た枠組み空間にパツチを生成した後、当該パツチを元の
曲面形状に変形する。
【0076】すなわち自由曲面作成装置12は、ステツ
プSP21からステツプSP22に移り、ここでオペレ
ータの操作に応動して、ユーザが設定し直す枠組み空間
について、当該枠組み空間に張られたパツチベクトルS
(u,v)Mのデータを取り込む。すなわち図20に示すよう
に、自由曲面作成装置12は、当該パツチベクトルS
(u,v)Mについて節点ベクトルQ00、ベクトルQ30、ベク
トルQ03、ベクトルQ33、制御点ベクトルQ01、ベクト
ルQ02、ベクトルQ10、ベクトルQ20、ベクトルQ31、
ベクトルQ32、ベクトルQ13、ベクトルQ23の座標デー
タを取り込んだ後、ステツプSP23に移り、ここでオ
ペレータが設定した新たな枠組み空間の曲線データを生
成する。
【0077】この生成処理において、自由曲面作成装置
12、デジタイザ等を用いてオペレータが境界曲線CO
M2、COM4上の点ベクトルP3、ベクトルP0を指
定すると、それぞれ点ベクトルP3、ベクトルP0を節
点に設定すると共に、境界曲線COM2及びCOM4を
点ベクトルP0、ベクトルP3で分割してパラメータ及
び内部制御点を設定し直すことにより、境界曲線COM
2及びCOM4をそれぞれ2つの境界曲線COM21、
COM41及びCOM22、COM42に分割する。
【0078】さらに自由曲面作成装置12は、当該点ベ
クトルP0、ベクトルP3間を結ぶ自由曲線を生成し、
当該自由曲線を境界曲線COM11に設定する。これに
より自由曲面作成装置12においては、境界曲線COM
1〜COM4で囲まれる枠組み空間を、境界曲線COM
1、COM22、COM11、COM42及び境界曲線
COM11、COM21、COM3、COM41で囲ま
れる2つの枠組み空間に分割する。
【0079】さらに境界曲線COM21、COM41、
COM22、COM42を生成する際、自由曲面作成装
置12においては、境界曲線COM2、COM4上に点
列を生成した後、当該点列について図9について上述し
た処理手順を実行して境界曲線COM21、COM4
1、COM22、COM42を生成することにより、元
の境界曲線COM2、COM4の形状で境界曲線COM
21、COM41、COM22、COM42を生成す
る。同様に自由曲面作成装置12は、境界曲線COM1
1を生成する際、点ベクトルP0、ベクトルP3間を結
ぶパツチベクトルS(u,v)M上に点列を形成した後、当該
点列について図9について上述した処理手順を実行して
境界曲線COM11を生成することにより、元のパツチ
ベクトルS(u,v)Mの曲面形状で境界曲線COM11を生
成する。
【0080】続いて自由曲面作成装置12は、ステツプ
SP24に移り、図21に示すように、境界曲線COM
3、COM21、COM11、COM41で囲まれる枠
組み空間について、内部制御点ベクトルP11、ベクトル
P12、ベクトルP21、ベクトルP22を設定する。これに
より自由曲面作成装置12は、当該内部制御点ベクトル
P11、ベクトルP12、ベクトルP21、ベクトルP22を繰
り返し設定し直し、元のパツチベクトルS(u,v)Mの曲面
形状に順次形状が近づくように新たなパツチS(u,v) を
生成する。
【0081】すなわち自由曲面作成装置12は、ステツ
プSP25に移り、(41)〜(44)式の演算処理を実行
することにより、内部制御点ベクトルP11、ベクトルP
12、ベクトルP21、ベクトルP22の座標データ(x11、
y11、z11)、(x12、y12、z12)、(x21、y21、
z21)、(x22、y22、z22)を初期値に設定する。
【0082】続いて自由曲面作成装置12は、ステツプ
SP26に移り、内部制御点ベクトルP11〜ベクトルP
22及び境界曲線COM11、COM21、COM3、C
OM41で決まるパツチベクトルS(u,v) を生成した
後、ステツプSP27に移る。ここで自由曲面作成装置
12は、図22に示すように、パツチベクトルS(u,v)
のパラメータu及びvをn分割し(ここでnは10でな
る)、パツチベクトルS(u,v) 上に9×9個の点ベクト
ルq1 〜ベクトルqm (m=81)を設定する。
【0083】続いて自由曲面作成装置12は、ステツプ
SP28に移り、ここで図23に示すように、パツチベ
クトルS(u,v) 上に設定した点ベクトルq1 〜ベクトル
qmからそれぞれ変形目標でなるパツチベクトルS(u,v)
M上に垂線を下ろし、パツチベクトルS(u,v)Mと各垂線
の交点ベクトルS1 〜ベクトルSm を検出する。さらに
自由曲面作成装置12は、各点ベクトルq1 〜ベクトル
qm から対応する交点ベクトルS1 〜ベクトルSm まで
の距離diを検出し、これによりパツチベクトルS(u,
v) 上に設定した各点ベクトルq1 〜ベクトルqm から
パツチベクトルS(u,v)Mまでの最短距離を検出する。
【0084】このとき自由曲面作成装置12は、点ベク
トルq1 〜ベクトルqm からそれぞれパツチベクトルS
(u,v)Mまで垂線を下ろしたとき、パツチベクトルS(u,
v)M上に交点を形成し得ない場合(この場合パツチを分
割して生成した枠組み空間でなることから、全てのベク
トルq1 〜ベクトルqm はパツチベクトルS(u,v)M上に
交点を形成する)、パツチベクトルS(u,v)Mまでの最短
の点を交点ベクトルqmに設定し、これにより当該点ベ
クトルR1 〜ベクトルRm について距離diを検出す
る。
【0085】さらに距離diを検出すると、自由曲面作
成装置12は、当該距離di の2乗和を検出した後、当
該2乗和が最少になるように内部制御点ベクトルP11、
ベクトルP12、ベクトルP21、ベクトルP22を再設定す
る。この場合自由曲面作成装置12は、(45)式におい
て、交点ベクトルRiの座標を表す座標値S(u,v)x、S
(u,v)y、S(u,v)zに代えて、パツチベクトルS(u,v) 上
に設定した点ベクトルqi を表す座標値S(u,v)x、S
(u,v)y、S(u,v)zを代入し、入力された各点ベクトルq
i を表す座標値qix、qiy、qizに代えて交点のベクト
ルS1〜ベクトルSm の座標値S(u,v)Mx 、S(u,v)My
、S(u,v)Mz を代入することにより、距離di の2乗
和を検出することができる。
【0086】従つて自由曲面作成装置12においては、
(47)〜(106)式について上述したと同様に演算処理を
実行することにより、2乗和を最少にする内部制御点ベ
クトルP11、ベクトルP12、ベクトルP21、ベクトルP
22を検出することができる。
【0087】かくして自由曲面作成装置12において
は、内部制御点ベクトルP11、ベクトルP12、ベクトル
P21、ベクトルP22を検出すると、ステツプSP29に
移り、ここで検出した内部制御点ベクトルP11〜ベクト
ルP22の座標データ(x11、y11、z11)〜(x22、y
22、z22)とステツプSP26で生成した内部制御点ベ
クトルP11〜ベクトルP22の座標データ(x11、y11、
z11)〜(x22、y22、z22)とをそれぞれ比較し、各
座標データの差が所定の設定値以下か否か判断する。
【0088】ここで否定結果が得られると自由曲面装置
12は、ステツプSP26に戻り、検出した内部制御点
ベクトルP11〜ベクトルP22の座標データ(x11、y1
1、z11)〜(x22、y22、z22)に基づいてパツチベ
クトルS(u,v) を生成し、ステツプSP27に移る。
【0089】これにより自由曲面装置12においては、
ステツプSP26−SP27−SP28−SP29−S
P26の処理手順を繰り返し実行し、元のパツチベクト
ルS(u,v)Mの曲面形状に近づくように、順次パツチベク
トルS(u,v) を変形し、その変化が小さくなるとステツ
プSP29において肯定結果が得られることにより、ス
テツプSP30に移つて最終形状のパツチベクトルS
(u,v) を生成した後、ステツプSP31に移つて当該処
理手順を終了する。
【0090】続いて自由曲面装置12においては、同様
に残りの枠組み空間にも元のパツチに近似したパツチを
生成し、これによりパツチを分割した場合でも、元の曲
面形状を維持することができる。
【0091】実際上、図24に示すように、断面円弧形
状のパツチベクトルS(u,v)Mを平面S(u,v)1で分割した
実験によれば、図25に示すように単に内部制御点ベク
トルP11〜ベクトルP22を設定しただけでは、分割した
位置で曲面が不自然に変化し、等輝度線も元の状態と異
なることがわかる。
【0092】これに対して図26に示すように、上述の
処理手順を実行して分割後のパツチを変形すれば、元の
パツチベクトルS(u,v)Mの曲面形状をほぼ完全な形で再
現し得ることが確認できた。
【0093】かくしてパツチを仮生成し、当該パツチ上
に設定した点群から変形目標のパツチに下ろした垂線の
長さの2乗和が最少になるように、当該パツチの内部制
御点を設定することにより、当該パツチの曲面形状を変
形目標のパツチに近づけることができ、これにより必要
に応じて枠組み空間を設定し直し得、当該自由曲面作成
装置の使い勝手を向上することができる。
【0094】(5)実施例の効果 以上の構成によれば、入力された点列の始点及び終点を
節点に設定し、入力された各点から垂線を下ろして自由
曲線との交点のパラメータを検出し、点列の各点から該
パラメータで決まる自由曲線までの距離が小さくなるよ
うに制御点を再設定することにより、点列に似通よつた
自由曲線を簡易に形成することができ、これにより点列
を入力して自由曲線を生成することができる。
【0095】さらにパツチを仮生成し、入力した点群か
ら当該パツチに下ろした垂線の長さの2乗和が最少にな
るように、当該パツチの内部制御点を設定することによ
り、当該点群に近い形状のパツチを生成することがで
き、これにより点群を入力して所望の自由曲面を生成す
ることができる。
【0096】さらにこれとは逆に仮生成したパツチ上に
点群を設定し、当該点群から変形目標のパツチに下ろし
た垂線の長さの2乗和が最少になるように当該パツチの
内部制御点を設定することにより、当該パツチの曲面形
状を変形目標のパツチに近づけることができる。従つて
点列、点群を入力して自由曲線、自由曲面を生成し得、
さらに必要に応じて生成した自由曲面を自由に変形する
ことができ、その分当該自由曲面作成装置の使い勝手を
向上することができる。
【0097】(6)他の実施例 なお上述の実施例については、点列を入力して自由曲線
を生成し、これによりワイヤフレームモデルを生成する
場合について述べたが、本発明はこれに限らず、必要に
応じて自由曲線を作成する場合に広く適用することがで
きる。
【0098】さらに上述の実施例については、オペレー
タが入力した点群を用いてパツチを生成する場合につい
て述べたが、本発明はこれに限らず、デザイン装置で作
成した曲面加工用のオフセツト曲面を作成する場合、フ
イレツト面を生成する場合等に広く適用することができ
る。
【0099】すなわちオフセツト曲面を作成する場合、
工具半径の分だけ元の曲面から離間した位置に順次点群
を形成する。これにより当該点群を用いてパツチを生成
すれば、近似精度の高いオフセツト曲面を作成すること
ができる。
【0100】これに対してフイレツト面を生成する場
合、元の曲面データに基づいて演算処理を実行し、フイ
レツト面を表す点群を形成する。これにより当該点群を
用いてパツチを生成すれば、簡易にフイレツト面を生成
することができる。
【0101】またこのように演算処理結果に基づいて点
群を形成し、当該点群を用いてパツチを生成すれば、例
えば球、円筒等の幾何学形状を簡易に作成することがで
きる。さらに三次元測定装置等の出力データに基づい
て、被測定対象の外形形状を生成することができる。
【0102】さらに上述の実施例については、パツチ上
に点群を設定することにより、パツチを分割して元の曲
面形状を得る場合について述べたが、本発明はこれに限
らず、例えば複数のパツチを一つのパツチで置き換える
場合、所望の曲面に例えばシール等が張り付いた状態を
表現する場合等に広く適用することができる。
【0103】
【発明の効果】上述のように本発明によれば、点列の始
点及び終点を節点に設定して自由曲線を仮設定した後、
各点から垂線を下ろして当該自由曲線との交点のパラメ
ータを検出し、点列の各点から該パラメータで決まる自
由曲線までの距離が小さくなるように制御点を再設定す
ることにより、点列に似通よつた自由曲線を簡易に形成
し得る自由曲線作成方法を得ることができる。
【0104】さらに、複数の点の座標データに基づい
て、各点から基準のパツチまでの最短距離を検出し、最
短距離の総和が最少になるように内部制御点を設定する
ことにより、所望の曲面形状のパツチを生成し得る自由
曲面作成方法を得ることができる。
【0105】このときパツチの枠組み空間に内部制御点
を設定し、複数の点が外形形状を表してなるパツチを生
成すれば、例えば点群を入力して、当該点群の外形形状
でなるパツチを簡易に生成し得る自由曲面作成方法を得
ることができる。
【0106】また、変形対象のパツチ上に複数の点を設
定し、変形目標のパツチまでの最短距離を基準にして、
変形対象のパツチの枠組み空間に内部制御点を設定する
ことにより、枠組み空間を変更処理した場合等において
も、元の曲面形状のパツチを生成し得る自由曲面作成方
法を得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施例によるCAD/CAMシステ
ムの全体構成を示すブロツク図である。
【図2】自由曲線の説明に供する略線図である。
【図3】その曲線セグメントの生成手順を示すフローチ
ヤートである。
【図4】入力された点列を示す略線図である。
【図5】ベジエ曲線の仮設定の説明に供する略線図であ
る。
【図6】制御点の仮設定の説明に供する略線図である。
【図7】距離の検出処理の説明に供する略線図である。
【図8】ベジエ曲線の生成処理の繰り返しの説明に供す
る略線図である。
【図9】自由曲面作成の処理手順を示すフローチヤート
である。
【図10】入力された点群を示す略線図である。
【図11】境界曲線作成の説明に供する略線図である。
【図12】内部制御点の設定の説明に供する略線図であ
る。
【図13】点群からパツチまでの距離の検出処理の説明
に供する略線図である。
【図14】パツチに垂線を下ろせない場合の処理の説明
に供する略線図である。
【図15】パツチの変形の説明に供する略線図である。
【図16】実際の点群の入力を示す略線図である。
【図17】設定直後のパツチを示す略線図である。
【図18】最終形状のパツチを示す略線図である。
【図19】パツチの分割、変形処理の処理手順を示すフ
ローチヤートである。
【図20】分割対象のパツチを示す略線図である。
【図21】変形対象のパツチを示す略線図である。
【図22】パツチ上に設定した点群の説明に供する略線
図である。
【図23】点群からパツチまでの距離の検出処理の説明
に供する略線図である。
【図24】実際の分割、変形処理のパツチを示す略線図
である。
【図25】その分割直後のパツチを示す略線図である。
【図26】その最終形状のパツチを示す略線図である。
【図27】自由曲面の説明に供する略線図である。
【符号の説明】 10……CAD/CAMシステム、12……自由曲面作
成装置、P(11)、P(11)1 、P(11)2 ……節点、制御
点、R(t) ……自由曲線、S(u,v) 、S(u,v)1……パツ
チ。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】3次元空間上の2つの節点間に制御点を生
    成し、上記節点及び制御点に基づいて、所定のパラメー
    タを用いたベクトル関数で表される自由曲線を生成する
    自由曲線作成方法において、 入力された点列の始点及び終点を上記節点に設定すると
    共に、上記始点及び終点に隣接する上記点列の点に基づ
    いて上記制御点を仮設定した後、 上記入力された点列の各点から、上記節点及び上記制御
    点で決まる自由曲線に垂線を下ろして上記自由曲線との
    交点の上記パラメータを検出し、 上記入力された点列の各点から該パラメータで決まる上
    記自由曲線までの距離の総和が小さくなるように上記制
    御点を再設定し、 上記設定した節点及び再設定した制御点で、上記点列に
    似通よつた上記自由曲線を形成することを特徴とする自
    由曲線作成方法。
  2. 【請求項2】3次元空間上の境界曲線で囲まれた枠組み
    空間に内部制御点を設定することにより、上記境界曲線
    及び上記内部制御点に基づいて所定のベクトル関数で表
    されるパツチを上記枠組み空間に張ることにより、自由
    曲面を作成する自由曲面作成方法において、 複数の点の座標データに基づいて、上記各点から基準の
    パツチまでの最短距離を検出し、 上記最短距離の総和が最少になるように内部制御点を設
    定してパツチを生成することを特徴とする自由曲面作成
    方法。
  3. 【請求項3】3次元空間上の境界曲線で囲まれた枠組み
    空間に内部制御点を設定することにより、上記境界曲線
    及び上記内部制御点に基づいて所定のベクトル関数で表
    されるパツチを上記枠組み空間に張ることにより、自由
    曲面を作成する自由曲面作成方法において、 複数の点から上記枠組み空間に形成されたパツチまでの
    最短距離を検出し、上記最短距離の総和が最少になるよ
    うに、上記パツチの枠組み空間に内部制御点を設定し、 上記複数の点が外形形状を表してなるパツチを生成する
    ことを特徴とする自由曲面作成方法。
  4. 【請求項4】3次元空間上の境界曲線で囲まれた枠組み
    空間に内部制御点を設定することにより、上記境界曲線
    及び上記内部制御点に基づいて所定のベクトル関数で表
    されるパツチを上記枠組み空間に張ることにより、自由
    曲面を作成する自由曲面作成方法において、変形対象の
    パツチ上に複数の点を設定し、上記複数の点から変形目
    標のパツチまでの最短距離を検出し、上記最短距離の総
    和が最少になるように、上記変形対象のパツチの枠組み
    空間に内部制御点を設定し、上記変形対象のパツチの枠
    組み空間に、上記変形目標の曲面形状のパツチを生成す
    ることを特徴とする自由曲面作成方法。
JP3311952A 1991-03-20 1991-10-29 自由曲線作成方法及び自由曲面作成方法 Pending JPH0535826A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US07/965,079 US6084586A (en) 1991-10-29 1992-10-22 Method and apparatus for forming objects based on free-form curves and free-form surfaces generated by minimizing sum of distances from an input series of points to a free-form curve

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP3-81905 1991-03-20
JP8190591 1991-03-20

Publications (1)

Publication Number Publication Date
JPH0535826A true JPH0535826A (ja) 1993-02-12

Family

ID=13759461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3311952A Pending JPH0535826A (ja) 1991-03-20 1991-10-29 自由曲線作成方法及び自由曲面作成方法

Country Status (5)

Country Link
US (1) US5410645A (ja)
EP (1) EP0504889B1 (ja)
JP (1) JPH0535826A (ja)
KR (1) KR100253039B1 (ja)
DE (1) DE69232227T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579464A (en) * 1994-05-18 1996-11-26 Sony Corporation Free-form surface creation method and apparatus thereof
US5631840A (en) * 1994-04-28 1997-05-20 Sony Corporation Methods and apparatuses for generating sculptured surfaces
WO2007083602A1 (ja) * 2006-01-23 2007-07-26 National University Corporation Yokohama National University 補間処理方法、補間処理装置、形状評価方法、および形状評価装置
JP2012114518A (ja) * 2010-11-19 2012-06-14 Fujitsu Ltd 受信回路、送信回路、通信システム、及び通信システムの送信設定方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500927A (en) * 1993-03-18 1996-03-19 Macromedia, Inc. System and method for simplifying a computer-generated path
WO1995001608A1 (fr) * 1993-06-29 1995-01-12 Fujitsu Limited Procede et appareil permettant de tracer des cercles tangents
GB2295701B (en) * 1994-11-29 1997-06-25 Honda Motor Co Ltd Method for machining a product die
US5805172A (en) * 1995-11-13 1998-09-08 Brown; Ray Method of generating abstract designs
FR2749527B1 (fr) * 1996-06-06 1998-07-17 Const Mecaniques Des Vosges Procedes pour l'usinage de pieces mecaniques, particulierement de pieces de forme complexe
US5774359A (en) * 1996-09-17 1998-06-30 Autodesk, Inc. Method for generating an extended rolling ball fillet surface between two surfaces
US5995109A (en) * 1997-04-08 1999-11-30 Lsi Logic Corporation Method for rendering high order rational surface patches
JPH10293854A (ja) * 1997-04-18 1998-11-04 Koubundou:Kk 曲線表示方法及び装置、同曲線を表すデータの作成方法及び装置、並びに同表示方法及び作成方法を実現するためのプログラムを記録した記録媒体
AUPP557998A0 (en) * 1998-08-28 1998-09-24 Canon Kabushiki Kaisha Method and apparatus for orientating a set of finite N-dimensional space curves
US6498608B1 (en) * 1998-12-15 2002-12-24 Microsoft Corporation Method and apparatus for variable weight outline emboldening of scalable outline fonts
US6441822B1 (en) * 1999-04-02 2002-08-27 Bruce H. Johnson Drawing with circular arcs
US6392646B1 (en) 1999-12-22 2002-05-21 General Electric Co. Iterative determination of the shortest path between two points on a polygonal surface
AUPQ856700A0 (en) * 2000-07-04 2000-07-27 Ninnes, David Brian Method for creating geometric figures
US6950099B2 (en) * 2002-07-01 2005-09-27 Alias Systems Corp. Approximation of Catmull-Clark subdivision surfaces by Bezier patches
US20060080820A1 (en) * 2004-10-18 2006-04-20 Belote Adam T Method and apparatus for a reducing surface area profile required for a gasket part cut from a sheet of gasket material
JP4800873B2 (ja) * 2006-08-04 2011-10-26 オークマ株式会社 近似点群データからの近似曲線生成プログラム及び方法
KR100913848B1 (ko) * 2007-07-06 2009-08-26 삼성중공업 주식회사 곡형 부재 가공 완성도 평가 시스템 및 그 방법
US8300052B1 (en) * 2008-09-24 2012-10-30 Autodesk, Inc. Application of bevel curves to splines
CN102629289B (zh) * 2012-03-05 2014-05-07 南京航空航天大学 一种转角特征插铣刀轨自动生成方法
TWI476640B (zh) 2012-09-28 2015-03-11 Ind Tech Res Inst 時間資料序列的平滑化方法與裝置
CN107350528B (zh) * 2017-09-18 2018-11-02 沈阳飞机工业(集团)有限公司 转角插铣加工的插铣点位构建方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1282142C (en) * 1986-10-21 1991-03-26 Sony Corporation Method for generating offset surface data
CA1293812C (en) * 1987-10-26 1991-12-31 Tetsuzo Kuragano Method and system for generating free curved surface
KR930002339B1 (ko) * 1989-04-20 1993-03-29 가부시기가이샤 도시바 짧은 직선 벡터의 곡선 세그멘트에 3차 베지어(Bzxier)곡선을 정합시키는 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5631840A (en) * 1994-04-28 1997-05-20 Sony Corporation Methods and apparatuses for generating sculptured surfaces
US5579464A (en) * 1994-05-18 1996-11-26 Sony Corporation Free-form surface creation method and apparatus thereof
WO2007083602A1 (ja) * 2006-01-23 2007-07-26 National University Corporation Yokohama National University 補間処理方法、補間処理装置、形状評価方法、および形状評価装置
JP4934789B2 (ja) * 2006-01-23 2012-05-16 国立大学法人横浜国立大学 補間処理方法および補間処理装置
US8228329B2 (en) 2006-01-23 2012-07-24 National University Corporation Yokohama National University Interpolation processing method, interpolation processing device, shape evaluation method, and shape evaluation device
JP2012114518A (ja) * 2010-11-19 2012-06-14 Fujitsu Ltd 受信回路、送信回路、通信システム、及び通信システムの送信設定方法

Also Published As

Publication number Publication date
EP0504889A3 (en) 1994-08-24
US5410645A (en) 1995-04-25
DE69232227D1 (de) 2002-01-10
KR920018600A (ko) 1992-10-22
EP0504889B1 (en) 2001-11-28
KR100253039B1 (ko) 2000-04-15
EP0504889A2 (en) 1992-09-23
DE69232227T2 (de) 2002-05-23

Similar Documents

Publication Publication Date Title
JPH0535826A (ja) 自由曲線作成方法及び自由曲面作成方法
Huang et al. Block pattern generation: From parameterizing human bodies to fit feature-aligned and flattenable 3D garments
Jiang et al. Frame field singularity correctionfor automatic hexahedralization
Ainsworth et al. CAD-based measurement path planning for free-form shapes using contact probes
KR101250163B1 (ko) 메쉬로부터 파라미터화 표면의 아이소토폴로직(isotopologic) 세트를 생성하는 프로세스
CN107972034B (zh) 一种基于ros平台的复杂工件轨迹规划仿真系统
JP3137245B2 (ja) 自由曲線作成方法及び自由曲面作成方法
Lang et al. Profile error evaluation of free-form surface using sequential quadratic programming algorithm
Lalehpour et al. Developing skin model in coordinate metrology using a finite element method
CN110689620A (zh) 一种多层次优化的网格曲面离散样条曲线设计方法
CN108230452A (zh) 一种基于纹理合成的模型补洞方法
JP2002520750A (ja) 非正則パッチの細分化行列の固有空間におけるパラメータ化された曲面の数値計算方法
Zeng et al. Least squares quasi-developable mesh approximation
Stanko et al. Surfacing curve networks with normal control
Moustakides et al. 3D image acquisition and NURBS based geometry modelling of natural objects
Yang et al. Conformal freeform surfaces
US6084586A (en) Method and apparatus for forming objects based on free-form curves and free-form surfaces generated by minimizing sum of distances from an input series of points to a free-form curve
Makhlouf et al. Approach for CAD model Reconstruction from a deformed mesh
JPH07302356A (ja) 自由曲面作成方法及び自由曲面作成装置
Zheng et al. An algorithm for computing geodesic curve based on digital experiment of point clouds
JPH04287173A (ja) 物体の表面形状データ作成方法及び装置
Lin et al. Fusion of disconnected mesh components with branching shapes
Le-Thi-Thu et al. Reconstruction of Low Degree B-spline Surfaces with Arbitrary Topology Using Inverse Subdivision Scheme
JP3187809B2 (ja) 物体の表面形状データ作成方法
Myasoedova et al. Geometric modeling of offset curves in contour-parallel pocket machining of engineering products