(57)【特許請求の範囲】
【請求項１】
コンピュータによる表面加工データの作成方法であって、
絞付与対象の自由曲面で定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化し、
１つのパッチを処理対象として、隣接するパッチ１つずつとの間でポリゴンメッシュを連続させる形状連続処理を行い、
前記処理対象の各パッチごとにその平均法線を用いてテクスチャ座標系を設定し、
前記処理対象のパッチのすべての頂点を当該パッチの前記テクスチャ座標系に射影してテクスチャ値を求めるとともに、
前記処理対象のパッチにおける所定範囲の頂点について、当該処理対象のパッチに隣接するパッチの前記テクスチャ座標系に射影してテクスチャ値を求めて、両テクスチャ値の混ぜ合わせを行うことにより前記テクスチャをマッピングし、
前記処理対象のパッチの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させ、
変位させた各頂点に基づいて新たなポリゴンメッシュデータを作成し、
前記形状連続処理以下の処理をそれぞれ前記処理対象のパッチと隣接するパッチの１つずつ順次にデータを作業メモリに読み込んで行うことを繰り返して、前記新たなポリゴンメッシュデータを絞が付与されたパッチ単位の表面加工データとする
ことを特徴とする表面加工データの作成方法。
【請求項２】
前記隣接するパッチは、ポリゴンメッシュ化した１つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかを探索して、ポリライン上に重なっているときを互いに隣接関係にあるとして設定することを特徴とする請求項１に記載の表面加工データの作成方法。
【請求項３】
前記テクスチャデータが、２次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値をテクスチャ値とする画像データであることを特徴とする請求項１または２に記載の表面加工データの作成方法。
【請求項４】
前記所定範囲は、前記隣接するパッチとの境界の頂点との最短距離が所定値以内であることを特徴とする請求項１に記載の表面加工データの作成方法。
【請求項５】
前記両テクスチャ値の混ぜ合わせは、前記最短距離でウエイト付けして行うことを特徴とする請求項４に記載の表面加工データの作成方法。
【請求項６】
前記形状連続処理は、前記処理対象のパッチと前記隣接するパッチとの間の境界線上のそれぞれの頂点の位置を互いに一致させるものであることを特徴とする請求項４または５に記載の表面加工データの作成方法。
【請求項７】
前記形状連続処理は、前記処理対象のパッチと前記隣接するパッチとの間の境界線上のそれぞれの頂点の位置を互いに一致させるものであり、
前記頂点の一致は、前記処理対象のパッチと前記隣接するパッチの一方の境界線上の頂点と同位置に他方の境界線に頂点を生成させて互いに一致させることを特徴とする請求項１に記載の表面加工データの作成方法。
【請求項８】
前記最短距離を求める対象である前記隣接するパッチとの境界の頂点は、当該隣接するパッチの境界線上に位置する頂点を参照することにより識別されることを特徴とする請求項６に記載の表面加工データの作成方法。
【請求項９】
前記処理対象のパッチと前記隣接するパッチとの間の境界線上で位置を一致させた頂点の法線を前記処理対象のパッチと前記隣接するパッチの間で互いに一致させることを特徴とする請求項６または７に記載の表面加工データの作成方法。
【請求項１０】
前記処理対象のパッチの頂点の法線を前記隣接するパッチの頂点の法線に合わせて一致させることを特徴とする請求項９に記載の表面加工データの作成方法。
【請求項１１】
前記処理対象のパッチはポリゴンメッシュのデータ量の大きい順に選択されることを特徴とする請求項１から１０のいずれか１に記載の表面加工データの作成方法。
【請求項１２】
前記隣接するパッチは前記１つの処理対象のパッチと隣接関係にあるパッチのうちポリゴンメッシュのデータ量の大きい順に選択されることを特徴とする請求項１１に記載の表面加工データの作成方法。
【請求項１３】
自由曲面で定義される絞付与対象の製品形状データとテクスチャデータを入力するデータ入力部と、
製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化するポリゴンメッシュ化手段と、
パッチにかかる処理に用いる作業メモリと、
パッチ間の隣接関係を探索する隣接関係探索手段と、
１つのパッチを処理対象として、隣接するパッチ１つずつとの間でポリゴンメッシュを連続させる処理を行う形状連続処理手段と、
前記処理対象の各パッチごとにその平均法線を用いてテクスチャ座標系を設定し、
前記処理対象のパッチのすべての頂点を当該パッチの前記テクスチャ座標系に射影してテクスチャ値を求めるとともに、
前記処理対象のパッチにおける所定範囲の頂点について、当該処理対象のパッチに隣接するパッチの前記テクスチャ座標系に射影してテクスチャ値を求めて、両テクスチャ値の混ぜ合わせを行うことにより前記パッチにテクスチャをマッピングするマッピング手段と、
パッチの前記ポリゴンメッシュの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させる頂点変位手段と、
頂点変位手段による変位後の頂点を結んで、絞形状を含む絞付与ポリゴンメッシュを作成する絞付与ポリゴンメッシュ作成手段とを有し、
前記作業メモリは最大２つのパッチのデータを格納可能であり、前記形状連続処理手段以下の各手段はそれぞれ前記処理対象のパッチと隣接するパッチの１つずつ順次にデータを前記作業メモリに読み込んで、前記処理対象のパッチと１つの隣接するパッチの組み合わせ単位で処理を行い、
前記絞付与ポリゴンメッシュのデータをパッチ単位の表面加工データとして出力することを特徴とする表面加工データ作成装置。
【請求項１４】
前記形状連続処理手段は、前記処理対象のパッチと隣接するパッチ間のそれぞれの境界線上の頂点を互いに一致させることを特徴とする請求項１３に記載の表面加工データ作成装置。
【請求項１５】
前記マッピング手段は、処理対象のパッチと隣接するパッチのそれぞれのテクスチャ座標系に基づいて、処理対象の前記隣接するパッチとの間の境界から所定範囲についてテクスチャの混ぜ合わせを行うテクスチャ混ぜ合わせ手段を含むことを特徴とする請求項１３または１４に記載の表面加工データ作成装置。
【請求項１６】
前記マッピング手段は、前記処理対象のパッチの頂点の法線を前記隣接するパッチの頂点の法線に一致させる法線一致処理手段を含むことを特徴とする請求項１３から１５のいずれか１に記載の表面加工データ作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、樹脂製品の表面に絞（しぼ）模様を形成するための表面加工データの作成方法および装置に関する。
【背景技術】
【０００２】
家電製品、文具、または自動車用内装品などの表面には、見栄えや触感の向上、防眩、滑り止めなど様々な目的で絞が施されている。絞の模様には皮革、木目、岩目、砂目、なし地、幾何学模様などさまざまな微細形状の模様が採用されている。
これらの絞を樹脂製品の表面に形成するために、従来のエッチング工法や電気鋳造法などに代わり、特開平７−２４１９０９号公報や特開２００４−３５８６６２号公報には、皮革モデルなどの表面形状を読み取った表面測定値から表面形状の深さを２５６階調の濃度で表わした画像データに変換してコンピュータにより生成した加工データを用いて絞を付与する技術が提案されている。
【０００３】
この絞形状データから加工データを生成するに当って、立体物の傾斜面において絞に歪が生じるのを避けるため、例えば画像データにおける絞の深さに対応する濃度に応じて、製品曲面上にボクセルを積み上げて絞を製品表面の法線方向に生成するボクセルデータ変換を用いたモデリングソフトなどが提供されている。
しかし、このような方式では、先ず製品形状データをボクセルデータに変換するために膨大なデータ量を必要とする。
さらに、複数の曲面からなる連続した複雑形状の製品表面に対しては、分割した範囲ごとに絞を生成し、絞生成後に隣接する絞形状とのつなぎ目処理が必要となるが、これに対する満足な処理が未解決である。
【０００４】
すなわち、つなぎ目の絞を同じ形状で合せることが難しく、つなぎ目が目立たないようにするには多大な工数を要する手作業による修正が必要となる。しかも、手作業による修正はつなぎ合わせようとする絞形状を変形させることとなるので、作業者の熟練度により出来栄えが変り、角が丸くなったり、溝や山が太くなったり、曲がったりして、修正の狙いから外れて見栄えの悪いものとなってしまうことも多く、品質が安定しない。したがって従来の手法はその主な適用対象が平面や円筒面に限定されているのが実情である。
【０００５】
そこで、本出願人は、ガウス曲率が大きかったり、あるいはガウス曲率が緩くても面積が広くなる多数の曲面で構成される製品形状であっても、製品表面に歪みの少ない絞が形成されるようにした表面加工データの作成技術を、先の特願２０１０−０５２１２３に提案した。
これは、絞付与対象の自由曲面で定義される製品形状データをポリゴンメッシュ化し、ポリゴンメッシュを分割した１つを初期領域としてテクスチャをマッピングし、このマッピングされたテクスチャに所定の要求レベルを満たす変化でつながる新たなテクスチャを合成して、隣接する領域に新たなテクスチャをマッピングすることを繰り返してすべての領域にテクスチャをマッピングし、ポリゴンメッシュの各頂点をテクスチャに基づいてそれぞれの法線方向に変位させた新たな頂点に基づいて作成した新たなポリゴンメッシュデータを絞が付与された表面加工データとするものである。
これにより、初期段階でデータを分割したとしても絞形状のつなぎ目が滑らかで、表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２４１９０９号公報
【特許文献２】特開２００４−３５８６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上に提案した絞の表面加工データ作成においては、従来のボクセルデータ変換のための膨大なデータ量を処理する必要からは解放されるが、しかし、絞形状を付与する製品形状データ自体はそのすべてをコンピュータのメインメモリに読み込んでおかないと、生成する絞形状の連続性を保持することができない。このため、絞形状を付与する面積が大きくなると一度に処理しなければならないデータ量も増大することとなり、内部のメインメモリの限られた容量では処理に時間がかかることになる。とくにデータ量がメインメモリの格納可能量を超えるような場合には、ハードディスク等外部の補助メモリも一時的に使用するが、ハードディスクはアクセス速度が極度に遅いために処理速度の低下も激しく、場合によってコンピュータのフリーズ状態を招くので、絞形状付与対象のサイズにかかわらず円滑に処理が遂行されるよう、さらに実用性向上に向けた改良が望まれる。
【０００８】
したがって、本発明は上記にかんがみ、歪みの少ない見栄えの良い絞を付与することができるとともに、大面積形状への絞付与においても処理速度低下などを招くことなく実用範囲で処理可能な表面加工データの作成方法および装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
このため本発明は、コンピュータによる表面加工データの作成方法であって、
絞付与対象の自由曲面で定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化し、
１つのパッチを処理対象として、隣接するパッチ１つずつとの間で順次にポリゴンメッシュを連続させる形状連続処理を行い、
処理対象の各パッチごとにその平均法線を用いてテクスチャ座標系を設定し、
処理対象のパッチのすべての頂点を当該パッチのテクスチャ座標系に射影してテクスチャ値を求めるとともに、
処理対象のパッチにおける所定範囲の頂点について、当該処理対象のパッチに隣接するパッチのテクスチャ座標系に射影してテクスチャ値を求めて、両テクスチャ値の混ぜ合わせを行うことによりテクスチャをマッピングし、
処理対象のパッチの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させ、
変位させた各頂点に基づいて新たなポリゴンメッシュデータを作成し、
上記形状連続処理以下を繰り返して、上記新たなポリゴンメッシュデータを絞が付与されたパッチ単位の表面加工データとするものとした。
【００１０】
テクスチャデータは、２次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値とするのが好ましい。
隣接関係の探索は、１つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているとき、当該１つのパッチと他のパッチが隣接関係にあるものとすればよい。
【００１１】
テクスチャのマッピングについては、各パッチごとにその平均法線を用いてテクスチャ座標系を設定し、処理対象のパッチのすべての頂点を当該パッチのテクスチャ座標系に射影してテクスチャ値を求めるとともに、処理対象のパッチにおける所定範囲の頂点について、処理対象のパッチに隣接するパッチのテクスチャ座標系に射影してテクスチャ値を求めて、両テクスチャ値の混ぜ合わせを行うことが好ましい。
上記の所定範囲は、隣接するパッチとの境界の頂点との最短距離が所定値以内の範囲とすることができる。
さらに、両テクスチャ値の混ぜ合わせは、上記の最短距離でウエイト付けして行うのが好ましい。
【００１２】
形状連続処理としては、処理対象のパッチと隣接するパッチとの間のそれぞれの境界線上の頂点を互いに一致させるのがよく、より具体的には、一方のパッチの境界線上の頂点と同位置に他方のパッチの境界線に頂点を生成することにより一致させることができる。
そして、最短距離を求める対象である隣接するパッチとの境界の頂点は、互いに位置を一致させた当該隣接するパッチの境界線上の頂点を参照することにより識別することができる。
【００１３】
さらに、処理対象のパッチと隣接するパッチとの間の境界線上で位置を一致させた頂点の法線を処理対象のパッチと隣接するパッチの間で互いに一致させ、とくに処理対象のパッチの頂点の法線を隣接するパッチの頂点の法線に合わせるのが好ましい。
一連の処理において、処理対象のパッチはポリゴンメッシュのデータ量の大きい順に選択するのが好ましい。
【発明の効果】
【００１４】
本発明は、まず、製品形状データをポリゴンメッシュ化し厚みを持たない曲面データとして処理することで、処理データ量が少なくて済む。
パッチに分割しているので表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
そしてとくに、形状連続処理から絞付与されたポリゴンメッシュ作成までを処理対象のパッチ単位で処理するものとし、その間処理対象のパッチに隣接するパッチが複数あっても順次に１つずつデータを読み込んで処理すればよいから、コンピュータのメモリへは一時に最大２つのパッチ分のポリゴンメッシュデータを格納するだけで済み、データがメモリの格納可能量を超えてコンピュータの処理速度が極端に低下したりすることがなく、高い実用性を有する。
【図面の簡単な説明】
【００１５】
【図１】実施の形態における表面加工データ作成装置の構成を示すブロック図である。
【図２】表面加工データ作成装置における処理の流れを示すメインフローチャートである。
【図３】三角形ポリゴンメッシュ作成の詳細を示すフローチャートである。
【図４】パッチにおける分割要領を示す概念図である。
【図５】グリッド点と境界線を示す図である。
【図６】ポリゴンメッシュを形成するグリッド点の抽出要領を示す説明図である。
【図７】境界線上の点列の生成要領を示す説明図である。
【図８】グリッド点により生成した四角格子メッシュを示す図である。
【図９】四角格子メッシュの外周凹部における三角形の形成要領を示す説明図である。
【図１０】四角格子メッシュと境界線上の点列による三角形ポリゴンの生成要領を示す図である。
【図１１】パッチ上に生成した三角形ポリゴンメッシュを示す図である。
【図１２】三角形ポリゴンメッシュの整形要領を示す説明図である。
【図１３】パッチの隣接関係探索の詳細を示すフローチャートである。
【図１４】境界線上の頂点一致処理の詳細を示すフローチャートである。
【図１５】頂点一致処理の経過を示す説明図である。
【図１６】頂点一致処理の経過を示す説明図である。
【図１７】頂点一致処理の経過を示す説明図である。
【図１８】頂点一致処理の経過を示す説明図である。
【図１９】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図２０】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図２１】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図２２】パッチの平均法線とテクスチャの射影方向を示す説明図である。
【図２３】パッチの頂点と境界線上の頂点との最短距離を示す図である。
【図２４】色の混ぜ合わせ要領を示す説明図である。
【図２５】ディスプレイスメントマッピングの概念を示す説明図である。
【図２６】抜き勾配による金型と製品の干渉を示す説明図である。
【図２７】変化式の概念を示す抜き勾配と変位量縮小率の関係図である。
【図２８】変位量縮小を適用した絞の深さ変化を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について説明する。
図１は、実施の形態にかかる表面加工データ作成装置の構成を示すブロック図である。
表面加工データ作成装置１０はコンピュータ構成で、製品の表面形状および絞のテクスチャデータとさらに処理ツールデータを入力するデータ入力部１１と、入力データ格納部１２と、入力データ格納部１２に格納されたデータを基に、製品の表面曲面に絞形状を付したポリゴンデータを生成するデータ処理部１３と、生成したポリゴンデータを記憶するポリゴンデータ記憶部１９と、ポリゴンデータ記憶部１９からポリゴンデータを加工データとして出力するデータ出力部２０と、データ処理部１３に接続した例えばハードディスクからなる処理データ格納部１４とからなる。
表面加工データ作成装置１０には、キーボードやジョグレバーなどからなる操作入力部２２と、画像データを表示可能なモニタ２３とが接続される。
【００１７】
データ入力部１１に入力される製品形状データとしての表面形状データは、ＣＡＤデータとして多く用いられる各々の座標をパラメータｕ、ｖの関数Ｓ＝Ｆ（ｕ、ｖ）とした自由曲面で定義され、あらかじめ自由曲線で表わした境界線により複数の曲面に分割されたパッチ情報として構成され、入力データ格納部１２に格納される。
なお、境界線はとくに断らない限り、いわゆるトリムラインを含むものであり製品形状の端縁を画して隣接するパッチのない境界線を含むものである。
表面形状データには、製品の絞を付与する対象部分（以下、絞付与対象という）の全体サイズが含まれている。
【００１８】
テクスチャデータは、絞の深さを濃度に割り当てた２５６階調の２次元のグレースケール画像データであり、少ないデータ量でテクスチャを表現でき、データ処理が簡単である。
テクスチャデータはデータ処理部１３での処理のため画素値として読み出される。以下では、便宜的に画素値を単に色、あるいは色情報とも言う。
処理ツールデータには、テクスチャの混ぜ合わせの際に重み付けを行う範囲を定める境界線上の頂点からの最短距離の上限値、抜き勾配に応じて変化させる縮小率の算出に用いる射出成形型の型開き方向などがある。
【００１９】
データ処理部１３は、ポリゴンメッシュ化部３０、ポリゴンメッシュ統合部３１、テクスチャ合成部３３、絞生成部３４および作業メモリ３５（メインメモリ）を備えている。
ポリゴンメッシュ化部３０は、各パッチＷごとにその自由曲面上に頂点を有する三角形ポリゴンメッシュを作成し、ポリゴンメッシュ統合部３１は隣接するパッチ間で三角形ポリゴンメッシュが滑らかにつながるように処理を行う。
テクスチャ合成部３３は、パッチ単位で三角形ポリゴンメッシュにテクスチャをマッピングするとともに、隣接パッチとのテクスチャの連続性を確保するため色の混ぜ合わせを行う。
【００２０】
絞生成部３４は、三角形ポリゴンメッシュの各頂点に対応するテクスチャデータの濃度階調に基づいて、当該各頂点の位置を変位させて、絞が付与されたポリゴンデータを生成する。
三角形ポリゴンメッシュの頂点位置変位については、金型の抜き勾配に応じた変位量縮小率を適用して変位量を変化させ、型抜き時のアンダーの発生を防止する。データ処理部１３には、変位量縮小率を定める複数の変化式があらかじめ設定されており、成形材料や製品形状の特性等を考慮して、操作入力部２２の操作によりいずれかの変化式を選択可能となっている。
【００２１】
作業メモリ３５には、データ処理部１３内の各部における処理データが一時的に格納される。
処理データ格納部１４には、まずポリゴンメッシュ化部３０で作成されたすべてのパッチの三角形ポリゴンメッシュが格納されてデータ処理部１３での処理に応じてパッチ単位で読み出され、再格納される。作業メモリ３５に一時的に格納されるのは、処理される最大２つまでのパッチ分のデータとなる。すなわち、ポリゴンメッシュ統合部３１で頂点列を一致させた隣接パッチの三角形ポリゴンメッシュも一致処理が済むごとに作業メモリ３５から消去され、新たな隣接パッチの三角形ポリゴンメッシュと入れ替えられる。また、テクスチャ合成部３３でマッピングした三角形ポリゴンメッシュも、パッチ単位の処理が終わるごとに処理データ格納部１４に格納されて、作業メモリ３５からは消去される。
データ処理部１３は絞が付与されたポリゴンデータをパッチ単位でポリゴンデータ記憶部１９に記憶させる。
モニタ２３には、各処理の進捗状態を画像を含めて表示することができる。
【００２２】
次に、上記表面加工データ作成装置１０における処理の詳細について説明する。
図２は処理の流れを示すメインフローチャートである。
製品の表面形状データのパッチ情報、絞のテクスチャデータ、型開き方向の角度情報、および後述する三角形ポリゴンメッシュの間隔上限値ｂが操作入力部２２の操作によりデータ入力部１１に入力されると、各データが入力データ格納部１２に格納されて、処理が開始される。なお、これらのデータ入力とともに、変位量縮小率を定める変化式も操作入力部２２により選択される。
【００２３】
先ずステップ１００において、データ処理部のポリゴンメッシュ化部３０は、入力データ格納部１２からパッチＷの情報を読み出し、三角形ポリゴンメッシュＱｃを作成する。
ステップ１０１で、すべてのパッチＷについて三角形ポリゴンメッシュを作成したかどうかをチェックする。
まだ三角形ポリゴンメッシュＱｃを作成していないパッチが残っていればステップ１００へ戻り、すべてのパッチＷの三角形ポリゴンメッシュ作成が完了していればステップ１０２へ進む。
ステップ１０２では、ポリゴンメッシュ統合部３１において、パッチごとに他のパッチと境界が重なっているかの隣接関係を探索して、互いに隣接するパッチを特定する。
【００２４】
次のステップ１０３において、隣接関係にあるパッチの境界線上の頂点を一致させる。これは、境界線の頂点列はパッチ間で同位置として共有されることが望ましいから、境界線上の頂点を移動あるいは新しく生成することにより一致させるものである。
ステップ１０４では、すべてのパッチＷについて頂点一致処理が完了したかどうかをチェックする。
頂点一致処理が終了していないパッチが残っていればステップ１０３へ戻り、すべてのパッチについて頂点一致処理が完了していればステップ１０５へ進む。
ステップ１０５において、テクスチャ合成部３３はパッチＷの三角形ポリゴンメッシュＱｃにテクスチャをマッピングする。
【００２５】
ステップ１０６において、絞生成部３４がテクスチャデータおよび処理ツールデータに基づいて、ディスプレイスメントマッピングにより三角形ポリゴンメッシュＱｃの各頂点を移動させ、絞付与ポリゴンデータとしてポリゴンデータ記憶部１９に格納する。
ステップ１０５、１０６は１つのパッチＷについて続けて実行される。
ステップ１０７で、すべてのパッチＷについて絞形状が付与されポリゴンデータ記憶部１９に格納されたかどうかをチェックする。
すべてのパッチについて絞形状の付与が終了していなければステップ１０５へ戻り、終了していればステップ１０８へ進む。
ステップ１０８では、モニタ２３に処理が完了した旨を表示して、本処理を終了する。
処理データ格納部１４に格納されたデータは消去される。
このあと、データ出力部２０は、操作入力部２２の操作により、ポリゴンデータ記憶部１９から絞付与ポリゴンデータを読み出し、加工データとして加工装置等へ出力可能となる。
【００２６】
図３は、ステップ１００における三角形ポリゴンメッシュＱｃ作成の詳細を示すフローチャートである。
ステップ２００において、選択したパッチＷの図４の（ａ）に示すような自由曲面（パラメトリック曲面）Ｊを格子の間隔が間隔上限値ｂ以下となるように分割するパラメータｕ、ｖの分割数を算出する。例えばパッチＷのｕのパラメータ間隔（最大値−最小値）をある整数ｍで分割し、パラメータ間隔ｃを求める。ｃを用いてパッチＷを分割し、間隔上限値ｂと比較し、ｂより大きい場合にはｍを増やす。すべての格子間隔が間隔上限値ｂより小さくなるまでこの処理を繰り返す。パラメータｖに対しても同様の処理を行う。図４の（ｂ）は自由曲面上の分割線を示す。
【００２７】
ステップ２０１では、上で算出したｕ、ｖそれぞれの分割数を用いて各格子点のパラメータ値を算出し、図５に示すように、自由曲面上に点を生成する。この生成した点を以下、グリッド点Ｃａと言う。なお、図５はｕ−ｖ面にそった拡大図で、簡単化のためアイソパラメトリック曲線を省いてある。
【００２８】
ステップ２０２において、ポリゴンメッシュ形成用のグリッド点Ｃａを抽出する。
具体的には、グリッド点Ｃａのうち、図６に白抜きで示すように、パッチＷの境界線Ｋを含んで境界線の外部にあるものを削除し、さらに、境界線Ｋより内部にあっても境界線からの距離が格子間隔の１／１００未満のものも削除する。格子間隔は間隔上限値ｂ、あるいは実際に分割した格子間隔でもよい。
なお、境界線Ｋはトリムラインを含み、Ｂ−ｓｐｌｉｎｅ曲線で示される。境界線Ｋの形状はパッチごとに任意である。
境界線Ｋからの距離が所定距離未満のグリッド点Ｃａを排除するのは、次に述べる境界線Ｋ上の点を用いて形成するポリゴンが極端に小さくなってしまうことを避けるためである。
【００２９】
ステップ２０３では、境界線Ｋを間隔上限値ｂ以下の間隔となるように分割する分割数を算出し、ステップ２０４で、図７に示すように、当該分割数を用いて境界線Ｋ上に点列Ｃｂを生成する。なお、以下では点列の個々の点もＣｂで表す。
なお、分割数についてはグリッド点Ｃａの場合と同様に全周が等分割される値にすることができるが、グリッド点Ｃａおよび点列Ｃｂの分割についてはいずれも間隔上限値ｂで等分割した上最後の間隔上限値ｂを越える部分のみを２分してもよい。これにより、グリッド点および点列がそれぞれ所定範囲内に均一化した間隔となる。
【００３０】
ステップ２０５において、先のステップ２０２で抽出したグリッド点Ｃａを用いて図８に示すように、四角格子メッシュＳｑｃを生成する。なお、各交点がグリッド点Ｃａに対応するが、その黒丸表示は省いている。
ステップ２０６において、四角格子メッシュＳｑｃの外周形状が階段状になって凹部がある場合には、図９のＥ１、Ｅ２部に示すように、当該凹部の内角を挟む外周の２つのグリッド点を直線で連結して三角形Δ１、Δ２を形成する。ただし、Ｅ３部の破線で示すように、２つのグリッド点を連結する直線が境界線Ｋを横切る場合は三角形を形成しない。
【００３１】
ステップ２０７において、図１０に示すように、四角格子メッシュＳｑｃの各格子における１組の対角位置にあるグリッド点を連結して三角形ポリゴンＴｐｃを生成する。
続いてステップ２０８において、四角格子メッシュＳｑｃの外周にあるグリッド点Ｃａと境界線Ｋ上の点列Ｃｂとの間にも三角形ポリゴンを生成する。
【００３２】
ここでは、図１０に示すように、まず外周にあるグリッド点の１つＣａ１を選び、これに最も近い境界線Ｋ上の点Ｃｂ１と連結する。この連結直線Ｒ０をそれぞれ１辺として、さらに四角格子メッシュＳｑｃの外周にある隣接のグリッド点Ｃａ２とからなる三角形ΔＣａ１−Ｃｂ１−Ｃａ２と、境界線Ｋ上の隣接の点Ｃｂ２とからなる三角形ΔＣａ１−Ｃｂ１−Ｃｂ２とを演算して、これら２つの三角形のうち正三角形に近い方を三角形ポリゴンＴｐｃとして採用する。
正三角形に近いかどうかは、三角形の最大内角度と最小内角度の差が０（ゼロ）に近いほど正三角形に近いとするか、あるいは最長辺の長さと最短辺の長さの比が１に近いほど正三角形に近いとして判断することができる。
【００３３】
つぎに、上記選択したグリッド点Ｃａ１に順次隣接する四角格子メッシュＳｑｃの外周上のグリッド点（例えばＣａ２）について以上の処理を繰り返す。隣接する方向は左回りまたは右回りを予め定めておけばよい。
以上により、図１１に示すように、四角格子メッシュＳｑｃの外周から境界線Ｋ上の点列Ｃｂまで拡大した三角形ポリゴンメッシュＱｃがパッチの自由曲面Ｊ上に生成される。
【００３４】
ステップ２０９において、エッジスワップによる三角形ポリゴンメッシュＱｃの整形を行う。ステップ２０８において生成される三角形ポリゴンメッシュＱｃはステップごとに形の良い正三角形に近い三角形を選択して生成する処理となっているが、生成された三角形ポリゴンメッシュ全体で見るとエッジスワップすることでより良い三角形を生成できる場合がある。
ここでは、図１２に破線で示す四角格子メッシュＳｑｃの外周上のグリッド点Ｃａ３と境界線上の点Ｃｂ３を連結してその両側に三角形ポリゴンが存在する１つの稜線Ｒ１に対して、太実線で示すように一方の三角形ポリゴンを構成する境界線上の点Ｃｂ４と他方の三角形ポリゴンを構成する外周上のグリッド点Ｃａ４とを連結する稜線Ｒ２を演算する。そして、この新たな稜線Ｒ２の両側に形成される２つの三角形（エッジスワップ後の三角形）を求める。
【００３５】
図１２に示されるように、エッジスワップ後の２つの三角形△Ｃａ４−Ｃｂ４−Ｃａ３と△Ｃａ４−Ｃｂ４−Ｃｂ３が、エッジスワップ前の２つの三角形△Ｃａ３−Ｃｂ３−Ｃｂ４と△Ｃａ３−Ｃｂ３−Ｃａ４よりも正三角形に近づく場合には、破線の稜線Ｒ１を廃して、エッジスワップ後の三角形△Ｃａ４−Ｃｂ４−Ｃａ３と△Ｃａ４−Ｃｂ４−Ｃｂ３を三角形ポリゴンとして入れ替え採用する。
【００３６】
パッチＷの三角形ポリゴンメッシュＱｃは四角格子メッシュＳｑｃの外周上の順次隣接するグリッド点について以上の処理を繰り返して整形される。
各パッチＷの三角形ポリゴンメッシュＱｃのデータは、前述のように、その作成ごとに処理データ格納部１４に格納される。
以下の各処理において、単にパッチと言うときも、特記しない限りパッチの三角形ポリゴンメッシュＱｃを指す。
【００３７】
図１３は、ステップ１０２におけるパッチＷの隣接関係探索の詳細を示すフローチャートである。
まずステップ３００において、すべてのパッチＷの三角形ポリゴンメッシュＱｃのデータ容量を調べ、データ容量の大きい順にパッチＷの処理順番を設定する。
これは、複数のパッチを個別に比較する場合に、より早く入力されたパッチのほうが遅く入力されたパッチよりも入出力回数が少なくなるので、データ容量の大きいパッチの入力をできるだけ減らして処理速度を速めるために順番を定めるものである。
ステップ３０１で、処理データ格納部１４からデータ容量の大きい順に１つのパッチＷの三角形ポリゴンメッシュＱｃのデータを作業メモリ３５に読み出し、その境界線上の頂点列を抽出する。抽出した頂点列（のデータ）はグローバル座標ファイルとして作業メモリ３５に格納する。その後、三角形ポリゴンメッシュＱｃのデータは作業メモリ３５から消去する。
【００３８】
ステップ３０２において、作業メモリ３５の頂点列を用いてポリラインを作成する。ポリラインは作業メモリ３５に格納される。各パッチＷのポリラインはデータ量が小さいので作業メモリ３５に蓄積される。
ステップ３０３で、すべてのパッチＷについてポリラインを作成したかどうかをチェックする。
ポリライン未作成のパッチがあればステップ３０１へ戻り、すべてのパッチのポリライン作成が完了するとステップ３０４へ進む。
【００３９】
ステップ３０４では、データ容量の大きい順に処理対象のパッチＷＡの境界線Ｋ上の頂点列を作業メモリ３５（グローバル座標ファイル）から読み出し、ステップ３０５で他のパッチＷのポリラインを読み出す。
そして、ステップ３０６においてパッチＷＡの頂点列が当該他のパッチＷのポリライン上に重なっているかどうかを探索する。
パッチＷＡの頂点列が他のパッチＷのポリライン上に重なっている場合には、ステップ３０７へ進んで、当該他のパッチＷが処理対象のパッチＷＡと隣接している旨の隣接関係を設定し、その隣接情報を作業メモリ３５に格納したあと、ステップ３０８へ進む。
頂点列が他のパッチＷのポリライン上に重なっていなかった場合には、ステップ３０６からステップ３０８へ進む。
【００４０】
ステップ３０８では、すべての他のパッチＷについて処理対象のパッチＷＡの頂点列とポリラインの重なりを探索したかどうかをチェックする。
パッチＷＡの頂点列とポリラインの重なりを探索していない他のパッチが残っている場合にはステップ３０５へ戻って、残りの他のパッチのポリラインを読み出し探索を繰り返す。
すべての他のパッチＷについて上記頂点列とポリラインの重なりの探索が終わると１つの処理対象のパッチＷＡに関する隣接情報が得られたことになる。
このあとはステップ３０９において、すべてのパッチについてそれぞれを処理対象として隣接関係の探索が行われたかどうかをチェックする。
処理対象としなかったパッチがまだ残っている場合にはステップ３０４へ戻り、すべてのパッチが処理対象として隣接関係の探索が完了するとステップ１０３へ進む。
【００４１】
図１４はステップ１０３におけるポリゴンメッシュ統合部３１による頂点一致処理の詳細を示すフローチャートである。図１５〜図１８は頂点一致処理の経過を示す説明図である。
ステップ４００において、まず処理対象のパッチＷＡの三角形ポリゴンメッシュＱｃのデータを処理データ格納部１４から作業メモリ３５に読み出し、ステップ４０１でパッチＷＡに対して隣接関係にあるパッチＷＢの三角形ポリゴンメッシュＱｃを同様に読み出す。パッチＷＡもパッチＷＢも読み出し順は前述のとおりデータ容量の大きい順である。
ステップ４０２において、２つのパッチＷＡ、ＷＢの境界にある頂点を移動あるいは生成して一致させる。
【００４２】
ここでは、まずパッチＷＡ、ＷＢの境界線上に乗っている頂点列を探索する。符号Ｋの代わりに、パッチＷＡの境界線をＢＯＡ、パッチＷＢの境界線をＢＯＢとする。パッチＷＡの境界線ＢＯＡとパッチＷＢの境界線ＢＯＢは本来重なる関係にあるが、図１５〜図１８には説明の便宜上離間させて示している。
図示の例では頂点Ｐａ１〜Ｐａ５がパッチＷＡの境界線ＢＯＡ上の頂点列ＰＡをなし、頂点Ｐｂ１〜Ｐｂ７がパッチＷＢの境界線ＢＯＢ上の頂点列ＰＢをなしているが、両頂点列は互いに同位置となってはいない。そして、例えばパッチＷＢの角部では、頂点列ＰＢの始点（頂点Ｐｂ１）に隣接する手前側の頂点ＰｂｚがパッチＷＡの境界線ＢＯＡと共通の線上に乗らない場合には、パッチＷＢにおける当該頂点Ｐｂｚと始点の頂点Ｐｂ１を結ぶ境界線はパッチＷＡの境界線ＢＯＡから離れることになる。このような場合、パッチＷＡの頂点Ｐａ１は境界線ＢＯＡ上の頂点ではあるがパッチＷＢとの共通の境界線上にはないから、頂点Ｐａ１をパッチＷＢの離間した境界線の頂点Ｐｂｚと一致させることは適当でない。
【００４３】
そこで、まず位置を一致させる頂点をパッチＷＡとパッチＷＢの各境界線ＢＯＡ、ＢＯＢの共通部分に乗っている頂点に限定する。
このため、図１５の（ａ）に矢示するように、パッチＷＡでは反時計方向に頂点列ＰＡを辿り、パッチＷＢでは時計方向に頂点列ＰＢを辿るものとして、パッチＷＢの頂点列ＰＢの始点（頂点Ｐｂ１）がパッチＷＡの境界線ＢＯＡ上にあるときは、当該始点が共通の境界線上にある頂点列の端であるとする。逆に頂点列Ｐｂの始点がパッチＷＡの境界線ＢＯＡ上にないときは、すなわち共通の境界線上になく、パッチＷＡの頂点列ＰＡの始点が共通の境界線上にある頂点列の端となる。
パッチＷＡとパッチＷＢの頂点列の終点についても同様である。
【００４４】
こうして、まず共通の境界線上の頂点列の端を一致させるため、図１５の（ｂ）に示すように、パッチＷＡの境界線ＢＯＡ上、パッチＷＢの頂点列ＰＢの始点（Ｐｂ１）と同位置に頂点Ｐａｘを生成して共通の境界線上の始点位置とし、同様に、パッチＷＢの境界線ＢＯＢ上、パッチＷＡの頂点列ＰＡの終点（頂点Ｐａ５）と同位置に頂点Ｐｂｘを生成して共通の境界線上の終点位置とする。位置を一致させた頂点を黒丸で示す。
パッチＷＡとパッチＷＢで同位置とした始点位置の両頂点（Ｐａｘ、Ｐｂ１）を対象点Ｎとし、対象点のフラグをそれぞれＡＢとする。すなわち、フラグＡＢは位置が一致した頂点を示す。
なお、境界線ＢＯＡ上に生成した頂点Ｐａｘと、その前後の頂点Ｐａ１、Ｐａ２間を１辺とする三角形の他の頂点との間に、エッジを生成して２つの三角形ポリゴンに分割して、四角形が生じないようにする。
【００４５】
そして、（ｃ）のように、パッチＷＡの頂点列ＰＡとパッチＷＢの頂点列ＰＢにおいてそれぞれフラグＡＢとした頂点から次の頂点までの距離を計算し、近い方の頂点を次の対象点Ｎとする。対象点（すなわち近い頂点）ＮのあるパッチのフラグをＡとし、他方のパッチのフラグをＢとして、対象点Ｎの位置からさらに次に近い方の頂点がフラグＡまたはフラグＢのパッチのどちらにあるのかで頂点を移動するのか生成するのかを決定する。
すなわち、対象点Ｎの位置からさらに次に近い方の頂点がフラグＡのパッチ側にある場合には、フラグＢのパッチの境界線上フラグＡの対象点Ｎと同じ位置に新たな頂点を生成し、対象点Ｎの位置から近いさらに次の頂点がフラグＢのパッチ側にある場合には、当該近い方の頂点と対象点Ｎの頂点とをそれらの間の中点位置へそれぞれ移動させる。
なお、対象点Ｎの位置から次の頂点への距離が等しい場合には、対象点Ｎの位置からさらに次に近い方の頂点がフラグＡのパッチ側にある場合と同様に、フラグＢのパッチの境界線上フラグＡの対象点Ｎと同じ位置に新たな頂点を生成する。
図１５の例では、フラグＡＢの頂点からパッチＷＡの頂点Ｐａ２の方がパッチＷＢの頂点Ｐｂ２よりも近いから、頂点Ｐａ２を対象点Ｎとし、パッチＷＡのフラグをＡとし、パッチＷＢのフラグをＢとする。
【００４６】
次に、図１６の（ｄ）に示すように、フラグＡのパッチＷＡで対象点Ｎとされた頂点Ｐａ２により近い次の頂点がフラグＢのパッチの頂点Ｐｂ２であるから、（ｅ）に示すように、対象点の頂点Ｐａ２とこれに近いフラグＢのパッチの頂点Ｐｂ２間の距離の中点位置へ双方の頂点を移動させて、これらのフラグをそれぞれＡＢとする。
次に、フラグＡＢとした頂点Ｐａ２、Ｐｂ２から次の頂点までの距離を計算すると、頂点Ｐｂ３の方が頂点Ｐａ３よりも近いから頂点Ｐｂ３を新たな対象点Ｎとし、パッチＷＢのフラグがＡに変り、パッチＷＡのフラグがＢとなる。
【００４７】
そして、（ｆ）に示すように、対象点Ｎの頂点Ｐｂ３により近い次の頂点はフラグＡのパッチＷＢにおける頂点Ｐｂ４であるから、図１７の（ｇ）に示すように、フラグＢのパッチＷＡの境界線ＢＯＡ上に頂点Ｐｂ３と同じ位置の頂点Ｐａｙを生成して、これらの頂点Ｐａｙ、Ｐｂ３をフラグＡＢとする。
ここでも、境界線ＢＯＡ上に生成した頂点Ｐａｙと、その前後の頂点Ｐａ２、Ｐａ３間
を１辺とする三角形の他の頂点との間に、エッジを生成して２つの三角形ポリゴンに分割する。
なお、フラグＡＢの頂点からフラグＡおよびＢのパッチにおける次の頂点までの距離が等しい場合は、これらの頂点の位置をそのまま確定して、当該頂点を次のフラグＡＢの頂点とすればよい。
図１７、図１８の（ｈ）以降は上述した要領で頂点の生成、移動を繰り返し実施した経過を示し、これにより最終的に（ｋ）に示すように、２つのパッチＷＡ、ＷＢの境界に互いに頂点位置を一致させた頂点列ＰＡ’、ＰＢ’が得られる。
【００４８】
図１４のフローチャートに戻って、ステップ４０３では、境界線上の頂点を処理対象であるパッチＷＡと一致させた隣接のパッチＷＢの三角形ポリゴンメッシュを、処理データ格納部１４に戻して置換格納し、作業メモリ３５からは消去する。
ステップ４０４において、パッチＷＡに隣接するすべてのパッチＷＢについて境界線上の頂点を一致させたかどうかをチェックする。
頂点一致について未処理のパッチＷＢが残っている場合はステップ４０１へ戻り、隣接するすべてのパッチＷＢについて頂点を一致させると、ステップ４０５へ進む。
ステップ４０５では、処理対象のパッチＷＡ全面の平均法線を計算し、平均法線方向からテクスチャ座標系を設定して作業メモリ３５のグローバル座標ファイルに格納する。
これはテクスチャマッピングのための準備である。
グローバル座標系（Ｘ，Ｙ，Ｚ）の原点をテクスチャ座標系（ｓ，ｔ，ｕ）の原点とし、テクスチャ座標系のｕ軸をパッチの平均法線方向とする。
【００４９】
このあと、ステップ４０６において、パッチＷＡの頂点一致させた境界の頂点列ＰＡ’を作業メモリ３５のグローバル座標ファイルに置換格納するとともに、ステップ４０７で、パッチＷＡの三角形ポリゴンメッシュＱｃを処理データ格納部１４に置換格納する。
これにより、１つのパッチＷＡについての隣接のパッチＷＢとの境界線上の頂点一致処理は終了する。このパッチＷＡの三角形ポリゴンメッシュは以後の頂点一致処理対象から除外される。
このあとはステップ１０４において、すべてのパッチＷについて処理対象として隣接パッチとの頂点一致処理が完了したかどうかがチェックされ、処理対象となっていないパッチが残っている場合には、ステップ４００へ戻って次にデータ容量の大きいパッチについて上記のステップ処理が繰り返されることになる。
【００５０】
次に絞形状付与の詳細について説明する。
図１９〜図２１はステップ１０５、１０６におけるテクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
ステップ５００において、テクスチャ合成部３３は絞を付与する処理対象のパッチＷＡの三角形ポリゴンメッシュＱｃを処理データ格納部１４から作業メモリ３５に読み出す。読み出し順はステップ３００で設定したデータ容量の大きい順とする。
ステップ５０１において、読み出したパッチＷＡのすべての頂点の法線を計算して、頂点の属性情報として付加する。
次のステップ５０２において、パッチＷＡのすべての頂点をステップ４０５で平均法線を用いて設定した当該パッチＷＡのテクスチャ座標系に射影して色情報を求め、頂点の属性情報として付加する。
図２２の（ａ）は、パッチＷＡにかかるテクスチャ座標系を示し、テクスチャの射影方向は平均法線と平行である。
【００５１】
ステップ５０３では、処理対象のパッチＷＡに隣接するパッチの１つを選択し、当該隣接するパッチＷＢの境界線上の頂点を処理データ格納部１４から読み出す。このステップで選択するパッチＷＢはデータ量の大きい順である。
そして、隣接するパッチ間の境界線上の頂点は、頂点一致処理されているから、パッチＷＡの境界線上の頂点をパッチＷＢの境界線上の頂点と対比することにより、同一位置に重複する頂点がパッチＷＡとパッチＷＢ間の共通の境界線上にある頂点であることを識別する。
ステップ５０４において、パッチＷＡのすべての頂点と前ステップで識別されたパッチＷＡとパッチＷＢ間の境界線上の頂点との最短距離Ｌを算出する。最短距離Ｌとは、図２３に示すように、２頂点間の直線距離を言う。
【００５２】
そしてステップ５０５において、最短距離Ｌが所定値Ｌｍａｘより小さい頂点について、パッチＷＢの平均法線を用いて設定したテクスチャ座標系に射影した色情報を求めて、パッチＷＡの平均法線を用いて設定したテクスチャ座標系に射影してすでにステップ５０２で付加されている色情報と混ぜ合わせを行う。混ぜ合わせ結果はすでに付加されている色情報に上書きされる。
図２２の（ｂ）には処理対象パッチＷＡと隣接パッチＷＢ（破線）のテクスチャ座標系が異なるため、隣接パッチＷＢのテクスチャ座標系での射影を処理対象パッチＷＡまで敷衍したとき、同一点（頂点Ｐ）に射影されるテクスチャＧＢが処理対象パッチＷＡのテクスチャ座標系で射影されたテクスチャＧＡとは異なる状態が示されている。
このため、処理対象パッチＷＡと隣接パッチＷＢとはその境界でテクスチャが不連続となるから、混ぜ合わせにより色の極端な変化を抑え、滑らかにつながるようにする。
【００５３】
ここでは、図２４に示すように、混ぜ合わせる色情報を最短距離がＬｍａｘの範囲にある頂点の画素値とする。最短距離Ｌ＝０（境界線上）では処理対象パッチＷＡのテクスチャＧＡの画素値ＧＡ（ｇ）と隣接パッチＷＢのテクスチャＧＢの画素値ＧＢ（ｇ）が各５０％ずつとし、最短距離Ｌが大きくなるほど、画素値ＧＡ（ｇ）の割合を増し、画素値ＧＢ（ｇ）の割合を減じて、Ｌｍａｘの位置にある頂点においては画素値ＧＡ（ｇ）の割合が１００％、画素値ＧＢ（ｇ）が０％となるようにする。
すなわち、混ぜ合わせ後の各頂点の画素値ＧＲは次式で表わされる。
ＧＲ（ｇ）＝ＧＡ（ｇ）（Ｌｍａｘ＋Ｌ）／２Ｌｍａｘ
＋  ＧＢ（ｇ）（Ｌｍａｘ−Ｌ）／２Ｌｍａｘ
【００５４】
ステップ５０６では、処理対象のパッチＷＡについてすべての隣接するパッチＷＢとの色の混ぜ合わせが終了したかどうかをチェックする。
色の混ぜ合わせが終了していないパッチが残っている場合にはステップ５０３へ戻り、次にデータ量の大きい隣接パッチＷＢとの色の混ぜ合わせが繰り返される。
すべての隣接するパッチＷＢとの色の混ぜ合わせが終了したときはステップ５０７へ進む。
ステップ５０７では、ステップ５０１で計算した処理対象のパッチＷＡの法線のうち、境界線上の頂点の法線情報をグローバル座標ファイルに格納する。
ステップ５０８において、すべての頂点に色情報が付与され混ぜ合わせが済んだ隣接のパッチＷＢがあるかどうかをチェックする。
混ぜ合わせが済んだ隣接のパッチがまだない場合にはステップ５１３へ進み、ある場合にはステップ５０９へ進む。
【００５５】
ステップ５１３では、処理対象のパッチＷＡを処理データ格納部１４に格納する。これにより、処理データ格納部１４の当該パッチＷＡは色情報が付加されたデータに置換される。
ステップ５０９では、混ぜ合わせ処理済みのパッチＷＢの境界線上の頂点の法線情報（法線方向）を読み出す。この法線情報はパッチＷＢが処理対象のパッチであったときにステップ５０１でその属性情報に付加されたものである。
ステップ５１０において、グローバル座標ファイルからパッチＷＢの境界線上の頂点と一致するパッチＷＡの境界線上の頂点を探索する。
ステップ５１１において、パッチＷＢの頂点と一致しているパッチＷＡの頂点の法線をパッチＷＢの対応する頂点の法線に置き換えて、パッチＷＡの頂点の新たな法線とする。
【００５６】
ステップ５１２では、パッチＷＡと隣接関係にあり、混ぜ合わせ処理済みのすべてのパッチＷＢとの関係でパッチＷＡの法線の置換え処理が終わったかどうかをチェックする。
パッチＷＡの法線の置換え処理が済んでいない隣接のパッチＷＢが残っている場合にはステップ５０９へ戻る。
混ぜ合わせ処理済みで隣接するパッチＷＢのすべてと法線の置換え処理が済んだときはステップ５１３へ進んで、処理対象のパッチＷＡを処理データ格納部１４に格納する。作業メモリ３５には処理対象パッチＷＡを残しておく。
【００５７】
なお、ステップ５０８のチェックで混ぜ合わせが済んだ隣接のパッチＷＢがまだない場合、すなわちパッチＷＡが例えば最初の処理対象のパッチである場合には、法線を合わせるべき相手がないからステップ５０１で求めた法線のまま直接ステップ５１３へ進む。その後、他のパッチの処理時に隣接するパッチＷＢとしてステップ５０９で読み出されて、当該他のパッチの境界線上の頂点の法線を一致させる対象となる。
ここまでの処理がテクスチャマッピングに相当する。以下はディスプレイスメントマッピングに相当する。
【００５８】
ディスプレイスメントマッピングによって変位する曲面ｐ’は式（１）で表わされる。
ｐ’（ｕ，ｖ）＝ｐ（ｕ，ｖ）＋ｈ（ｕ，ｖ）ｑ（ｕ，ｖ）  ・・・（１）
ここで、図２５に示すように、ｐ（ｕ，ｖ）は変位前の曲面（基礎曲面）、ｈ（ｕ，ｖ）は変位量、ｑ（ｕ，ｖ）は変位させる方向の単位ベクトルである。
したがって、ここでは、ポリゴンメッシュにおけるｐ（ｕ，ｖ）の位置にある各頂点ｐｃを上式により変位させることになる。
図１９〜図２１のフローチャートに戻って、ステップ５１４において、パッチＷＡの三角形ポリゴンメッシュＱｃの頂点ｐｃの１つを選択して、当該頂点の法線方向を読み出す。選択する頂点の位置は任意である。
なお、この法線方向は後で頂点を変位させる際、および抜き勾配算出の際の単位ベクトルｑとなる。
ステップ５１５において、頂点の属性情報である色情報（画素値ｇ）と絞の深さの変換レートに基づいて、頂点の基準変位量を求める。
絞の最大深さ、すなわち最大変位量をｈmax とすると、変換レートはｈmax ／２５５となり、画素値ｇから基準変位量ｈ は式（２）で表される。
ｈ＝（ｇ／２５５）ｈmax           ・・・（２）
例えば、ｈmax が３００μｍのとき、画素値ｇが１２８であれば基準変位量ｈ は１５０μｍとなる。
【００５９】
続くステップ５１６において、加工対象金型のあらかじめ設定されて入力データ格納部１２に格納されている型開き方向と頂点座標の法線方向とに基づいて、抜き勾配を算出する。
そして、ステップ５１７において、処理開始の際に選択されている抜き勾配に対する絞深さの変化式に基づいて、頂点位置における変位量縮小率を算出する。
図２６に示すように、抜き勾配を、頂点の法線方向に対して９０°の線と白抜き矢印で示す型開き方向との角度θとすると、抜き勾配が小さいほど大きなアンダーが生じて型開き時の金型と製品側の絞とが干渉することになる。このため、変化式は、図２７に示すように抜き勾配θが小さいほど変位量縮小率が大きくなるように、したがって変位量が小さくなるように設定されている。この際、成形後の樹脂収縮により、金型と製品の実際の干渉程度は若干緩和されることも考慮して、変化式が定められる。変位量縮小率は抜き勾配に応じて連続的に変化する。
【００６０】
ステップ５１８では、基準変位量ｈに変位量縮小率を掛けて最終変位量を算出する。
こうして例えば、基準変位量ｈが２００μｍのとき、抜き勾配が２５°より大きければ変位量縮小率０％として最終変位量ｈｆは２００μｍのまま、抜き勾配が０°〜２５°の範囲では変位量縮小率９０〜０％として最終変位量ｈｆを２０μｍ〜２００μｍのように変化させることができる。
ステップ５１９において、上に求めた最終変位量ｈｆをｈ（ｕ，ｖ）とし、単位ベクトルｑ（法線方向）を用いて、上述した式（１）によりポリゴンメッシュの頂点ｐｃを変位させる。
【００６１】
つぎに、ステップ５２０において、以上の処理を行っていない頂点が残っているかをチェックする。
未処理の頂点が残っている場合は、ステップ５１４へ戻り、ステップ５１９までの処理を繰り返す。
すべての頂点についてテクスチャデータに基づく法線方向の変位が終わると、ステップ５２０からステップ５２１へ進み、変位した新たな位置の各頂点ｐｃを連結して、絞形状を付与されたポリゴンメッシュＱＴとする。ステップ５２２でこのポリゴンメッシュＱＴのデータをポリゴンデータ記憶部１９に格納し、作業メモリ３５から消去する。
以上により1つの処理対象のパッチＷＡについての絞形状の付与処理が終了する。
【００６２】
このあとはステップ１０７において、すべてのパッチＷについて絞形状の付与処理が終わったかどうかがチェックされ、絞形状の付与処理が済んでいないパッチが残っている場合には、ステップ５００へ戻って、ステップ３００で設定したデータ容量の大きい順で新たな処理対象のパッチＷＡが処理データ格納部１４から読み出されステップ５２２までの処理が繰り返されることになる。
すべてのパッチＷについて以上の処理が終わると絞付与ポリゴンデータを作成する処理が完了する。
このポリゴンデータにより、抜き勾配が小さいところでは前述の変位量縮小により、金型と製品との間にアンダーを生じさせることなく、図２８に示すように、絞Ｒｓの深さ（高さ）が連続的に変化する製品が得られる。図中、白抜き矢印は型開き方向である。
【００６３】
本実施の形態では、フローチャートにおけるステップ１００（ステップ２００〜２０９）が発明におけるポリゴンメッシュ化手段を構成し、ステップ１０２（ステップ３００〜３０８）が隣接関係探索手段を構成し、ステップ１０３（ステップ４００〜４０７）が形状連続処理手段を構成している。
ステップ１０５（ステップ５００〜５１３）がマッピング手段に該当し、とくにステップ５０３〜５０６がテクスチャ混ぜ合わせ手段に該当し、ステップ５０９〜５１２が法線一致処理手段に該当する。
また、ステップ５１４〜５２０が頂点変位手段を構成し、ステップ５２１が絞付与ポリゴンメッシュ作成手段に該当する。
【００６４】
実施の形態は以上のように構成され、まず絞付与対象の自由曲面Ｊで定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュＱｃ化するとともに、１つのパッチＷＡを処理対象として、隣接するパッチＷＢ１つずつとの間で順次にポリゴンメッシュＱｃを連続させるようにパッチＷＡとパッチＷＢの境界線上の頂点を互いに一致させ、それから、パッチＷＡにテクスチャデータに基づくテクスチャをマッピングし、パッチＷＡの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させて、変位させた各頂点に基づいて新たなポリゴンメッシュＱＴを作成するようにし、各パッチを順次処理対象として以上を繰り返すことにより、繰り返しごとに得られる新たなポリゴンメッシュＱＴのデータを絞が付与されたパッチ単位の表面加工データとするものとした。
最後の表面加工データ作成までの各処理段階で、１つのパッチＷＡを処理対象としており、その間パッチＷＡに隣接するパッチＷＢが複数あっても必要時に順次に１つずつデータを読み込んで処理すればよいから、パッチ全体のポリゴンメッシュデータについてはデータ処理部１３の作業メモリ３５には一時に最大２つのパッチ分を格納するだけで済み、データがメモリの格納可能量を超えて極端にコンピュータの処理速度が低下したりフリーズしてしまうおそれがない。
【００６５】
製品形状データのポリゴンメッシュ化は、製品形状データを複数に分割した各パッチＷの自由曲面のパラメータ空間において、所定の分割線でグリッド点を生成するとともに、パッチの境界線上に所定の間隔で点列を生成し、境界線内側のグリッド点および境界線上の点列を用いて、各頂点を自由曲面上に有する３次元のポリゴンメッシュＱｃを形成する。
とくに、グリッド点を生成する分割線および境界線上の点列は、それぞれ所定範囲内に均一化した間隔とし、３次元のポリゴンメッシュＱｃの形成は、境界線内側のグリッド点を連結して格子メッシュを形成し、該格子メッシュを三角形ポリゴン化するとともに、格子メッシュの外周におけるグリッド点と境界線上の点列を連結して三角形ポリゴン化して形成するようにしており、２次元平面への射影とさらに３次元への復元処理とを行わないため、演算負担が少なく、処理時間が短縮される。また同じく２次元化および３次元化の処理に伴う歪の発生もない。パッチＷに分割しているので表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
【００６６】
また、パッチＷ間の隣接関係は、１つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかどうかを探索することにより設定するので、データ入力部１１に入力されるパッチのデータに隣接関係が付されていなくても簡単に判断できる。
隣接関係の探索は、処理対象のパッチをポリゴンメッシュのデータ量の大きい順番で選択して処理するので、データ量の大きいパッチが隣接するパッチとして何回も作業メモリへ読み出すことが回避され、処理速度が向上する。頂点一致処理以降の各処理でも同様である。
【００６７】
そして、隣接関係にある２つのパッチＷＡ、ＷＢ間ではそれぞれの境界線ＢＯＡ、ＢＯＢ上の頂点を互いに一致させる処理を行うので、境界線の頂点列がパッチ間で同位置として共有され、各パッチが切れ目なく滑らかに連続する。
具体的には、パッチＷＡとパッチＷＢの一方の境界線上の頂点と同位置に他方の境界線に新たな頂点を生成し、または一方の境界線上の頂点と他方の境界線上の頂点をそれぞれ中間の同位置へ移動させて一致させるので、つなぎ目が極端に細かいメッシュになったり粗なメッシュになることがない。
【００６８】
テクスチャデータは２次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値をテクスチャ値とする画像データとしており、テクスチャデータ自体も少ないデータ量でテクスチャを表現できるので、データ処理が簡単である。
【００６９】
パッチへのテクスチャのマッピングに関しては、各パッチについてそれぞれその平均法線を用いてテクスチャ座標系を設定し、とくに、処理対象のパッチＷＡのすべての頂点をパッチＷＡのテクスチャ座標系に射影してテクスチャ値（ＧＡ）を求めるとともに、隣接するパッチＷＢとの境界線上の頂点との最短距離ＬがＬｍａｘ以内の頂点については、パッチＷＢのテクスチャ座標系に射影してテクスチャ値（ＧＢ）を求めて、両テクスチャ値の混ぜ合わせを行っているので、テクスチャの不連続を緩和する。
そして、混ぜ合わせは境界線上の頂点からの最短距離Ｌでウエイト付けして行っているので、テクスチャの変化が滑らかである。
さらに、パッチＷＡの頂点の法線を隣接するパッチＷＢの頂点の法線に合わせるので、パッチのつなぎ目にも違和感を生じさせない。
【００７０】
パッチＷＡにおいて最短距離Ｌを求める際の隣接するパッチＷＢとの境界の頂点は、当該隣接するパッチＷＢの境界線上に位置する頂点を参照することにより、パッチＷＡの境界線上のどの頂点がパッチＷＢとの間の境界線上にあるのか属性情報がなくても、頂点一致処理されていてパッチＷＢ側の頂点と重複することから識別できる。
【００７１】
絞生成部３４における処理については、三角形ポリゴンメッシュＱｃの各頂点を変位させる変位量を、テクスチャに基づく基本変位量に金型の抜き勾配に応じた変位量縮小率を乗じたものとしているので、アンダーを発生させず、絞の深さを滑らかに変化させて見栄えの良い外観表面が得られる。
【００７２】
なお、実施の形態では、境界線の自由曲線としてＢ−ｓｐｌｉｎｅ曲線が用いられた例について説明したが、他の自由曲線の場合にも本発明は同様に適用できる。
また、パッチＷ間の隣接関係については、ポリゴンメッシュ化したあと１つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかを探索して設定するものとしたが、パッチを分割した際のデータに隣接関係の情報をあらかじめ付しておいてもよい。
【００７３】
テクスチャデータは２５６階調のグレースケール画像データで提供されるものとしたが、これに限定されず、複数の色成分の濃度に絞の深さ情報を持たせた画像データを用いてもよい。
また、テクスチャマッピングにおいて、隣接するパッチのテクスチャ座標系を用いて画素値の混ぜ合わせを行うものとしたが、テクスチャの特性やポリゴンメッシュの細かさ等により、十分滑らかなつながりとなる場合には、画素値の混ぜ合わせ処理を省略することもできる。
絞模様のディスプレイスメントマッピングにおいて、抜き勾配に対する変位量縮小については縮小率を連続的に変化させるものとしたが、任意のステップで意図的に段階的な変化をなすようにすることも当然に可能である。
【産業上の利用可能性】
【００７４】
本発明は、製品表面に絞模様を形成する種々の樹脂製品の製造分野において利用して、多大の効果を有する。
【符号の説明】
【００７５】
１０    表面加工データ作成装置
１１    データ入力部
１２    入力データ格納部
１３    データ処理部
１４    処理データ格納部
１９    ポリゴンデータ記憶部
２０    データ出力部
２２    操作入力部
２３    モニタ
３０    ポリゴンメッシュ化部
３１    ポリゴンメッシュ統合部
３３    テクスチャ合成部
３４    絞生成部
３５    作業メモリ
ｂ    間隔上限値
Ｃａ、Ｃａ１、Ｃａ２、Ｃａ３、Ｃａ４    グリッド点
Ｃｂ    点列
Ｃｂ１、Ｃｂ２、Ｃｂ３、Ｃｂ４    点
ＧＡ、ＧＢ    射影されたテクスチャ
Ｊ    自由曲面
Ｋ、ＢＯＡ、ＢＯＢ    境界線
Ｌ    最短距離
Ｎ    対象点
ＰＡ、ＰＡ’、ＰＢ、ＰＢ’    頂点列
Ｐａ１、Ｐａ２、Ｐａ３、Ｐａ４、Ｐａ５、Ｐａｘ、Ｐａｙ    頂点
Ｐｂ１、Ｐｂ２、Ｐｂ３、Ｐｂ４、Ｐｂ５、Ｐｂ６、Ｐｂ７、Ｐｂｘ    頂点
ｐｃ    頂点
Ｑｃ    三角形ポリゴンメッシュ
ＱＴ    ポリゴンメッシュ
Ｒ１、Ｒ２    稜線
Ｓｑｃ    四角格子メッシュ
Ｔｐｃ    三角形ポリゴン
Ｗ、ＷＡ、ＷＢ    パッチ
Δ１、Δ２    三角形
【図１】
0005791312.tif 000002
【図２】
0005791312.tif 000003
【図３】
0005791312.tif 000004
【図４】
0005791312.tif 000005
【図５】
0005791312.tif 000006
【図６】
0005791312.tif 000007
【図７】
0005791312.tif 000008
【図８】
0005791312.tif 000009
【図９】
0005791312.tif 000010
【図１０】
0005791312.tif 000011
【図１１】
0005791312.tif 000012
【図１２】
0005791312.tif 000013
【図１３】
0005791312.tif 000014
【図１４】
0005791312.tif 000015
【図１５】
0005791312.tif 000016
【図１６】
0005791312.tif 000017
【図１７】
0005791312.tif 000018
【図１８】
0005791312.tif 000019
【図１９】
0005791312.tif 000020
【図２０】
0005791312.tif 000021
【図２１】
0005791312.tif 000022
【図２２】
0005791312.tif 000023
【図２３】
0005791312.tif 000024
【図２４】
0005791312.tif 000025
【図２５】
0005791312.tif 000026
【図２６】
0005791312.tif 000027
【図２７】
0005791312.tif 000028
【図２８】
0005791312.tif 000029