JPH06124314A - コンピュータ支援設計システムおよびそのシステムにおける幾何学的対象を修正する方法 - Google Patents
コンピュータ支援設計システムおよびそのシステムにおける幾何学的対象を修正する方法Info
- Publication number
- JPH06124314A JPH06124314A JP5023247A JP2324793A JPH06124314A JP H06124314 A JPH06124314 A JP H06124314A JP 5023247 A JP5023247 A JP 5023247A JP 2324793 A JP2324793 A JP 2324793A JP H06124314 A JPH06124314 A JP H06124314A
- Authority
- JP
- Japan
- Prior art keywords
- spline
- modified
- point
- equation
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—Two-dimensional [2D] image generation
- G06T11/20—Drawing from basic elements
- G06T11/23—Drawing from basic elements using straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
- G06T19/20—Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】 コンピュータ支援設計システムにおける最小
の区分的多項関数の関数として定義される幾何学的対象
を、視覚的イメージ通りに修正可能とする。 【構成】 上記幾何学的対象上の少なくとも一つの原点
を同定した後、上記原点を置き換えるために目標点を同
定し、上記目標点への上記原点の移動を、上記最小の区
分的な多項関数の局所的な移動あるいは修正に変換し、
上記修正された幾何学的対象を、上記修正された区分的
多項関数の関数として定義する。これにより、この目標
点は新しい幾何学的対象上の一点となる。これら簡単な
ステップには対話的な手順を必要とせず、非常に高速に
行える。
の区分的多項関数の関数として定義される幾何学的対象
を、視覚的イメージ通りに修正可能とする。 【構成】 上記幾何学的対象上の少なくとも一つの原点
を同定した後、上記原点を置き換えるために目標点を同
定し、上記目標点への上記原点の移動を、上記最小の区
分的な多項関数の局所的な移動あるいは修正に変換し、
上記修正された幾何学的対象を、上記修正された区分的
多項関数の関数として定義する。これにより、この目標
点は新しい幾何学的対象上の一点となる。これら簡単な
ステップには対話的な手順を必要とせず、非常に高速に
行える。
Description
【0001】
【産業上の利用分野】この発明はコンピュータ支援設計
(CAD )システムの分野に関し、より詳細には最小の区
分的多項関数の関数として定義される幾何学的対象を修
正する方法に関する。ここにいう幾何学的対象とは物理
的対象、すなわち実世界の物体、特に金属あるいは木製
の部品殊に機械部品、プリント回路基板、集積回路、建
造物その他のあらゆる表現を意味する。“幾何学的対
象”という用語はこれらの平面図、側面図および断面図
といった2次元表現、あるいは斜視図といった3次元表
現についていう。またこの用語は境界の表現のような1
次元表現について、またコーナー表現に関しても用い
る。この意味で物理的対象の表現の境界線は“幾何学的
対象”とも呼ばれる。また“物理的対象の表現”という
用語を用いることもできる。
(CAD )システムの分野に関し、より詳細には最小の区
分的多項関数の関数として定義される幾何学的対象を修
正する方法に関する。ここにいう幾何学的対象とは物理
的対象、すなわち実世界の物体、特に金属あるいは木製
の部品殊に機械部品、プリント回路基板、集積回路、建
造物その他のあらゆる表現を意味する。“幾何学的対
象”という用語はこれらの平面図、側面図および断面図
といった2次元表現、あるいは斜視図といった3次元表
現についていう。またこの用語は境界の表現のような1
次元表現について、またコーナー表現に関しても用い
る。この意味で物理的対象の表現の境界線は“幾何学的
対象”とも呼ばれる。また“物理的対象の表現”という
用語を用いることもできる。
【0002】
【従来技術と発明が解決しようとする課題】今日のコン
ピュータ支援設計(CAD )システムは機械設計あるいは
電子設計といったさまざまなアプリケーションに用いら
れる。これらのアプリケーションのすべてに共通する特
徴は部品が、機械部品、電気部品あるいは他の種類の部
品であるかを問わず対話モードで設計されることであ
る。すなわち、部品(設計済みのもの)がCRT (陰極線
管)あるいはLCD (液晶表示装置)等のスクリーン(た
とえば2次元で、あるいは斜視図として)表示される。
ユーザーは既存の構造を補完あるいは修正するために適
当な入力手段、好適にはコンピュータマウス、図形タブ
レット、あるいはライトペンを用いてコマンドを入力す
る。この編集処理が終わると、すなわち部品が定義され
ると、この部品を作図するかあるいは他の方法で再生す
ることができる。また、パンチテープあるいは磁気テー
プを作成することができ、かかるテープがその対象の物
理的表現を製造するために数値制御工作機械を直接制御
する。
ピュータ支援設計(CAD )システムは機械設計あるいは
電子設計といったさまざまなアプリケーションに用いら
れる。これらのアプリケーションのすべてに共通する特
徴は部品が、機械部品、電気部品あるいは他の種類の部
品であるかを問わず対話モードで設計されることであ
る。すなわち、部品(設計済みのもの)がCRT (陰極線
管)あるいはLCD (液晶表示装置)等のスクリーン(た
とえば2次元で、あるいは斜視図として)表示される。
ユーザーは既存の構造を補完あるいは修正するために適
当な入力手段、好適にはコンピュータマウス、図形タブ
レット、あるいはライトペンを用いてコマンドを入力す
る。この編集処理が終わると、すなわち部品が定義され
ると、この部品を作図するかあるいは他の方法で再生す
ることができる。また、パンチテープあるいは磁気テー
プを作成することができ、かかるテープがその対象の物
理的表現を製造するために数値制御工作機械を直接制御
する。
【0003】直線、円、弧、円柱、半球等の単純な幾何
学的形状の部分(あるいはその輪郭)を生成するあるい
は修正することはきわめて容易である。それは、これら
は単純な数学上の用語と式で表し、計算することができ
るためである。しかし、このタスクは解析数学の用語で
は簡単に表すことができないが滑らかな曲線でなければ
ならない面や境界線に関してはより複雑になる。この種
のよく知られる例としては船舶のボディーがある。
学的形状の部分(あるいはその輪郭)を生成するあるい
は修正することはきわめて容易である。それは、これら
は単純な数学上の用語と式で表し、計算することができ
るためである。しかし、このタスクは解析数学の用語で
は簡単に表すことができないが滑らかな曲線でなければ
ならない面や境界線に関してはより複雑になる。この種
のよく知られる例としては船舶のボディーがある。
【0004】したがって、さまざまなアプリケーション
において、低次の多項関数(場合によっては指数関数あ
るいは三角関数等の他の種類の関数)を用いて物理的対
象の不規則な形状を記述することが一般的になった。こ
の種の関数のうちの周知のものとしては不規則な形状を
近似するBスプラインがある。この形状あるいは曲線は
いわゆるBスプラインの基本関数で制御点(制御多角形
の角点)を行列乗算することによって制御多角形(Bス
プラインに結合する区分的線形関数)から得られる。
において、低次の多項関数(場合によっては指数関数あ
るいは三角関数等の他の種類の関数)を用いて物理的対
象の不規則な形状を記述することが一般的になった。こ
の種の関数のうちの周知のものとしては不規則な形状を
近似するBスプラインがある。この形状あるいは曲線は
いわゆるBスプラインの基本関数で制御点(制御多角形
の角点)を行列乗算することによって制御多角形(Bス
プラインに結合する区分的線形関数)から得られる。
【0005】これについてさらに詳細に説明する。一例
として、Bスプライン近似を選んだ。しかし、この選択
は便宜的なものにすぎない。この発明は例えば、ベジエ
(Bezier) あるいはエルミート(Hermaite)の形式のよう
な、他の近似技術にも適用することができる。一般に、
Bスプラインは次のような変数項で示すことができる。
として、Bスプライン近似を選んだ。しかし、この選択
は便宜的なものにすぎない。この発明は例えば、ベジエ
(Bezier) あるいはエルミート(Hermaite)の形式のよう
な、他の近似技術にも適用することができる。一般に、
Bスプラインは次のような変数項で示すことができる。
【0006】
【数1】
【0007】ここでQ(t)は曲線(Bスプラインの形状)
を表し、 Bi (t) はBスプラインの基本関数(有理ある
いは無理関数)であり、 Pi は制御多角形の制御点であ
る。スプライン曲線は通常2次元あるいは3次元の空間
のグラフであるため、上の式はベクトル式である。ベク
トルはここではボールド体で示されている。“i”はす
べての制御点と基本関数の指数である。
を表し、 Bi (t) はBスプラインの基本関数(有理ある
いは無理関数)であり、 Pi は制御多角形の制御点であ
る。スプライン曲線は通常2次元あるいは3次元の空間
のグラフであるため、上の式はベクトル式である。ベク
トルはここではボールド体で示されている。“i”はす
べての制御点と基本関数の指数である。
【0008】より一般的なケースでは、幾何学的対象は
次のように表されるBスプライン面によって近似される
空間内の面である。
次のように表されるBスプライン面によって近似される
空間内の面である。
【0009】
【数2】
【0010】u、vは(独立)変数、 Mi (u) とN j
(v) は基本関数、 Pijは制御点、“i”、“j”は指数
である。
(v) は基本関数、 Pijは制御点、“i”、“j”は指数
である。
【0011】Bスプライン曲線あるいはBスプライン面
を定義するには基本的に二つの方法がある。第1の方法
は制御多角形の制御点Pi を定義することである。Bス
プライン曲線は上記の式にしたがって制御点から計算さ
れる。この方法によればプログラミングと計算力を必要
としない。しかし、曲線あるいは面が間接的に生成され
るため、ユーザーは最終的な幾何学的形状を完全に制御
することができず、そのため、所望の曲線あるいは面を
設計するには何回かの反復が必要な場合がある。
を定義するには基本的に二つの方法がある。第1の方法
は制御多角形の制御点Pi を定義することである。Bス
プライン曲線は上記の式にしたがって制御点から計算さ
れる。この方法によればプログラミングと計算力を必要
としない。しかし、曲線あるいは面が間接的に生成され
るため、ユーザーは最終的な幾何学的形状を完全に制御
することができず、そのため、所望の曲線あるいは面を
設計するには何回かの反復が必要な場合がある。
【0012】第2の方法は、関数(Bスプライン曲線あ
るいは面)上に位置する補間点の定義に基づく。Bスプ
ラインはいくつかのBスプラインプロファイルの補間に
よって生成される。この方法はユーザーにとっては便利
であるが、プログラミングと計算力の必要性が大きくな
る。
るいは面)上に位置する補間点の定義に基づく。Bスプ
ラインはいくつかのBスプラインプロファイルの補間に
よって生成される。この方法はユーザーにとっては便利
であるが、プログラミングと計算力の必要性が大きくな
る。
【0013】これらの両方のケースに共通する問題点は
定義済みの(既存の)Bスプライン曲線あるいは面の修
正である(このことは幾何学的対象を表現する他の関数
にもあてはまる)。従来の技術ではこの問題に対して二
つの解決策がある。
定義済みの(既存の)Bスプライン曲線あるいは面の修
正である(このことは幾何学的対象を表現する他の関数
にもあてはまる)。従来の技術ではこの問題に対して二
つの解決策がある。
【0014】a)スプライン曲線あるいはスプライン面が
関連する制御多角形の制御点を用いて生成された場合、
制御点を一つ一つ動かすことができる。次に、スプライ
ンが修正された制御多角形に基づいて再構成される。
関連する制御多角形の制御点を用いて生成された場合、
制御点を一つ一つ動かすことができる。次に、スプライ
ンが修正された制御多角形に基づいて再構成される。
【0015】この種の修正はきわめて間接的な態様で行
われるため、すなわち、ユーザーは制御点が動かされた
とき曲線あるいは面がどうなるかを正確に予測すること
ができない。つまり、修正されたスプラインが予想に合
致することはめったになく、そのため、さらに修正をく
り返すことが必要になる。いうまでもなく、この処理は
非常に時間をとるものである。
われるため、すなわち、ユーザーは制御点が動かされた
とき曲線あるいは面がどうなるかを正確に予測すること
ができない。つまり、修正されたスプラインが予想に合
致することはめったになく、そのため、さらに修正をく
り返すことが必要になる。いうまでもなく、この処理は
非常に時間をとるものである。
【0016】b)スプライン曲線あるいはスプライン面が
複数のスプラインの補間によって生成された場合、補間
点あるいはスプラインプロファイルに直接アクセスし、
それらを別の位置に移すことができる。この処理によっ
てユーザーは制御をよりよく行いやすくなる。すなわ
ち、修正されたスプラインはa)の場合よりユーザーの予
想に近いものになる。しかし、この技術には他の点で問
題がある。最も重大な欠点はスプラインの修正が局部的
に限定されないこと、すなわち修正がスプラインの局部
的な領域にとどまらずスプライン全体の修正となること
である。この効果は通常望ましいものではない。さら
に、修正されたスプラインは補間点の周囲で振動する。
さらに、アクセスは補間点に対してのみ可能で曲線ある
いは面の他の点には不可能である。これによってスプラ
インの修正におけるユーザーの選択が制限される。
複数のスプラインの補間によって生成された場合、補間
点あるいはスプラインプロファイルに直接アクセスし、
それらを別の位置に移すことができる。この処理によっ
てユーザーは制御をよりよく行いやすくなる。すなわ
ち、修正されたスプラインはa)の場合よりユーザーの予
想に近いものになる。しかし、この技術には他の点で問
題がある。最も重大な欠点はスプラインの修正が局部的
に限定されないこと、すなわち修正がスプラインの局部
的な領域にとどまらずスプライン全体の修正となること
である。この効果は通常望ましいものではない。さら
に、修正されたスプラインは補間点の周囲で振動する。
さらに、アクセスは補間点に対してのみ可能で曲線ある
いは面の他の点には不可能である。これによってスプラ
インの修正におけるユーザーの選択が制限される。
【0017】従来のスプライン修正技術の問題点と効果
は後にさらに詳細に説明する。以上のように、従来の修
正技術に見られた問題点を部分的にあるいは完全に解決
する改良された修正技術が必要とされている。
は後にさらに詳細に説明する。以上のように、従来の修
正技術に見られた問題点を部分的にあるいは完全に解決
する改良された修正技術が必要とされている。
【0018】
【課題を解決するための手段】この発明の主たる目的は
最小限のユーザーとの対話しか必要としない上述の種類
の幾何学的対象を修正する方法を提供することである。
最小限のユーザーとの対話しか必要としない上述の種類
の幾何学的対象を修正する方法を提供することである。
【0019】この発明によれば、この問題は以下のステ
ップによって解決される。 −幾何学的対象上の少なくとも一つの原点を同定する。 −原点を置き換えるための目標点を同定する。 −目標点に対する原点の移動を最小の区分的な多項関数
の最小の局所的な移動あるいは修正に変換する。 −修正された幾何学的対象を修正された区分的多項関数
の関数として定義する。
ップによって解決される。 −幾何学的対象上の少なくとも一つの原点を同定する。 −原点を置き換えるための目標点を同定する。 −目標点に対する原点の移動を最小の区分的な多項関数
の最小の局所的な移動あるいは修正に変換する。 −修正された幾何学的対象を修正された区分的多項関数
の関数として定義する。
【0020】この発明の基本的な原理の一つは関数自体
の任意の点(原点)を“取り上げる”(同定する)こと
ができ、他の位置(目標点)に移動することができるこ
とである。関数上の点の移動は区分的多項関数の(局所
的な)移動に変換され、その結果修正された多項関数が
得られる。最後のステップでは、この修正された多項関
数に応じて、修正された幾何学的対象を表す新しい関数
が定義される。上述したこの発明の方法は簡単に実行す
ることができる。ユーザーは単に幾何学的対象上の点と
この点の移動先となるべき目標点を同定するだけでよ
い。すなわち、この目標点は新しい(修正された)幾何
学的対象上の一点であることが意図される。これらの二
つの簡単なステップには対話的な手順を必要としない。
したがって、この新しい方法はまた非常に高速である。
さらに、ユーザーは修正された幾何学的形状を完全に制
御することができ、特に幾何学的対象をたとえば制御点
移動等によって間接的に修正する必要がなく、むしろあ
る点を修正された幾何学的対象の上で直接的に定義す
る。したがって、修正された幾何学的形状はほとんどの
場合ユーザーの予想に合致したものとなる。この発明の
方法によれば、幾何学的対象上に位置する点の移動は関
連する区分的多項関数の変換として内部的に処理され
る。しかし、これらはユーザーが通常は気づかない、あ
るいは注意を払わないステップである。CAD システムの
実施例によっては区分的多項関数はスクリーン上に表示
されないため、この処理はユーザーから見ると、この内
部処理が多項関数の特性や特徴を利用するものであるに
もかかわらず、関連する多項関数の変換というよりむし
ろ幾何学的対象自体の移動あるいは修正と映る。しか
し、多項関数が表示される場合においてさえユーザーは
それらに注意を払う必要はない。つまり、区分的多項関
数の内部変換はなかば“見えない”ものであり、ユーザ
ーがそれに関与する必要がない。
の任意の点(原点)を“取り上げる”(同定する)こと
ができ、他の位置(目標点)に移動することができるこ
とである。関数上の点の移動は区分的多項関数の(局所
的な)移動に変換され、その結果修正された多項関数が
得られる。最後のステップでは、この修正された多項関
数に応じて、修正された幾何学的対象を表す新しい関数
が定義される。上述したこの発明の方法は簡単に実行す
ることができる。ユーザーは単に幾何学的対象上の点と
この点の移動先となるべき目標点を同定するだけでよ
い。すなわち、この目標点は新しい(修正された)幾何
学的対象上の一点であることが意図される。これらの二
つの簡単なステップには対話的な手順を必要としない。
したがって、この新しい方法はまた非常に高速である。
さらに、ユーザーは修正された幾何学的形状を完全に制
御することができ、特に幾何学的対象をたとえば制御点
移動等によって間接的に修正する必要がなく、むしろあ
る点を修正された幾何学的対象の上で直接的に定義す
る。したがって、修正された幾何学的形状はほとんどの
場合ユーザーの予想に合致したものとなる。この発明の
方法によれば、幾何学的対象上に位置する点の移動は関
連する区分的多項関数の変換として内部的に処理され
る。しかし、これらはユーザーが通常は気づかない、あ
るいは注意を払わないステップである。CAD システムの
実施例によっては区分的多項関数はスクリーン上に表示
されないため、この処理はユーザーから見ると、この内
部処理が多項関数の特性や特徴を利用するものであるに
もかかわらず、関連する多項関数の変換というよりむし
ろ幾何学的対象自体の移動あるいは修正と映る。しか
し、多項関数が表示される場合においてさえユーザーは
それらに注意を払う必要はない。つまり、区分的多項関
数の内部変換はなかば“見えない”ものであり、ユーザ
ーがそれに関与する必要がない。
【0021】この発明の方法はまた実施が容易である。
すなわち、プログラミングをほとんど必要とせず、また
実行(CPU )時間(これは対話型システムにおける主要
な性能判定基準である)の点で高速である。この発明の
もう一つの主要な利点であり、またこの発明が解決しよ
うとする課題である点は、ユーザーが修正を行うために
既存の(すでに定義された)幾何学的対象の任意の点を
任意に選択することができることである。すなわち、ユ
ーザーは(上述の従来の解決策b)の場合のように)対象
の補間点だけを移動すべく制約されているわけではな
い。これによって最適な修正を行うことができるように
必要な修正の“調整”をより精密に行うことができる
(すなわち、ユーザーは修正を表す原点を、かかる点に
“近い”というに過ぎない補間点を選択するのではなく
直接的に選択することができる。この発明の他の主要な
利点は、幾何学的対象の修正が従来の方法に比べて局所
的に制限されることである。すなわち、幾何学的対象は
実際には必要なだけ修正されるだけで、補間点の周囲に
おける望ましくない振動やその他の問題が発生しない。
この発明の実施例においては、幾何学的対象の修正され
る領域をユーザーが定義することさえ可能であり、これ
によって修正処理をさらに良好に制御しうるようにな
る。この発明の他の利点としては、修正された幾何学的
形状が滑らかなものになるという点がある。
すなわち、プログラミングをほとんど必要とせず、また
実行(CPU )時間(これは対話型システムにおける主要
な性能判定基準である)の点で高速である。この発明の
もう一つの主要な利点であり、またこの発明が解決しよ
うとする課題である点は、ユーザーが修正を行うために
既存の(すでに定義された)幾何学的対象の任意の点を
任意に選択することができることである。すなわち、ユ
ーザーは(上述の従来の解決策b)の場合のように)対象
の補間点だけを移動すべく制約されているわけではな
い。これによって最適な修正を行うことができるように
必要な修正の“調整”をより精密に行うことができる
(すなわち、ユーザーは修正を表す原点を、かかる点に
“近い”というに過ぎない補間点を選択するのではなく
直接的に選択することができる。この発明の他の主要な
利点は、幾何学的対象の修正が従来の方法に比べて局所
的に制限されることである。すなわち、幾何学的対象は
実際には必要なだけ修正されるだけで、補間点の周囲に
おける望ましくない振動やその他の問題が発生しない。
この発明の実施例においては、幾何学的対象の修正され
る領域をユーザーが定義することさえ可能であり、これ
によって修正処理をさらに良好に制御しうるようにな
る。この発明の他の利点としては、修正された幾何学的
形状が滑らかなものになるという点がある。
【0022】この発明の方法はたとえば機械部品の境界
線(たとえばエッジ)(すなわち線型の関数)等の幾何
学的対象あるいは(面型関数によって表される)幾何学
的対象の面を修正するのに用いることができる。また他
の幾何学的形状の修正にも用いることができる。さら
に、それによって解決される対象もまたこの発明の上記
の利点である。一実施例において、最小の区分的多項関
数は制御点によって分離され、原点の目標点への移動を
制御点の(局所的な)移動あるいは修正に変換するステ
ップからなる。この実施例では、最小の区分的多項関数
の処理は特に簡単である。これは通常、制御点だけを処
理すればよく、これは実行が容易であり通信時間の節約
となる(この考え方は制御点が一次関数で接続されてい
る場合には上述した“制御多角形”の方法に関係するも
のであることがわかる)。しかし、(数式に表すよう
に)多項関数の修正あるいは局所的な移動等の他の技術
を用いることもできる。制御点法が用いられる場合、制
御点を基本的には同じ方向に移動することが有効であ
る。すなわち、移動は基本的には平行に発生する。その
ため、必要な計算をより簡単に行うことができ、動作を
より予想しやすくなる(すなわち、このCAD システムを
ある程度使用した後、ユーザーはある修正を要求すると
き発生することについての“フィーリング”を持つよう
になる)。すべての制御点を同じオフセット値だけ移動
することができる(そのためすべての制御点移動はベク
トル移動として表すことができる。ここでこれらのベク
トルは同じ方向を指し、同じ“長さ”を有する。)。し
かし、加えてあるいはその代わりに、制御点は異なるオ
フセット(絶対値)だけ好適には平行に移動することが
できる。この結果、元の(修正されていない)幾何学的
対象からその修正されたものへの遷移がなめらかになる
(これは修正された幾何学的対象が元の幾何学的対象に
近付く修正領域の限界あるいは境界において特に有益で
ある。詳細な説明において、両方の方法(同じオフセッ
ト値あるいは異なるオフセット値の制御点の移動)につ
いて論じる。
線(たとえばエッジ)(すなわち線型の関数)等の幾何
学的対象あるいは(面型関数によって表される)幾何学
的対象の面を修正するのに用いることができる。また他
の幾何学的形状の修正にも用いることができる。さら
に、それによって解決される対象もまたこの発明の上記
の利点である。一実施例において、最小の区分的多項関
数は制御点によって分離され、原点の目標点への移動を
制御点の(局所的な)移動あるいは修正に変換するステ
ップからなる。この実施例では、最小の区分的多項関数
の処理は特に簡単である。これは通常、制御点だけを処
理すればよく、これは実行が容易であり通信時間の節約
となる(この考え方は制御点が一次関数で接続されてい
る場合には上述した“制御多角形”の方法に関係するも
のであることがわかる)。しかし、(数式に表すよう
に)多項関数の修正あるいは局所的な移動等の他の技術
を用いることもできる。制御点法が用いられる場合、制
御点を基本的には同じ方向に移動することが有効であ
る。すなわち、移動は基本的には平行に発生する。その
ため、必要な計算をより簡単に行うことができ、動作を
より予想しやすくなる(すなわち、このCAD システムを
ある程度使用した後、ユーザーはある修正を要求すると
き発生することについての“フィーリング”を持つよう
になる)。すべての制御点を同じオフセット値だけ移動
することができる(そのためすべての制御点移動はベク
トル移動として表すことができる。ここでこれらのベク
トルは同じ方向を指し、同じ“長さ”を有する。)。し
かし、加えてあるいはその代わりに、制御点は異なるオ
フセット(絶対値)だけ好適には平行に移動することが
できる。この結果、元の(修正されていない)幾何学的
対象からその修正されたものへの遷移がなめらかになる
(これは修正された幾何学的対象が元の幾何学的対象に
近付く修正領域の限界あるいは境界において特に有益で
ある。詳細な説明において、両方の方法(同じオフセッ
ト値あるいは異なるオフセット値の制御点の移動)につ
いて論じる。
【0023】この発明の他の実施例においては、幾何学
的対象を表す関数が媒介変数の形式で与えられる(これ
はCAD 技術では最も一般的な形式である。しかし、この
発明の実施に際しては媒介変数以外の形式を用いること
もできる。)この実施例では、原点の目標点への移動を
最小の区分的多項関数の修正あるいは移動に変換するス
テップは同じ媒介変数値を原点の幾何学的対象および目
標点の幾何学的対象に割り当てるステップからなる。こ
れによって、その後に続く数学的処理ステップがより簡
単になる(すなわち、解くべき式がより簡単になる。)
この機能は制御点修正あるいは制御点移動が行われる場
合にも用いることができる。この発明の他の実施例にお
いては、幾何学的対象を表す関数はスプライン関数、特
にBスプライン関数である。これはCAD 技術では広く用
いられる表現である。(ベジエ形式あるいはエルミート
形式等の他の表現を代わりに用いることができる。)ス
プライン表現はこの発明の上述した機能とともに用いる
ことができ、またそうでなくともよい。スプライン関数
を用いる場合、幾何学的対象は次の式で定義することが
できる。
的対象を表す関数が媒介変数の形式で与えられる(これ
はCAD 技術では最も一般的な形式である。しかし、この
発明の実施に際しては媒介変数以外の形式を用いること
もできる。)この実施例では、原点の目標点への移動を
最小の区分的多項関数の修正あるいは移動に変換するス
テップは同じ媒介変数値を原点の幾何学的対象および目
標点の幾何学的対象に割り当てるステップからなる。こ
れによって、その後に続く数学的処理ステップがより簡
単になる(すなわち、解くべき式がより簡単になる。)
この機能は制御点修正あるいは制御点移動が行われる場
合にも用いることができる。この発明の他の実施例にお
いては、幾何学的対象を表す関数はスプライン関数、特
にBスプライン関数である。これはCAD 技術では広く用
いられる表現である。(ベジエ形式あるいはエルミート
形式等の他の表現を代わりに用いることができる。)ス
プライン表現はこの発明の上述した機能とともに用いる
ことができ、またそうでなくともよい。スプライン関数
を用いる場合、幾何学的対象は次の式で定義することが
できる。
【0024】
【数3】
【0025】ここでuとvは媒介変数であり、 Mi (u)
とN j (v) はスプラインの基本関数であり、P ijは制御
点であり、Q(u,v)は(元の、すなわち修正されていな
い)幾何学的対象を定義する関数である。修正された幾
何学的対象は次の式によって定義される。
とN j (v) はスプラインの基本関数であり、P ijは制御
点であり、Q(u,v)は(元の、すなわち修正されていな
い)幾何学的対象を定義する関数である。修正された幾
何学的対象は次の式によって定義される。
【0026】
【数4】
【0027】ここで、Q'(u,v) は修正された幾何学的形
状を表す関数であり、 Cijは制御点のオフセットベクト
ルである(アポストロフィーはこの説明では導関数では
なく修正後の幾何学的形状を示す)。Cijは制御点の移
動(あるいは広義には修正)を表し、アプリケーション
に応じて選択することができる。たとえば、これらは以
下の変数のいずれか(あるいはそのうちのいくつか)に
よって決まる。
状を表す関数であり、 Cijは制御点のオフセットベクト
ルである(アポストロフィーはこの説明では導関数では
なく修正後の幾何学的形状を示す)。Cijは制御点の移
動(あるいは広義には修正)を表し、アプリケーション
に応じて選択することができる。たとえば、これらは以
下の変数のいずれか(あるいはそのうちのいくつか)に
よって決まる。
【0028】−修正されていない幾何学的対象および/
または修正された幾何学的対象(あるいはそれらを表す
スプライン)上の選択された点、および/または −スプライン関数自体および/または −修正されていない幾何学的対象および/または修正さ
れた幾何学的対象(あるいはそれらを表すスプライン)
の変数値、および/または −ユーザーが任意に選択した形式あるいは輪郭変数。 かかる形式あるいは輪郭変数はスプライン修正の形状お
よび範囲を定義する。ある実施例において、オフセット
ベクトル Cijは次の式にしたがって選択される。
または修正された幾何学的対象(あるいはそれらを表す
スプライン)上の選択された点、および/または −スプライン関数自体および/または −修正されていない幾何学的対象および/または修正さ
れた幾何学的対象(あるいはそれらを表すスプライン)
の変数値、および/または −ユーザーが任意に選択した形式あるいは輪郭変数。 かかる形式あるいは輪郭変数はスプライン修正の形状お
よび範囲を定義する。ある実施例において、オフセット
ベクトル Cijは次の式にしたがって選択される。
【0029】
【数5】
【0030】ここでu0 とv0 は原点の変数値であり、
Δは次のように定義される。
Δは次のように定義される。
【0031】
【数6】
【0032】Pは原点であり、P’は目標点である。こ
の実施例では、制御点は同じ方向に移動される。数学的
な詳細特にΔの役割とその計算については詳細な説明の
部分で論じる。ここでは制御点だけが修正され、Bスプ
ラインの基本関数は変更されないことに注意されたい。
スプライン関数に関する上述のケースには二組のスプラ
インすなわち Mi (u)および Nj (v) が関係している。
これはよりおおまかな“2変数”のケースであり、スプ
ラインは“1変数”スプライン関数ではなくスプライン
面である。“1変数”のケースはより具体的であり、 N
j (v) およびv自体をゼロに設定し、指数jを無視する
ことによって得ることができる。“1変数”の場合の実
施例のいくつかを詳細に説明する。修正されていない幾
何学的対象を定義するスプラインの式は次のように簡略
化される。
の実施例では、制御点は同じ方向に移動される。数学的
な詳細特にΔの役割とその計算については詳細な説明の
部分で論じる。ここでは制御点だけが修正され、Bスプ
ラインの基本関数は変更されないことに注意されたい。
スプライン関数に関する上述のケースには二組のスプラ
インすなわち Mi (u)および Nj (v) が関係している。
これはよりおおまかな“2変数”のケースであり、スプ
ラインは“1変数”スプライン関数ではなくスプライン
面である。“1変数”のケースはより具体的であり、 N
j (v) およびv自体をゼロに設定し、指数jを無視する
ことによって得ることができる。“1変数”の場合の実
施例のいくつかを詳細に説明する。修正されていない幾
何学的対象を定義するスプラインの式は次のように簡略
化される。
【0033】
【数7】
【0034】“t”は(独立)変数であり、 Bi (t) は
スプライン関数であり、 Pi は制御点である。修正され
た幾何学的対象は次の式によって定義される。
スプライン関数であり、 Pi は制御点である。修正され
た幾何学的対象は次の式によって定義される。
【0035】
【数8】
【0036】Ci は制御点のオフセットベクトルであ
る。 上述したものと同様の方法で、オフセットベクト
ルを次のように定義することによって同じ方向の制御点
の移動を得ることができる。
る。 上述したものと同様の方法で、オフセットベクト
ルを次のように定義することによって同じ方向の制御点
の移動を得ることができる。
【0037】
【数9】
【0038】ここでt0 は原点の変数値であり、Δは次
のように定義される。
のように定義される。
【0039】
【数10】
【0040】アプリケーションによっては、制御点の移
動あるいは修正を定義する形式変数を用いることが望ま
しい場合がある。この発明の一実施例では、かかる形式
変数はオフセットベクトル Ci を次のように定義するこ
とによって導入することができる。
動あるいは修正を定義する形式変数を用いることが望ま
しい場合がある。この発明の一実施例では、かかる形式
変数はオフセットベクトル Ci を次のように定義するこ
とによって導入することができる。
【0041】
【数11】
【0042】ここでγi は形式変数であり、Δは次のよ
うに定義される。
うに定義される。
【0043】
【数12】
【0044】形式変数の具体例は実施例で開示する。形
式変数の概念はここでは“1変数”の場合を例にとって
具体的に説明したが、“2変数”あるいは“多変数”の
場合(たとえばスプライン面)にもあてはまる。いくつ
かのアプリケーションでは、幾何学的対象の修正のみな
らず修正の種類(すなわち、修正された幾何学的対象の
所望の形状)まで定義することが望ましい場合がある。
この発明はこの目的を達成するために有効な実施例を提
供する。ここに開示する好適な解決策では原点(修正さ
れていない幾何学的対象)と目標点(修正された幾何学
的対象)だけではなく、目標点における導関数をも指定
することが提案される。修正されていない幾何学的対象
と修正された幾何学的対象を表すスプラインの第1の導
関数だけをまず考察すると、オフセットベクトル Ci に
ついて次のように定義することができる。
式変数の概念はここでは“1変数”の場合を例にとって
具体的に説明したが、“2変数”あるいは“多変数”の
場合(たとえばスプライン面)にもあてはまる。いくつ
かのアプリケーションでは、幾何学的対象の修正のみな
らず修正の種類(すなわち、修正された幾何学的対象の
所望の形状)まで定義することが望ましい場合がある。
この発明はこの目的を達成するために有効な実施例を提
供する。ここに開示する好適な解決策では原点(修正さ
れていない幾何学的対象)と目標点(修正された幾何学
的対象)だけではなく、目標点における導関数をも指定
することが提案される。修正されていない幾何学的対象
と修正された幾何学的対象を表すスプラインの第1の導
関数だけをまず考察すると、オフセットベクトル Ci に
ついて次のように定義することができる。
【0045】
【数13】
【0046】t0 は原点の変数値である(また、同じ変
数表現が用いられる場合目標点の変数値でもある)。ま
たさらに、Δ0 とΔ1 は次の行列式の解として得ること
ができる。
数表現が用いられる場合目標点の変数値でもある)。ま
たさらに、Δ0 とΔ1 は次の行列式の解として得ること
ができる。
【0047】
【数14】
【0048】詳細な説明の部分と図面でより詳細に示す
ように、かかる第1の導関数の指定によって得られる幾
何学的形状を任意に“整形する”ことが可能になる。も
ちろん、上記の考え方をより高次の導関数に適用するこ
とも可能である(ただし、数学的な背景および行列式が
これによってより大規模にまた難しくなり、そのためこ
れについてはここでは詳しく述べない)。さらに、この
導関数についての考え方は“多変数”のケースにも広げ
ることができる。上述のステップは任意の適切な方法で
実行することができる。原点および目標点を同定するた
めには、図形スクリーン上でカーソルを動かしマウスを
操作する、ライトペン等を操作するなどして“クリック
オンする”すなわちそれらを同定することが有効である
(しかし、その他にもキーボード入力等の方法もあ
る)。修正された対象の変数(たとえばΔ値)が計算、
記憶および/または表示される。さらに、別のステップ
で局所的に修正すべき幾何学的対象を定義する関数(た
とえばスプライン)の領域の限界をたとえば図形スクリ
ーンに表示されるスケール上であるいはキーボードを用
いて入力することができる。
ように、かかる第1の導関数の指定によって得られる幾
何学的形状を任意に“整形する”ことが可能になる。も
ちろん、上記の考え方をより高次の導関数に適用するこ
とも可能である(ただし、数学的な背景および行列式が
これによってより大規模にまた難しくなり、そのためこ
れについてはここでは詳しく述べない)。さらに、この
導関数についての考え方は“多変数”のケースにも広げ
ることができる。上述のステップは任意の適切な方法で
実行することができる。原点および目標点を同定するた
めには、図形スクリーン上でカーソルを動かしマウスを
操作する、ライトペン等を操作するなどして“クリック
オンする”すなわちそれらを同定することが有効である
(しかし、その他にもキーボード入力等の方法もあ
る)。修正された対象の変数(たとえばΔ値)が計算、
記憶および/または表示される。さらに、別のステップ
で局所的に修正すべき幾何学的対象を定義する関数(た
とえばスプライン)の領域の限界をたとえば図形スクリ
ーンに表示されるスケール上であるいはキーボードを用
いて入力することができる。
【0049】この発明はまた中央処理装置、ユーザー入
力インターフェース、表示装置、およびBスプラインプ
ロセッサからなるコンピュータ支援設計システムに関す
る。BスプラインプロセッサはBスプライン曲線管理プ
ログラム、制御多角形管理プログラムおよび修正管理プ
ログラムを含み、前記の修正管理プログラムは修正され
たBスプライン関数の変数を元のBスプライン関数に関
する制御多角形に応じて計算するためのΔプロセッサか
らなる。すなわち、このコンピュータ支援設計システム
は基本的に上述したステップを提供するように設計され
ている。所望の修正領域を定義するために、このコンピ
ュータ支援設計システムにはさらに局所的修正を行うべ
き元のBスプライン関数の領域を入力するための領域ハ
ンドラを含めることもできる。この発明は上に開示した
機能の有効な組合せのすべてに関する。
力インターフェース、表示装置、およびBスプラインプ
ロセッサからなるコンピュータ支援設計システムに関す
る。BスプラインプロセッサはBスプライン曲線管理プ
ログラム、制御多角形管理プログラムおよび修正管理プ
ログラムを含み、前記の修正管理プログラムは修正され
たBスプライン関数の変数を元のBスプライン関数に関
する制御多角形に応じて計算するためのΔプロセッサか
らなる。すなわち、このコンピュータ支援設計システム
は基本的に上述したステップを提供するように設計され
ている。所望の修正領域を定義するために、このコンピ
ュータ支援設計システムにはさらに局所的修正を行うべ
き元のBスプライン関数の領域を入力するための領域ハ
ンドラを含めることもできる。この発明は上に開示した
機能の有効な組合せのすべてに関する。
【0050】
【実施例】図1はコンピュータ支援設計(CAD )システ
ムの基本要素を示す。かかるCADシステムは当該技術分
野において周知である。スクリーンあるいは表示装置1
(通常は陰極線管)を用いてユーザーの作成し編集する
幾何学形状の表示が行われる。かかる幾何学的形状はた
とえば機械部品、電子回路基板、集積回路等を表現す
る。説明の目的上、鋳鋼部品等の機械部品を編集するも
のと仮定する。スクリーン1には2次元あるいは3次元
表現でこの鋳鋼部品の一つの図あるいはさまざまな図が
示される。たとえば、3次元斜視図を2次元の平面図お
よび2次元の側面図とともに示すことができる。たとえ
ばマイクロコンピュータあるいはワークステーション等
のメインフレームユニット2がスクリーン1の動作を制
御する。このメインフレームユニットはマイクロプロセ
ッサあるいはその他の中央処理装置(CPU )、記憶装置
およびすべての関連する電子部品を含む。ユーザーは複
数の入力装置を介してメインフレームユニット2と通信
する(たとえばコマンドを送る)ことができる。かかる
入力装置のいくつかを例として図1に示す。すなわち、
キーボード3、コンピュータマウス4および図形タブレ
ット5とそれに付随するライトペン6である。これらの
構成要素の相互接続は当該技術分野に精通する者には周
知であり、図1には特に示さない。また、数値制御工作
機械用の穿孔テープを作成するためのパンチ等の周知の
CAD システムの他の構成要素についても図示しない。
ムの基本要素を示す。かかるCADシステムは当該技術分
野において周知である。スクリーンあるいは表示装置1
(通常は陰極線管)を用いてユーザーの作成し編集する
幾何学形状の表示が行われる。かかる幾何学的形状はた
とえば機械部品、電子回路基板、集積回路等を表現す
る。説明の目的上、鋳鋼部品等の機械部品を編集するも
のと仮定する。スクリーン1には2次元あるいは3次元
表現でこの鋳鋼部品の一つの図あるいはさまざまな図が
示される。たとえば、3次元斜視図を2次元の平面図お
よび2次元の側面図とともに示すことができる。たとえ
ばマイクロコンピュータあるいはワークステーション等
のメインフレームユニット2がスクリーン1の動作を制
御する。このメインフレームユニットはマイクロプロセ
ッサあるいはその他の中央処理装置(CPU )、記憶装置
およびすべての関連する電子部品を含む。ユーザーは複
数の入力装置を介してメインフレームユニット2と通信
する(たとえばコマンドを送る)ことができる。かかる
入力装置のいくつかを例として図1に示す。すなわち、
キーボード3、コンピュータマウス4および図形タブレ
ット5とそれに付随するライトペン6である。これらの
構成要素の相互接続は当該技術分野に精通する者には周
知であり、図1には特に示さない。また、数値制御工作
機械用の穿孔テープを作成するためのパンチ等の周知の
CAD システムの他の構成要素についても図示しない。
【0051】かかるCAD システムに見られる共通した問
題点として、なめらかな曲線あるいは広義にはなめらか
な幾何学的形状の生成の問題がある。当該技術分野にお
いてこの問題の解決策として周知の技術は2次あるいは
3次の多項式を用いた最終的な曲線の近似である。詳細
には、スプライン(特にBスプライン)すなわち区分的
多項関数あるいは一次関数を用いて最終的な曲線を近似
することができる。以下の説明は特にBスプラインにつ
いて行うものであるが、基本となる原理は他の近似技術
たとえばエルミート技術やベジエ技術にも適用すること
ができる。Bスプライン表現の基本原理をこの発明にと
って重要な範囲で図2を参照して説明する。 図2はた
とえばCAD 表示装置のスクリーン8に表示された曲線7
を示す(この曲線はたとえば機械部品の境界線といった
一部分である)。対応する制御多角形(区分的一次関
数)を9として破線で示す(制御多角形は通常スクリー
ンには示されないが、図2にはこの基本概念の理解を助
けるために示されている)。制御多角形上の点(制御
点)をP1 、P2 、…Pn (ここではP1 からP6 )と
する。この曲線は次のベクトル式によって制御多角形の
点あるいは“コーナー”Pm によって定義される。
題点として、なめらかな曲線あるいは広義にはなめらか
な幾何学的形状の生成の問題がある。当該技術分野にお
いてこの問題の解決策として周知の技術は2次あるいは
3次の多項式を用いた最終的な曲線の近似である。詳細
には、スプライン(特にBスプライン)すなわち区分的
多項関数あるいは一次関数を用いて最終的な曲線を近似
することができる。以下の説明は特にBスプラインにつ
いて行うものであるが、基本となる原理は他の近似技術
たとえばエルミート技術やベジエ技術にも適用すること
ができる。Bスプライン表現の基本原理をこの発明にと
って重要な範囲で図2を参照して説明する。 図2はた
とえばCAD 表示装置のスクリーン8に表示された曲線7
を示す(この曲線はたとえば機械部品の境界線といった
一部分である)。対応する制御多角形(区分的一次関
数)を9として破線で示す(制御多角形は通常スクリー
ンには示されないが、図2にはこの基本概念の理解を助
けるために示されている)。制御多角形上の点(制御
点)をP1 、P2 、…Pn (ここではP1 からP6 )と
する。この曲線は次のベクトル式によって制御多角形の
点あるいは“コーナー”Pm によって定義される。
【0052】
【数15】
【0053】ここで Q(t) は曲線7であり、 Bi (t) は
スプライン関数(たとえばBスプライン関数)であり、
Pi は制御多角形9のコーナー点である(太字はベクト
ルを示すのに用いられている)。 Bi (t) はたとえば有
理Bスプラインあるいは次の一般的形式の不均一な有理
Bスプラインとすることができる。
スプライン関数(たとえばBスプライン関数)であり、
Pi は制御多角形9のコーナー点である(太字はベクト
ルを示すのに用いられている)。 Bi (t) はたとえば有
理Bスプラインあるいは次の一般的形式の不均一な有理
Bスプラインとすることができる。
【0054】
【数16】
【0055】上の式はスプライン技術において一般的な
変数の形式で書かれている。独立変数は変数tである。
したがって、上の式(1) はベクトル式である。たとえば
3次元のケースでは Q(t) は次のように書き直すことが
できる。
変数の形式で書かれている。独立変数は変数tである。
したがって、上の式(1) はベクトル式である。たとえば
3次元のケースでは Q(t) は次のように書き直すことが
できる。
【0056】
【数17】
【0057】したがって、曲線7のそれぞれの座標は制
御多角形9のコーナー点Pm によって定義されることが
わかる。制御多角形すなわち区分的一次関数の使用は必
須ではない。代わりにより高次の区分的関数を用いるこ
ともできる。曲線を定義する方法は基本的には二つあ
る。一つは制御多角形の点を指定する方法である。次に
式(1) にしたがって曲線が生成される。第2の方法は曲
線自体の上の点(補間点)を一つ一つ定義する方法であ
る。CAD システムは適当な制御多角形を準備することに
よってこれらの点を補間する。通常、CAD システムはこ
れら二つの曲線の定義方法の両方を支援する。CAD 技術
に見られる共通する問題点はすでに定義されたスプライ
ン曲線の修正の問題である。曲線がはじめに生成された
方法に応じて変更の実施にも二つの方法がある。
御多角形9のコーナー点Pm によって定義されることが
わかる。制御多角形すなわち区分的一次関数の使用は必
須ではない。代わりにより高次の区分的関数を用いるこ
ともできる。曲線を定義する方法は基本的には二つあ
る。一つは制御多角形の点を指定する方法である。次に
式(1) にしたがって曲線が生成される。第2の方法は曲
線自体の上の点(補間点)を一つ一つ定義する方法であ
る。CAD システムは適当な制御多角形を準備することに
よってこれらの点を補間する。通常、CAD システムはこ
れら二つの曲線の定義方法の両方を支援する。CAD 技術
に見られる共通する問題点はすでに定義されたスプライ
ン曲線の修正の問題である。曲線がはじめに生成された
方法に応じて変更の実施にも二つの方法がある。
【0058】a)曲線が制御多角形を用いて生成された場
合、制御点を一つ一つ移動することができる。これは曲
線を修正する上できわめて間接的な方法であることがわ
かる。すなわち、生成された曲線が必要な仕様を正確に
満足することはめったにない。ユーザーの操作をさらに
必要とする差が常に存在し、その結果“連続近似”の処
理が行われることになる。これは繁雑で時間のかかる変
更方法である。この従来の方法に見られる欠点を図3に
示す。元のスプライン曲線10(関連する制御多角形を11
とする)を修正されたスプライン曲線12の形状になるよ
うに修正しようとするものであると仮定する。このため
に、制御点P3 が選ばれ新しい位置P3 ' に移される。
しかし、その結果得られるスプライン曲線は曲線14であ
り(関連する制御多角形を13とする)、これは依然とし
て所望のスプライン曲線12と一致していない。したがっ
て、スプライン曲線12が近似されるまでさらに修正、す
なわち制御点の移動を行わなければならない。これは時
間のかかる反復処理であることがわかる。
合、制御点を一つ一つ移動することができる。これは曲
線を修正する上できわめて間接的な方法であることがわ
かる。すなわち、生成された曲線が必要な仕様を正確に
満足することはめったにない。ユーザーの操作をさらに
必要とする差が常に存在し、その結果“連続近似”の処
理が行われることになる。これは繁雑で時間のかかる変
更方法である。この従来の方法に見られる欠点を図3に
示す。元のスプライン曲線10(関連する制御多角形を11
とする)を修正されたスプライン曲線12の形状になるよ
うに修正しようとするものであると仮定する。このため
に、制御点P3 が選ばれ新しい位置P3 ' に移される。
しかし、その結果得られるスプライン曲線は曲線14であ
り(関連する制御多角形を13とする)、これは依然とし
て所望のスプライン曲線12と一致していない。したがっ
て、スプライン曲線12が近似されるまでさらに修正、す
なわち制御点の移動を行わなければならない。これは時
間のかかる反復処理であることがわかる。
【0059】b)曲線がさまざまなスプラインプロファイ
ルの補間によって生成された場合、プロファイルを一つ
一つ修正することができる。すなわち、曲線の補間点が
直接アクセスされる。これは多大なCPU 時間と複雑なプ
ログラムを要する処理であることがわかる。しかし、さ
らに問題であるのは、この種の曲線修正は通常局所的に
限定されずその結果補間点の周囲に波(すなわち振動)
が発生することである。つまり、(通常望ましい)局所
的な修正ではなく曲線全体が変更される。この効果を図
4に示す。元のスプラインを15で示し、その補間点をI
1 、I2…I13で示す。補間点I6 が図3に12で示す同
様の修正されたスプラインを得るために新しい位置I6
' に移動される場合、その結果得られるスプラインは
図4の修正されたスプライン16が示すように補間点の周
囲で振動する。図4はまたスプラインの修正が局所的に
限定されておらず、これが通常は望ましくない効果であ
ることを示す。この発明は曲線の修正がスプライン曲線
への直接アクセスによって行われる、すなわちユーザー
が(制御多角形の上ではなく)曲線の上で直接一点を選
ぶことができるが、必要な変更あるいは修正は依然とし
て局所的に限定されたままである。
ルの補間によって生成された場合、プロファイルを一つ
一つ修正することができる。すなわち、曲線の補間点が
直接アクセスされる。これは多大なCPU 時間と複雑なプ
ログラムを要する処理であることがわかる。しかし、さ
らに問題であるのは、この種の曲線修正は通常局所的に
限定されずその結果補間点の周囲に波(すなわち振動)
が発生することである。つまり、(通常望ましい)局所
的な修正ではなく曲線全体が変更される。この効果を図
4に示す。元のスプラインを15で示し、その補間点をI
1 、I2…I13で示す。補間点I6 が図3に12で示す同
様の修正されたスプラインを得るために新しい位置I6
' に移動される場合、その結果得られるスプラインは
図4の修正されたスプライン16が示すように補間点の周
囲で振動する。図4はまたスプラインの修正が局所的に
限定されておらず、これが通常は望ましくない効果であ
ることを示す。この発明は曲線の修正がスプライン曲線
への直接アクセスによって行われる、すなわちユーザー
が(制御多角形の上ではなく)曲線の上で直接一点を選
ぶことができるが、必要な変更あるいは修正は依然とし
て局所的に限定されたままである。
【0060】この概念を図5を参照して説明する。スプ
ライン曲線17が描かれたものと仮定する。参照符号18は
対応する制御多角形を指す。ユーザーは任意の点P(ス
プライン曲線上の点、すなわち制御多角形の制御点には
関係がない。P’はさらにスプライン曲線のいかなる補
間点とも一致してはならない。)を別の点P’に移動し
たい。しかし、このスプライン曲線自体はある限られた
領域においてのみ修正されねばならない。点Pおよび
P’の定義の後、CAD システムは点Pに関係する変数t
の値すなわちt0 を判定する。すなわち、P= Q(t0 )
(すなわち、変数値t0 はユーザーによって指定され
ず、システムによって計算される。)修正された点P’
は同じ変数値すなわちP'= Q'(t0 ) を有するものとして
定義される。新しい(修正された)スプライン曲線は次
の式によって与えられる。
ライン曲線17が描かれたものと仮定する。参照符号18は
対応する制御多角形を指す。ユーザーは任意の点P(ス
プライン曲線上の点、すなわち制御多角形の制御点には
関係がない。P’はさらにスプライン曲線のいかなる補
間点とも一致してはならない。)を別の点P’に移動し
たい。しかし、このスプライン曲線自体はある限られた
領域においてのみ修正されねばならない。点Pおよび
P’の定義の後、CAD システムは点Pに関係する変数t
の値すなわちt0 を判定する。すなわち、P= Q(t0 )
(すなわち、変数値t0 はユーザーによって指定され
ず、システムによって計算される。)修正された点P’
は同じ変数値すなわちP'= Q'(t0 ) を有するものとして
定義される。新しい(修正された)スプライン曲線は次
の式によって与えられる。
【0061】
【数18】
【0062】ここでΔは次のように定義される。
【0063】
【数19】
【0064】また修正されたスプライン曲線は図5の参
照番号19(破線)に示すように適当に計算(および表
示)される。特に、図5はこの修正が局所的に限定され
ていることを示している。ユーザーの対話もまた非常に
簡単である。これはスプライン曲線上の点Pと“目標”
点P’だけを定義すればよいためである。式(3) からわ
かるように、制御多角形すなわち制御点もまた修正され
る。すなわち、もとの制御点のセットPi は新たな制御
点のセットに置き替わる(Pi +Δ・ Bi (t0 ) ).修
正された制御多角形を図5では20で示している。この制
御多角形もまた局所的に修正されることがわかる。上述
の処理はスプライン曲線の変位を制御点の変位に“変換
する”という考え方に基づいている。対話型CAD システ
ムでは、スプライン修正の好適な方法はスプライン上の
点を(たとえばマウスで駆動される)カーソルで選び、
カーソルをスクリーン上の別の位置に移動するステップ
を含み、その結果得られる修正されたスプライン曲線は
スクリーン上にほとんど瞬時に表示される。修正された
スプラインがユーザーの予想に合致しない場合、ユーザ
ーは最終的なカーソル位置に達するまでさらにカーソル
を動かしてユーザーの要求を満たす修正スプラインを得
ることができる。上の式(4) の有効性は次のように示す
ことができる。修正されたスプライン曲線が式(3) によ
ってすなわち次のように定義されるものと仮定する。
照番号19(破線)に示すように適当に計算(および表
示)される。特に、図5はこの修正が局所的に限定され
ていることを示している。ユーザーの対話もまた非常に
簡単である。これはスプライン曲線上の点Pと“目標”
点P’だけを定義すればよいためである。式(3) からわ
かるように、制御多角形すなわち制御点もまた修正され
る。すなわち、もとの制御点のセットPi は新たな制御
点のセットに置き替わる(Pi +Δ・ Bi (t0 ) ).修
正された制御多角形を図5では20で示している。この制
御多角形もまた局所的に修正されることがわかる。上述
の処理はスプライン曲線の変位を制御点の変位に“変換
する”という考え方に基づいている。対話型CAD システ
ムでは、スプライン修正の好適な方法はスプライン上の
点を(たとえばマウスで駆動される)カーソルで選び、
カーソルをスクリーン上の別の位置に移動するステップ
を含み、その結果得られる修正されたスプライン曲線は
スクリーン上にほとんど瞬時に表示される。修正された
スプラインがユーザーの予想に合致しない場合、ユーザ
ーは最終的なカーソル位置に達するまでさらにカーソル
を動かしてユーザーの要求を満たす修正スプラインを得
ることができる。上の式(4) の有効性は次のように示す
ことができる。修正されたスプライン曲線が式(3) によ
ってすなわち次のように定義されるものと仮定する。
【0065】
【数20】
【0066】したがって、修正されたスプライン上の点
P’の定義は次の通りである。
P’の定義は次の通りである。
【0067】
【数21】
【0068】元のスプライン上の点Pの式は次の通りで
ある。
ある。
【0069】
【数22】
【0070】式(5) から式(6) を引くと(これは変数値
t0 が両方の式で等しいため可能である)、次のように
なる。
t0 が両方の式で等しいため可能である)、次のように
なる。
【0071】
【数23】
【0072】Δについて式(7) を解くと式(4) になる。
生成された修正スプライン曲線Q'(t) はt=t0 の変数
値で点P’を通過する。Q'(t) は参照符号17と19の比較
からわかるように元のスプライン曲線Q(t)から局所的に
異なるのみである。その理由はt0 においてk基本関数
Bi だけがゼロと異なるためであり、ここでkはこのス
プラインの次数である。図6はその基本にある概念を示
す。この図では、図5の制御多角形18(元のスプライン
曲線の制御多角形)および20(修正スプライン曲線の制
御多角形)が書き直されている(説明をわかりやすくす
るために、これらのスプライン曲線自体は省略されてい
る。図6の図は実際のCAD システムのスクリーンには現
れない)。制御多角形18の制御点をP1 、P2 …P6
(これらの点はP、P’とは無関係)、制御多角形20の
制御点を同様にP2 ’P3 ’、P4 ’およびP5 ’とし
ている。元のスプライン上の点Pの修正スプライン上の
点P’へのはじめの移動(図6には示さない)は制御点
の平行移動に変換される。ベクトル21-24 は制御点P
2、P3 、P4 およびP5 の制御点P2 ’P3 ’、P4
’およびP5 ’への移動を示し、すべてのベクトルは
同じ方向を向き、その量あるいはオフセットが異なって
いる。また、限られた数の(局所的に限定されたスプラ
イン修正に対応する)制御点だけが動かされることがわ
かる。たとえばP1 とP6 は動かされておらず、したが
って両方の制御多角形のこの部分は動かされない。した
がって、スプライン曲線の修正はある領域の制御点のベ
クトル移動として説明することができ、ベクトルは異な
る長さを有するが基本的には方向は同じである。ところ
で、上述した制御点の平行移動は一実施例の特徴ではあ
るが、つぎに説明するようにこの発明を実施するための
必要な前提条件ではない。すなわち、制御点を平行でな
い態様で移動することのできる方法もある。
生成された修正スプライン曲線Q'(t) はt=t0 の変数
値で点P’を通過する。Q'(t) は参照符号17と19の比較
からわかるように元のスプライン曲線Q(t)から局所的に
異なるのみである。その理由はt0 においてk基本関数
Bi だけがゼロと異なるためであり、ここでkはこのス
プラインの次数である。図6はその基本にある概念を示
す。この図では、図5の制御多角形18(元のスプライン
曲線の制御多角形)および20(修正スプライン曲線の制
御多角形)が書き直されている(説明をわかりやすくす
るために、これらのスプライン曲線自体は省略されてい
る。図6の図は実際のCAD システムのスクリーンには現
れない)。制御多角形18の制御点をP1 、P2 …P6
(これらの点はP、P’とは無関係)、制御多角形20の
制御点を同様にP2 ’P3 ’、P4 ’およびP5 ’とし
ている。元のスプライン上の点Pの修正スプライン上の
点P’へのはじめの移動(図6には示さない)は制御点
の平行移動に変換される。ベクトル21-24 は制御点P
2、P3 、P4 およびP5 の制御点P2 ’P3 ’、P4
’およびP5 ’への移動を示し、すべてのベクトルは
同じ方向を向き、その量あるいはオフセットが異なって
いる。また、限られた数の(局所的に限定されたスプラ
イン修正に対応する)制御点だけが動かされることがわ
かる。たとえばP1 とP6 は動かされておらず、したが
って両方の制御多角形のこの部分は動かされない。した
がって、スプライン曲線の修正はある領域の制御点のベ
クトル移動として説明することができ、ベクトルは異な
る長さを有するが基本的には方向は同じである。ところ
で、上述した制御点の平行移動は一実施例の特徴ではあ
るが、つぎに説明するようにこの発明を実施するための
必要な前提条件ではない。すなわち、制御点を平行でな
い態様で移動することのできる方法もある。
【0073】上の例では修正スプライン曲線Q'(t) は次
の式で定義されるものと仮定した。
の式で定義されるものと仮定した。
【0074】
【数24】
【0075】上の式(3) を参照されたい。これはきわめ
て具体的な仮定であり、一般的には次のように定義する
ことができる。
て具体的な仮定であり、一般的には次のように定義する
ことができる。
【0076】
【数25】
【0077】ここでCi は一般にオフセットベクトルで
ある。Ci は次の量の相関的要素あるいは次の量によっ
て決まるものとすることができる。 a)点Pおよび/または点P’すなわちCi =f(P,P') お
よび/または b)スプライン関数 Bi (t) すなわちCi =f(B(t)) ある
いはCi =f(B(t)) 、i ≠j ,および/または c)点PにおけるQ(t)あるいは点P’におけるQ'(t) の変
数値t0 すなわちCi=f(t0 ) および/または d)ユーザーが任意に選択できる形式変数あるいは輪郭変
数。かかる形式変数あるいは輪郭変数はスプライン変更
の形状および範囲を定義する。
ある。Ci は次の量の相関的要素あるいは次の量によっ
て決まるものとすることができる。 a)点Pおよび/または点P’すなわちCi =f(P,P') お
よび/または b)スプライン関数 Bi (t) すなわちCi =f(B(t)) ある
いはCi =f(B(t)) 、i ≠j ,および/または c)点PにおけるQ(t)あるいは点P’におけるQ'(t) の変
数値t0 すなわちCi=f(t0 ) および/または d)ユーザーが任意に選択できる形式変数あるいは輪郭変
数。かかる形式変数あるいは輪郭変数はスプライン変更
の形状および範囲を定義する。
【0078】上に定義した一般化の具体例を次に説明す
る。B0 、B1 …Bn-1 をスプラインQ(t)の基本関数と
する。形式変数はγ-n+1…γn-1 と定義される。ここで
γ0 >0でありγj ≧0である。式(8) のオフセットベ
クトルとして次のものを選択する。
る。B0 、B1 …Bn-1 をスプラインQ(t)の基本関数と
する。形式変数はγ-n+1…γn-1 と定義される。ここで
γ0 >0でありγj ≧0である。式(8) のオフセットベ
クトルとして次のものを選択する。
【0079】
【数26】
【0080】その結果
【0081】
【数27】
【0082】Δは次の式から上述した方法と同様に決定
することができる。
することができる。
【0083】
【数28】
【0084】また、
【0085】
【数29】
【0086】これらの式を引き算すると次のようにな
る。
る。
【0087】
【数30】
【0088】上の例で形式変数γj は(-n+1)から(n-1)
の範囲であることがわかる。この限度の外、すなわちj<
(-n+1)とj>(n-1) ではそれらは定義されない(あるいは
ゼロに等しい)。すべてのjについてγj =1を選択した
場合、スプライン全体が移動する(しかし、これは通常
この修正処理の目的ではない)、γj = δj0(δはクロ
ネッカーの記号)はこの説明の第1の例を示す。
の範囲であることがわかる。この限度の外、すなわちj<
(-n+1)とj>(n-1) ではそれらは定義されない(あるいは
ゼロに等しい)。すべてのjについてγj =1を選択した
場合、スプライン全体が移動する(しかし、これは通常
この修正処理の目的ではない)、γj = δj0(δはクロ
ネッカーの記号)はこの説明の第1の例を示す。
【0089】もう一つの具体的なγj の選択は隣接する
あるいは連続する少なくともkのγj についてγj =1
である(ここでkはスプラインの次数である)。この動
作を図7(a)と図7(b)に示す。図7aはγj の連続を示し、
図7(b)は元のスプラインQ(t)25と修正されたスプライン
Q'(t)26 を示す。この動作の結果は、スプラインの一部
が局所的に移動するがその元の形状あるいは輪郭が保持
されることである。
あるいは連続する少なくともkのγj についてγj =1
である(ここでkはスプラインの次数である)。この動
作を図7(a)と図7(b)に示す。図7aはγj の連続を示し、
図7(b)は元のスプラインQ(t)25と修正されたスプライン
Q'(t)26 を示す。この動作の結果は、スプラインの一部
が局所的に移動するがその元の形状あるいは輪郭が保持
されることである。
【0090】より高度な実施例ではスプラインQ(t)から
スプラインQ'(t) へのよりスムーズな遷移を得るために
γj を(-n+1)<j<(n-1)の間で別の方法で(すなわち、す
べてが1に等しくない)定義することができる。上の例
ではスプラインが局所的にのみ修正されることが重要で
ある。またγjの定義によって(すなわち、γj がゼロ
に等しくない領域)変更されるスプラインQ(t)の領域は
変更あるいは適応性を持たせることができる。つまり、
アプリケーションに固有のニーズに修正すべきスプライ
ンの部分を適合させることができる。かかる適合はまた
ユーザーが実行することができる。
スプラインQ'(t) へのよりスムーズな遷移を得るために
γj を(-n+1)<j<(n-1)の間で別の方法で(すなわち、す
べてが1に等しくない)定義することができる。上の例
ではスプラインが局所的にのみ修正されることが重要で
ある。またγjの定義によって(すなわち、γj がゼロ
に等しくない領域)変更されるスプラインQ(t)の領域は
変更あるいは適応性を持たせることができる。つまり、
アプリケーションに固有のニーズに修正すべきスプライ
ンの部分を適合させることができる。かかる適合はまた
ユーザーが実行することができる。
【0091】変更されるスプライン領域のかかる適合の
いくつかの側面についてより詳細に説明する。 上の例
では変更される領域は、 a)γj ≠0が有効である指数j b) Bi (t0 ) ≠0が有効である指数i によって定義される。すなわち、t0 をスプラインQ(t)
上の点Pの変数値すなわちP=Q(t0 ) と仮定する。さら
に次のように仮定する。
いくつかの側面についてより詳細に説明する。 上の例
では変更される領域は、 a)γj ≠0が有効である指数j b) Bi (t0 ) ≠0が有効である指数i によって定義される。すなわち、t0 をスプラインQ(t)
上の点Pの変数値すなわちP=Q(t0 ) と仮定する。さら
に次のように仮定する。
【0092】
【数31】
【0093】このように仮定すると、以下の指数i:
【0094】
【数32】
【0095】を有する制御点が修正される。変数領域中
の関係する領域を見ると、これは次の領域での修正を意
味する。
の関係する領域を見ると、これは次の領域での修正を意
味する。
【0096】
【数33】
【0097】ここで
【0098】
【数34】
【0099】はスプラインの節ベクトルでありkはその
次数である。この例では必要なスプライン修正の領域は
使用される形状変数によって決まる。しかし、実際のア
プリケーションではユーザーが修正領域(以下[tmin' t
max] )することが望ましい場合が多い。これは形状変
数γj が次のように定義される場合に可能である。
次数である。この例では必要なスプライン修正の領域は
使用される形状変数によって決まる。しかし、実際のア
プリケーションではユーザーが修正領域(以下[tmin' t
max] )することが望ましい場合が多い。これは形状変
数γj が次のように定義される場合に可能である。
【0100】
【数35】
【0101】これには追加の結び目を導入することもで
きる。 注意:上の式(14)は境界線のケースではあまり有効では
ない。これらのケースについては下のより複雑な式を用
いなければならない。
きる。 注意:上の式(14)は境界線のケースではあまり有効では
ない。これらのケースについては下のより複雑な式を用
いなければならない。
【0102】
【数36】
【0103】上記の考え方は新しい点P’を(Pの代わ
りに)定義できるだけでなく、P’におけるスプライン
の導関数をも定義できるというように展開することがで
きる。点P’におけるQ'(t) の導関数をここではE’と
する。すなわち、
りに)定義できるだけでなく、P’におけるスプライン
の導関数をも定義できるというように展開することがで
きる。点P’におけるQ'(t) の導関数をここではE’と
する。すなわち、
【0104】
【数37】
【0105】同様に、
【0106】
【数38】
【0107】ここで −t=t0 で点P’を通過し、 −点P’において導関数E’を有し、 −元のスプラインQ(t)と局所的にのみ異なる、 修正スプラインについて次のように仮定する。
【0108】
【数39】
【0109】上記のような相似した形ではΔ0 とΔ1 は
次の式の解として計算することができる。
次の式の解として計算することができる。
【0110】
【数40】
【0111】ここでP=Q(t0 ) 、P'=Q'(t0 ) 、E=dQ'
(t0 )/dtである。行列Aは次のように定義することがで
きる。
(t0 )/dtである。行列Aは次のように定義することがで
きる。
【0112】
【数41】
【0113】行列Aは2以上の次数(k≧2ここでkは
スプラインの次数)のすべてのスプラインについて反転
することができることを数学的に示すことができる。点
P’における導関数を定義することができることの効果
を図8に示す。元のスプライン曲線を27とする。ベクト
ル28は点Pにおける(第1の)導関数Eを示す(この図
には制御多角形は示さない)。点PはここでP’に移さ
れる。同時に、点P’における導関数E’がベクトル29
によって示すように定義される。その結果得られる修正
スプライン曲線を30とする。修正スプライン曲線30の形
状が点P’における導関数を定義せず生成された修正ス
プライン曲線(この後者の曲線を破線で示し、31とす
る)と異なることは容易に理解できる。したがって、修
正曲線の点で導関数を定義することによって、修正スプ
ライン曲線の形状を具体的なケースの必要に幅広く適応
させることができる。上記の実施例はより高次の導関数
にも適用することができる。あまり詳しくは論じない
が、1次および2次の導関数のために設計された一実施
例において行列Aは次の形式をとる。
スプラインの次数)のすべてのスプラインについて反転
することができることを数学的に示すことができる。点
P’における導関数を定義することができることの効果
を図8に示す。元のスプライン曲線を27とする。ベクト
ル28は点Pにおける(第1の)導関数Eを示す(この図
には制御多角形は示さない)。点PはここでP’に移さ
れる。同時に、点P’における導関数E’がベクトル29
によって示すように定義される。その結果得られる修正
スプライン曲線を30とする。修正スプライン曲線30の形
状が点P’における導関数を定義せず生成された修正ス
プライン曲線(この後者の曲線を破線で示し、31とす
る)と異なることは容易に理解できる。したがって、修
正曲線の点で導関数を定義することによって、修正スプ
ライン曲線の形状を具体的なケースの必要に幅広く適応
させることができる。上記の実施例はより高次の導関数
にも適用することができる。あまり詳しくは論じない
が、1次および2次の導関数のために設計された一実施
例において行列Aは次の形式をとる。
【0114】
【数42】
【0115】別の実施例では、スプライン、すなわち
(上の例で用いた一つの変数tではなく)二つの独立変
数u、vによって定義されるスプラインによって定義さ
れる領域あるいは面がある。幾何学上ではかかるスプラ
インは3次元空間の中の面を定義する。1変数スプライ
ンの場合と同様に、かかる面を、単にこの面の一点を
“選び”それを他の位置に移動することによって局所的
に修正したい場合がある。この処理を図9aと図9bに示
す。元のスプラインを図9aでは32とする。元のスプライ
ン面上の点Pを別の位置P’にスプライン面が点P’を
通るが依然として局所的にのみ修正されるように移動し
ようとする。この処理の結果を図9bに示す。修正された
スプライン面32' はP’を通る追加の構造33によって局
所的に修正されている。この発明の方法を用いてこれら
の要求にしたがってスプライン面を修正する態様を説明
する。スプライン面は次のように与えられるものと仮定
する。
(上の例で用いた一つの変数tではなく)二つの独立変
数u、vによって定義されるスプラインによって定義さ
れる領域あるいは面がある。幾何学上ではかかるスプラ
インは3次元空間の中の面を定義する。1変数スプライ
ンの場合と同様に、かかる面を、単にこの面の一点を
“選び”それを他の位置に移動することによって局所的
に修正したい場合がある。この処理を図9aと図9bに示
す。元のスプラインを図9aでは32とする。元のスプライ
ン面上の点Pを別の位置P’にスプライン面が点P’を
通るが依然として局所的にのみ修正されるように移動し
ようとする。この処理の結果を図9bに示す。修正された
スプライン面32' はP’を通る追加の構造33によって局
所的に修正されている。この発明の方法を用いてこれら
の要求にしたがってスプライン面を修正する態様を説明
する。スプライン面は次のように与えられるものと仮定
する。
【0116】
【数43】
【0117】ここでuとvは変数である。点P=Q(u0 ,v
0 ) を別の点P'= Q'(u0 , v0 ) に移動しなければなら
ない。(前の例と同様に、点Pと点P’は同じ変数値を
有することに注意する。前の例では、この変数値はt0
であった。これは2変数のケースであるためこれをu0
、v0 に置き換えた。)ここで修正スプライン面につ
いて次のように仮定する。
0 ) を別の点P'= Q'(u0 , v0 ) に移動しなければなら
ない。(前の例と同様に、点Pと点P’は同じ変数値を
有することに注意する。前の例では、この変数値はt0
であった。これは2変数のケースであるためこれをu0
、v0 に置き換えた。)ここで修正スプライン面につ
いて次のように仮定する。
【0118】
【数44】
【0119】独立変数を一つだけ有するスプライン関数
の場合と同様にして、この修正スプライン面についてu
=u0 、v=v0 で次の式を得る。
の場合と同様にして、この修正スプライン面についてu
=u0 、v=v0 で次の式を得る。
【0120】
【数45】
【0121】また元のスプライン面については次のよう
になる。
になる。
【0122】
【数46】
【0123】式(21)と式(22)の引き算を行うと次のよう
になる。
になる。
【0124】
【数47】
【0125】その結果、
【0126】
【数48】
【0127】Δの定義が式(24)にしたがって与えられる
と式(20)による修正スプライン面は、 −点P’を通過し(P'= Q'(u0 ,v0 ) ) −元のスプラインQ(u,v)と局所的にのみ異なる スプライン面Q'(u,v) となる。上記の概念はたとえば形
状変数の導入によってすでに説明したような方法で多次
元スプライン関数にも展開することができる。任意の形
状変数Cijの一般式は次の通りである。
と式(20)による修正スプライン面は、 −点P’を通過し(P'= Q'(u0 ,v0 ) ) −元のスプラインQ(u,v)と局所的にのみ異なる スプライン面Q'(u,v) となる。上記の概念はたとえば形
状変数の導入によってすでに説明したような方法で多次
元スプライン関数にも展開することができる。任意の形
状変数Cijの一般式は次の通りである。
【0128】
【数49】
【0129】この発明のCAD システムの基本的構成要素
のブロック図を図10に示す。主処理装置を34とする。破
線はこのボックスに含まれる構成要素は通常共通のフレ
ーム等に含まれることを示す。しかし、これはこの発明
を限定する条件ではない(たとえば、ビデオメモリはメ
インフレームの一部とすることもできまた表示装置に組
み込むこともできる)。主処理装置34はユーザー入力イ
ンターフェース36から矢印35で示すようにコマンドを受
け取る。インターフェース36はたとえばキーボード、コ
ンピュータマウス、図形タブレット、タッチセンシティ
ブスクリーン、ライトペン、トラックボールあるいは人
間のコマンドをCAD システムに通信するための他の任意
の適当なインターフェース手段とすることができる。こ
れらのコマンドは入力レジスタ37を介して中央処理装置
(CPU )38に送られる。CPU 38は半導体メモリあるいは
磁気媒体等のいくつかのメモリと通信し、そこに記憶さ
れたコマンドを実行する。かかるメモリに記憶された命
令は一般に異なるタスクを実行するさまざまなプロセッ
サに分けることができる。
のブロック図を図10に示す。主処理装置を34とする。破
線はこのボックスに含まれる構成要素は通常共通のフレ
ーム等に含まれることを示す。しかし、これはこの発明
を限定する条件ではない(たとえば、ビデオメモリはメ
インフレームの一部とすることもできまた表示装置に組
み込むこともできる)。主処理装置34はユーザー入力イ
ンターフェース36から矢印35で示すようにコマンドを受
け取る。インターフェース36はたとえばキーボード、コ
ンピュータマウス、図形タブレット、タッチセンシティ
ブスクリーン、ライトペン、トラックボールあるいは人
間のコマンドをCAD システムに通信するための他の任意
の適当なインターフェース手段とすることができる。こ
れらのコマンドは入力レジスタ37を介して中央処理装置
(CPU )38に送られる。CPU 38は半導体メモリあるいは
磁気媒体等のいくつかのメモリと通信し、そこに記憶さ
れたコマンドを実行する。かかるメモリに記憶された命
令は一般に異なるタスクを実行するさまざまなプロセッ
サに分けることができる。
【0130】図10に示す例では、二つのこのようなプロ
セッサ、すなわちオペレーティングシステム39とCAD プ
ロセッサ40が示されている。テキストプロセッサ、電子
メールシステム等のさまざまなプロセッサがあるが、こ
れらはこの発明の理解には必須ではなく、したがって図
10には示していない。また数値制御工作機械用の穿孔テ
ープを作成するためのパンチハンドラ等のCAD システム
の出力としてこの発明に仕様できる他のプロセッサもあ
る。しかし、図面の都合上これらは図示しなかった。オ
ペレーティングシステム39は汎用コンピュータについて
一般に知られているようなCPU 38のための基本機能を提
供する。CAD プロセッサ40はCAD 動作を行うための必要
な制御コードを含む。CAD プロセッサはさらにそれぞれ
が固有のタスクを実行するユーティリティあるいはブロ
ックに細分化される。かかるブロックの一つがBスプラ
インプロセッサ41であり、これはBスプラインの処理に
必要なすべての機能を提供する。斜視図の生成、部品の
寸法表示といったCAD プロセッサ40に関係する他のすべ
ての機能が、ブロック“他の幾何学的ユーティリティ”
42によってまとまられている。
セッサ、すなわちオペレーティングシステム39とCAD プ
ロセッサ40が示されている。テキストプロセッサ、電子
メールシステム等のさまざまなプロセッサがあるが、こ
れらはこの発明の理解には必須ではなく、したがって図
10には示していない。また数値制御工作機械用の穿孔テ
ープを作成するためのパンチハンドラ等のCAD システム
の出力としてこの発明に仕様できる他のプロセッサもあ
る。しかし、図面の都合上これらは図示しなかった。オ
ペレーティングシステム39は汎用コンピュータについて
一般に知られているようなCPU 38のための基本機能を提
供する。CAD プロセッサ40はCAD 動作を行うための必要
な制御コードを含む。CAD プロセッサはさらにそれぞれ
が固有のタスクを実行するユーティリティあるいはブロ
ックに細分化される。かかるブロックの一つがBスプラ
インプロセッサ41であり、これはBスプラインの処理に
必要なすべての機能を提供する。斜視図の生成、部品の
寸法表示といったCAD プロセッサ40に関係する他のすべ
ての機能が、ブロック“他の幾何学的ユーティリティ”
42によってまとまられている。
【0131】Bスプラインプロセッサ41は基本的には制
御多角形管理プログラム43、Bスプライン曲線管理プロ
グラム44および修正管理プログラム45からなる。制御多
角形管理プログラム43はスプライン曲線に関連する制御
多角形の制御点を準備、検索、および記憶する。このた
めに、制御多角形管理プログラム43は制御多角形メモリ
46にアクセスすることができる。同様に、Bスプライン
曲線管理プログラム44はBスプラインの補間点と補間さ
れた曲線を処理する。補間点はBスプライン曲線メモリ
47に記憶される。(ここに説明した例は特にBスプライ
ン曲線を取り扱うが、Bスプライン面を処理することも
できることがわかる。修正管理プログラム45は定義済み
のBスプライン曲線の修正を取り扱う。これは基本的に
はBスプラインの修正される領域を定義するのに用いら
れる領域ハンドラ48と修正されたBスプラインの特性、
たとえば式(4) あるいは式(24)の値Δあるいは式(17)の
Δ0 とΔ1 の値を計算するΔプロセッサ49からなる(他
の機能をこの修正管理プログラム45によって提供するこ
とができる)。このために、修正管理プログラム45は線
50によって示すように制御多角形43から修正されていな
い制御多角形の制御点を受け取る。その出力すなわち修
正された制御多角形と修正されたBスプラインが線51に
示すように制御多角形管理プログラム43とBスプライン
管理プログラム44に送られる。
御多角形管理プログラム43、Bスプライン曲線管理プロ
グラム44および修正管理プログラム45からなる。制御多
角形管理プログラム43はスプライン曲線に関連する制御
多角形の制御点を準備、検索、および記憶する。このた
めに、制御多角形管理プログラム43は制御多角形メモリ
46にアクセスすることができる。同様に、Bスプライン
曲線管理プログラム44はBスプラインの補間点と補間さ
れた曲線を処理する。補間点はBスプライン曲線メモリ
47に記憶される。(ここに説明した例は特にBスプライ
ン曲線を取り扱うが、Bスプライン面を処理することも
できることがわかる。修正管理プログラム45は定義済み
のBスプライン曲線の修正を取り扱う。これは基本的に
はBスプラインの修正される領域を定義するのに用いら
れる領域ハンドラ48と修正されたBスプラインの特性、
たとえば式(4) あるいは式(24)の値Δあるいは式(17)の
Δ0 とΔ1 の値を計算するΔプロセッサ49からなる(他
の機能をこの修正管理プログラム45によって提供するこ
とができる)。このために、修正管理プログラム45は線
50によって示すように制御多角形43から修正されていな
い制御多角形の制御点を受け取る。その出力すなわち修
正された制御多角形と修正されたBスプラインが線51に
示すように制御多角形管理プログラム43とBスプライン
管理プログラム44に送られる。
【0132】Bスプライン曲線メモリ47に記憶された値
は線52を介してCPU 38(線54を参照)の制御のもとに図
形プロセッサ53に送られる。この図形プロセッサ53はB
スプライン曲線の情報(たとえば補間点)を、CRT ある
いはその他の適当なスクリーン56に表示すべくビデオメ
モリ55に記憶されるたとえばラスタ表示装置用のビット
マップといった2次元の図形表現に変換する最先端技術
のプロセッサである。既存のBスプライン曲線を修正す
る基本ステップを図11のフローチャートを具体的に参照
して説明する。修正管理プログラム45(図10)の呼び出
しの後、“スタート”57からこのフローチャートに入
る。既存のBスプラインとそれに関連する制御多角形が
ボックス58に示すようにメモリ47および46(図10)から
検索される。この既存のスプラインがスクリーンに描か
れる(ステップ59)。たとえばスクリーン上の移動する
十字のようなカーソルが既存のスプラインの点Pに動か
される(ボックス60)。点Pを捉えるにはさまざまな技
術を用いることができる。たとえば、現在のカーソル位
置をスプラインが捕捉領域内にあるときすなわち現在の
カーソル位置を取り囲む円あるいは同様の輪郭の中に入
り次第スプライン上の一点に割り当てることができる。
より高度なシステムではカーソルをスプライン曲線上に
“案内”することができる。すなわち、カーソル位置は
スプライン曲線の外側ではありえない。
は線52を介してCPU 38(線54を参照)の制御のもとに図
形プロセッサ53に送られる。この図形プロセッサ53はB
スプライン曲線の情報(たとえば補間点)を、CRT ある
いはその他の適当なスクリーン56に表示すべくビデオメ
モリ55に記憶されるたとえばラスタ表示装置用のビット
マップといった2次元の図形表現に変換する最先端技術
のプロセッサである。既存のBスプライン曲線を修正す
る基本ステップを図11のフローチャートを具体的に参照
して説明する。修正管理プログラム45(図10)の呼び出
しの後、“スタート”57からこのフローチャートに入
る。既存のBスプラインとそれに関連する制御多角形が
ボックス58に示すようにメモリ47および46(図10)から
検索される。この既存のスプラインがスクリーンに描か
れる(ステップ59)。たとえばスクリーン上の移動する
十字のようなカーソルが既存のスプラインの点Pに動か
される(ボックス60)。点Pを捉えるにはさまざまな技
術を用いることができる。たとえば、現在のカーソル位
置をスプラインが捕捉領域内にあるときすなわち現在の
カーソル位置を取り囲む円あるいは同様の輪郭の中に入
り次第スプライン上の一点に割り当てることができる。
より高度なシステムではカーソルをスプライン曲線上に
“案内”することができる。すなわち、カーソル位置は
スプライン曲線の外側ではありえない。
【0133】カーソルが最終位置に達ししだい、すなわ
ちカーソルがスプライン曲線の修正される点に来ると、
ユーザーはマウスを操作するか他の方法で適当なコマン
ドを入力してこの位置を有効とするあるいは確認する。
これで点Pが捉えられた。Pは補間点だけでなくBスプ
ライン曲線上の任意の点とすることができる。次に、カ
ーソルは既存のスプライン曲線の外側の新しい点P’に
移動されクリックオンれる(ボックス61)。修正された
スプライン曲線はPではなくP’を通らねばならない。
スプラインの修正を局所的に限定するために、修正管理
プログラム(図10の45)は適切な限界すなわち修正され
る既存のスプライン曲線の領域を知っていなければなら
ない。これには標準の限界を用いることができる。その
代わりに、ユーザーがこれらの限界を定義することもで
きる。後者の場合には、限界は一度だけ定義する、ある
いは修正のたびに再定義することができる。
ちカーソルがスプライン曲線の修正される点に来ると、
ユーザーはマウスを操作するか他の方法で適当なコマン
ドを入力してこの位置を有効とするあるいは確認する。
これで点Pが捉えられた。Pは補間点だけでなくBスプ
ライン曲線上の任意の点とすることができる。次に、カ
ーソルは既存のスプライン曲線の外側の新しい点P’に
移動されクリックオンれる(ボックス61)。修正された
スプライン曲線はPではなくP’を通らねばならない。
スプラインの修正を局所的に限定するために、修正管理
プログラム(図10の45)は適切な限界すなわち修正され
る既存のスプライン曲線の領域を知っていなければなら
ない。これには標準の限界を用いることができる。その
代わりに、ユーザーがこれらの限界を定義することもで
きる。後者の場合には、限界は一度だけ定義する、ある
いは修正のたびに再定義することができる。
【0134】修正される領域がすでに定義されている場
合(ボックス62)、動作はノード63に進む。あるいは限
界 tmin 、 tmax がユーザーによって入力され(ステッ
プ64)、修正プロセッサが対応する形状変数γj を計算
する( ステップ65)。ステップ66では修正されたスプラ
イン曲線の変数が計算される。たとえばΔ(式(4) ある
いは式(24)による)または式(17)によるΔ0 およびΔ1
である。修正されたスプライン曲線すなわちその変数と
関連する制御多角形が記憶され(ボックス67)、修正ス
プライン曲線がスクリーンに描かれる(ステップ68)。
関連する制御多角形は通常スクリーンには描かれないこ
とに注意する(ただし、それが望ましい実施例もあ
る)。その後動作は呼び出しルーチンに戻る(ステップ
69)。
合(ボックス62)、動作はノード63に進む。あるいは限
界 tmin 、 tmax がユーザーによって入力され(ステッ
プ64)、修正プロセッサが対応する形状変数γj を計算
する( ステップ65)。ステップ66では修正されたスプラ
イン曲線の変数が計算される。たとえばΔ(式(4) ある
いは式(24)による)または式(17)によるΔ0 およびΔ1
である。修正されたスプライン曲線すなわちその変数と
関連する制御多角形が記憶され(ボックス67)、修正ス
プライン曲線がスクリーンに描かれる(ステップ68)。
関連する制御多角形は通常スクリーンには描かれないこ
とに注意する(ただし、それが望ましい実施例もあ
る)。その後動作は呼び出しルーチンに戻る(ステップ
69)。
【0135】
【発明の効果】以上の如く本発明によれば、ユーザーは
単に幾何学的対象上の点とこの点の移動先となるべき目
標点を同定するだけでよく、この目標点は新しい幾何学
的対象上の一点であることが意図される。これらの二つ
の簡単なステップには対話的な手順を必要とせず、非常
に高速に行える。さらに、ユーザーは修正された幾何学
的形状を完全に制御することができ、特に幾何学的対象
をたとえば制御点移動等によって間接的に修正する必要
がなく、むしろある点を修正された幾何学的対象の上で
直接的に定義する。したがって、修正された幾何学的形
状はほとんどの場合ユーザーの予想に合致したものとな
る。
単に幾何学的対象上の点とこの点の移動先となるべき目
標点を同定するだけでよく、この目標点は新しい幾何学
的対象上の一点であることが意図される。これらの二つ
の簡単なステップには対話的な手順を必要とせず、非常
に高速に行える。さらに、ユーザーは修正された幾何学
的形状を完全に制御することができ、特に幾何学的対象
をたとえば制御点移動等によって間接的に修正する必要
がなく、むしろある点を修正された幾何学的対象の上で
直接的に定義する。したがって、修正された幾何学的形
状はほとんどの場合ユーザーの予想に合致したものとな
る。
【図1】コンピュータ支援設計システムの装置の一例を
示す斜視図である。
示す斜視図である。
【図2】本発明によるBスプライン曲線とそれに関連す
る制御多角形を示す簡単な一実施例の図である。
る制御多角形を示す簡単な一実施例の図である。
【図3】図2に対応する従来例を示す図である。
【図4】スプライン曲線の補間点を修正する従来例を示
す図である。
す図である。
【図5】図4に対応する本発明の実施例を示す図であ
る。
る。
【図6】本発明による元の制御多角形と修正後の制御多
角形を示す図である。
角形を示す図である。
【図7】形式変数の連続とスプラインとの関係を示す図
である。
である。
【図8】本発明の他の実施例を示す図である。
【図9a】スプライン表面に本発明を適用した場合の一
実施例を示し、スプライン表面を移動する前の図であ
る。
実施例を示し、スプライン表面を移動する前の図であ
る。
【図9b】スプライン表面に本発明を適用した場合の一
実施例を示し、スプライン表面を移動した後の図であ
る。
実施例を示し、スプライン表面を移動した後の図であ
る。
【図10】本発明によるコンピュータ支援設計システム
の構成を示す図である。
の構成を示す図である。
【図11】本発明によるスプライン修正を実行するステ
ップを示すフローチャートである。
ップを示すフローチャートである。
7、17、19、25、26、27、30:スプライン
曲線 9、18、20:制御多角形
曲線 9、18、20:制御多角形
Claims (2)
- 【請求項1】コンピュータ支援設計システムにおける最
小の区分的多項関数の関数として定義される幾何学的対
象を修正する方法において、 上記幾何学的対象上の少なくとも一つの原点を同定する
ステップと、 上記原点を置き換えるために目標点を同定するステップ
と、 上記目標点への上記原点の移動を、上記最小の区分的な
多項関数の局所的な移動あるいは修正に変換するステッ
プと、 上記修正された幾何学的対象を、上記修正された区分的
多項関数の関数として定義するステップと、 からなることを特徴とするコンピュータ支援設計システ
ムにおける幾何学的対象を修正する方法。 - 【請求項2】中央処理装置と、ユーザー入力インターフ
ェースと、表示装置と、Bスプラインプロセッサとから
なり、 上記Bスプラインプロセッサは、Bスプライン曲線管理
プログラム、制御多角形管理プログラム、および修正さ
れたBスプライン関数の変数を元のBスプライン関数に
関する制御多角形に応じて計算するための△プロセッサ
からなる修正管理プログラムを備えたことを特徴とする
コンピュータ支援設計システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE92100634.2 | 1992-01-16 | ||
| EP92100634A EP0551543A1 (en) | 1992-01-16 | 1992-01-16 | Method of modifying a geometric object and computer aided design system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06124314A true JPH06124314A (ja) | 1994-05-06 |
Family
ID=8209243
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5023247A Pending JPH06124314A (ja) | 1992-01-16 | 1993-01-18 | コンピュータ支援設計システムおよびそのシステムにおける幾何学的対象を修正する方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5615319A (ja) |
| EP (1) | EP0551543A1 (ja) |
| JP (1) | JPH06124314A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006520504A (ja) * | 2003-03-05 | 2006-09-07 | ユージーエス、コープ | 編集プロセスにおける曲線の形状保持のためのシステムと方法 |
| JP2008173764A (ja) * | 2007-01-18 | 2008-07-31 | Fritz Studer Ag | 可動工具の制御方法、入力装置及び工作機械 |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4341367C1 (de) * | 1993-12-04 | 1995-06-14 | Harald Dr Med Dr Med Eufinger | Verfahren zur Herstellung von Endoprothesen |
| US5767857A (en) * | 1996-08-30 | 1998-06-16 | Pacific Data Images, Inc. | Method, apparatus, and software product for generating outlines for raster-based rendered images |
| US6111588A (en) * | 1996-12-05 | 2000-08-29 | Adobe Systems Incorporated | Creating and modifying curves on a computer display |
| US6317125B1 (en) | 1998-06-19 | 2001-11-13 | Interplay Entertainment Corp. | Saxs video object generation engine |
| RU2156174C2 (ru) * | 1998-12-25 | 2000-09-20 | Открытое акционерное общество "Чепецкий механический завод" | Калибровка инструмента для холодной прокатки труб |
| US6697535B1 (en) * | 1999-04-30 | 2004-02-24 | Cognex Technology And Investment Corporation | Method for refining a parameter of a contour in an image |
| US6922607B2 (en) * | 2000-12-06 | 2005-07-26 | Tsunehiko Yamazaki | Numerically controlled method |
| JP3790126B2 (ja) * | 2001-05-30 | 2006-06-28 | 株式会社東芝 | 時空間領域情報処理方法及び時空間領域情報処理システム |
| US20030154058A1 (en) * | 2001-06-11 | 2003-08-14 | Keener Bryan F. | Methods and systems for validating translated geometry |
| US6686914B2 (en) | 2001-06-11 | 2004-02-03 | General Electric Company | Methods and systems for automatically translating geometric data |
| US20030193499A1 (en) * | 2002-04-16 | 2003-10-16 | Bo Gao | Object-oriented three-dimensional polygons for the surface modeling of civil engineering objects |
| DE10226270A1 (de) * | 2002-06-07 | 2004-01-08 | Cocreate Software Gmbh & Co. Kg | Verfahren und Computersystem zum Erzeugen einer mehrdimensionalen Abstandsfläche |
| US7234899B2 (en) * | 2003-05-19 | 2007-06-26 | Tdy Industries, Inc. | Cutting tool having a wiper nose corner |
| DE102004022320A1 (de) * | 2004-05-06 | 2005-11-24 | Daimlerchrysler Ag | Elektronische Konstruktionsvorrichtung |
| DE102004022318B4 (de) * | 2004-05-06 | 2007-03-22 | Daimlerchrysler Ag | Elektronische Konstruktionsvorrichtung |
| DE102004035970A1 (de) | 2004-07-23 | 2006-02-16 | Sirona Dental Systems Gmbh | Verfahren zur Bearbeitung eines digitalisierten Werkstücks, insbesondere von dreidimensionalen Modellen von herzustellenden Zahnersatzteilen und Vorrichtung |
| DE102004038816A1 (de) * | 2004-08-02 | 2006-02-23 | Cocreate Software Gmbh & Co. Kg | Verfahren und Computersystem zur lokalen Modifikation einer Ausgangskurve |
| US7734118B2 (en) * | 2004-11-17 | 2010-06-08 | Adobe Systems Incorporated | Automatic image feature embedding |
| US7830373B1 (en) | 2006-01-25 | 2010-11-09 | Bo Gao | System and methods of civil engineering objects model |
| WO2008037819A2 (es) * | 2006-09-29 | 2008-04-03 | Airbus España, S.L. | Método y sistema para diseñar superficies de forma suave para partes de vehiculos |
| RU2354467C2 (ru) * | 2007-04-26 | 2009-05-10 | Открытое акционерное общество "Машиностроительный завод" | Калибровка инструмента для прокатки труб |
| US9586264B2 (en) | 2009-04-28 | 2017-03-07 | Kennametal Inc. | Double-sided cutting insert for drilling tool |
| WO2013040076A1 (en) * | 2011-09-12 | 2013-03-21 | Fred Hutchinson Cancer Research Center | Dynamics and control of state-dependent networks for probing genomic organization |
| CN102968821A (zh) * | 2012-11-27 | 2013-03-13 | 安徽工程大学 | 一种二次曲线趋势外推精确智能延伸方法 |
| US9286703B2 (en) * | 2013-02-28 | 2016-03-15 | Microsoft Technology Licensing, Llc | Redrawing recent curve sections for real-time smoothing |
| US9639992B2 (en) * | 2014-10-31 | 2017-05-02 | IntegrityWare, Inc. | Methods and systems for multilevel editing of subdivided polygonal data |
| DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
| US12272018B2 (en) * | 2022-07-15 | 2025-04-08 | The Boeing Company | Modeling system for 3D virtual model |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4821214A (en) * | 1986-04-17 | 1989-04-11 | Brigham Young University | Computer graphics method for changing the shape of a geometric model using free-form deformation |
| US4999789A (en) * | 1987-02-05 | 1991-03-12 | Hewlett-Packard Co. | Method and apparatus for trimming B-spline descriptions of patches in a high performance three dimensional graphics system |
-
1992
- 1992-01-16 EP EP92100634A patent/EP0551543A1/en not_active Withdrawn
-
1993
- 1993-01-18 JP JP5023247A patent/JPH06124314A/ja active Pending
-
1995
- 1995-05-11 US US08/438,851 patent/US5615319A/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006520504A (ja) * | 2003-03-05 | 2006-09-07 | ユージーエス、コープ | 編集プロセスにおける曲線の形状保持のためのシステムと方法 |
| JP2008173764A (ja) * | 2007-01-18 | 2008-07-31 | Fritz Studer Ag | 可動工具の制御方法、入力装置及び工作機械 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0551543A1 (en) | 1993-07-21 |
| US5615319A (en) | 1997-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06124314A (ja) | コンピュータ支援設計システムおよびそのシステムにおける幾何学的対象を修正する方法 | |
| EP1865467B1 (en) | Image processing system and program | |
| US8253726B1 (en) | Systems and methods for modifying three dimensional geometry using an arbitrary cross-section plane | |
| US7936352B2 (en) | Deformation of a computer-generated model | |
| EP0248919B1 (en) | Method for generating representations of 3-dimensional objects and system performing this method | |
| Yu et al. | HexGen and Hex2Spline: polycube-based hexahedral mesh generation and spline modeling for isogeometric analysis applications in LS-DYNA | |
| US10796497B2 (en) | Distance field coupled fitted deformation lattices for shape modification | |
| CN105718626B (zh) | 由控制点的栅格定义的3d建模对象 | |
| US7969435B1 (en) | Method for modifying any modeled surface as a lofted surface | |
| Wu et al. | ViSizer: A visualization resizing framework | |
| US7057616B2 (en) | Using constrained optimization in curve editing | |
| Anotaipaiboon et al. | Tool path generation for five-axis NC machining using adaptive space-filling curves | |
| US7107193B1 (en) | Defining parameters for a finite elements analysis calculation in a computer-assisted drafting program | |
| US20260051126A1 (en) | Editing three-dimensional models utilizing implicit function handles | |
| Sarfraz et al. | Capturing planar shapes by approximating their outlines | |
| CN113823385B (zh) | 一种修改dicom图像的方法、装置、设备及介质 | |
| Sánchez-Reyes | The symmetric analogue of the polynomial power basis | |
| CN118172505A (zh) | 虚拟仿真巷道三维建模方法、装置、设备、介质和产品 | |
| Grimm et al. | Visual interfaces for solids modeling | |
| Capouellez et al. | Seamless Parametrization in Penner Coordinates | |
| Biermann et al. | Direct free-form deformation of NC programs for surface reconstruction and form-error compensation | |
| Frisch et al. | Deformation of finite element meshes using directly manipulated free-form deformation | |
| Cardoso et al. | On contact modelling in isogeometric analysis | |
| US7151862B2 (en) | Image processing apparatus and method, storage medium, and program | |
| Fayolle et al. | Rounding, filleting and smoothing of implicit surfaces |