(57)【特許請求の範囲】
【請求項１】
パーツを設計するためのコンピュータ実行方法であって、
設計対象としての前記パーツの表面および前記表面上にある基本曲線を提供するステップと、
前記基本曲線を複数の基点のリストにサンプリングするステップと、
垂直測地線の複数の点の格子を決定するステップであって、前記複数の点はそれぞれのレベルに属し、各レベルは前記基本曲線へのそれぞれの測地的距離に対応し、各垂直測地線は前記表面上にあり、それぞれの基点において前記基本曲線から垂直に離れる、ステップと、
前記複数の点の格子を使用することにより、前記表面上にある複数の平行測地線を計算するステップであって、各平行測地線はそれぞれのレベルに対応する、ステップと、
前記パーツの表現を表示するステップと
を含むことを特徴とする方法。
【請求項２】
前記複数の平行測地線を計算するステップは、
各レベルの前記複数の点を補間するステップ、または
各レベルの前記複数の点を適合させるステップ
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
１つまたは複数のレベルを修正するステップをさらに含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
前記複数の平行測地線を計算するステップは、折れ線を使って各レベルの前記複数の点を補間するステップであって、前記折れ線は前記レベルの点列上に形成される線分を含む、ステップを含み、
前記１つまたは複数のレベルを修正するステップは、修正中の前記レベルの少なくとも１つの線分を破棄するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記１つまたは複数のレベルを修正するステップは、
修正中の前記レベルの線分に対応するベクトルを形成するステップであって、各ベクトルは始点および終点を有し、前記形成されたベクトルは、前記始点および前記終点にそれぞれ対応する前記基本曲線の２点により形成される対応する基底ベクトルを有する、ステップと、
前記形成されたベクトルが、前記対応する基底ベクトルと同じ方向に向いているかどうかを評価するステップと、
前記評価するステップの結果に基づいて、列の正規線分および非正規線分を判定するステップであって、非正規線分は、前記対応する基底ベクトルとは異なる方向に向いていると評価されるベクトルに対応する線分である、ステップと、
修正中の前記レベルから前記非正規線分を破棄するステップと
を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記１つまたは複数のレベルを修正するステップは、
少なくとも１つの他のレベルの線分に対応するベクトルを形成するステップであって、
前記形成された前記他のレベルのベクトルは対応する基底ベクトルを有する、ステップと、
前記形成された前記他のレベルのベクトルが、前記対応する基底ベクトルと同じ方向に向いているかどうかを評価するステップと、
前記他のレベルについて評価する前記ステップの結果に基づいて、修正中の前記レベルから正規線分を破棄するステップと
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記１つまたは複数のレベルを修正するステップは、
第１の多角形の分枝と第２の多角形の分枝との交わりを決定するステップであって、前記交わりは、前記第１の多角形の分枝と前記第２の多角形の分枝とをつなぐ最短の線である、ステップと、
前記交わりの後の前記第１の多角形の分枝の全ての前記線分、および、前記交わりの前の前記第２の多角形の分枝の全ての前記線分を破棄するステップと
をさらに含み、
修正中の前記レベルの一連の正規線分である前記第１の多角形の分枝および前記第２の多角形の分枝の各々は、前に破棄した前記レベルの一連の線分により分けられることを特徴とする請求項５または６に記載の方法。
【請求項８】
前記修正するステップは、前記交わり上に位置し、好ましくは前記交わりの中央に位置するリーダー点を修正中の前記レベルに追加するステップをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記基本曲線は鋭い交点を含み、
前記修正するステップは、前記鋭い交点の片側にある前記基本曲線の２つの基点に対応する、前記レベルの２点の位置に応じて、修正中の前記レベルに少なくとも１つの点を追加するステップを含むことを特徴とする請求項３ないし８のいずれかに記載の方法。
【請求項１０】
前記複数の点の格子は、動的に洗練されることを特徴とする請求項１ないし９のいずれかに記載の方法。
【請求項１１】
前記パーツは、複合材パーツであることを特徴とする請求項１ないし１０のいずれかに記載の方法。
【請求項１２】
少なくとも１本の平行測地線は、鋭い交点を含むことを特徴とする請求項１ないし１１のいずれかに記載の方法。
【請求項１３】
設計対象としてのパーツの表現を表示するグラフィカルユーザーインターフェイスと、
プロセッサと
を含み、
前記プロセッサは、
設計対象としての前記パーツの表面および前記表面上にある基本曲線を提供する処理と、
前記基本曲線を複数の基点のリストにサンプリングする処理と、
垂直測地線の複数の点の格子を決定する処理であって、前記複数の点はそれぞれのレベルに属し、各レベルは前記基本曲線へのそれぞれの測地的距離に対応し、各垂直測地線は前記表面上にあり、それぞれの基点において前記基本曲線から垂直に離れる、処理と、
前記複数の点の格子を使用することにより、前記表面上にある複数の平行測地線を計算する処理であって、各平行測地線はそれぞれのレベルに対応する、処理と、
前記パーツの表現を前記グラフィカルユーザーインターフェイスに表示する処理と
を実行するように構成されていることを特徴とするコンピュータ援用設計システム。
【請求項１４】
請求項１ないし１２のいずれかに記載の方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項１５】
請求項１４に記載のコンピュータプログラムが記録されていることを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より詳細にはパーツ（部品）を設計するためのコンピュータ実行方法に関する。
【背景技術】
【０００２】
コンピュータの援用技法は、製品設計を生み出すためのソフトウェアソリューションに関するコンピュータ援用設計、すなわちＣＡＤが含まれることが知られている。同様に、ＣＡＥはコンピュータ援用エンジニアリングの頭字語であり、例えばこのＣＡＥは、将来の製品の物理的な動作をシミュレートするためのソフトウェアソリューションに関する。ＣＡＭはコンピュータ援用製造を表し、典型的には、製造プロセスおよびオペレーションを定義するためのソフトウェアソリューションを含む。
【０００３】
ＣＡＴＩＡの商標の下でダッソーシステムズが提供するものなど、製品を形成するオブジェクト（すなわちパーツ）、または、オブジェクトのアセンブリを設計するためのいくつものシステムおよびプログラムが市場に提供されている。これらのＣＡＤシステムにより、ユーザーは、オブジェクト、または、オブジェクトのアセンブリの複雑な３次元（３Ｄ）モデルを構築して操作することが可能となる。したがって、ＣＡＤシステムは、複数のエッジ(edge)または線、ある場合には面を使用して、モデリングされたオブジェクトの表現を提供する。線またはエッジは様々な方法、例えば非一様有理Ｂスプライン（ＮＵＲＢＳ: non-uniform rational B-spline）で表すことができる。これらのＣＡＤシステムは、大抵は形状の仕様である、モデリングされたオブジェクトとしてのパーツ、またはパーツのアセンブリを管理する。とりわけ、ＣＡＤファイルは仕様を含み、その仕様から形状が生成され、その形状は表現を生成することを可能にする。形状および表現は、単一のＣＡＤファイル、または複数のＣＡＤファイルに記憶することが可能である。ＣＡＤシステムは、モデリングされたオブジェクトを設計者に示すためのグラフィックツールを含み、これらのツールは複雑なオブジェクトを表示するために設けられ、ＣＡＤシステムにおいて１つのオブジェクトを表すファイルの典型的なサイズは、パーツ当たり１メガバイトの範囲内にあり、１つのアセンブリは数千ものパーツを含み得る。ＣＡＤシステムは、電子ファイルに記憶されるオブジェクトのモデルを管理する。
【０００４】
コンピュータ援用技法では、その技法の効率性に関し、グラフィカルユーザーインターフェイス（ＧＵＩ）が重要な役割を果たす。モデリングされたオブジェクトを操作しかつ／または操縦するのに必要な作業のほとんどは、ユーザー（例えば設計者）がＧＵＩ上で行うことができる。特に、ユーザーは製品を形成するモデリングされたオブジェクトを作成し、修正し、削除することができ、さらにモデリングされた複数のオブジェクトがどのように、例えばある製品構造を介して互いに関係するかを把握するために、その製品を考察することもできる。従来、これらの作業は、ＧＵＩの両側に位置する専用のメニューおよびアイコンを通じて行われた。近年、ＣＡＴＩＡなどのＣＡＤシステムは、これらの機能を製品の表現の近くで呼び出すことを可能にしている。設計者はもはや、メニューおよびアイコンに向けてマウスを移動させる必要がない。このように作業はマウスの届く範囲で可能である。さらに、それらの操作はセマンティックな特性を示し、つまり設計者が選択する所与の操作に関し、このＣＡＤシステムは、その設計者が選択する可能性の高い、前に選択された作業に応じた１組の新たな操作を引き続きマウスの近くでその設計者に提案することができる。
【０００５】
製品ライフサイクル管理（ＰＬＭ）ソリューションも知られており、ＰＬＭは、拡大企業の概念にわたっており、製品の市場投入の概念から終了まで製品を開発するために、企業が製品データを共有し、共通のプロセスを適用し、企業知識を活用するのに役立つビジネス戦略に言及している。関係者（企業の各部門、取引先、供給業者、ＯＥＭ(original Equipment manufacture)、および顧客）を含むことで、ＰＬＭにより、このネットワークは、製品およびプロセスを概念化し、設計し、構築し、サポートする単一のエンティティとして機能することが可能となる。
【０００６】
一部のＰＬＭソリューションは、例えばデジタルモックアップ（製品の３Ｄグラフィカルモデル）を作成することにより、製品を設計して開発することを可能にする。このデジタル製品は、適切なアプリケーションを使用して最初に定義し、シミュレートすることが可能である。次に、リーンデジタル製造プロセス(lean digital manufacturing process)が定義され、モデリングされ得る。
【０００７】
（ＣＡＴＩＡ、ＥＮＯＶＩＡ、およびＤＥＬＭＩＡの商標の下で）ダッソーシステムズにより提供されるＰＬＭソリューションは、製品エンジニアリング知識を組織化するエンジニアリングハブ、製造エンジニアリングの知識を管理する製造ハブ、および、企業統合と、エンジニアリングハブと製造ハブの両方へのコネクションとを可能にする企業ハブを提供する。それらが全部一緒になってこのシステムは、製品、プロセス、リソースを結び付けるオープンオブジェクトモデルを届けて、動的な知識ベースの製品作成と、最適化された製品定義、製造準備、生産、およびサービスを推進する決定支援を可能にする。
【０００８】
そのようなＰＬＭソリューションは、製品のリレーショナルデータベースを含む。このデータベースは、１組のテキストデータおよびそのデータ間の関係を含む。データは典型的には、製品に関係する技術データを含み、そのデータは、データの階層に順序付けられ、検索可能に索引が付けられる。これらのデータは多くの場合、モデリングされた製品およびプロセスであるモデリングされたオブジェクトを表す。
【０００９】
製品構成、プロセス知識、およびリソース情報を含むプロダクトライフサイクル情報は典型的には、提携的な方法で編集されることが意図される。
【００１０】
特に、パーツの設計は、多くの数学的展開を伴ってきた。例えば、表面パーツ、すなわち表面を表すパーツ、または、そうしたパーツの表面を設計するために、測地線(geodesic curve)および平行測地線を使用することが従来技術によりすでに行われている。平行測地線の計算に関する問題を提示する前に、従来技術から知られている一部の定義および展開を以下に示す。
【００１１】
平滑面Ｓ（ｕ，ｖ）、（ｕ，ｖ）∈［ａ，ｂ］×［ｃ，ｄ］が与えられ、この表面上に２点Ｐ0＝Ｓ（ｕ0，ｖ0）およびＰ1＝Ｓ（ｕ1，ｖ1）が与えられると、これらの２点を結ぶ表面Ｓ上の曲線は、区間［ｔ0，ｔ1］から［ａ，ｂ］×［ｃ，ｄ］へのｐ曲線
【００１２】
【数１】
0005890105.tif 000002
【００１３】
により定義することが可能となり、そのため、（ｕ（ｔ0），ｖ（ｔ0））＝（ｕ0，ｖ0）、および（ｕ（ｔ1），ｖ（ｔ1））＝（ｕ1，ｖ1）となる。このｐ曲線に関連する表面Ｓ上の３Ｄ曲線は、Ｃ（ｔ）＝Ｓ（ｕ（ｔ），ｖ（ｔ））により定義された、区間［ｔ0，ｔ1］から３Ｄ空間Ｒ3への曲線である。定義により、点Ｐ0と点Ｐ1との間の測地的距離は、この２点を結ぶ表面Ｓ上の最も短い曲線の長さである。定義により、点Ｐ0と点Ｐ1とを結ぶ測地線は、この最も短い曲線Ｃである。作図により、Ｃ（ｔ0）＝Ｐ0、およびＣ（ｔ1）＝Ｐ1となる。曲線Ｃの長さは、下記の積分により定義される。
【００１４】
【数２】
0005890105.tif 000003
【００１５】
ここで、Ｃ’（ｔ）は曲線Ｃのタンジェントベクトル、｜｜  ｜｜はベクトルのユークリッドノルムを表す。タンジェントベクトルＣ’（ｔ）およびそれにより曲線Ｃの長さは、下記に計算されるように、その偏導関数を通じて表面と密接に関係する。
【００１６】
【数３】
0005890105.tif 000004
【００１７】
記号Ｓuは、偏導関数
【００１８】
【数４】
0005890105.tif 000005
【００１９】
の簡易な表記である。別の式は、曲線の長さ
【００２０】
【数５】
0005890105.tif 000006
【００２１】
の代わりに、曲線エネルギー
【００２２】
【数６】
0005890105.tif 000007
【００２３】
を使用することに留意すべきである。これらの２つの式が、同じ測地線を提供することを証明することができる。
【００２４】
例えば図１を参照して、球面Ｓ上の２点Ｐ0およびＰ1を与え、この２点を結ぶ測地線Ｃは、この２点を結ぶ円の弧をもたらしていて、上述の球面と、この２点および球の中心を通る面との交わりである。
【００２５】
この定義は微分幾何学の出発点である。「変分法」理論のおかげで、測地線の「最小長さ」または「最小エネルギー」の定義は、その測地線を特徴づける二階微分方程式を導く。最小化を行った基準を書き直すと、
【００２６】
【数７】
0005890105.tif 000008
【００２７】
ただし、Ｅ（ｕ，ｖ，ｕ’，ｖ’）＝｜｜Ｓu（ｕ，ｖ）ｕ’＋Ｓv（ｕ，ｖ）ｖ’｜｜2、ｕ，ｖは未知の関数である。変分法ではまた、最小化問題の解が、下記のオイラー−ラグランジュの微分方程式の解であることを示している。
【００２８】
【数８】
0005890105.tif 000009
【００２９】
簡易な計算では、測地線の微分方程式が下記の形状
ｕ”＝ｐ（ｕ，ｖ，ｕ’，ｖ’）
ｖ”＝ｑ（ｕ，ｖ，ｕ’，ｖ’）
を有することを示している。
【００３０】
ここで、右項ｐ（ｕ，ｖ，ｕ’，ｖ’）およびｑ（ｕ，ｖ，ｕ’，ｖ’）は、表面Ｓの一次偏導関数および二次偏導関数を伴う。ｐ（ｕ，ｖ，ｕ’，ｖ’）およびｑ（ｕ，ｖ，ｕ’，ｖ’）の明示的な式は、この説明を理解する必要のない従来技術の古典的な結果である。この微分方程式は、２つの終点よりもむしろ、（ｕ（ｔ0），ｖ（ｔ0））＝（ｕ0，ｖ0）および（ｕ’（ｔ0），ｖ’（ｔ0））＝（ｕ’0，ｖ’0）を設定することにより、１つの点および１つの方向により測地線を定義することを可能にする。より包括的な概説について、この分野において古典的な文献は、M.F. do Carmoによって記述された教科書であり、「Differential geometry of curves and surfaces」、Prentice Hallという題名がつけられている。
【００３１】
つまり、ＣＡＤシステムにおいて測地線を作成するのに微分方程式の数値積分が必要になるということである。この微分方程式の係数は、計算される測地線上の表面の一次偏導関数および二次偏導関数を伴う。
【００３２】
平行測地線を計算するのは、より一層複雑となる。表面上の基本曲線Ｂ（ｔ）＝Ｓ（ｕ（ｔ），ｖ（ｔ））（必ず測地線にならない、ユーザーにより定義された曲線）を与えて、距離値ｄが与えられると、この基本曲線の平行測地線は、測地的距離の意味において基本曲線から距離ｄにある表面上の点の組である。言い換えれば、平行測地線は、測地的距離の意味において基本曲線と平行な表面の曲線である。図２〜図４を参照して、平行測地線を計算するための周知のアルゴリズムを以下に示す。
【００３３】
−Ｂiと表す、基本曲線Ｃ0上のｎ個の基点Ｂ（ｔi）を評価する（図２にこのステップを示す）。
【００３４】
−それぞれの基点Ｂiごとに、基本曲線の接線Ｂ’（ｔi）に対して垂直な方向Ｄiを計算する（図３に、点Ｂ1および点Ｂ2に対応する２つの方向Ｄiを矢印で示す）。
【００３５】
−方向Ｄiに点Ｂiにおいて始まる、長さｄの測地線を計算する。この曲線ＳＰＣiは、点Ｂiにおける測地垂直線と呼ばれる。この測地垂直線の終点Ｐiに注目されたい（図３に、基本曲線の点Ｂiをそれぞれの点Ｐiにつなぐ曲線として、測地垂直線ＳＰＣiを示す）。
【００３６】
−全ての点Ｐiは、平行測地線に属する。形状の結果を設計者に提供するために、図４に示すように、これらの点により平行測地線としての滑らかな曲線Ｃ1を作成する。
【００３７】
ＣＡＴＩＡ  Ｖ５システムは、先のアルゴリズムを、「Generative Shape Design」製品の「平行曲線作成」機能に実装する。設計者は、入力表面、その入力表面上の入力曲線を選択し、オフセット距離の値を設定し、（ダイアログボックス内の「ユークリッド」オプションとは対照的に）「測地」オプションを選択する。ＣＡＴＩＡシステムは、その入力表面上の入力曲線の測地平行線を生成する。
【００３８】
Vistagy Inc.のＦｉｂｅｒＳＩＭ（登録商標）ソフトウェア製品は、複合材を設計するための非常に人気のある専門のＣＡＤツールである。このソフトウェアも同様に、平行測地線を計算する。その計算は、ダッソーシステムズのＣＡＡ（ＣＡＴＩＡアプリケーションアーキテクチャ）プラットフォームに基づく。これまでのところ、この製品またはこの企業に関する特許または公報は公表されていないようである。
【００３９】
上記に挙げた従来技術は、パーツを設計するために単一の平行測地線を計算する方法を提供する。
【００４０】
パサデナにあるカルフォルニア工科大学のL. YingおよびE.J. Candesによる論文「Fast geodesic computation with the phase flow method」および「The phase flow method」は、測地線網を大量に計算する方法を提供する。このアルゴリズムは、複数の点の格子について微分方程式のベクトル場を評価し、近くの値を補間することにより格子から外れたベクトル場の値を補間するようになっている。用語に関し、「ベクトル場」は微分方程式の右辺である。しかし、これらの論文はパーツの設計については言及していない。これらの論文が開示するアルゴリズムは、所与の点から始まる測地線網を計算する。格子に属さない点についてベクトル場を評価するとき、このアルゴリズムが近似値しか提供しないことは指摘しておく。
【００４１】
CoCreate Software GmbH社のH. Kellermannらによる米国特許出願「process and computer system for generating a multidimensional offset surface」は、基本曲線からオフセット曲線を計算するための解決策を教示する。この著者らによれば、基本曲線が小さい振幅を特徴づけるとき、結果として得られるオフセット曲線はどの自己交差も特徴としないが、「小さい」とは、局所的な曲率半径がオフセット距離よりも短いことを意味する。発行された特許出願の段落００１３において言及されているように、その原理は、滑らかで、かつ平らな曲線により基本曲線を近似し、こうしてその基本曲線から微小な振幅をなくすようにしている。この近似の法線を決定するために、その位置および進路が開始する曲線の位置および進路に近い、近似曲線が生成される。この近似が開始曲線を平滑化することにより得られるのは利点である。この（近似の、滑らかで、かつ平らな）基本曲線から、簡単なプロセスを通じて最終的なオフセット曲線が計算され、特異ではないオフセット曲線を得る。しかしながら、この特許出願でのオフセット曲線は測地平行線ではない。
【発明の概要】
【発明が解決しようとする課題】
【００４２】
設計者に新たな設計オプションを提供することによりパーツの設計、とりわけ表面パーツの設計を改善する必要性がある。
【課題を解決するための手段】
【００４３】
この目的は、パーツを設計するためのコンピュータ実行方法であって、表面、およびその表面上にある基本曲線を提供するステップと、その基本曲線を複数の基点のリストにサンプリングするステップと、垂直測地線の複数の点の格子を決定するステップであって、それらの複数の点はそれぞれのレベルに属し、各レベルは基本曲線へのそれぞれの測地的距離に対応し、各垂直測地線は表面上にあり、それぞれの基点において基本曲線から垂直に離れる、ステップと、その複数の点の格子を使用することにより表面上にある複数の平行測地線を計算するステップであって、各平行測地線はそれぞれのレベルに対応する、ステップと、パーツの表現を表示するステップとを含む、方法で達成される。
【００４４】
好ましい実施形態は、下記の特徴のうちの１つまたは複数を含むことができる。
【００４５】
−複数の平行測地線を計算するステップは、各レベルの複数の点を補間するステップ、または、各レベルの複数の点を適合させるステップを含むこと、
【００４６】
−この方法はさらに、１つまたは複数のレベルを修正するステップを含むこと、
【００４７】
−複数の平行測地線を計算するステップは、折れ線で各レベルの複数の点を補間するステップであって、その折れ線はそのレベルの点の列上に形成される線分を含む、ステップを含み、１つまたは複数のレベルを修正するステップは、修正中のレベルの少なくとも１つの線分を破棄するステップを含むこと、
【００４８】
−１つまたは複数のレベルを修正するステップは、修正中のレベルの線分に対応するベクトルを形成するステップであって、各ベクトルは始点および終点を有し、形成されたベクトルは、その始点および終点にそれぞれ対応する基本曲線の２点により形成される対応する基底ベクトルを有する、ステップと、その形成されたベクトルが、対応する基底ベクトルと同じ方向に向いているかどうかを評価するステップと、その評価するステップの結果に基づいて、その列の正規線分および非正規線分を判定するステップであって、非正規線分は、対応する基底ベクトルとは異なる方向に向いていると評価されるベクトルに対応する線分である、ステップと、修正中のレベルから非正規線分を破棄するステップとを含むこと、
【００４９】
−１つまたは複数のレベルを修正するステップはさらに、少なくとも１つの他のレベルの線分に対応するベクトルを形成するステップであって、その形成された他のレベルのベクトルは対応する基底ベクトルを有する、ステップと、その形成された他のレベルのベクトルが、対応する基底ベクトルと同じ方向に向いているかどうかを評価するステップと、他のレベルについて評価するステップの結果に基づいて、修正中のレベルから正規線分を破棄するステップとを含むこと、
【００５０】
−１つまたは複数のレベルを修正するステップはさらに、第１の多角形の分枝と第２の多角形の分枝との交わりを決定するステップであって、その交わりは、第１の多角形の分枝と第２の多角形の分枝とをつなぐ最短の線である、ステップと、その交わりの後の第１の多角形の分枝の全ての線分、および、その交わりの前の第２の多角形の分枝の全ての線分を破棄するステップとを含み、各々が修正中のレベルの一連の正規線分である第１の多角形の分枝および第２の多角形の分枝は、前に破棄したそのレベルの一連の線分により分けられ、
【００５１】
−その修正するステップはさらに、その交わり上に位置し、好ましくはその交わりの中央に位置するリーダー点(leader point)を修正中のレベルに追加するステップを含むこと、
【００５２】
−基本曲線は鋭い交点を含み、修正するステップは、その鋭い交点の一方の側にある基本曲線の２つの基点に対応する、修正中のレベルの２点の位置に応じて、その修正中のレベルに少なくとも１つの点を追加するステップを含むこと、
【００５３】
−その複数の点の格子は動的に洗練されること、
【００５４】
−そのパーツは複合材パーツであること、および
【００５５】
−少なくとも１本の平行測地線は、鋭い交点を含むこと。
【００５６】
また、この目的は、表面、およびその表面上にある基本曲線のパラメータ化を記憶するのに適したデータベースと、上記の方法でパーツを設計するのに適したグラフィカルユーザーインターフェイスとを備えるコンピュータ援用設計システムで達成される。
【００５７】
この目的はまた、コンピュータが実行するための命令を含むコンピュータプログラムであって、その命令は、表面、およびその表面上にある基本曲線のパラメータ化を記憶するのに適したデータベースを備えるコンピュータ援用設計システムに上記の方法を実行させるための手段を含む、コンピュータプログラムで達成される。
【００５８】
この目的はまた、上記のコンピュータプログラム上に記録されているコンピュータ可読記憶媒体で達成される。
【００５９】
以下、列挙した添付図面を参照して、限定的ではない例として与えられる本発明の実施形態についての説明から、本発明のさらなる特徴および利点があらわれる。
【図面の簡単な説明】
【００６０】
【図１】球面上の測地線を示す図である。
【図２】単一の平行測地線を計算するための従来技術の方法を示す図である。
【図３】単一の平行測地線を計算するための従来技術の方法を示す図である。
【図４】単一の平行測地線を計算するための従来技術の方法を示す図である。
【図５】本発明の方法の流れ図である。
【図６】複数の平行測地線を計算するために、図２〜４の従来技術の方法を適応させることの一例を示す図である。
【図７】複数の平行測地線を計算するために、図２〜４の従来技術の方法を適応させることの一例を示す図である。
【図８】複数の平行測地線を計算するために、図２〜４の従来技術の方法を適応させることの一例を示す図である。
【図９】複数の平行測地線を計算するために、図２〜４の従来技術の方法を適応させることの一例を示す図である。
【図１０】複数の平行測地線を計算するために、図２〜４の従来技術の方法を適応させることの一例を示す図である。
【図１１】複数の平行測地線を計算するために、図２〜４の従来技術の方法を適応させることの一例を示す図である。
【図１２】この方法を実行するのに適したＧＵＩの一例を示す図である。
【図１３】一つのタイプの特異点の例を示す図である。
【図１４】一つのタイプの特異点の例を示す図である。
【図１５】一つのタイプの特異点の例を示す図である。
【図１６】一つのタイプの特異点の例を示す図である。
【図１７】一つのタイプの特異点の例を示す図である。
【図１８】一つのタイプの特異点の例を示す図である。
【図１９】一つのタイプの特異点の例を示す図である。
【図２０】一つのタイプの特異点の例を示す図である。
【図２１】一つのタイプの特異点の例を示す図である。
【図２２】一つのタイプの特異点の例を示す図である。
【図２３】一つのタイプの特異点の例を示す図である。
【図２４】一つのタイプの特異点の例を示す図である。
【図２５】一つのタイプの特異点の例を示す図である。
【図２６】疑わしい線分を有するこの方法の例を示す図である。
【図２７】疑わしい線分を有するこの方法の例を示す図である。
【図２８】疑わしい線分を有するこの方法の例を示す図である。
【図２９】疑わしい線分を有するこの方法の例を示す図である。
【図３０】疑わしい線分を有する、この方法の例を示す図である。
【図３１】疑わしい線分を有するこの方法の例を示す図である。
【図３２】分枝をつなぐ一例を示す図である。
【図３３】分枝をつなぐ一例を示す図である。
【図３４】鋭い交点を有する基本曲線の一例を示す図である。
【図３５】鋭い交点を有する基本曲線の一例を示す図である。
【図３６】鋭い交点を有する基本曲線の一例を示す図である。
【図３７】格子を動的に洗練させる一例を示す図である。
【図３８】格子を動的に洗練させる一例を示す図である。
【図３９】格子を動的に洗練させる一例を示す図である。
【図４０】格子を動的に洗練させる一例を示す図である。
【図４１】格子を動的に洗練させる一例を示す図である。
【図４２】格子を動的に洗練させる一例を示す図である。
【図４３】格子を動的に洗練させる一例を示す図である。
【図４４】この方法の一例を示す図である。
【図４５】この方法の一例を示す図である。
【図４６】この方法の一例を示す図である。
【図４７】この方法の一例を示す図である。
【図４８】この方法を実行するのに適したユーザーワークステーションの一例を示す図である。
【発明を実施するための形態】
【００６１】
本発明によるコンピュータ実行方法は、パーツを設計することを目的とする。この方法は、表面、およびその表面上にある基本曲線を提供するステップを含む。この方法はまた、その基本曲線を複数の基点のリストにサンプリングするステップを含む。この方法はまた、垂直測地線の複数の点の格子を決定するステップを含む。その格子の複数の点は、それぞれのレベルにそれぞれ属する。格子の各レベルは、基本曲線へのそれぞれの測地的距離に対応する。各垂直測地線は表面上にあり、それぞれの基点において基本曲線から垂直に離れる。次に、この方法は、その複数の点の格子を使用することにより表面上にある複数の平行測地線を計算するステップを含む。各平行測地線はそれぞれのレベルに対応する。この方法により、そのパーツの表現が表示される。こうした方法は、パーツを設計するための新たな方法を提供する。
【００６２】
本発明による方法は、パーツを設計することを目的とする。「パーツ」という用語は概して、工業製品の機械コンポーネントを指す。ただし、本発明の範囲内で多くの改変形態が可能である。例えば、この方法は、パーツのアセンブリ、ことによると工業製品全体（例えば飛行機の翼）を設計するために使用することもできる。さらに、本発明は機械パーツを設計することを専ら意図するものではなく、コンピュータ設計が必要などの分野にも適用可能である。例えば、本発明はビデオゲームの分野に適用可能である。
【００６３】
次に、図５の流れ図を参照してこの方法を詳述する。
【００６４】
この方法は、表面、およびその表面上にある基本曲線を提供するステップＳ１を含む。表面を提供するステップは典型的には、表面の識別、および／または、パラメータ化などの形状の仕様を提供することを含む。同様に、基本曲線を提供するステップは典型的には、曲線の識別、および／または、パラメータ化などの形状の仕様を提供することを含む。そのような識別および仕様は、従来技術から知られている任意のものとすることができる。
【００６５】
例えば、この表面は表面Ｓとして識別することができ、パラメータ化Ｓ（ｕ，ｖ）、（ｕ，ｖ）∈［ａ，ｂ］×［ｃ，ｄ］により規定することができ、ここではａ、ｂ、ｃ、およびｄは実数である。ただし、他の仕様が代替的にまたは追加的に提供されてもよく、他の仕様はこの方法の範囲内に含まれる。他の仕様は、例えば「後続の点を補間する面」もしくは「後続の円を補間する球」などの仕様、または、その解が表面である最適化問題などの仕様を含む。
【００６６】
この曲線は、基本曲線Ｃ0として識別することができる。この曲線は表面上にある。言い換えれば、ある点がこの曲線に属する場合、その点は表面にも属する。こうして基本曲線は、区間［ｔ0，ｔ1］から［ａ，ｂ］×［ｃ，ｄ］へのｐ曲線
【００６７】
【数９】
0005890105.tif 000010
【００６８】
により都合よく規定することができる。表面Ｓ上の基本曲線は、このｐ曲線に関連するＣ（ｔ）＝Ｓ（ｕ（ｔ），ｖ（ｔ））により定義される区間［ｔ0，ｔ1］から３Ｄ空間Ｒ3への曲線である。ただし、代替的にまたは追加的に他の仕様を提供してもよく、他の仕様もこの方法の範囲内に含まれる。例えば、
【００６９】
【数１０】
0005890105.tif 000011
【００７０】
など、３Ｄ空間Ｒ3における直接のパラメータ化により基本曲線を規定することもできる。またこの方法はさらに、表面上に本来はなかった曲線をその表面上に投影し、それによりその表面上に位置する基本曲線を与えるステップを含むことができる。その場合、基本曲線は、初期曲線および投影の方向により規定することができる。大抵の場合、この基本曲線は表面上にある任意の曲線である。この基本曲線は、具体的には表面の測地線とすることができる。
【００７１】
表面、およびその表面上にある基本曲線を提供するステップＳ１は、半自動的にまたは手動で実行することができる。この提供するステップＳ１は、設計者を関与させる場合がある。典型的には、および従来技術から知られているように、パーツを設計するとき、設計者はＣＡＤシステムに形状の仕様を提供することを要求されることが多い。そのような仕様は、表面、およびその表面上にある基本曲線を定義するためのパラメータを含み得る。あるいは、設計者は、ＣＡＤシステムに既に存在するオブジェクトの領域のみを選択することができる。そのＣＡＤシステムは、その設計者がパラメータを意識することなく、その領域から表面および／または曲線のパラメータ化を計算することができる。あるいは、設計者は、ＣＡＤシステムにより自身に提案される既定のリストから表面および／または曲線を選択することができる。この表面および／または基本曲線はまた、提携する設計者により提供するようにしてもよい。上記の方法は組み合わせて使用することができる。例えば、表面は、システムにおけるオブジェクトの領域を選択することにより提供することができ、基本曲線は、その表面上にｐ曲線を規定することにより提供することができる。
【００７２】
上記に詳述した多くの代替から理解できるように、この方法を実行するシステムが、この方法の後続のステップを実行するための表面および基本曲線についての十分な情報を有する限り、表面およびその表面上にある基本曲線を提供するステップＳ１は多くの代替を包含する。
【００７３】
この方法はまた、その基本曲線を複数の基点のリストにサンプリングするステップＳ２を含む。基本曲線を複数の基点のリストにサンプリングするステップは、その曲線の複数の点を作成し、それらの点の位置を決定することにある。この位置は、座標、もしくは、曲線のパラメータの値、または、この方法の後続のステップで必要とされる計算を行うための任意の都合のよい手段により決定することができる。この曲線は表面上にあるので、これらの基点も表面上にある。このサンプリングするステップは、自動的にもしくは半自動的に、または手動でさえ実行することができる。事実、このサンプリングするステップは、連続する２つの点の間の距離を定義する刻み幅に応じて実行することができる。この刻み幅は、例えば、曲線の長さ、および／または、計算しようとする平行測地線の数などの多様な基準に従って、コンピュータにより自動的に決定することができる。あるいは、この刻み幅は、手動で、または部分的に手動で決定することもできる。代替的にまたは付加的に、複数の点は設計者により手動で提供することができる。一例では、このサンプリングするステップは、基本曲線の局所的な曲率半径の値に従って実行される。曲率半径がより小さい場合、より多くの点が作成される。より多くの点を作成することにより、隣接する垂直測地線が基本曲線から離れるにつれて互いにますます離れるようになる場合に、容易に予期することが可能となる。事実、その場合には、あるレベル内の複数の点の間の距離が大きすぎ、満足のいく平行測地線を導かない。不要な計算を回避するため、このサンプリングするステップは、基本曲線から離れ、平行測地線に影響を及ぼす可能性のある表面の形を考慮しない。
【００７４】
この方法はまた、垂直測地線の複数の点の格子を決定するステップＳ３を含む。したがって、その格子の複数の点は垂直測地線に属する。各垂直測地線は表面上にあり、それぞれの基点において基本曲線から垂直に離れる。従来技術から知られており、かつ図３に関して上述したように、それぞれの基点において基本曲線から離れる垂直測地線は、基本曲線に対して垂直な、この表面の測地線である。平行測地線は一般的に、基本曲線の片側で計算するべきである。この場合、全ての垂直測地線は基本曲線からその片側の方に向かって離れ得る。この片側で計算することにより、計算を節約することが可能になる。平行測地線を基本曲線の両側で計算しようとする場合、垂直測地線は同様に両側に離れ得る。
【００７５】
この垂直測地線は、従来技術に従って生成することができる。典型的には、例えば基本曲線のパラメータ化を伴う微分方程式を解くことにより、または、基本曲線において、例えば基点の一方側にある他の２点に応じて基本曲線の方向を近似することにより、基本曲線に対して垂直な法線方向がそれぞれの基点において得られる。次いで、従来技術に関して説明した「最小長」または「最小エネルギー」の定義から導かれる微分方程式を積分することにより、その基点から離れる垂直測地線が得られる。この解決策は全ての場合に当てはまり、したがって実施するのが最も簡単である。垂直測地線はまた、例えば知られている形状の結果を伴う、他の手段により生成することができる。例えば、表面が球状の場合、従来技術に関して上述したように、測地線は、その表面と球の中心を通る面との交わりにより生成される。その場合、リソースを節約することができる。
【００７６】
垂直測地線の近似は、複数の基点の少なくとも一部について生成することができる。パーツの設計は、必ずしも正確な測地平行線を必要とするとは限らない。正確な測地平行線が必要でない場合、垂直測地線の近似を生成することは、効率を著しく損なうことなくリソースを節約できるようにする。複数の点の格子を得ることができる限り、必ずしも実際の垂直測地線を生成するわけではない。具体的には、近似を使用する場合、垂直測地線は生成しない。
【００７７】
垂直測地線を実際に生成する場合、それらの生成は独立しているので、生成を並列処理することができる。並列処理により、平行測地線をより高速に計算することが可能となる。同様に、垂直測地線を生成しない場合にも並列処理を使用することができる。
【００７８】
格子の複数の点は、それぞれのレベルにそれぞれ属する。言い換えれば、この格子は、複数の点を含む各レベルを含む。定義によれば、測地垂直線は表面上にあるので、各レベルの複数の点はその表面上にある。各レベル内の点の数は、必ずしも同じではない。しかし、この方法の実施は一般的に、各レベル内に同一数の点をもたらす。これにより、平行測地線の計算がシステム化し、それにより一様な結果を導くことが可能となる。
【００７９】
格子の各レベルは、基本曲線へのそれぞれの測地的距離に対応する。典型的には、設計者は、平行測地線を計算するための要件を使用中のシステムに提供することができる。例えば、設計者は、自らが望む平行測地線の数、および／または、それぞれの平行測地線間の距離の刻み幅を提供することができる。この刻み幅は可変とすることができ、例えば基本曲線からの距離とともに増加する。あるいは、設計者は、計算する必要がある平行測地線ごとに、基本曲線からのそれぞれの距離を一つずつ提供することができる。あるいは、例えばデフォルト値が使用される場合、上記のパラメータの少なくとも一部分を自動的に決定することができる。いずれにせよ、それぞれの平行測地線は、基本曲線から一定の測地的距離に位置することになる。格子の各レベルは基本曲線へのそれぞれの距離に対応し、そのため、各レベルは、計算しようとするそれぞれの平行測地線に帰属する。ただし、後で説明するように、これは格子の複数の点が基本曲線へのその正確な測地的距離にあることを意味するものではない。
【００８０】
次に、この方法は、その複数の点の格子を使用することにより、表面上にある複数の平行測地線を計算するステップＳ４を含む。「使用する」という用語により、複数の平行測地線は、複数の点の格子に従って、すなわち格子の複数の点の位置に基づいて計算されることを意味する。上記に述べたように、各平行測地線はそれぞれのレベルに対応し、したがって基本曲線へのそれぞれの測地的距離に対応する。計算される平行測地線は、基本曲線とは異なる曲線である。複数の平行測地線を計算するために、複数の点の格子をどのように使用するのかについては、様々な例により後で詳述する。
【００８１】
この方法はまた、パーツの表現を表示するステップＳ５を含む。この表現は、好ましくは３次元である。事実、パーツは３Ｄモデリングすることができ、したがって３Ｄ表現は表示することができる。３Ｄ表現により、あらゆる角度からパーツを見ることが可能となる。例えば、そのパーツは自らの軸のいずれかを中心に、または画面内の任意の軸を中心に処理し、回転させることができる。軸を中心に処理／回転させることは、３Ｄモデリングされていない２Ｄ図像をとりわけ除外する。ただし、２次元表示を代わりに行うこともできる。
【００８２】
図５に、他の全てのステップの後に、この表示するステップＳ５を示す。しかし、この表示するステップＳ５を他のステップの後に示すことは、パーツの表現がこの方法の他のステップの後に表示されることを必ずしも意味しない。事実、パーツの表現は、この方法の他のステップを実行しながら表示し、その結果更新することができる。このことは、設計者が各ステップの結果を見ることを可能にする。あるいは、この表示するステップは、設計者からの要求があり次第実行することができる。
【００８３】
図２〜図４に関して詳述したように、単一の平行測地線を計算するための解決策は従来技術に存在する。測地線網またはオフセット曲線を計算するための解決策も存在する。一方、この方法は複数の測地平行線を計算することを提案する。したがって、この方法は、パーツを設計するための新たな方法を提供する。
【００８４】
具体的には、複数の測地平行線を計算することは、複合材パーツを設計するときに有用であることが分かる。複合材パーツは、基本的には、一連の層で表面が整えられる表面パーツ（例えば飛行機の尾部、翼、胴体、船殻、一部の自動車部品）である。それぞれの層は、表面パーツの一部分を覆う複合材料のリボンである。複合繊維の層は、結果として得られるパーツの方向上の構造的剛性および強度を高めるような方法で慎重に方向づけられる。
【００８５】
複合材の設計の技術は、剛性特性および強度特性を得るために、層の積層順序を定義することである。したがって、この層の積層順序を設計することは、複合材パーツを形成する様々な積層物層の境界の、基本面上の投影を表す、基本面上の平行測地線を都合よく大量に使用することができる。その結果として生じる形は、その上で全ての鋭い境界が支持面に関して平行になるステップ形状である。したがって、とりわけ複数の平行測地線を計算する設計オプションを追加し、それにより複合材パーツのより優れた設計を可能にすることにより、この方法はパーツ設計の技術を改善する。
【００８６】
同じ基本曲線に対して複数の平行測地線を計算するための、従来技術の１つの修正形態は、図２〜図４に関して記載したプロセスを必要に応じて何度でも繰り返すことであり得る。次々と各平行測地線を計算するために従来技術のアルゴリズムを適用することは、以下に詳述する効率の問題を提示する。以下に説明するように、これらの問題は本発明が提案する方法により解決される。
【００８７】
最初の問題は、作成および更新の性能問題である。古典的な履歴ベースのＣＡＤシステムは、各基本曲線と、その基本曲線の全ての平行測地線との間の依存関係を保存する。したがって、設計者が、基本曲線の形、距離値、または、基本面などの入力パラメータを変更するとき、このシステムは全ての平行測地線を個別に再計算することにより形状を更新する。多くの平行測地線を計算する場合、計算に数時間かかることがあるので、この計算時間は対話型システムに適合しない。ワンショットの中に、対話型システムに適合しない計算時間を必要とする数十本の平行測地線が生成されるので、作成時間も極めて重要である。本発明の方法は、平行測地線が専ら複数の点の格子に基づいて計算されるのでこの問題を解決する。この複数の点の格子は、システムが記憶するのに軽量であり、この複数の点の格子を使用して平行測地線を同時に生成することができる。
【００８８】
本発明が解決する第２の問題は、ロバスト性対性能を考慮することに関係する。従来技術のアルゴリズムの反復を用いて複数の平行測地線を計算することは、初期基本曲線を毎回再利用すること対、次の平行曲線の基本曲線として前の平行曲線を再利用することの問題を提起する。
【００８９】
初期基本曲線からｍ本の測地平行線を計算することにある解決策は、例えば図６のアルゴリズムにより実施することができる。前の曲線を再利用することにある解決策は、例えば図７のアルゴリズムにより実施することができる。これら２つの手法は理論的な観点から等価であるにもかかわらず、ソフトウェア実装は等価ではない。
【００９０】
図８および図９に示すように、初期基本曲線を再利用する場合、アルゴリズムが測地垂直線の重複部分を計算する。図８および図９の例は、図６の種類のアルゴリズムを使い、基本曲線Ｃ0から２本の平行測地線をどのように計算するのかを示している。図８は、第１の平行測地線Ｃ1を示しているのに対し、右端の部分は第２の平行測地線Ｃ2および点線で第１の平行測地線Ｃ1を示している。第１の平行Ｃ1を計算するために生成される垂直測地線ＳＰＣ１i、および第２の平行Ｃ2を計算するために生成される垂直測地線ＳＰＣ２iも示している。
【００９１】
図８の手法はロバストだが、同じ計算を無駄に何度も行うので遅い。実際、図８から見てとることができるように、垂直測地線ＳＰＣ２iの丸で囲った部分は、垂直測地線ＳＰＣ１iを計算したときに既に計算した部分である。概して、測地平行線Ｃi番号ｉは、長さｉｄのｎ本の垂直曲線の線分を必要とし、ただし、ｄは、各平行曲線を分ける距離値である。これは、垂直曲線の長さの累計ｎｉｄを表す。次に、ｍを、計算する測地平行線の数であるとする。計算された垂直曲線の全長は（１＋２＋…＋ｍ）ｎｄ、すなわち
【００９２】
【数１１】
0005890105.tif 000012
【００９３】
である。それぞれの垂直測地線の計算は、計算されている曲線の長さに依拠する複雑さを有する。したがって、図８の手法を使用することは、深刻な速度の問題を提起する。
【００９４】
本発明の方法は、複数の点の格子を決定した後で初めて平行測地線を計算するので、この速度の問題を解決する。実際、１つのステップで複数の点の格子を決定するＳ３のために、垂直測地線は最高１回しか生成することができない。典型的な複合材の設計は、表される繊維の数に対応する千本から２千本の曲線を伴う。これらの曲線は、１０本から５０本の平行測地線の束単位で配置される。上記から分かるように、複合材の設計および製造準備の核となる形状上の特徴は、平行測地線を計算することである。事実、各束は基本曲線に対する数十本の平行測地線を含み、結果として生じる千本から２千本の曲線をもたらす、数十束もの数の平行測地線を計算する必要があり得る。したがって、複数の平行測地線を計算する効率は、複合材パーツを設計するときに特に有用である。
【００９５】
前の平行曲線を基本曲線として再利用することは、垂直曲線の新たな部分しか計算しないのでこの現象も回避する。都合の悪いことにこの方法は、不必要な振幅または鋭くとがった先など、以前の曲線の不完全さを増長する。したがって、そのような方法は、図６、図８および図９に示した方法よりも速いが、その質は不確実である。図１０に示す、以前の曲線を再利用することのもう１つの欠点は、表面の内部境界曲線１０１を交差するとき、交点が不自然に急増することである。基本曲線Ｃ0は、内部境界曲線１０１と交差しない。第１の平行曲線Ｃ1は、境界曲線１０１と交差し、そのため交点１０２が作成され、第１の平行曲線Ｃ1を２つの連続する弧に分ける。したがって、第２の平行曲線Ｃ2を計算するために、第１の平行曲線Ｃ1の左端の弧から平行な左端の弧を、かつ第１の平行曲線Ｃ1の右端の弧から平行な右端の弧を分けて計算する必要がある。この平行な左端の弧は、境界曲線１０１と交差しない。この平行な右端の弧は境界曲線１０１と交差し、そのため第２の交点１０４が作成され、３つの連続する弧を含む第２の平行曲線Ｃ2をもたらす。第２の平行な右端の弧は、内部境界曲線とまたもや交差し、その後も同様である。したがって、こうした方法は、図１０に点線の丸で囲ういくつもの余計な交点１０６を作成する。
【００９６】
図１１は、図１０の余計な交点を含まない、最小数の交点を特徴とする正しい結果を示している。一般的に、ｋが、内部境界曲線と交差する平行曲線の数であることに留意し、図１０の手法により作成される余計な交点の合計数は、
【００９７】
【数１２】
0005890105.tif 000013
【００９８】
となる。交点の最小数ｋと比べると、これはｏ（ｋ2）個の余計な交点が作成されることを意味する。一方の平行曲線にならって他方の平行曲線を計算しないので、本発明の方法はこの急増することおよび不完全さを増幅することだけでなく、余計な交点を作成することも回避する。
【００９９】
したがって本発明の方法は、基本曲線から複数の平行測地線を計算する、リソースおよび計算の複雑さの観点から効率的な方法を提供する。そのおかげで、この方法はとりわけ複合材パーツを効率的に設計することを可能にする。これに基づき、この方法を使って設計されるパーツを複合材パーツとし、それによりこの方法を使用する利点を強調することができる。
【０１００】
この方法は、グラフィカルユーザーインターフェイスを使用したユーザーとの対話により、ＣＡＤシステム上で実行することができる。図１２を参照して、例示のグラフィカルユーザーインターフェイス（すなわちＧＵＩ）１００は、標準のメニューバー１１０、１２０、ならびに、下部のツールバー１４０およびサイドツールバー１５０を有する、典型的なＣＡＤライクなインターフェイスとすることができる。そのようなメニューおよびツールバーは、ユーザーが選択可能な１組のアイコンを含み、当技術分野で知られているように、それぞれのアイコンは１つもしくは複数の操作または機能に関連する。
【０１０１】
これらのアイコンの一部は、ＧＵＩ１００の中に表示するものなど、モデリングされる製品２００または製品２００のパーツを編集し、かつ／または、それらに取り組むのに適したソフトウェアツールに関連する。それらのソフトウェアツールは、ワークベンチにグループ化することができる。それぞれのワークベンチは、ソフトウェアツールのサブセットを含む。具体的には、そのワークベンチのうちの１つは、モデリングされる製品２００の形状特徴を編集するのに適した編集ワークベンチである。操作において、設計者は例えばオブジェクト２００のパーツをあらかじめ選択し、その後、適切なアイコンを選択することにより、操作（例えば寸法、色などを変更すること）を開始し、または形状の制約を編集することができる。例えば、典型的なＣＡＤ操作は、画面上に表示される３Ｄモデリングされたオブジェクトの穿孔や折曲げをモデリングすることである。
【０１０２】
このＧＵＩは、例えば表示される製品２００に関係するデータ２５０を表示することができる。図１２の例では、「特徴ツリー」として表示されるデータ２５０、およびデータ２５０の３Ｄ表現２００は、ブレーキキャリパおよびブレーキディスクを含むブレーキアセンブリに関する。このＧＵＩはさらに、例えばオブジェクトの３Ｄ方向付けを容易にし、編集した製品の動作のシミュレーションをトリガするための様々な種類のグラフィックツール１３０、１６０を示し、または、表示された製品２００の様々な属性を描画すことができる。
【０１０３】
複数の平行測地線を計算するステップＳ４は、各レベルの複数の点を補間するステップを含むことができる。あるレベル内の複数の点を補間することは、そのレベルの全ての点を通過する曲線を計算することを意味する。そのような曲線を計算することは、多項式補間など、従来技術から知られている任意の補間アルゴリズムを使用して達成することができる。得られた曲線が表面上に位置するよう、この補間は表面によって制約されてもよい。そのような制約は、非常に厳密な結果を得ることを可能にする。あるいは、この補間は表面により制約されなくてもよく、表面上にその結果を投影し、それによりその投影はそのレベルに対応する測地平行線を定義することができる。
【０１０４】
この方法を使って複数の平行測地線を計算するステップの一例について、簡潔に論じる。この例では、あるレベルの複数の点を、例えば以下ポリラインとも呼ぶ折れ線、すなわちそのレベルの複数の点の対をつなぐ一連のまっすぐな線分により補間することができる。例えば、基本曲線をサンプリングした後に得られる複数の点は、ある順序を示すことができる。この順序は、各レベル内で元に戻すことができる。そのように形成される各ポリラインから、対応する平行測地線を計算することができる。例えば、このポリラインは表面上に投影することができる。次に、所要の連続性を得るように、投影の結果を平滑化することができる。逆に、ポリラインを平滑化し、その後、表面上に投影することもできる。また、ポリラインは表面上に投影しなくてもよい。表面上に投影することは必須ではない。ポリラインの重要性は、この方法によって得られるパーツの設計をどのように使用するか（すなわち設計者が何を望むのか）によって決まる。したがって、計算される平行測地線は、ポリライン自体または平滑化した後のポリラインとすることができる。その場合、それらのポリラインは表面上に正確には位置しない。このことは、この方法の性能を著しく高速化する。概して、平行測地線を計算するためにポリラインに対して、またはポリラインの投影に対して平滑化プロセスを使用することは、工業設計の観点から許容可能な結果をもたらすと同時に、比較的高速である。
【０１０５】
あるいは、この計算するステップＳ４は、各レベルの複数の点を適合させるステップを含むことができる。複数の点を適合させることは、必ずしもそれらの点を通過しない曲線を使い、それらの点を近似することである。これは典型的には最適化問題、例えば様々な曲線群について１組のパラメータをテストし、最小２乗和を最小化することである。そのような適合させる方法は従来技術から知られている。適合させる方法を使用することは、リソースを節約できるようにする。事実、測地平行線はあるレベルの全ての点を通過する必要はないので、単純な曲線群を使って良好な結果を達成することができる。結果として、測地平行線を計算するために僅かなパラメータしか必要でない。
【０１０６】
当然ながら、これらのレベルの間で、および／または、レベル内の点の間で、補間することと適合させることとの組合せを使用することができる。例えば、遠くにある平行測地線では、より低い精度が要求され得る。遠くにある平行測地線は、それらの測地線の対応するレベルの、複数の点を適合させることによって得ることができる一方、より近くの平行測地線は補間によって得られる。そのような組合せは、より多くの設計意図をカバーするので、設計者に与えられる設計の可能性を高める。
【０１０７】
図２〜図４に関して記載した従来技術のアルゴリズムは、汎用形状モデリングシステムとの関連で、単一の平行測地線を計算するように設計されている。したがって、結果として生じる曲線がさらなる設計において潜在的に再利用されるので、その形状モデリングプログラムは可能な限り厳密な結果を提供する。汎用モデリングとの関連で、精密であることは性能にとって好ましい。また、従来技術のアルゴリズムの最後のステップは、多項式曲線または有理式曲線（典型的にはＢスプライン曲線またはＮＵＲＢＳ曲線）によって複数の点Ｐiを補間することにより、滑らかな曲線を提供することである。もう一度繰り返すと、汎用形状モデリングシステムとの関連で、この補間は精度指向である。その結果、計算される曲線は多くの（多項または有理）弧を必要とする可能性があり、そのことは、何千もの平行測地線を記憶／管理するための膨大なデータメモリを必要とする。
【０１０８】
したがって、この方法が提供し、かつ先に説明したリソース節約的解決策は、従来技術からの離脱である。事実、従来技術のアルゴリズムは、作成しようとする平行曲線の数によって計算量が増加するので、複数の平行測地線を計算するためには効率的に適用されない。本発明の方法は、多数の平行曲線の、高速かつ容易に更新可能な計算を可能にする、リソース節約を提案する。精度は下がる。しかし、多数の平行曲線がある場合、単一の平行曲線を計算するときの従来技術の精度と同じ高さの精度は必要ない。例えば複合材パーツを設計するとき、全ての繊維が基底の完全な平行測地線である必要はない。事実、どのみち工業プロセスが非精密性を引き起こすことになる。
【０１０９】
この方法はさらに、１つまたは複数のレベルを修正するステップを含むことができる。レベルを修正するステップは、特異点を訂正できるようにする。さらに、計算量の観点から容易に点を操作できるので、特異点の訂正は非常に効率的に行われる。したがって、この方法が解決する１つの問題は、特異点管理の性能問題である。
【０１１０】
特異点は、平行曲線の望ましくない特徴である。次に図１３〜図１４の例を参照して、一種の特異点の問題について論じる。平行測地線計算の分野における古典的な特異点は、距離値よりも局所的に小さい、平行曲線の曲率半径である。図１３の例は、図２〜図４の従来技術のアルゴリズムを直接適用することが、どのようにそうした特異点をもたらすのかを示す。基本曲線Ｃ0から測地平行線１３６を計算するために、従来技術のアルゴリズムを使用する。理論解１３６は、この例の中で、平行曲線１３６上の２つの「尖」点１３２および１つの自己交差点１３４を特徴とする。この論理解は、工業目的では使えない。したがって、特異点を管理することが避けられない。特異点をどのように管理するのかが、平行曲線を計算するためのこの方法の有用性を決定する。事実、複合材との関連でロバスト性の問題の約８０％が、特異点の管理に失敗したことに起因する。
【０１１１】
従来技術において適用される簡単な解決策は、自己交差に起因するループを除去することにある。図１４にその結果を示す。この解決策の第１の問題は、訂正した平行曲線Ｃ1上に鋭い交点１４２が作成されることである。第２の問題は、平行曲線群を計算するとき、特異点群が生じる可能性があることに関係する。これらの特異点を個別に管理することは性能問題も引き起こす。事実、上記に説明したように、汎用モデリングとの関連で、精密であることは性能にとって好ましい。このことは特異点の管理にも当てはまり、つまり高い曲率に起因する自己交差点が、曲線の交わりによって厳密に計算される。
【０１１２】
一方、この方法は、格子の１つまたは複数のレベルを修正することによって特異点を管理し、したがって、複数の点を操作するだけでよい。点は容易に処理することができるので、この方法は性能問題を解決する。あるレベルについてポリラインを形成する場合、そのポリラインの線分を操作することによりそのレベルを修正することができる。これは計算量の観点からも非常に軽量である。特異点は、大きなリソースを必要とする最終平行曲線の操作なしに、どんな場合でもレベル上で管理することができる。さらに、レベルを修正することは、望まれない特徴、例えば曲線のループを切り捨てる場合の図１４の鋭い交点１４２などの望まれない鋭い交点を操作するとき、それらの望まれない特徴が最終平行曲線上に現れるリスクを回避する。
【０１１３】
Kellermannらの特許出願は、特異点を管理するための解決策を提供することも指摘しておく。この解決策は、結果として生じるオフセット曲線上に特異点が予期されるたびに基本曲線を平滑化することを必要とする。それ自体では、この平滑化することは、多項式曲線または有理式曲線を提供するためのサンプリングおよびアルゴリズムを伴う。次の平行曲線上の特異点を回避するために結果として生じる平行曲線を平滑化する必要があるので、この戦略は複合材との関連で性能問題に適合しない。さらに、この曲線を平滑化することおよび平行曲線を計算することの交互のプロセスは、平滑化の誤差を積み重ねることにより精度を完全に損なわせる。最後に、Kellermannらの解決策は、比較的平らな入力曲線上の微小な振幅を克服することを目的とする。Ｕ字型またはＬ字型の入力曲線を処理する問題は対処されていない。
【０１１４】
後で詳述するように、１つまたは複数のレベルを修正するステップは、複数の平行測地線を計算するステップＳ４の前に、または複数の平行測地線を計算するステップＳ４に付随して実行することができる。それは、後で行うこともできる。その場合、複数の訂正済みの平行測地線を再計算するステップが続いて起こることができる。このことは、特異点を訂正するかどうかを決定する前に、それらの特異点を観察する可能性を設計者に与える。
【０１１５】
複数の平行測地線を計算するステップが、折れ線を使って各レベルの複数の点を補間するステップを含み、その折れ線はそのレベルの点列上に形成される線分を含む場合にあると仮定する。次に、この１つまたは複数のレベルを修正するステップは、修正中のレベルの少なくとも１つの線分を破棄するステップを含むことができる。
【０１１６】
図１３に戻ると、このステップは、例えばループに相当する全ての線分を破棄することにより達成することができる。平滑化した後、そのような解決策は図１４の結果と同様の結果をもたらすことになる。しかし、ポリラインは、この方法により線分を破棄した後で初めて平滑化されることになるので、特異点を訂正することはより高速であり、望まれない鋭い交点１４２をもたらさない。
【０１１７】
（ポリライン補間とは異なる）別の補間アルゴリズムを使用する場合、格子の２点をつなぐ弧を破棄する原理は同じままである。適合させるアルゴリズムを使用する場合、および概して、特異点を訂正するために格子の点は破棄することができる。
【０１１８】
あるいは、または線分もしくは点を破棄することに加え、１つまたは複数のレベルを修正するステップは、修正中のレベルの線分または点の位置を修正するステップを含むことができる。この１つまたは複数のレベルを修正するステップは、そのレベル内に新たな線分または新たな点を挿入するステップを含むこともできる。
【０１１９】
図１５を参照して、線分を破棄する方法の一例について説明する。図１５には、基本曲線Ｃ0および点（Ｐ1，．．，Ｐn）を含む１つのレベルを示している。１つまたは複数のレベルを修正するステップは、修正中のレベルの線分［Ｐi，Ｐi+1］に対応するベクトル
【０１２０】
【数１３】
0005890105.tif 000014
【０１２１】
を形成するステップを含むことができる。図１５に、これらのベクトルを矢印により示す。それぞれのベクトルは、始点Ｐiと終点Ｐi+1とを有する。形成されるベクトルは、その始点Ｐiおよび終点Ｐi+1にそれぞれ対応する、基本曲線Ｃ0の２点ＢiおよびＢi+1によって形成される対応する基底ベクトル
【０１２２】
【数１４】
0005890105.tif 000015
【０１２３】
を有する。１つまたは複数のレベルを修正するステップは、その形成されるベクトル
【０１２４】
【数１５】
0005890105.tif 000016
【０１２５】
が、対応する基底ベクトル
【０１２６】
【数１６】
0005890105.tif 000017
【０１２７】
と同じ方向に向いているかどうかを評価するステップも含むことができる。この１つまたは複数のレベルを修正するステップは、その評価するステップの結果に基づいて、その列の正規線分および非正規線分１５２を判定するステップを含むこともできる。非正規線分１５２とは、対応する基底ベクトルとは異なる方向に向いていると評価されるベクトルに対応する線分である。次いで、修正中のレベルからこの非正規線分を破棄することができる。
【０１２８】
一般的場合に適用することができる一例では、ステップＳ３において決定した複数の点の格子は、基本曲線Ｃ0の点別の記載、全ての平行測地線（Ｃ1，．．．）の点別の定義、および基本曲線のそれぞれの点Ｂiと、各測地平行線上にあるＢiの対応する点（図１５に示すレベルではＰi）との間の結合を含む。それぞれの点別の平行測地線は、ポリラインとして見られる。特異点の管理は、それぞれのポリラインごとに行われる。
【０１２９】
説明したように、最初のステップは特異な線分を識別することである。定義によれば、ベクトル
【０１３０】
【数１７】
0005890105.tif 000018
【０１３１】
に対応する線分［Ｐi，Ｐi+1］は、そのベクトルがその対応する基底ベクトル
【０１３２】
【数１８】
0005890105.tif 000019
【０１３３】
と同じ向きを有する場合、正規である。さもなければその線分は特異である。この評価を行うために内積を使用することができる。言い換えれば、線分［Ｐi，Ｐi+1］は、
【０１３４】
【数１９】
0005890105.tif 000020
【０１３５】
が成立する場合は正規であり、
【０１３６】
【数２０】
0005890105.tif 000021
【０１３７】
が成立する場合は特異であり、ここでは表記〈Ｕ｜Ｖ〉は、ベクトルＵとベクトルＶとの内積である。２つのベクトルの角度を計算することなど、２つのベクトルが同じ方向を有するかどうかを評価する他の方法も使用することができる。特異な線分を定義する他の基準も使用することができる。例えば、負ではないにせよ内積が小さすぎる場合、その２つのベクトル間の角度はほぼ９０°であり、対応する線分は特異とみなし、したがって破棄することができる。また、線分［Ｐi，Ｐi+1］および［Ｐi-1，Ｐi］が正規の場合、点Ｐiは正規である。少なくとも１つの線分［Ｐi，Ｐi+1］および［Ｐi-1，Ｐi］が特異な場合、点Ｐiは特異である。両方の線分［Ｐi，Ｐi+1］および［Ｐi-1，Ｐi］が特異な場合、１つまたは複数のレベルを修正するステップは、全ての特異点を破棄するステップまたは全ての点Ｐiを破棄するステップを含むことができる。
【０１３８】
上記の例は、複数の点の格子が、どのように特異点を高速に訂正できるようにするのかを示す。実際に、計算はそのレベルの複数の点の位置しか使用しない。曲線のパラメータ化を使用する微分計算は必要ない。
【０１３９】
方向づけが行われていないベクトルに対応する線分を破棄した後、折れ線は裂け目を示す。そして、定義によれば、この多角形は多角形の分枝を含む。多角形の分枝とは、修正中のレベルの一連の正規線分である。多角形の分枝内の線分はつながれる。多角形の分枝は、前に破棄したそのレベルの一連の線分によって分けられる。
【０１４０】
１つまたは複数のレベルを修正するステップは、第１の多角形の分枝と第２の多角形の分枝との交わりを決定するステップをさらに含むことができる。その交わりは、例えばユークリッド的な意味で、第１の多角形の分枝と第２の多角形の分枝とをつなぐ最も短い線である。次いで、その交わりの後の第１の多角形の分枝の全ての線分、およびその交わりの前の第２の多角形の分枝の全ての線分を破棄することができる。交わりの「前」および「後」により、基点の順序に対応するレベル内の順序を指す。図１６を参照して、第１の多角形の分枝１６２を第２の多角形の分枝１６４につなぐ最も短い線１６６は、第１の分枝１６２の末端、点Ａにおいて、および第２の分枝６４のそのもう一方の末端、点Ｂにおいて決定する。上記の交わりの定義により、点Ａおよび点Ｂは、一般的な場合のレベルの点にないことに留意されたい。しかし、より速い速度を得るために、この交わりは、第１の分枝上のレベルの１点と第２の分枝上のレベルの１点とをつなぐ、最も短い線として一方で計算することができる。点Ａの「後」にある全ての線分とは、第１の多角形の分枝上の点Ａの後に位置する、その分枝の複数の点によって形成される全ての線分を意味する。その線分は、点Ａがその上にある線分をことによると含む。同様に、点Ｂの「前」にある全ての線分とは、第２の多角形の分枝上の点Ｂの前に位置する、その分枝の複数の点によって形成される全ての線分を意味する。その線分は、点Ｂがその上にある線分をことによると含む。これらの他の線分を破棄するステップは、続いて起こる折れ線を平滑化するステップをより容易にする。このようにして、第１の分枝および第２の分枝が減らされる。
【０１４１】
修正するステップは、その交わり上に位置するリーダー点を修正中のレベルに追加するステップをさらに含むことができる。このリーダー点は、好ましくはその交わりの中央に位置する。このステップを図１５〜図１８によって例示し、これらの図面は、上記に挙げた全てのオプションを含む１つまたは複数のレベルを修正するステップの、互いに異なるステップをそれぞれ示す。
【０１４２】
図１５では、線分の局所的な特異／正規状態が知られる。次いで特異な線分を破棄し、図１７に示すように、第１の分枝１６２および第２の分枝１６４の中の正規線分だけを含む、２本の分枝のポリラインを残す。これらの２本の分枝は、例えば以下の方法により、いわゆる「リーダー点」Ｌを計算することによりトリミングされる。まず、これらの２本の分枝間の最短距離を実現する、点Ａおよび点Ｂの１対（各分枝上に１点）を探す。定義によれば、これらの２点を結ぶ線分は、ポリラインの各分枝に対して直角である。すると、図１６に示すように、リーダー点Ｌはこの線分の中点とすることができ、すなわち
【０１４３】
【数２１】
0005890105.tif 000022
【０１４４】
が成立する。当然ながら、他の方法を実施することもできる。このリーダー点の計算は、２Ｄ平面に対立するものとして、３Ｄ空間内で実行されることを理解すべきである。３Ｄ空間内で計算するのは、ポリラインが平面ではない表面上に定義され、その結果、非平面オブジェクトだからである。
【０１４５】
交わりを決定した後、先に説明したように、リーダー点Ｌを越える分枝１６２および分枝１６４の線分を破棄する。図１８は、最終的な分枝、すなわちリーダー点Ｌとともに、第１のトリミング済み分枝１８２および第２のトリミング済み分枝１８４を示している。先に言及したように、この特異点の管理は、複数の分枝からなる不連続なポリラインをもたらすことに留意されたい。
【０１４６】
図１９〜図２１に示すように、このアルゴリズムは、測地平行線上に生じる一連の特異点を解決することができる。図１９の曲線は、２つの離ればなれの特異点１９２および１９４を特徴とする。図２０の曲線は、右端の特異点１９４を解決した後の結果である。図２１の曲線は、左端の特異点１９２を解決した後の結果である。
【０１４７】
このアルゴリズムの観点からは、特異点が重なるかどうかは問題ではない。そのことを図２２〜図２４の例を使って示す。図２２の曲線は、２つの重なっている特異点２２２および２２４を特徴とする。図２３の曲線は、第１の特異点２２４を解決した後の結果であり、図２４の曲線は最終的な結果である。
【０１４８】
図２５は、特異点の伝播についての典型的な状況を示している。上の方の曲線Ｃ0は、基本曲線である。図１９〜図２１および図２２〜図２４の例はそれぞれ、第３の曲線２５３および第５の曲線２５５である。この方法の先のオプションにより、これらの全ての特異点を解決することができる。
【０１４９】
１つまたは複数のレベルを修正するステップは、少なくとも１つの他のレベルの線分に対応するベクトルを形成するステップをさらに含むことができ、その形成される他のレベルのベクトルは、対応する基底ベクトルを有する。言い換えれば、あるレベルに対して行ってきたことを、今度は別のレベルに対して行う。次いで、その形成される他のレベルのベクトルが、対応する基底ベクトルと同じ方向に向いているかどうかを評価する。他のレベルについて評価するステップの結果に基づいて、修正中のレベルの正規線分を破棄することができる。ここでの考えは、まだ検出されていない特異点を検出するために、他のレベルについての評価の結果を使用することである。他のレベルに関する評価の結果を使用することは、特異点の駆除についてより高いロバスト性をもたらす。
【０１５０】
先に説明したように、「単純な」特異点は、特異な線分を破棄し、残りの多角形の分枝をトリミングすることによって解決される。逆に、「複雑な」特異点は、場合によっては一部の正規線分を、それらの線分が正規であるにもかかわらず、破棄しなければならないことによって特徴付けられる。複雑な特異点を訂正するための解決策は、伝播情報を活用する。
【０１５１】
事実、図２５に関して先に示したように、特異点は、ある測地平行線から次の測地平行線への伝播現象である。特異点は、現れ、消えることができるが、概して何本かの連続する測地平行線を伴う。複雑な特異点は、正規の種類と特異な種類とを混ぜた扱いにくい交差する線分の集まりであり、オフセット距離値に対して非常に敏感である。ある測地平行線から次の測地平行線へと特異点に関する情報を再利用するために、本発明は伝播現象を活用する。目標は、破棄される可能性があることを意味する、「疑わしい」正規線分を識別することである。この情報は、ポリラインの分枝の交わりおよびトリミングを計算するアルゴリズムによって使用される。疑わしい線分を破棄することが解決へとつながる一方で、それらの線分を保持することがどんな解決策も一切提供しない状況が起こり得る。
【０１５２】
問題は、「疑わしい」の意味を定量化することである。以下の表は、それぞれが１０本の線分を含む、４本の測地平行線に対して実行されるアルゴリズムの例を示す。それぞれの行は、先に説明したように評価することができる、平行測地線の線分の状態を捕獲する。初めに、線分の状態は正規（表の中の値１）または特異（表の中の値０）である。例えば、曲線番号２の線分番号８の状態は１（正規）である。このことは、以下の表を与える。
【０１５３】
【表１】
0005890105.tif 000023
【０１５４】
この例では、最初のステップは、値が全て１である列を値２の列に変えることである（以下の表の列１、５、６、および１０参照）。値２は、変更されない正規状態を捕獲し、つまり不変の正規状態を有する線分は、純粋に正規である（疑わしくない）。このことは、以下の表を与える。
【０１５５】
【表２】
0005890105.tif 000024
【０１５６】
次のステップは、値２を隣接する値１に水平に伝播することである。言い換えれば、値１が値２に近い場合、その値１は値２に切り替えられる。この切り替えは、何も変更できなくなるまで反復して繰り返される。次の表は、この水平伝播の結果を示す。この考えは、純粋に正規である線分に隣接する正規線分は、それら自体疑わしくないということである。このことは、以下の表を与える。
【０１５７】
【表３】
0005890105.tif 000025
【０１５８】
ここで、残りの値１は、値０によって水平に囲まれる。定義によれば、これらの値１は疑わしく、対応する線分を、それらの線分が正規であるにもかかわらず、破棄しなければならない可能性があることを意味する。先の表では、曲線番号２の線分番号３および８だけが疑わしい。
【０１５９】
当然ながら、上記の方式は一例に過ぎない。疑わしい線分を定義するために、他の方式を実行することもできる。例えば、値が全て１である列を値２の列に変える代わりに、より局所化された処理を適用することができる。例えば、ｉ番目の線分が、ｎ−２からｎ＋２までの少なくとも５本の連続した曲線にわたり正規である場合、ｉ番目の列およびｎ番目の行の値を２に変えることができる。修正中のレベルの線分の疑わしい状態を評価するために別のレベルの線分の特異／正規状態の評価を使用する限り、特異点の駆除は強化される。決定した複数の点の格子のおかげで、より優れた駆除をこの方法によって実行することができる。この例は、従来技術の技法とは対照的に、複数の点の格子を使用することによって提供される能力を示す。
【０１６０】
線分を、疑わしいとして評価すると、それらの線分は破棄することができる。選択的に、および、以下に例示するように、さらなる評価を行うことができる。
【０１６１】
正規のポリラインおよび疑わしいポリラインは、その向きに応じてリスト内に順序付けられる。疑わしい状態は次のように使用し、それはつまり、正規の多角形の分枝（すなわち正規線分からなる分枝）と、疑わしい多角形の分枝（すなわち疑わしい線分からなる分枝）との間に交わりがない場合、その疑わしいポリラインは破棄することができ、図１６に関して先に説明した交差方式によるシーケンスで、正規のポリラインが次のポリラインと交わる。
【０１６２】
図２６〜図３１は、そのような方式を行う一例を示している。図２６は、複雑な特異点を特徴とする一連の３本の連続する測地平行線を示している。図２７に状態計算の結果を示す。短点線は特異であり、実線は正規であり、長点線は疑わしい。特異なポリラインを破棄することは、図２８の形状をもたらす。
【０１６３】
図２９〜図３１に、曲線番号１、２、および３を順番に解決することを示す。曲線３の疑わしいポリライン（図３０および図３１の横線）が結果に含まれる一方、曲線１の疑わしいポリラインは破棄されている（図２９）ことに留意されたい。
【０１６４】
特異な線分または疑わしい線分を、上記に示した例のいずれかまたは組合せによって破棄している場合、計算しようとするそれぞれの平行測地線に対し、連続する多角形の分枝およびことによると分枝間のリーダー点によって形成されるポリラインが対応する。次いで、先に論じた結果を提供するために、このポリラインを平滑化することができる。
【０１６５】
一例では、それぞれの分枝が平滑化される。この平滑化のアルゴリズムは、複合材の状況のおかげで定義される許容範囲に従って緩めることができる。この許容範囲を所与として、この平滑化アルゴリズムは通常の補間アルゴリズムほど厳密である必要はない。ポリライン分枝の終点だけ、正確である必要がある。その結果、この平滑化するステップはより高速であり、結果として生じる少ない（ＢスプラインまたはＮＵＲＢＳ）曲線をもたらす。
【０１６６】
図３２の例では、平滑化された分枝１８２および１８４がつながれている。これらの平滑化された分枝をつなぐ、リーダー点Ｌの近くにある曲線の部分３２２は、平滑化アルゴリズムにより計算されない、つまり接続曲線３２２は意図的に計算される。図３３に示す典型的な解決策は、以下のように定義される３次多項式のベジェ円弧３２２である。制御多角形の終点ＧおよびＨは、つなぐ分枝の終点である。残りの２つの制御点ＫおよびＲは、これらの分枝の接線方向３３２および３３４に対してそれぞれ同一線上にある。これらの点は、複合材の許容範囲に従って、多項式のベジェ円弧３２２の中点がリーダー点Ｌに十分近いように調節される。従来技術の解決策とは対照的に、接続曲線３２２はリーダー点を通過せず、どんな鋭い交点も特徴としないことに留意されたい。この例は、正確な結果を提供する。
【０１６７】
別の例では、全ての分枝は、連続したポリラインを形成するよう、もしあればリーダー点に直線により接続される。次いで、そのポリラインをワンショットで平滑化する。このようにすることは、速い結果を与える。
【０１６８】
上記の方式は、基本曲線がＵ字型、または、Ｕ字型の領域を示す場合にとりわけ現れる特異点を訂正するために実行される。基本曲線が鋭い交点を含む場合にも、問題が発生する場合がある。
【０１６９】
その問題が図３４に例示されていて、図３４は、基本曲線Ｃ0が鋭い交点３４２および３４４を有する状態の、平行測地線に対応する１つのレベルを示している。複合材との関連で、入力基本曲線Ｃ0は、鋭い交点（３４２、３４４）を特徴とすることが多い。理論解は、不連続かつことによると自己交差する平行曲線Ｃ1である。従来技術のＣＡＤシステムは、弧もしくは測地円、または、トリミングされた測地的な外挿により、不連続な平行曲線をつなぐオプションを提供する。汎用形状モデリングシステムに必要な内在精度によって統制されるどちらの解決策も、コンピュータの時間を多く必要とする。したがって、基本曲線が鋭い交点を含む場合、より時間のかからない専用の処理が必要である。
【０１７０】
例えば、この修正するステップは、鋭い交点３４２の両側にある基本曲線Ｃ0の不図示の２つの基点に対応する、修正中のレベルの２点３４６の位置に応じて、その修正中のレベルに少なくとも１つの点、好ましくは図３５に示すようにリーダー点Ｌを追加するステップを含むことができる。このリーダー点Ｌは、鋭い交点３４２によって提起される不連続問題を訂正するために計算する。リーダー点Ｌは、図１６に関して上述したように計算することができる。この目的を達成するために、その間にリーダー点Ｌを計算しようとする、ポリラインの分枝の末端線分を伸ばすことができ、これにより交わりを計算することができる。あるいは、このリーダー点は、それぞれの分枝の末端を定義するレベルの点３４６の位置に従って計算することができる。鋭い交点３４４によって提起される自己交差問題は、図１５〜図１８に関して提示した特異点訂正方法によって訂正することができる。
【０１７１】
したがって、鋭い交点の問題は、その解決策について先に説明した特異点の問題へと転換される。図３５に示すように、この方法は、ポリラインの凸側に人為的な特異線分を追加し、凹側の分枝間にリーダー点を追加するステップを含むことができる。このようにして、不連続な平行測地線は問題ではなく、不連続な平行測地線は既存の特異点管理アルゴリズムによって処理される。図３６は、分枝をつなぎ平滑化した後の、図３５に示す形状から生じる平行曲線Ｃ1の形を示している。
【０１７２】
少なくとも１本の平行測地線が鋭い交点を含むよう、オプションをユーザーに提供することもできる。このオプションを提供することは、様々な設計意図の適用範囲を拡大する。
【０１７３】
これまでのところ、本発明は、いかなる場合でも結果として生じる滑らかな曲線を与える。しかし、結果として生じる曲線における鋭い交点により、設計意図がより良く捕獲されることもあり得る。この場合、例えばシステムは、結果として生じる鋭い交点としてリーダー点を使用して正規の分枝をつなぐことができる。鋭い交点を作成するときを決定するためにシステムが適用する基準は、多項式曲線を作成した場合、曲率半径の（小さな）大きさに基づく。工業試験が適切な閾値を提供する。このオプションのもう１つの利点は、データの節約であり、それは鋭い交点をモデリングすることが、小半径を特徴とする多項式（または有理式）曲線よりも少ないデータメモリを必要とするからである。するとこの方法の結果は、小さな曲率半径を決して特徴としない、平行測地線を特徴とすることができる。結果として生じる曲線は、滑らかであり曲率半径が全く小さすぎることがないか、または潜在的に小さな曲率半径が鋭い交点によって置換される。
【０１７４】
複数の点の格子は、動的に洗練させることができる。動的に洗練させることができることは、その格子の様々な点の間の距離を最適化できるようにする。
【０１７５】
基本曲線は、古典的にステップ長および曲率に従ってサンプリングされる。このサンプリングが、垂直測地線の全体にわたって一定のままである理由はない。このサンプリングは、垂直測地線の横のフローに依拠する。サンプリングの密度を節約するために、この動的サンプリングアルゴリズムは、互いに離れている連続する２本の垂直測地線の間に追加の垂直測地線を挿入し、これらの追加した曲線を使用して格子を洗練させる。このようにして格子を洗練させることを、図３７〜図４３に関する例を使って示す。
【０１７６】
この例では、表面Ｓおよび基本曲線Ｃ0は、図３７にあるようなものである。図３８に示すように垂直測地線を生成した後、最初の３本の垂直測地線３８６は初期基点を分ける距離を保存し、そのためサンプリングの密度を維持する。言い換えれば、それらの基点間の刻み幅は、例えばこの格子の最高レベルに対応することができる、図３８に丸で囲む、垂直測地線の末端の複数の点３８２の間で取得される。当然ながら、「距離を保存する」または「刻み幅が取得される」により、この刻み幅が所定の閾値を超えて大きくされることはなく、この刻み幅が必ずしも全く同じままではないことを意味する。とりわけ、刻み幅が小さくなることは精度に悪影響を与えないので、刻み幅は小さくなってもよい。
【０１７７】
図３９に示すように、この例では、同じく生成される４番目の垂直測地線３９２が、表面Ｓの形が原因で前の垂直測地線３８６から離れる。
【０１７８】
この偏差は（後で定義される）閾値よりも大きいため、このアルゴリズムは、最後の垂直測地線３９２の前に追加の垂直測地線４０２を挿入することができ、垂直測地線４０２を挿入することは、図４０に示すように、垂直測地線のもう一方の末端のサンプリングの密度を元に戻す。図４０に丸で囲む、垂直測地線の末端の複数の点３８２の間で、サンプリングの密度が元に戻されていることに留意されたい。
【０１７９】
図４１に、結果として生じる垂直測地線の組を示す。サンプリングの密度を保つために挿入される３本の曲線４０２を含む、９本の曲線が作成される。
【０１８０】
図４２に、どんな動的なサンプリングもなしに、結果として生じる測地垂直線網を示す。この例の基本曲線Ｃ0および表面Ｓとともに、複数の点３８２を使用することにより平行測地線Ｃnを計算することは、図４３に示すように、平行曲線Ｃnの波状の形をもたらす。所望の場合、動的な洗練プロセスによりこの波状の形を回避することができる。
【０１８１】
複数の点の格子を動的に洗練させるためのアルゴリズムの一例を以下に示す。このアルゴリズムは、公称のサンプリングによって単純なループを実行し、必要な場合に洗練プロシージャを呼び出す。この洗練プロシージャは、密度の基準が正しくなるまで必要に応じて何度でも反復適用される。ｕi+1＝ｕi＋ｈを意味する、基本曲線のサンプリングを定義するステップ長ｈを所与として、密度の閾値は、ε：＝λｈによって定義され、ただしλ≧１は内部／固定パラメータである。工業用パーツに対して行われる試験が、パラメータλの実際値を定義する。連続する２本の測地垂直線の間の距離がεよりも大きい場合、何らかの洗練が必要である。関数Ｄｉｓｔ（・）は、この距離を計算する。関数ＧｅｏＰｅｒｐ（ｗ）は、パラメータ値ｗにおいて、基本曲線に対する測地垂直線を作成する（または取得する）。このことは次式を与える。
【０１８２】
Ｐ1：＝ＧｅｏＰｅｒｐ（ｕ1）
Ｆｏｒ  ｉ：＝２  ｔｏ  ｎ  ｄｏ  ｂｅｇｉｎ
Ｐi：＝ＧｅｏＰｅｒｐ（ｕi）
ｄｉｓｔ（Ｐi-1，Ｐi）≧εが成立する場合、Ｒｅｆｉｎｅ（ｕi-1，ｕi）
Ｅｎｄ  ｆｏｒ
この洗練プロシージャは、細分するパラメータ間隔を覚えておくために内部スタックを使用することができる。入力パラメータ間隔は、［ｓ，ｔ］である。間隔は無制限に洗練させることはできないので、次のようにもう１つの閾値が定義される。ｋが、ある間隔を細分可能な最高回数であることに留意し、ｈmin：＝２-kｈを最小間隔長と仮定する。λのように、ｋは、その値が工業用パーツに対して行われる試験によって定義される内部／固定パラメータである。このことは次式を与える。
【０１８３】
Ｒｅｆｉｎｅ（ｓ，ｔ）
Ｐｕｓｈ（ｓ，ｔ）
スタックが空ではない間  ｄｏ  ｂｅｇｉｎ
Ｐｏｐ（ｓ，ｔ）
｜ｔ−ｓ｜≧ｈminが成立する場合、
【０１８４】
【数２２】
0005890105.tif 000026
【０１８５】
Ｑ：＝ＧｅｏＰｅｒｐ（ｒ）
ｄｉｓｔ（Ｑ，ＧｅｏＰｅｒｐ（ｔ））≧εが成立する場合、Ｐｕｓｈ（ｒ，ｔ）
ｄｉｓｔ（ＧｅｏＰｅｒｐ（ｓ），Ｑ）≧εが成立する場合、Ｐｕｓｈ（ｓ，ｒ）
Ｅｎｄ  ｉｆ
Ｅｎｄ  ｗｈｉｌｅ
【０１８６】
図４４〜図４７を参照して、上記に記載したオプションを含むこの方法の一例を示す。与えられるＳ１、入力形状オブジェクト４４２は、表面、（その表面上にある）基本曲線Ｃ0、および距離値である。その後、最初のステップは、その基本曲線Ｃ0を、ｎ個の基点ＢiのリストにサンプリングするステップＳ２である。先に説明したように、この最初のサンプリングするステップは、基本曲線Ｃ0の局所的な曲率半径の値に従って行うことができる。このサンプリングするステップは、それぞれの点Ｂiにおいて、基本曲線に対する垂直方向Ｄiを計算するステップを含むことができる。図４５に、このサンプリングするステップＳ２を示す。
【０１８７】
次のステップは、ＢiおよびＤiの初期点／方向から始めて、ｎ回の点方向測地計算を開始することにより、複数の点の格子を決定するステップＳ３である。このステップは、上記に記載した動的サンプリングアルゴリズムによって実行される。このステップは、ｎ本（またはそれ以上）のサンプリングされた垂直測地線ＳＰＣiをもたらす。図４６に、この複数の点の格子を決定するステップＳ３を示す。
【０１８８】
サンプリングされた全ての垂直測地線は、複数の点の格子とみなされる。複数の平行測地線を計算するＳ４ために、ｍ本のサンプリングされた平行曲線ＳＰＬＣiを与える目的で、この点の格子をまず転置する。次のステップは、もしあれば、この複数の点の格子上の特異点を駆除することである。一番最後のステップは、形状モデリングシステムによって処理できるオブジェクトとして測地平行線Ｃiを提供するために、そのサンプリングした平行曲線を平滑化することである。これらの計算は、独立しているので並列処理することができる。これらの平行曲線にとって関連するｐ曲線が要求される場合、この平滑化プロセスでは表面が必要である。さもなければ、表面は不要である。図４７に、複数の平行測地線を計算するステップＳ４を示す。
【０１８９】
一例では、この方法は、複合材の設計との関連で何千もの平行測地線を生成する全体的なプロセスを考慮に入れる。基本曲線を所与として、その基本曲線から計算する平行測地線の数が与えられ、かつそれらの平行測地線を分ける距離値が与えられると、このアルゴリズムは、（従来技術のアルゴリズムのように）基本曲線をサンプリングすることによって開始する。次いで、このアルゴリズムは全ての垂直測地線を計算する。それぞれの垂直測地線は、将来の全ての平行測地線に重なるのに足りるほど長い。この計算は、数値積分の結果として生じる複数の点の格子として、垂直測地線をもたらす。もしあれば、特異点の管理はこの複数の点の格子に対して行われる。明らかに、ある曲線の特異点をその曲線の多角形補間によって管理することは近似だが、この近似は複合材との関連では許容できる。きれいな格子に由来する複数の点は、曲線を提供するために補間されるのではなく平滑化される。データメモリ目的で、弧の数を最小限に抑えるためにこの平滑化プロセスは調整される。もう一度繰り返すと、滑らかな曲線は理論上の平行測地線の近似だが、この近似は複合材の観点からは許容できる。
【０１９０】
複合材の状況を関与させることにより、この方法は不必要な制約を緩和させることができる。そうすることにより、およびロバスト性を保ち、本発明は計算時間およびデータメモリを節約する。ｍが、計算する測地平行線の数であることに留意し、力まかせのアルゴリズムは、測地平行線の計算をｍ回再利用し、ｏ（ｍ2）の計算時間をもたらす単一のループである。本発明は、シングルプロセッサのコンピュータで使用する場合、ｏ（ｍ）のアルゴリズムである。マルチプロセッサのコンピュータで使用する場合、このアルゴリズムは、部分線形またはそれどころか一定とすることができる。
【０１９１】
この方法は、全ての平行測地線を初期基本曲線から計算するのでロバスト性を保つ。前の平行測地線を再利用することにより、不完全さが増幅することを回避する。それぞれの垂直測地線をワンショットで計算するので性能も保ち、ワンショットで計算することは、重なる線分を計算することを回避する。これは、平行測地線の数およびそれらの距離がアプリオリに知られているので可能である。このことは、
【０１９２】
【数２３】
0005890105.tif 000027
【０１９３】
からｍｎｄに至るまで計算される垂直測地線の全長をもたらす。垂直測地線は互いに独立しているので、垂直測地線の計算は、マルチコア機能または並列計算機能によって加速することができる。
【０１９４】
特異点の管理は、複数の点の格子によって定義される折れ線に対して行われ、この特異点の管理は、厳密な特異点の管理よりも速い。従来の特異点の管理は、ちなみに常に鋭い交点を特徴とする、厳密解を提供するために、自己交差点およびその自己交差点に対する接ベクトルを厳密に計算する。複合材との関連ではこれらの計算は不要であり、不要であることは計算時間を短縮する。さらに、それぞれの特異な部分の形は、いわゆる「リーダー点」によって統制される。実験は、リーダー点の安定性が、特異点の近傍におけて正規の平行測地線網を提供することを示している。この方法の特徴は、特異点の管理に対して、および基本曲線上の鋭い交点に対して同じアルゴリズムを使用し、それによりプログラミングを節約し、高信頼ソフトウェアを生み出せることである。
【０１９５】
先に言及したように、複合材の設計の精度要件は、平滑化プロセスがより少ない数の弧を作成し、そのようにしてより軽量のデータメモリをもたらすことを可能にする。これは、実際の製造プロセスが、コンピュータによって提供される完全な精度を活用できない人的操作を伴うからである。そのため、過度に厳密な解を得るために計算時間を費やす理由はない。さらに、結果として生じる少ない曲線は、主に曲線の交わりおよびトリミングをさらに処理する性能を改善する。
【０１９６】
これまでのところ、この方法を、基本曲線から複数の平行測地線を計算するための応用例に関して主に説明してきた。しかしこの方法は、前に計算した平行測地線が示す可能性のある、特異点を訂正するために適用することもできる。実際に一例では、この方法は、複数の測地平行線が既に計算され、上記に記載したような特異点、例えばループ、鋭い交点（例えばそのようなループをトリミングする場合）、または自己交差を示す場合に適用することができる。例えば、第１の設計者が、従来技術のアルゴリズムを使用してこれらの曲線を計算している場合がある。または第１の設計者は、先に記載した任意の特異点訂正オプションを使用せず、複数の平行測地線を計算している可能性もある。その場合、第２の設計者または第１の設計者自身が、これらの特異点を訂正するためにこの方法を適用することができる。
【０１９７】
最初のステップは、表面およびその表面上にある基本曲線を提供することである。この表面は、訂正されていない複数の平行測地線がその上にある表面であり、この基本曲線は、特異点を示さない、訂正されていない曲線のうちの１本、または従来技術の技法を適用することによりその特異点が訂正済みである、訂正されていない曲線のうちの１本から得られる曲線である。当然ながら、訂正されていない曲線を計算するための基本曲線として第１の設計者が使用した曲線が保存される場合、その曲線を使用することができる。第２のステップは、そうして提供される基本曲線を、先に説明したのと同じ方法で複数の点のリストにサンプリングすることにある。第３のステップは、垂直測地線の複数の点の格子を決定することである。これらの点は、垂直測地線を生成し、生成した垂直測地線と訂正されていない曲線との交わりを決定することにより得ることができる。レベルはしかるべく定義される。次いで、先に広く詳述したように、その複数の点の格子を処理して特異点を訂正した後、訂正済みの複数の平行測地線を計算することができる。その訂正済みの部分は表示することができる。したがって、この方法は、前に計算された平行曲線上の特異点を訂正できるようにする。
【０１９８】
上記の方法は、ＣＡＤ／ＣＡＭ／ＣＡＥシステム、または変化する視点からのオブジェクトのビューを表示するために使用される任意のシステムによって定義できる、任意の構成のどんなオブジェクトにも適用可能であることを理解すべきである。本発明は、デジタル電子回路により、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組合せによって実装することができる。本発明の機器は、プログラム可能なプロセッサが実行するための、機械可読記憶デバイスに実体的に具現化されるコンピュータプログラム製品によって実装することができ、本発明の方法ステップは、入力データに対して操作を行い、出力を生成することにより、本発明の諸機能を実行するための命令プログラムを実行する、プログラム可能なプロセッサによって行うことができる。
【０１９９】
この方法は、ＣＡＤシステムを使って実行することができる。そのコンピュータ援用設計システムは、文脈自由文法のシード構造を使用することによってモデリングされるパーツを記憶するデータベースと、その文法の１組の規則と、少なくとも２つの設計上の特徴であって、それぞれの設計上の特徴は、その組の少なくとも１つの規則によって定義される、少なくとも２つの設計上の特徴と、そのシード構造および１組の規則によって決定されるそれらの設計上の特徴間の優先順位とを含むことができ、このシステムは、上記に詳述した方法を実行するのに適したグラフィカルユーザーインターフェイスをさらに含むことができる。
【０２００】
コンピュータプログラムは、コンピュータによって実行するための命令を含むことができ、それらの命令は、コンピュータ援用設計システムの（コンピュータ援用設計システムが備える）グラフィカルユーザーインターフェイスを使ってこの方法を実行するための手段を含む。このシステムは、文脈自由文法のシード構造によってモデリングされるパーツを記憶するデータベースと、その文法の１組の規則と、少なくとも２つの設計上の特徴であって、それぞれの設計上の特徴は、その組の少なくとも１つの規則によって定義される、少なくとも２つの設計上の特徴と、そのシード構造および１組の規則によって決定されるそれらの設計上の特徴間の優先順位とをさらに含む。そのようなプログラムは、本発明の方法を実行するのに適したようになるよう、ＣＡＤシステムを更新するために使用することができる。従来技術から知られているように、そのようなプログラムはコンピュータ可読記憶媒体に記録することができる。
【０２０１】
本発明は、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスとの間でデータ／命令をやり取りするために結合される少なくとも１個のプログラム可能なプロセッサを含む、プログラム可能なシステム上で実行可能な、１つまたは複数のコンピュータプログラムによって有利に実装することができる。そのアプリケーションプログラムは、高水準手続きプログラミング言語もしくは高水準オブジェクト指向プログラミング言語、または所望の場合はアセンブリ言語もしくは機械語によって実装することができ、どんな場合でも、その言語はコンパイラ型言語またはインタープリタ型言語とすることができる。
【０２０２】
図４８は、クライアントコンピュータシステム、例えばユーザーのワークステーションの一例を示している。
【０２０３】
このクライアントコンピュータは、内部通信バス３００に接続されるＣＰＵ（中央処理装置）３０１、同じくこのバスに接続されるＲＡＭ（ランダムアクセスメモリ）３０７を含む。このクライアントコンピュータには、バスに接続されるビデオランダムアクセスメモリ３１０に関連する、ＧＰＵ（グラフィック処理ユニット）３１１がさらに設けられる。ビデオＲＡＭ３１０は、フレームバッファとしても当技術分野で知られている。大容量記憶装置コントローラ３０２は、ハードドライブ３０３などのマスメモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを有形に実施するのに適したマスメモリデバイスには、例としてＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭディスク３０４が含まれる、あらゆる形態の不揮発性メモリが含まれる。上記のいずれも、専用に設計されるＡＳＩＣ（特定用途向け集積回路）により補足し、または専用に設計されるＡＳＩＣに組み込むことができる。ネットワークアダプタ３０５は、ネットワーク３０６へのアクセスを管理する。このクライアントコンピュータは、カーソル制御デバイス、キーボード等のハプティックデバイス３０９も含むことができる。カーソル制御デバイスは、ディスプレイ３０８上の任意の所望の位置にユーザーがカーソルを選択的に位置づけることを可能にするために、クライアントコンピュータ内で使用される。さらに、このカーソル制御デバイスは、ユーザーが様々なコマンドを選択し、制御信号を入力することを可能にする。このカーソル制御デバイスは、システムへの入力制御信号のための一部の信号生成デバイスを含む。典型的には、カーソル制御デバイスはマウスとし、信号を生成するためにマウスのボタンが使用される。
【０２０４】
本発明の複数の例について説明してきた。本発明の趣旨および範囲から逸脱することなく、様々な修正を加え得ることが理解される。したがって、他の実装形態も特許請求の範囲に記載の範囲に含まれる。例えば、本発明の方法は、基本曲線を提供するステップと、その基本曲線をサンプリングする別のステップとを使って主に説明してきた。しかし、複数の点の格子を計算するのに十分な仕様が提供される限り、複数の点のサンプルを代わりに直接提供することが可能である。
【図２】
0005890105.tif 000028
【図３】
0005890105.tif 000029
【図４】
0005890105.tif 000030
【図５】
0005890105.tif 000031
【図６】
0005890105.tif 000032
【図７】
0005890105.tif 000033
【図８】
0005890105.tif 000034
【図９】
0005890105.tif 000035
【図１０】
0005890105.tif 000036
【図１１】
0005890105.tif 000037
【図１２】
0005890105.tif 000038
【図１３】
0005890105.tif 000039
【図１４】
0005890105.tif 000040
【図１５】
0005890105.tif 000041
【図１６】
0005890105.tif 000042
【図１７】
0005890105.tif 000043
【図１８】
0005890105.tif 000044
【図１９】
0005890105.tif 000045
【図２０】
0005890105.tif 000046
【図２１】
0005890105.tif 000047
【図２２】
0005890105.tif 000048
【図２３】
0005890105.tif 000049
【図２４】
0005890105.tif 000050
【図２５】
0005890105.tif 000051
【図２６】
0005890105.tif 000052
【図２７】
0005890105.tif 000053
【図２８】
0005890105.tif 000054
【図２９】
0005890105.tif 000055
【図３０】
0005890105.tif 000056
【図３１】
0005890105.tif 000057
【図３２】
0005890105.tif 000058
【図３３】
0005890105.tif 000059
【図３４】
0005890105.tif 000060
【図３５】
0005890105.tif 000061
【図３６】
0005890105.tif 000062
【図４４】
0005890105.tif 000063
【図４５】
0005890105.tif 000064
【図４６】
0005890105.tif 000065
【図４７】
0005890105.tif 000066
【図４８】
0005890105.tif 000067
【図１】
0005890105.tif 000068
【図３７】
0005890105.tif 000069
【図３８】
0005890105.tif 000070
【図３９】
0005890105.tif 000071
【図４０】
0005890105.tif 000072
【図４１】
0005890105.tif 000073
【図４２】
0005890105.tif 000074
【図４３】
0005890105.tif 000075