(57)【特許請求の範囲】
【請求項１】
調整手段および計算手段を有するコンピュータにおいて、複数の制御点を操作するための方法であって、複数の制御点は２つの非平行方向ＵとＶに沿って複数の列を形成している方法において、
Ｕ方向（２０５，５１２）上の第１エッジに対応する制御点の列からＵ方向（２０５，５１２）上の第２エッジに対応する制御点の列への滑らかな移行が得られるように、前記第１のエッジおよび前記第２のエッジの制御点の位置を保持しながらＵ方向（２０５，５１２）における中間列（５１４，５１５）内の制御点の位置を前記調整手段により調整し、
Ｖ方向（２０６，５０３）上の第１エッジに対応する制御点の列からＶ方向（２０６，５０３）上の第２エッジに対応する制御点の列への滑らかな移行が得られるように、当該第１のエッジおよび前記第２のエッジの制御点の位置を保持しながらＶ方向（２０６，５０３）における中間列（５０５，５０６）内の制御点の位置を前記調整手段により調整し、
Ｕ方向（２０５，５１２）における中間列（５１４，５１５）内の制御点の調整位置とＶ方向（２０６，５０３）における中間列（５０５，５０６）内の制御点の調整位置に基づいて制御点の新しい位置を前記計算手段により計算し、
さらに、前記コンピュータは判断手段を有し、該判断手段は、
Ｕ方向（２０５，５１２）上の第１エッジ、Ｕ方向（２０５，５１２）上の第２エッジ、Ｖ方向（２０６，５０３）上の第１エッジ、およびＶ方向（２０６，５０３）上の第２エッジに対する参照軸（５０１，５０２，５１０，５１１）を判断し、該参照軸（５０１，５０２，５１０，５１１）を判断するステップでは、各々のエッジについて、前記判断手段は、
エッジの第１末端（３０２）に置かれた第１ベクトル点と、エッジの第２末端（３０２）に置かれた第２ベクトル点を含むＸベクトル（３０１）を判断し、
Ｚベクトル（３２３）を判断し、当該Ｚベクトルを判断するステップは、Ｘベクトル（３０１）にその結果を直交方向に調整する２つの末端ベクトルの平均を計算するステップを含み、この場合、２つの末端ベクトル（３１２，３１３）は、それぞれがエッジの末端点および前記エッジの方向以外の他の方向（Ｕ，Ｖ）における隣接点により定まり、
Ｘベクトル（３０１）とＺベクトル（３２３）のベクトル積を構成するＹベクトル（３２４）を判断する
ことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、Ｕ方向（２０５，５１２）における中間列（５１４，５１５）内の制御点の位置を調整するステップでは、前記調整手段は、
Ｕ方向（２０５，５１２）上の第１エッジとＵ方向（２０５，５１２）上の第２エッジに対する参照軸（５１０，５１１）を使用して制御点を調整し、
Ｖ方向（２０６，５０３）における中間列（５０５，５０６）内の制御点の位置を調整するステップでは、Ｖ方向（２０６，５０３）上の第１エッジとＶ方向（２０６，５０３）上の第２エッジに対する参照軸（５１０，５１１）を使用して制御点を調整することを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、調和された点ネットワークを生成し、処理するための方法およびシステムに関する。
【０００２】
【従来の技術】
コンピュータ支援設計  （ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｄｅｓｉｇｎ    ＣＡＤ）  では、パーツ（部品）の設計と製造を行う際の手助けのために設計者はコンピュータを使用して３次元オブジェクトをモデリングする。これらのモデルを構築するために、ＣＡＤプログラムは、３次元オブジェクトを表現するために面  （ｓｕｒｆａｃｅ）  を使用している。数学的面モデルの例としては、
【０００３】
【外４】
0003770840.tif 000002
【０００４】
面とＮｕｒｂｓ面がある。このような面を定義する１つの標準的方法として、制御点ネットワーク  （ｎｅｔｗｏｒｋ  ｏｆ  ｃｏｎｔｒｏｌ  ｐｏｉｎｔｓ）による方法がある。面を制御する制御点は、面上に存在するとは限らない。図４は、面とその面を制御する制御点の例を示している。図から明らかなように、４隅上の制御点だけが面上にある。その他の制御点は面に影響を与えているが、面上にないのが通常である。
【０００５】
面が設計されるとき、面は均一または高品質でないことがある。図１（Ａ）は、均一または高品質でないネットワーク内の点によって定義された３次元面の例を示している。
【０００６】
面の形状と滑らかさ  （ｓｍｏｏｔｈｎｅｓｓ）  が特に重要になるのは、面がプロダクト（製品）で見えるようになっているときである。ＣＬＡＳＳ＿Ａ面のように、これらの目に見える面は、車両やコンシューマ物品で使用されているのが代表的である。例えば、自動車のボンネット  （ｃａｒ  ｈｏｏｄ）  はＣＬＡＳＳ＿Ａ面であり、これが滑らかになっていなければならないのは、潜在的購入者が自動車をどのように見るかが、滑らかさによって影響されるからである。自動車がショールームに展示されているとき、光は自動車のボンネットから反射している。自動車のボンネットが滑らかで、規則的であれば、光は審美的に快感を与えるように反射している。自動車のボンネットが滑らかでなく、不規則的であれば、光は奇妙なパターンで反射し、潜在的購入者にマイナスの影響を与えることになる。
【０００７】
【発明が解決しようとする課題】
現在では、高品質のＣＬＡＳＳ＿Ａ面を作るためには、特に、これらの面に対する制御点のすぐれた組織  （ｏｒｇａｎｉｚａｔｉｏｎ）  を得るための高度の専門知識が要求されている。この組織は、設計者がユーザインタフェースと制御点処理を使用して個々の点を操作することを可能にすることにより、手作業で得ることができる。設計者は、視野  （ｓｉｇｈｔ）  を圧縮または変更するか、あるいは面をズームインまたはズームアウトすることによって欠陥を拡大することから始めることができる。欠陥を拡大したあと、設計者は、点ネットワーク内の個々の制御点を操作する必要があるのが通常である。そのあと、設計者は面を見て、それが十分な品質になっているかどうかを判断している。設計者は同じまたは他の制御点を操作し、その結果を見ることができる。設計者は、面の滑らかさまたは均一性に満足するまでこのプロセスを繰り返すことができる。個々の制御点が変更されると、面の無関係な部分がマイナスの影響を受けることがある。設計者は、面の品質を向上しようとするとき、このことを考慮に入れる必要があるのが通常である。この方法は実現が困難であり、費用がかかることになる。
【０００８】
本発明は、これらの問題のいくつかを取り上げ、解決することを課題としている。
【０００９】
【課題を解決するための手段】
本発明は、調和された点ネットワークを生成し、処理するための方法とシステムを提供することを目的にしている。さらに具体的には、本発明は、空間的分布規則性  （ｓｐａｔｉａｌ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｒｅｇｕｌａｒｉｔｙ）  の面で点ネットワークを再組織化し、最適化することを目的にしている。本発明の実現形態によれば、ユーザは、点ネットワークの組織をそのまま残したまま、点ネットワークを操作できる。
【００１０】
本発明の一形態では、制御点を操作するためのコンピュータ化方法が提示されている。制御点は、２つの非平行方向ＵとＶに沿って列  （ｒｏｗ）  を形成する。この方法によれば、Ｕ方向における中間列  （ｉｎｔｅｒｍｅｄｉａｒｙ  ｒｏｗ）  内の制御点の位置が調整され、Ｕ方向上の第１エッジに対応する制御点の列からＵ方向上の第２エッジに対応する制御点の列への滑らかな移行が得られる。制御点の位置は、Ｖ方向における中間列においても調整され、Ｖ方向上の第１エッジに対応する制御点の列からＶ方向上の第２エッジに対応する制御点の列への滑らかな移行が得られる。制御点の新位置は、Ｕ方向における中間列内の制御点とＶ方向における中間列内の制御点の、それぞれ対応する調整位置に基づいて計算される。
【００１１】
本発明の実現形態によれば、以下に説明する特徴の１つまたは２つ以上を備えている。制御点の新位置の計算では、Ｕ方向における中間列内の制御点の調整位置とＶ方向における中間列内の制御点の調整位置が平均化される。また、この方法によれば、Ｕ方向上の第１エッジ、Ｕ方向上の第２エッジ、Ｖ方向上の第１エッジ、およびＶ方向上の第２エッジに対する参照軸  （ｒｅｆｅｒｅｎｃｅ  ａｘｉｓ）  を判断する。
【００１２】
本発明の別の形態では、複数の制御点を操作するためのコンピュータ化の方法が提示され、そこでは、これらの制御点は２つの非平行方向ＵとＶに沿って列を形成している。Ｕ方向における第１列は、制御点に対応するものとして特定される。Ｕ方向上の第１エッジと第１列に対応する制御点の列が第１Ｕ面に属しているかどうかの判断が行われる。また、Ｕ方向上の第２エッジと第１列に対応する制御点の列が第２Ｕ面に属しているかどうかの判断が行われる。制御点は、第１Ｕ面と第２Ｕ面を使用して調整される。この調整が行われるのは、Ｕ方向上の第１エッジに対応する制御点の列とＵ方向上の第２エッジに対応する制御点の列が第２Ｕ面に属している場合だけである。
【００１３】
本発明の実現形態によれば、以下に説明する特徴を備えている。この方法は、Ｖ方向にも繰り返すことができる。調整Ｕ面は、第１Ｕ面から第２Ｕ面への滑らかな移行が得られるように、制御点に対して計算することができる。調整Ｖ面は、第１Ｖ面から第２Ｖ面への滑らかな移行が得られるように、制御点に対して計算することができる。制御点は、調整Ｕ面と調整Ｖ面の交差  （ｉｎｔｅｒｓｅｃｔｉｏｎ）  上に投影することができる。制御点は、調整Ｕ面上に投影することができる。制御点は、調整Ｖ面上に投影することができる。
【００１４】
本発明の別の形態では、複数の制御点を操作するためのコンピュータ化の方法が提示され、そこでは、複数の制御点は、２つの非平行方向ＵとＶに沿って複数の列を形成している。この方法によれば、制御点に対応するＵ方向の第１列が特定される。Ｕ方向上の第１エッジと第１列に対応する制御点の列が第１Ｕ面に属しているかどうかが判断される。また、Ｕ方向上の第２エッジと第１列に対応する制御点の列が第２Ｕ面に属しているかどうかが判断される。制御点は第１Ｕ面と第２Ｕ面を使用して拘束  （ｃｏｎｓｔｒａｉｎ）  され、この場合、その拘束が行われるのは、Ｕ方向上の第１エッジに対応する制御点の列が第１Ｕ面に属し、Ｕ方向上の第２エッジに対応する制御点の列が第２Ｕ面に属している場合だけである。
【００１５】
以上述べた方法における制御点は面  （ｓｕｒｆａｃｅ）  を定義することができ、そのような面としては、
【００１６】
【外５】
0003770840.tif 000003
【００１７】
面とＮｕｒｂｓ面がある。面は、ＣＡＤシステムで表現することができる。面としては、３次元の面も可能である。
【００１８】
上述した方法は、コンピュータシステムで実現することが可能であり、コンピュータシステムは、メモリとプロセッサを装備したコンピュータと、コンピュータメモリに常駐している実行可能ソフトウェアとを備える。同様に、これらの方法は、デジタルデータストリームの形で具現化されたコンピュータデータ信号や記録媒体で実現することが可能である。
【００１９】
本発明の実現形態によれば、以下に説明する利点の１つまたは２つ以上が得られる。得られるソリューションは、制御点のアライメント基準  （ａｌｉｇｎｍｅｎｔ  ｃｒｉｔｅｒｉａ）  と位置決め  （ｐｏｓｉｔｉｏｎｉｎｇ）  から得られる面品質の面で、設計者が期待しているＣＬＡＳＳ＿Ａに相当するものである。面を作成し、修正する回数は大幅に減少することができる。
【００２０】
以上のほかに、滑らかにされた面をさらに修正することは、すべて拘束条件  （ｃｏｎｓｔｒａｉｎｔｓ）  を使用して行うことができるので、第１ステップで定義した滑らかさに基づくネットワークの均質性  （ｈｏｍｏｇｅｎｅｉｔｙ）  はそのまま残されることになる。
【００２１】
【発明の実施の形態】
本発明は、調和された点ネットワークを生成し、処理するための方法とシステムに関するものである。さらに具体的には、本発明は、空間的分布規則性の面で点ネットワークを再組織化し、最適化している。本発明の実現形態によれば、ユーザはその組織をそのまま残したまま、点ネットワークを操作することを可能にしている。
【００２２】
図１は、本発明の実現形態を使用して面を調和した結果の２つの例を示している。第１の例では、図１（Ａ）は、再組織化（つまり、平滑化）の必要がある不均一面１００を示し、図１（Ｂ）は、調和方法１２０を適用した後の同一面１１０を示している。第２の例では、図１（Ｃ）は、不均一面１２０を示し、図１（Ｄ）は、調和方法１３０を適用した後の同一面１２０を示している。どちらの例においても、不均一面１００と１２０上の制御点エッジ（エッジ１０１、１１１、１２１、および１３１など）は、調和された面１１０と１３０上では変更されていない。
【００２３】
本発明で使用されているように、面に関係する点グリッド  （ｇｒｉｄ  ｏｆｐｏｉｎｔｓ）  は、配列（アレイ）として表すことができる。図２は、制御点ネットワーク（図示せず）によって制御される面２０１を示している。この配列の２方向は、Ｕ方向２０５およびＶ方向２０６と呼ばれる。このネットワークのエッジを形成する点のラインは、エッジＵ２０２およびエッジＶ２０３と呼ばれる。内側のラインは列  （ｒｏｗ）  ２０４と呼ばれる。
【００２４】
本発明の一実施形態では、点ネットワークの調和は３つのフェーズ  （ｐｈａｓｅ）  に分割することができる。図８はこの調和方法を示すフローチャートである。この方法は、図１（Ａ）または図１（Ｃ）に示すように、最適化の必要がある初期面から開始される（８０１）。次に、平滑化方法が面で使用される（８０３）。投影を適用するかどうかを判断するために局所面  （ｌｏｃａｌ  ｐｌａｎｅ）  が検出される（８０２）。局所面が検出されると（８０４）、面をさらに滑らかにするために投影方法が適用される（８０５）。この調和の結果は、図１（Ｂ）または図１（Ｄ）に示すように、最適化された面である（８０６）。
【００２５】
図９は平滑化方法を示し、図５はこの方法の例を示す図である。この方法では、列の点の位置は、末端局所軸  （ｅｘｔｒｅｍｅ  ｌｏｃａｌ  ａｘｉｓ）  に沿って点ネットワークの２方向に「スイーピング（ｓｗｅｅｐｉｎｇ）」することによって計算される。図５（Ａ）に示すように、この方法はＶ方向５０３に沿ってスイーピングしている。この平滑方法を実現するために、末端エッジに位置していて、参照軸  （Ｒｅｆｅｒｅｎｃｅ  Ａｘｅｓ）  と呼ばれる２つの局所軸５０１と５０２が計算されている（９０２）。
【００２６】
図３を参照して説明すると、局所軸はＸ３０１、Ｙ３２４およびＺ３２３軸を使用して定義されている。局所軸を計算するために、原点  （ｏｒｉｇｉｎ）  ３０２は、あるエッジの末端点の一方に一致するものとみなされている。Ｘ方向３０１は、同じエッジの他方の末端点によって定義されている。末端ベクトル  （ｅｘｔｒｅｍｅ  ｖｅｃｔｏｒ）  ３１０は、末端点３１２、３１３とその隣接点によってエッジの各末端に定義されている。これらのベクトルを加算すると、ベクトルＶ  ３１１が得られる。Ｖ方向は、Ｘ方向３０１に直交するように調整され、Ｚ方向３２３が得られる。Ｙ方向は、２つの進行方向３２４のベクトル積をとると得られる。
【００２７】
参照軸が定義されたあと、システムは各列（例えば、５０５と５０６）を受け取り、参照軸を使用してＶ列に沿ってスイーピングすることによって、点の新位置を計算する（９０３）。これらの列の末端点は修正されていない。エッジが各列に及ぼす影響は、これらのエッジに対するその位置に応じて比例している。変更された点は、システムにストアしておくことができる。この平滑化方法は、線形補間方法  （ｌｉｎｅａｒ  ｉｎｔｅｒｐｏｌａｔｉｏｎ  ｍｅｔｈｏｄ）  をベースにすることができ、この方法によると、エッジに対する制御点の位置に応じて、あるエッジが制御点に及ぼす影響を他のエッジよりも大にすることができる。
【００２８】
以下の例は、参照軸が列に沿ってスイーピングすることができる１つ方法を示している。この例を分かりやすくするために、単純な２次元制御点ネットワークが使用されている。この２次元制御点ネットワークの場合の方法は、必要とするアプリケーションに応じて、３次元またはそれ以上の次元に拡張することが可能である。図１３は、単純な２次元４  ｘ  ４制御点ネットワーク１３００を示している。この方法では、円１３０２の内側に置かれた点が滑らかにされる。末端点（円の外側の点）は、変更されないままになっている。
【００２９】
２つの参照軸は図１４に示すように定義されている。軸１  １４０１は、点Ｐ２  １４０３とＰ２  １４０３の方向を使用して定義されている。第２方向Ｙ１１４０４は、第１方向に直交している。この２次元の例では、取り得る方向は、上と下の２つだけである。どちらの方向も使用できるが、この例では、モデル軸の一方に最も近い方向をとることを約束にしている。従って、上がＹ１  １４０４の方向として選択されている。３次元のケースでは、参照軸は３つ方向を使用して定義されている。このケースでは、局所軸のＺ座標は、ベクトル積  （Ｚ＝  Ｘ  ＾  Ｙ）  を使用して計算することができる。
【００３０】
第２軸である軸２  １４０２は、点Ｐ３  １４０５とＰ４  １４０６が使用されることを除けば、同じように定義される。点Ｐａ１  １４０７とＰａ２  １４０８は、ある軸から別の軸への標準的変換  （ｔｒａｎｓｆｏｒｍａｔｉｏｎ）を使用して、軸１  １４０１に表されている。このプロセスは軸２についても行われる。
【００３１】
次に、２末端軸間の軸の補間が計算される。図１５に示すように、軸３  １５０１は、以下に説明する原理を使用して定義することができる。すなわち、Ｘ３方向１５０２は、２末端点Ｐ５  １５０３とＰ６  １５０４を使用して計算される。Ｙ３方向１５０５は、Ｙ１  １４０４とＹ２  １５０６、および列インデックスに依存する２つの係数を使用して計算される。式１は、この計算のための公式を示している。
【００３２】
Ｙ  ３  ＝  Ｙ  １  ｘ  Ｃ  １  ＋  Ｙ  ２  ｘ  Ｃ  ２      ・・式１
【００３３】
次に、Ｙ３は、式２に示すように、Ｘ３方向に正確に直交するように調整される。
【００３４】
Ｘ  ３  ＝  （  Ｘ  ３  ＾  Ｙ  ３  ＾  ）  ＾  Ｘ  ３      ・・式２
【００３５】
Ｃ１とＣ２係数は、補間のためのキーポイントを表している。これらの係数は、末端軸が内側軸に及ぼす影響として表すことができる。係数は、式３に示すように列のインデックスを使用して定義されている。
【００３６】
Ｃ  １  ＝  Ｒｏｗ  ／  （  Ｎｕｍｂｅｒ  ｏｆ  Ｒｏｗｓ  −  １  ）
Ｃ  ２  ＝  １  −  Ｃ１                              ・・・式３
【００３７】
次に、点Ｐｃ１  １５０７とＰｃ２  １５０８は、式４に示すように、それぞれの軸における点Ｐｃ  １４０７とＰｃ１  １４０８の座標、列インデックスに依存する２つ係数、およびＰ５  １５０２とＰ６  １５０４間の長さＬ３  １５０９を使用して計算することができる。
【００３８】
Ｐ  ｃ  １  ＝  Ｐ  ａ  １  ｘ  Ｃ  １  ＋  Ｐ  ｂ  １  ｘ  Ｃ  ２
Ｐ  ｃ  １ｘ  ＝  Ｐ  ｃ  １  ｘ  Ｌ  ３              ・・・式４
【００３９】
式４に示されている２番目の式を使用すると、Ｐｃ１のＸ上の正しい座標を計算することができる。この場合も、係数は末端点が内側点に及ぼす影響を表している。例えば、列番号１では、Ｃ１  ＝  １／３およびＣ２  ＝  １−１／３  ＝  ２／３である。このことから明らかであるように、点Ｐｃ１は、１／３の大きさでＰａ１によって影響され、２／３の大きさでＰｂ１によって影響されている。最終点は、一方の軸から他方の軸への標準的変換を使用したモデル軸で式Ｐｃ１とＰｃ２を使用して得られる。このプロセスは列２についても行うことができる。
【００４０】
図５（Ｂ）に示すように、この方法はＵ  ５１２方向に沿ってもスイーピングする。システムは、まず、エッジＶの参照軸５１０と５１２を定義する（９０４）。次に、各々のＶ列（例えば、５１４と５１５）について、システムは、エッジＶ上の参照軸をスイーピングすることによって点の新位置を計算する（９０５）。列の末端点は修正されていない。変更された点は、システムにストアしておくことができる。
【００４１】
Ｖ方向上にスイーピングし、Ｕ方向上にスイーピングするための変更点が計算されたあと、システムは、これら２つの解の平均をとることによって、点の最終位置を計算する（９０６）。内側ネットワークは、そのネットワークのエッジが調和した展開を再現している。スイーピング方法は次のように説明することができる。すなわち、エッジが各列に及ぼす影響は、これらのエッジに対するその位置に応じて比例している。このステップの結果は、滑らかにされた制御点である（９０７）。
【００４２】
図１０は局所面検出方法を示し、図６はこの方法を示す例示である。局所面は、ある列のすべての点が同一面にあるとき得られる。面検出は、通常のどの方法を使用しても行うことができ、そのようなものの例として、中間面  （ｍｅｄｉａｎ  ｐｌａｎｅ）  を求める最小自乗回帰アルゴリズム  （ｌｅａｓｔ  ｓｑｕａｒｅ  ｒｅｇｒｅｓｓｉｏｎ  ａｌｇｏｒｉｔｈｍ）  がある。局所面の検出は、面の初期制御点から開始される（１００１）。システムは、各末端Ｕエッジ６０１と６０２が面上にあるかどうかを判断する（１００２）。面上にあれば、システムは、Ｕ軸に沿って一方のエッジから他方のエッジへ移動することによって、中間面を定義する（１００４）。システムがＵ軸６０３をスイーピングするとき、システムはＵ面（例えば、６０４と６０５）を補間し、ストアしておく（１００６）。面は軸と同じように表すことができるので（面とその法線の２方向）、この補間方法は軸補間の場合と同じにすることができる。このスイープの結果得られるのは、Ｕ面の集合である（１００８）。第１または第２末端Ｕエッジのどちらかが面になければ、システムはなにもしないので、面はストアされない。
【００４３】
システムは、末端Ｖエッジが面上にあるかどうかの判断も行う（１００３）。エッジが面上にあれば、システムは、Ｖエッジに沿って一方のエッジから他方のエッジへ移動することによって中間面を定義する（１００５）。システムがＶ軸をスイーピングするとき、システムは、Ｖ面を補間し、ストアしておく（１００７）。このスイープの結果得られるのは、Ｖ面の集合である（１００９）。第１または第２末端Ｖエッジのどちらかが面上になければ、システムはなにもしないので、面はストアされない。
【００４４】
図１１を参照して説明すると、投影フェーズ  （ｐｒｏｊｅｃｔｉｏｎ  ｐｈａｓｅ）  は、局所面が存在するときは、２面が存在するとき面上またはライン上の投影を計算することによって、平滑化フェーズ  （ｓｍｏｏｔｈｉｎｇ  ｐｈａｓｅ）  の結果を局所面に従って向上するために使用される。局所面が検出されなかったときは、なにも行われない。この方法は、滑らかにされた制御点から開始される（１１０１）。システムは、Ｕ面が存在するかどうかを判断する（１１０２）。Ｕ面が存在していれば、システムはＶ面が存在するかどうかを判断する（１１０３）。Ｕ面とＶ面が存在していれば、システムは、Ｕ面とＶ面の交差から得られたライン上に点を投影する（１１０４）。Ｕ面は存在するが、Ｖ面が存在しないときは、システムはそれぞれのＵ面上にＶ列を投影する（１１０５）。Ｖ面は存在するが、Ｕ面が存在しないときは、システムはそれぞれのＶ面上にＶ列を投影する（１１０７）。この方法に基づく各点の移動は、若干であるのが通常である。
【００４５】
図１６は、投影フェーズで使用される２タイプの投影の例を示している。ある制御点が与えられているとき、一方の面（つまり、Ｕ面１１０５またはＶ面１１０７のどちらか）だけが存在するときは、その点はその面上に投影される。図１６（Ａ）は、この投影を側面から見た図である。オリジナル点１６０２は、直交投影を使用して面１６０１上に投影され、その結果として投影点１６０３が得られる。図１６（Ｂ）は、この同じ投影を上から見た図である。
【００４６】
ある制御点が与えられているとき２つの面が存在するような状況では（つまり、Ｕ面とＶ面の両方が存在するとき（１１０４））、その点は、これら２面の交差から得られたライン上に投影される。図１６（Ｃ）は、この投影を側面から見た図である。オリジナル点１６２５は、交差ライン１６２１上に投影される。この交差ラインは、第１面１６２２と第２面１６２３の交差から得られたものである。オリジナル点１６２５は、直交投影を使用して交差ライン１６２１上に投影され、その結果として投影点１６２４が得られる。図１６（Ｄ）は、この同じ投影を上から見た図である。
【００４７】
本発明の別の実施形態では、変形プロセス  （ｄｅｆｏｒｍａｔｉｏｎ  ｐｒｏｃｅｓｓ）  が示されている。このプロセスの目標は、面の特徴をそのまま残したまま、制御点面を変形するツールをユーザに提供することである。図７は、制御点７０２上で「プルアップ（ｐｕｌｌｉｎｇ  ｕｐ）」することによって面７０１を変形した結果を示している。制御点が引き上げられると、周囲面はその変形と一緒に移動する。その結果、面はその特徴がそのまま残されることになる。
【００４８】
図１２は、変更方法のフローチャートを示す図である。この方法は、制御点メッシュを使用している（１２０１）。修正すべき点があるとき、このシステムは、メッシュの２方向に沿って局所面を計算する。システムは、Ｕ列が面にあるかどうかを判断する（１２０２）。Ｕ列が面上にあれば、システムは、次に、Ｖ列が面上にあるかどうかを判断する（１２０３）。Ｕ列とＶ列が面にあれば、システムは、２面の交差の結果得られたラインを計算し、そのライン上に点を拘束する（１２０７）。Ｕ列は面にあるが、Ｖ列が面になければ、システムは、検出された面上に点を拘束する（１２０６）。同様に、Ｕ列は面上にないが、Ｖ列が面上にあれば、システムは、検出された面上に点を拘束する（１２０６）。Ｕ列とＶ列が面上になければ、システムは点を拘束しないので（１２０５）、点の平行移動  （ｔｒａｎｓｌａｔｉｏｎ）  は自由になる。この実施形態での面の判断は、平滑化方法の場合と同じである。
【００４９】
以上、述べてきた方法は、シングルコンピュータ上でも、ネットワーク内コンピュータ上でも、あるいはＣＡＤまたは類似設計システムと一緒に稼動するように設計されたコンピューティングデバイス上でも、実現することが可能である。コンピューティングシステム用のユーザインタフェース（プログラム、そのプログラムを記録した記録媒体）を使用すると、上述したように、設計者に制御点ネットワークを操作させ、調和させることが可能になる。
【００５０】
以上、本発明のいくつかの実施形態について説明してきた。当然に理解されるように、これらの実施形態は、本発明の精神と範囲から逸脱しない限り、種々態様に変更することが可能である。
【図面の簡単な説明】
【図１】（Ａ）〜（Ｄ）は、調和プロセスが適用される前と適用された後の面を示す図である。
【図２】列を含んでいる面の例を示す図である。
【図３】（Ａ）〜（Ｃ）は、参照軸方法の例を示す図である。
【図４】制御点をもつ面の例を示す図である。
【図５】（Ａ）および（Ｂ）は面上の参照軸方法の例を示す図である。
【図６】局所面検出方法の例を示す図である。
【図７】点の変形例を示す図である。
【図８】調和方法のフローチャートである。
【図９】平滑化方法を示すフローチャートである。
【図１０】局所面検出方法を示すフローチャートである。
【図１１】面投影方法を示すフローチャートである。
【図１２】点変形方法を示すフローチャートである。
【図１３】平滑化方法の例を示す図である。
【図１４】平滑化方法の例を示す図である。
【図１５】平滑化方法の例を示す図である。
【図１６】（Ａ）〜（Ｄ）は、面投影方法の例を示す図である。
【符号の説明】
１００、１２０  不均一面
１０１、１１１、１２１、１３１  制御点エッジ
１１０、１３０  調和された面
２０１  面
２０２  エッジＵ
２０３  エッジＶ
２０５  Ｕ方向
２０６  Ｖ方向
５０１、５０２  局所面
５０５、５０６  Ｕ列
【図１】
0003770840.tif 000004
【図２】
0003770840.tif 000005
【図３】
0003770840.tif 000006
【図４】
0003770840.tif 000007
【図５】
0003770840.tif 000008
【図６】
0003770840.tif 000009
【図７】
0003770840.tif 000010
【図８】
0003770840.tif 000011
【図９】
0003770840.tif 000012
【図１０】
0003770840.tif 000013
【図１１】
0003770840.tif 000014
【図１２】
0003770840.tif 000015
【図１３】
0003770840.tif 000016
【図１４】
0003770840.tif 000017
【図１５】
0003770840.tif 000018
【図１６】
0003770840.tif 000019