表面加工データの作成方法および装置
【課題】大面積形状の製品への絞付与においてもコンピュータの処理速度低下などを招くことなく、歪みの少ない見栄えの良い絞が形成される表面加工データを作成する。
【解決手段】製品表面を複数のパッチに分割してポリゴンメッシュ化し、隣接するパッチ間の境界線上の頂点列を互いに一致させてから、パッチ単位でテクスチャをマッピングする。マッピングしたテクスチャに基づいて変位させたポリゴンメッシュの頂点を結び、パッチ単位の絞付与ポリゴンデータとする。各処理段階での処理データが最大で隣接する2つのパッチのデータに限定できるので、作業メモリの容量の制限によるコンピュータの実用範囲を越えることがない。
【解決手段】製品表面を複数のパッチに分割してポリゴンメッシュ化し、隣接するパッチ間の境界線上の頂点列を互いに一致させてから、パッチ単位でテクスチャをマッピングする。マッピングしたテクスチャに基づいて変位させたポリゴンメッシュの頂点を結び、パッチ単位の絞付与ポリゴンデータとする。各処理段階での処理データが最大で隣接する2つのパッチのデータに限定できるので、作業メモリの容量の制限によるコンピュータの実用範囲を越えることがない。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、樹脂製品の表面に絞(しぼ)模様を形成するための表面加工データの作成方法および装置に関する。
【背景技術】
【0002】
家電製品、文具、または自動車用内装品などの表面には、見栄えや触感の向上、防眩、滑り止めなど様々な目的で絞が施されている。絞の模様には皮革、木目、岩目、砂目、なし地、幾何学模様などさまざまな微細形状の模様が採用されている。
これらの絞を樹脂製品の表面に形成するために、従来のエッチング工法や電気鋳造法などに代わり、特開平7−241909号公報や特開2004−358662号公報には、皮革モデルなどの表面形状を読み取った表面測定値から表面形状の深さを256階調の濃度で表わした画像データに変換してコンピュータにより生成した加工データを用いて絞を付与する技術が提案されている。
【0003】
この絞形状データから加工データを生成するに当って、立体物の傾斜面において絞に歪が生じるのを避けるため、例えば画像データにおける絞の深さに対応する濃度に応じて、製品曲面上にボクセルを積み上げて絞を製品表面の法線方向に生成するボクセルデータ変換を用いたモデリングソフトなどが提供されている。
しかし、このような方式では、先ず製品形状データをボクセルデータに変換するために膨大なデータ量を必要とする。
さらに、複数の曲面からなる連続した複雑形状の製品表面に対しては、分割した範囲ごとに絞を生成し、絞生成後に隣接する絞形状とのつなぎ目処理が必要となるが、これに対する満足な処理が未解決である。
【0004】
すなわち、つなぎ目の絞を同じ形状で合せることが難しく、つなぎ目が目立たないようにするには多大な工数を要する手作業による修正が必要となる。しかも、手作業による修正はつなぎ合わせようとする絞形状を変形させることとなるので、作業者の熟練度により出来栄えが変り、角が丸くなったり、溝や山が太くなったり、曲がったりして、修正の狙いから外れて見栄えの悪いものとなってしまうことも多く、品質が安定しない。したがって従来の手法はその主な適用対象が平面や円筒面に限定されているのが実情である。
【0005】
そこで、本出願人は、ガウス曲率が大きかったり、あるいはガウス曲率が緩くても面積が広くなる多数の曲面で構成される製品形状であっても、製品表面に歪みの少ない絞が形成されるようにした表面加工データの作成技術を、先の特願2010−052123に提案した。
これは、絞付与対象の自由曲面で定義される製品形状データをポリゴンメッシュ化し、ポリゴンメッシュを分割した1つを初期領域としてテクスチャをマッピングし、このマッピングされたテクスチャに所定の要求レベルを満たす変化でつながる新たなテクスチャを合成して、隣接する領域に新たなテクスチャをマッピングすることを繰り返してすべての領域にテクスチャをマッピングし、ポリゴンメッシュの各頂点をテクスチャに基づいてそれぞれの法線方向に変位させた新たな頂点に基づいて作成した新たなポリゴンメッシュデータを絞が付与された表面加工データとするものである。
これにより、初期段階でデータを分割したとしても絞形状のつなぎ目が滑らかで、表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−241909号公報
【特許文献2】特開2004−358662号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上に提案した絞の表面加工データ作成においては、従来のボクセルデータ変換のための膨大なデータ量を処理する必要からは解放されるが、しかし、絞形状を付与する製品形状データ自体はそのすべてをコンピュータのメインメモリに読み込んでおかないと、生成する絞形状の連続性を保持することができない。このため、絞形状を付与する面積が大きくなると一度に処理しなければならないデータ量も増大することとなり、内部のメインメモリの限られた容量では処理に時間がかかることになる。とくにデータ量がメインメモリの格納可能量を超えるような場合には、ハードディスク等外部の補助メモリも一時的に使用するが、ハードディスクはアクセス速度が極度に遅いために処理速度の低下も激しく、場合によってコンピュータのフリーズ状態を招くので、絞形状付与対象のサイズにかかわらず円滑に処理が遂行されるよう、さらに実用性向上に向けた改良が望まれる。
【0008】
したがって、本発明は上記にかんがみ、歪みの少ない見栄えの良い絞を付与することができるとともに、大面積形状への絞付与においても処理速度低下などを招くことなく実用範囲で処理可能な表面加工データの作成方法および装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
このため本発明は、コンピュータによる表面加工データの作成方法であって、
絞付与対象の自由曲面で定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化し、
1つのパッチを処理対象として、隣接するパッチ1つずつとの間で順次にポリゴンメッシュを連続させる形状連続処理を行い、
処理対象のパッチにテクスチャデータに基づくテクスチャをマッピングし、
処理対象のパッチの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させ、
変位させた各頂点に基づいて新たなポリゴンメッシュデータを作成し、
上記形状連続処理以下を繰り返して、上記新たなポリゴンメッシュデータを絞が付与されたパッチ単位の表面加工データとするものとした。
【0010】
テクスチャデータは、2次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値とするのが好ましい。
隣接関係の探索は、1つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているとき、当該1つのパッチと他のパッチが隣接関係にあるものとすればよい。
【0011】
テクスチャのマッピングについては、各パッチごとにその平均法線を用いてテクスチャ座標系を設定し、処理対象のパッチのすべての頂点を当該パッチのテクスチャ座標系に射影してテクスチャ値を求めるとともに、処理対象のパッチにおける所定範囲の頂点について、処理対象のパッチに隣接するパッチのテクスチャ座標系に射影してテクスチャ値を求めて、両テクスチャ値の混ぜ合わせを行うことが好ましい。
上記の所定範囲は、隣接するパッチとの境界の頂点との最短距離が所定値以内の範囲とすることができる。
さらに、両テクスチャ値の混ぜ合わせは、上記の最短距離でウエイト付けして行うのが好ましい。
【0012】
形状連続処理としては、処理対象のパッチと隣接するパッチとの間のそれぞれの境界線上の頂点を互いに一致させるのがよく、より具体的には、一方のパッチの境界線上の頂点と同位置に他方のパッチの境界線に頂点を生成し、または一方の境界線上の頂点と他方の境界線上の頂点をそれぞれ同位置へ移動させることにより一致させることができる。
そして、最短距離を求める対象である隣接するパッチとの境界の頂点は、互いに位置を一致させた当該隣接するパッチの境界線上の頂点を参照することにより識別することができる。
【0013】
さらに、処理対象のパッチと隣接するパッチとの間の境界線上で位置を一致させた頂点の法線を処理対象のパッチと隣接するパッチの間で互いに一致させ、とくに処理対象のパッチの頂点の法線を隣接するパッチの頂点の法線に合わせるのが好ましい。
一連の処理において、処理対象のパッチはポリゴンメッシュのデータ量の大きい順に選択するのが好ましい。
【発明の効果】
【0014】
本発明は、まず、製品形状データをポリゴンメッシュ化し厚みを持たない曲面データとして処理することで、処理データ量が少なくて済む。
パッチに分割しているので表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
そしてとくに、形状連続処理から絞付与されたポリゴンメッシュ作成までを処理対象のパッチ単位で処理するものとし、その間処理対象のパッチに隣接するパッチが複数あっても順次に1つずつデータを読み込んで処理すればよいから、コンピュータのメモリへは一時に最大2つのパッチ分のポリゴンメッシュデータを格納するだけで済み、データがメモリの格納可能量を超えてコンピュータの処理速度が極端に低下したりすることがなく、高い実用性を有する。
【図面の簡単な説明】
【0015】
【図1】実施の形態における表面加工データ作成装置の構成を示すブロック図である。
【図2】表面加工データ作成装置における処理の流れを示すメインフローチャートである。
【図3】三角形ポリゴンメッシュ作成の詳細を示すフローチャートである。
【図4】パッチにおける分割要領を示す概念図である。
【図5】グリッド点と境界線を示す図である。
【図6】ポリゴンメッシュを形成するグリッド点の抽出要領を示す説明図である。
【図7】境界線上の点列の生成要領を示す説明図である。
【図8】グリッド点により生成した四角格子メッシュを示す図である。
【図9】四角格子メッシュの外周凹部における三角形の形成要領を示す説明図である。
【図10】四角格子メッシュと境界線上の点列による三角形ポリゴンの生成要領を示す図である。
【図11】パッチ上に生成した三角形ポリゴンメッシュを示す図である。
【図12】三角形ポリゴンメッシュの整形要領を示す説明図である。
【図13】パッチの隣接関係探索の詳細を示すフローチャートである。
【図14】境界線上の頂点一致処理の詳細を示すフローチャートである。
【図15】頂点一致処理の経過を示す説明図である。
【図16】頂点一致処理の経過を示す説明図である。
【図17】頂点一致処理の経過を示す説明図である。
【図18】頂点一致処理の経過を示す説明図である。
【図19】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図20】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図21】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図22】パッチの平均法線とテクスチャの射影方向を示す説明図である。
【図23】パッチの頂点と境界線上の頂点との最短距離を示す図である。
【図24】色の混ぜ合わせ要領を示す説明図である。
【図25】ディスプレイスメントマッピングの概念を示す説明図である。
【図26】抜き勾配による金型と製品の干渉を示す説明図である。
【図27】変化式の概念を示す抜き勾配と変位量縮小率の関係図である。
【図28】変位量縮小を適用した絞の深さ変化を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について説明する。
図1は、実施の形態にかかる表面加工データ作成装置の構成を示すブロック図である。
表面加工データ作成装置10はコンピュータ構成で、製品の表面形状および絞のテクスチャデータとさらに処理ツールデータを入力するデータ入力部11と、入力データ格納部12と、入力データ格納部12に格納されたデータを基に、製品の表面曲面に絞形状を付したポリゴンデータを生成するデータ処理部13と、生成したポリゴンデータを記憶するポリゴンデータ記憶部19と、ポリゴンデータ記憶部19からポリゴンデータを加工データとして出力するデータ出力部20と、データ処理部13に接続した例えばハードディスクからなる処理データ格納部14とからなる。
表面加工データ作成装置10には、キーボードやジョグレバーなどからなる操作入力部22と、画像データを表示可能なモニタ23とが接続される。
【0017】
データ入力部11に入力される製品形状データとしての表面形状データは、CADデータとして多く用いられる各々の座標をパラメータu、vの関数S=F(u、v)とした自由曲面で定義され、あらかじめ自由曲線で表わした境界線により複数の曲面に分割されたパッチ情報として構成され、入力データ格納部12に格納される。
なお、境界線はとくに断らない限り、いわゆるトリムラインを含むものであり製品形状の端縁を画して隣接するパッチのない境界線を含むものである。
表面形状データには、製品の絞を付与する対象部分(以下、絞付与対象という)の全体サイズが含まれている。
【0018】
テクスチャデータは、絞の深さを濃度に割り当てた256階調の2次元のグレースケール画像データであり、少ないデータ量でテクスチャを表現でき、データ処理が簡単である。
テクスチャデータはデータ処理部13での処理のため画素値として読み出される。以下では、便宜的に画素値を単に色、あるいは色情報とも言う。
処理ツールデータには、テクスチャの混ぜ合わせの際に重み付けを行う範囲を定める境界線上の頂点からの最短距離の上限値、抜き勾配に応じて変化させる縮小率の算出に用いる射出成形型の型開き方向などがある。
【0019】
データ処理部13は、ポリゴンメッシュ化部30、ポリゴンメッシュ統合部31、テクスチャ合成部33、絞生成部34および作業メモリ35(メインメモリ)を備えている。
ポリゴンメッシュ化部30は、各パッチWごとにその自由曲面上に頂点を有する三角形ポリゴンメッシュを作成し、ポリゴンメッシュ統合部31は隣接するパッチ間で三角形ポリゴンメッシュが滑らかにつながるように処理を行う。
テクスチャ合成部33は、パッチ単位で三角形ポリゴンメッシュにテクスチャをマッピングするとともに、隣接パッチとのテクスチャの連続性を確保するため色の混ぜ合わせを行う。
【0020】
絞生成部34は、三角形ポリゴンメッシュの各頂点に対応するテクスチャデータの濃度階調に基づいて、当該各頂点の位置を変位させて、絞が付与されたポリゴンデータを生成する。
三角形ポリゴンメッシュの頂点位置変位については、金型の抜き勾配に応じた変位量縮小率を適用して変位量を変化させ、型抜き時のアンダーの発生を防止する。データ処理部13には、変位量縮小率を定める複数の変化式があらかじめ設定されており、成形材料や製品形状の特性等を考慮して、操作入力部22の操作によりいずれかの変化式を選択可能となっている。
【0021】
作業メモリ35には、データ処理部13内の各部における処理データが一時的に格納される。
処理データ格納部14には、まずポリゴンメッシュ化部30で作成されたすべてのパッチの三角形ポリゴンメッシュが格納されてデータ処理部13での処理に応じてパッチ単位で読み出され、再格納される。作業メモリ35に一時的に格納されるのは、処理される最大2つまでのパッチ分のデータとなる。すなわち、ポリゴンメッシュ統合部31で頂点列を一致させた隣接パッチの三角形ポリゴンメッシュも一致処理が済むごとに作業メモリ35から消去され、新たな隣接パッチの三角形ポリゴンメッシュと入れ替えられる。また、テクスチャ合成部33でマッピングした三角形ポリゴンメッシュも、パッチ単位の処理が終わるごとに処理データ格納部14に格納されて、作業メモリ35からは消去される。
データ処理部13は絞が付与されたポリゴンデータをパッチ単位でポリゴンデータ記憶部19に記憶させる。
モニタ23には、各処理の進捗状態を画像を含めて表示することができる。
【0022】
次に、上記表面加工データ作成装置10における処理の詳細について説明する。
図2は処理の流れを示すメインフローチャートである。
製品の表面形状データのパッチ情報、絞のテクスチャデータ、型開き方向の角度情報、および後述する三角形ポリゴンメッシュの間隔上限値bが操作入力部22の操作によりデータ入力部11に入力されると、各データが入力データ格納部12に格納されて、処理が開始される。なお、これらのデータ入力とともに、変位量縮小率を定める変化式も操作入力部22により選択される。
【0023】
先ずステップ100において、データ処理部のポリゴンメッシュ化部30は、入力データ格納部12からパッチWの情報を読み出し、三角形ポリゴンメッシュQcを作成する。
ステップ101で、すべてのパッチWについて三角形ポリゴンメッシュを作成したかどうかをチェックする。
まだ三角形ポリゴンメッシュQcを作成していないパッチが残っていればステップ100へ戻り、すべてのパッチWの三角形ポリゴンメッシュ作成が完了していればステップ102へ進む。
ステップ102では、ポリゴンメッシュ統合部31において、パッチごとに他のパッチと境界が重なっているかの隣接関係を探索して、互いに隣接するパッチを特定する。
【0024】
次のステップ103において、隣接関係にあるパッチの境界線上の頂点を一致させる。これは、境界線の頂点列はパッチ間で同位置として共有されることが望ましいから、境界線上の頂点を移動あるいは新しく生成することにより一致させるものである。
ステップ104では、すべてのパッチWについて頂点一致処理が完了したかどうかをチェックする。
頂点一致処理が終了していないパッチが残っていればステップ103へ戻り、すべてのパッチについて頂点一致処理が完了していればステップ105へ進む。
ステップ105において、テクスチャ合成部33はパッチWの三角形ポリゴンメッシュQcにテクスチャをマッピングする。
【0025】
ステップ106において、絞生成部34がテクスチャデータおよび処理ツールデータに基づいて、ディスプレイスメントマッピングにより三角形ポリゴンメッシュQcの各頂点を移動させ、絞付与ポリゴンデータとしてポリゴンデータ記憶部19に格納する。
ステップ105、106は1つのパッチWについて続けて実行される。
ステップ107で、すべてのパッチWについて絞形状が付与されポリゴンデータ記憶部19に格納されたかどうかをチェックする。
すべてのパッチについて絞形状の付与が終了していなければステップ105へ戻り、終了していればステップ108へ進む。
ステップ108では、モニタ23に処理が完了した旨を表示して、本処理を終了する。
処理データ格納部14に格納されたデータは消去される。
このあと、データ出力部20は、操作入力部22の操作により、ポリゴンデータ記憶部19から絞付与ポリゴンデータを読み出し、加工データとして加工装置等へ出力可能となる。
【0026】
図3は、ステップ100における三角形ポリゴンメッシュQc作成の詳細を示すフローチャートである。
ステップ200において、選択したパッチWの図4の(a)に示すような自由曲面(パラメトリック曲面)Jを格子の間隔が間隔上限値b以下となるように分割するパラメータu、vの分割数を算出する。例えばパッチWのuのパラメータ間隔(最大値−最小値)をある整数mで分割し、パラメータ間隔cを求める。cを用いてパッチWを分割し、間隔上限値bと比較し、bより大きい場合にはmを増やす。すべての格子間隔が間隔上限値bより小さくなるまでこの処理を繰り返す。パラメータvに対しても同様の処理を行う。図4の(b)は自由曲面上の分割線を示す。
【0027】
ステップ201では、上で算出したu、vそれぞれの分割数を用いて各格子点のパラメータ値を算出し、図5に示すように、自由曲面上に点を生成する。この生成した点を以下、グリッド点Caと言う。なお、図5はu−v面にそった拡大図で、簡単化のためアイソパラメトリック曲線を省いてある。
【0028】
ステップ202において、ポリゴンメッシュ形成用のグリッド点Caを抽出する。
具体的には、グリッド点Caのうち、図6に白抜きで示すように、パッチWの境界線Kを含んで境界線の外部にあるものを削除し、さらに、境界線Kより内部にあっても境界線からの距離が格子間隔の1/100未満のものも削除する。格子間隔は間隔上限値b、あるいは実際に分割した格子間隔でもよい。
なお、境界線Kはトリムラインを含み、B−spline曲線で示される。境界線Kの形状はパッチごとに任意である。
境界線Kからの距離が所定距離未満のグリッド点Caを排除するのは、次に述べる境界線K上の点を用いて形成するポリゴンが極端に小さくなってしまうことを避けるためである。
【0029】
ステップ203では、境界線Kを間隔上限値b以下の間隔となるように分割する分割数を算出し、ステップ204で、図7に示すように、当該分割数を用いて境界線K上に点列Cbを生成する。なお、以下では点列の個々の点もCbで表す。
なお、分割数についてはグリッド点Caの場合と同様に全周が等分割される値にすることができるが、グリッド点Caおよび点列Cbの分割についてはいずれも間隔上限値bで等分割した上最後の間隔上限値bを越える部分のみを2分してもよい。これにより、グリッド点および点列がそれぞれ所定範囲内に均一化した間隔となる。
【0030】
ステップ205において、先のステップ202で抽出したグリッド点Caを用いて図8に示すように、四角格子メッシュSqcを生成する。なお、各交点がグリッド点Caに対応するが、その黒丸表示は省いている。
ステップ206において、四角格子メッシュSqcの外周形状が階段状になって凹部がある場合には、図9のE1、E2部に示すように、当該凹部の内角を挟む外周の2つのグリッド点を直線で連結して三角形Δ1、Δ2を形成する。ただし、E3部の破線で示すように、2つのグリッド点を連結する直線が境界線Kを横切る場合は三角形を形成しない。
【0031】
ステップ207において、図10に示すように、四角格子メッシュSqcの各格子における1組の対角位置にあるグリッド点を連結して三角形ポリゴンTpcを生成する。
続いてステップ208において、四角格子メッシュSqcの外周にあるグリッド点Caと境界線K上の点列Cbとの間にも三角形ポリゴンを生成する。
【0032】
ここでは、図10に示すように、まず外周にあるグリッド点の1つCa1を選び、これに最も近い境界線K上の点Cb1と連結する。この連結直線R0をそれぞれ1辺として、さらに四角格子メッシュSqcの外周にある隣接のグリッド点Ca2とからなる三角形ΔCa1−Cb1−Ca2と、境界線K上の隣接の点Cb2とからなる三角形ΔCa1−Cb1−Cb2とを演算して、これら2つの三角形のうち正三角形に近い方を三角形ポリゴンTpcとして採用する。
正三角形に近いかどうかは、三角形の最大内角度と最小内角度の差が0(ゼロ)に近いほど正三角形に近いとするか、あるいは最長辺の長さと最短辺の長さの比が1に近いほど正三角形に近いとして判断することができる。
【0033】
つぎに、上記選択したグリッド点Ca1に順次隣接する四角格子メッシュSqcの外周上のグリッド点(例えばCa2)について以上の処理を繰り返す。隣接する方向は左回りまたは右回りを予め定めておけばよい。
以上により、図11に示すように、四角格子メッシュSqcの外周から境界線K上の点列Cbまで拡大した三角形ポリゴンメッシュQcがパッチの自由曲面J上に生成される。
【0034】
ステップ209において、エッジスワップによる三角形ポリゴンメッシュQcの整形を行う。ステップ208において生成される三角形ポリゴンメッシュQcはステップごとに形の良い正三角形に近い三角形を選択して生成する処理となっているが、生成された三角形ポリゴンメッシュ全体で見るとエッジスワップすることでより良い三角形を生成できる場合がある。
ここでは、図12に破線で示す四角格子メッシュSqcの外周上のグリッド点Ca3と境界線上の点Cb3を連結してその両側に三角形ポリゴンが存在する1つの稜線R1に対して、太実線で示すように一方の三角形ポリゴンを構成する境界線上の点Cb4と他方の三角形ポリゴンを構成する外周上のグリッド点Ca4とを連結する稜線R2を演算する。そして、この新たな稜線R2の両側に形成される2つの三角形(エッジスワップ後の三角形)を求める。
【0035】
図12に示されるように、エッジスワップ後の2つの三角形△Ca4−Cb4−Ca3と△Ca4−Cb4−Cb3が、エッジスワップ前の2つの三角形△Ca3−Cb3−Cb4と△Ca3−Cb3−Ca4よりも正三角形に近づく場合には、破線の稜線R1を廃して、エッジスワップ後の三角形△Ca4−Cb4−Ca3と△Ca4−Cb4−Cb3を三角形ポリゴンとして入れ替え採用する。
【0036】
パッチWの三角形ポリゴンメッシュQcは四角格子メッシュSqcの外周上の順次隣接するグリッド点について以上の処理を繰り返して整形される。
各パッチWの三角形ポリゴンメッシュQcのデータは、前述のように、その作成ごとに処理データ格納部14に格納される。
以下の各処理において、単にパッチと言うときも、特記しない限りパッチの三角形ポリゴンメッシュQcを指す。
【0037】
図13は、ステップ102におけるパッチWの隣接関係探索の詳細を示すフローチャートである。
まずステップ300において、すべてのパッチWの三角形ポリゴンメッシュQcのデータ容量を調べ、データ容量の大きい順にパッチWの処理順番を設定する。
これは、複数のパッチを個別に比較する場合に、より早く入力されたパッチのほうが遅く入力されたパッチよりも入出力回数が少なくなるので、データ容量の大きいパッチの入力をできるだけ減らして処理速度を速めるために順番を定めるものである。
ステップ301で、処理データ格納部14からデータ容量の大きい順に1つのパッチWの三角形ポリゴンメッシュQcのデータを作業メモリ35に読み出し、その境界線上の頂点列を抽出する。抽出した頂点列(のデータ)はグローバル座標ファイルとして作業メモリ35に格納する。その後、三角形ポリゴンメッシュQcのデータは作業メモリ35から消去する。
【0038】
ステップ302において、作業メモリ35の頂点列を用いてポリラインを作成する。ポリラインは作業メモリ35に格納される。各パッチWのポリラインはデータ量が小さいので作業メモリ35に蓄積される。
ステップ303で、すべてのパッチWについてポリラインを作成したかどうかをチェックする。
ポリライン未作成のパッチがあればステップ301へ戻り、すべてのパッチのポリライン作成が完了するとステップ304へ進む。
【0039】
ステップ304では、データ容量の大きい順に処理対象のパッチWAの境界線K上の頂点列を作業メモリ35(グローバル座標ファイル)から読み出し、ステップ305で他のパッチWのポリラインを読み出す。
そして、ステップ306においてパッチWAの頂点列が当該他のパッチWのポリライン上に重なっているかどうかを探索する。
パッチWAの頂点列が他のパッチWのポリライン上に重なっている場合には、ステップ307へ進んで、当該他のパッチWが処理対象のパッチWAと隣接している旨の隣接関係を設定し、その隣接情報を作業メモリ35に格納したあと、ステップ308へ進む。
頂点列が他のパッチWのポリライン上に重なっていなかった場合には、ステップ306からステップ308へ進む。
【0040】
ステップ308では、すべての他のパッチWについて処理対象のパッチWAの頂点列とポリラインの重なりを探索したかどうかをチェックする。
パッチWAの頂点列とポリラインの重なりを探索していない他のパッチが残っている場合にはステップ305へ戻って、残りの他のパッチのポリラインを読み出し探索を繰り返す。
すべての他のパッチWについて上記頂点列とポリラインの重なりの探索が終わると1つの処理対象のパッチWAに関する隣接情報が得られたことになる。
このあとはステップ309において、すべてのパッチについてそれぞれを処理対象として隣接関係の探索が行われたかどうかをチェックする。
処理対象としなかったパッチがまだ残っている場合にはステップ304へ戻り、すべてのパッチが処理対象として隣接関係の探索が完了するとステップ103へ進む。
【0041】
図14はステップ103におけるポリゴンメッシュ統合部31による頂点一致処理の詳細を示すフローチャートである。図15〜図18は頂点一致処理の経過を示す説明図である。
ステップ400において、まず処理対象のパッチWAの三角形ポリゴンメッシュQcのデータを処理データ格納部14から作業メモリ35に読み出し、ステップ401でパッチWAに対して隣接関係にあるパッチWBの三角形ポリゴンメッシュQcを同様に読み出す。パッチWAもパッチWBも読み出し順は前述のとおりデータ容量の大きい順である。
ステップ402において、2つのパッチWA、WBの境界にある頂点を移動あるいは生成して一致させる。
【0042】
ここでは、まずパッチWA、WBの境界線上に乗っている頂点列を探索する。符号Kの代わりに、パッチWAの境界線をBOA、パッチWBの境界線をBOBとする。パッチWAの境界線BOAとパッチWBの境界線BOBは本来重なる関係にあるが、図15〜図18には説明の便宜上離間させて示している。
図示の例では頂点Pa1〜Pa5がパッチWAの境界線BOA上の頂点列PAをなし、頂点Pb1〜Pb7がパッチWBの境界線BOB上の頂点列PBをなしているが、両頂点列は互いに同位置となってはいない。そして、例えばパッチWBの角部では、頂点列PBの始点(頂点Pb1)に隣接する手前側の頂点PbzがパッチWAの境界線BOAと共通の線上に乗らない場合には、パッチWBにおける当該頂点Pbzと始点の頂点Pb1を結ぶ境界線はパッチWAの境界線BOAから離れることになる。このような場合、パッチWAの頂点Pa1は境界線BOA上の頂点ではあるがパッチWBとの共通の境界線上にはないから、頂点Pa1をパッチWBの離間した境界線の頂点Pbzと一致させることは適当でない。
【0043】
そこで、まず位置を一致させる頂点をパッチWAとパッチWBの各境界線BOA、BOBの共通部分に乗っている頂点に限定する。
このため、図15の(a)に矢示するように、パッチWAでは反時計方向に頂点列PAを辿り、パッチWBでは時計方向に頂点列PBを辿るものとして、パッチWBの頂点列PBの始点(頂点Pb1)がパッチWAの境界線BOA上にあるときは、当該始点が共通の境界線上にある頂点列の端であるとする。逆に頂点列Pbの始点がパッチWAの境界線BOA上にないときは、すなわち共通の境界線上になく、パッチWAの頂点列PAの始点が共通の境界線上にある頂点列の端となる。
パッチWAとパッチWBの頂点列の終点についても同様である。
【0044】
こうして、まず共通の境界線上の頂点列の端を一致させるため、図15の(b)に示すように、パッチWAの境界線BOA上、パッチWBの頂点列PBの始点(Pb1)と同位置に頂点Paxを生成して共通の境界線上の始点位置とし、同様に、パッチWBの境界線BOB上、パッチWAの頂点列PAの終点(頂点Pa5)と同位置に頂点Pbxを生成して共通の境界線上の終点位置とする。位置を一致させた頂点を黒丸で示す。
パッチWAとパッチWBで同位置とした始点位置の両頂点(Pax、Pb1)を対象点Nとし、対象点のフラグをそれぞれABとする。すなわち、フラグABは位置が一致した頂点を示す。
なお、境界線BOA上に生成した頂点Paxと、その前後の頂点Pa1、Pa2間を1辺とする三角形の他の頂点との間に、エッジを生成して2つの三角形ポリゴンに分割して、四角形が生じないようにする。
【0045】
そして、(c)のように、パッチWAの頂点列PAとパッチWBの頂点列PBにおいてそれぞれフラグABとした頂点から次の頂点までの距離を計算し、近い方の頂点を次の対象点Nとする。対象点(すなわち近い頂点)NのあるパッチのフラグをAとし、他方のパッチのフラグをBとして、対象点Nの位置からさらに次に近い方の頂点がフラグAまたはフラグBのパッチのどちらにあるのかで頂点を移動するのか生成するのかを決定する。
すなわち、対象点Nの位置からさらに次に近い方の頂点がフラグAのパッチ側にある場合には、フラグBのパッチの境界線上フラグAの対象点Nと同じ位置に新たな頂点を生成し、対象点Nの位置から近いさらに次の頂点がフラグBのパッチ側にある場合には、当該近い方の頂点と対象点Nの頂点とをそれらの間の中点位置へそれぞれ移動させる。
なお、対象点Nの位置から次の頂点への距離が等しい場合には、対象点Nの位置からさらに次に近い方の頂点がフラグAのパッチ側にある場合と同様に、フラグBのパッチの境界線上フラグAの対象点Nと同じ位置に新たな頂点を生成する。
図15の例では、フラグABの頂点からパッチWAの頂点Pa2の方がパッチWBの頂点Pb2よりも近いから、頂点Pa2を対象点Nとし、パッチWAのフラグをAとし、パッチWBのフラグをBとする。
【0046】
次に、図16の(d)に示すように、フラグAのパッチWAで対象点Nとされた頂点Pa2により近い次の頂点がフラグBのパッチの頂点Pb2であるから、(e)に示すように、対象点の頂点Pa2とこれに近いフラグBのパッチの頂点Pb2間の距離の中点位置へ双方の頂点を移動させて、これらのフラグをそれぞれABとする。
次に、フラグABとした頂点Pa2、Pb2から次の頂点までの距離を計算すると、頂点Pb3の方が頂点Pa3よりも近いから頂点Pb3を新たな対象点Nとし、パッチWBのフラグがAに変り、パッチWAのフラグがBとなる。
【0047】
そして、(f)に示すように、対象点Nの頂点Pb3により近い次の頂点はフラグAのパッチWBにおける頂点Pb4であるから、図17の(g)に示すように、フラグBのパッチWAの境界線BOA上に頂点Pb3と同じ位置の頂点Payを生成して、これらの頂点Pay、Pb3をフラグABとする。
ここでも、境界線BOA上に生成した頂点Payと、その前後の頂点Pa2、Pa3間
を1辺とする三角形の他の頂点との間に、エッジを生成して2つの三角形ポリゴンに分割する。
なお、フラグABの頂点からフラグAおよびBのパッチにおける次の頂点までの距離が等しい場合は、これらの頂点の位置をそのまま確定して、当該頂点を次のフラグABの頂点とすればよい。
図17、図18の(h)以降は上述した要領で頂点の生成、移動を繰り返し実施した経過を示し、これにより最終的に(k)に示すように、2つのパッチWA、WBの境界に互いに頂点位置を一致させた頂点列PA’、PB’が得られる。
【0048】
図14のフローチャートに戻って、ステップ403では、境界線上の頂点を処理対象であるパッチWAと一致させた隣接のパッチWBの三角形ポリゴンメッシュを、処理データ格納部14に戻して置換格納し、作業メモリ35からは消去する。
ステップ404において、パッチWAに隣接するすべてのパッチWBについて境界線上の頂点を一致させたかどうかをチェックする。
頂点一致について未処理のパッチWBが残っている場合はステップ401へ戻り、隣接するすべてのパッチWBについて頂点を一致させると、ステップ405へ進む。
ステップ405では、処理対象のパッチWA全面の平均法線を計算し、平均法線方向からテクスチャ座標系を設定して作業メモリ35のグローバル座標ファイルに格納する。
これはテクスチャマッピングのための準備である。
グローバル座標系(X,Y,Z)の原点をテクスチャ座標系(s,t,u)の原点とし、テクスチャ座標系のu軸をパッチの平均法線方向とする。
【0049】
このあと、ステップ406において、パッチWAの頂点一致させた境界の頂点列PA’を作業メモリ35のグローバル座標ファイルに置換格納するとともに、ステップ407で、パッチWAの三角形ポリゴンメッシュQcを処理データ格納部14に置換格納する。
これにより、1つのパッチWAについての隣接のパッチWBとの境界線上の頂点一致処理は終了する。このパッチWAの三角形ポリゴンメッシュは以後の頂点一致処理対象から除外される。
このあとはステップ104において、すべてのパッチWについて処理対象として隣接パッチとの頂点一致処理が完了したかどうかがチェックされ、処理対象となっていないパッチが残っている場合には、ステップ400へ戻って次にデータ容量の大きいパッチについて上記のステップ処理が繰り返されることになる。
【0050】
次に絞形状付与の詳細について説明する。
図19〜図21はステップ105、106におけるテクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
ステップ500において、テクスチャ合成部33は絞を付与する処理対象のパッチWAの三角形ポリゴンメッシュQcを処理データ格納部14から作業メモリ35に読み出す。読み出し順はステップ300で設定したデータ容量の大きい順とする。
ステップ501において、読み出したパッチWAのすべての頂点の法線を計算して、頂点の属性情報として付加する。
次のステップ502において、パッチWAのすべての頂点をステップ405で平均法線を用いて設定した当該パッチWAのテクスチャ座標系に射影して色情報を求め、頂点の属性情報として付加する。
図22の(a)は、パッチWAにかかるテクスチャ座標系を示し、テクスチャの射影方向は平均法線と平行である。
【0051】
ステップ503では、処理対象のパッチWAに隣接するパッチの1つを選択し、当該隣接するパッチWBの境界線上の頂点を処理データ格納部14から読み出す。このステップで選択するパッチWBはデータ量の大きい順である。
そして、隣接するパッチ間の境界線上の頂点は、頂点一致処理されているから、パッチWAの境界線上の頂点をパッチWBの境界線上の頂点と対比することにより、同一位置に重複する頂点がパッチWAとパッチWB間の共通の境界線上にある頂点であることを識別する。
ステップ504において、パッチWAのすべての頂点と前ステップで識別されたパッチWAとパッチWB間の境界線上の頂点との最短距離Lを算出する。最短距離Lとは、図23に示すように、2頂点間の直線距離を言う。
【0052】
そしてステップ505において、最短距離Lが所定値Lmaxより小さい頂点について、パッチWBの平均法線を用いて設定したテクスチャ座標系に射影した色情報を求めて、パッチWAの平均法線を用いて設定したテクスチャ座標系に射影してすでにステップ502で付加されている色情報と混ぜ合わせを行う。混ぜ合わせ結果はすでに付加されている色情報に上書きされる。
図22の(b)には処理対象パッチWAと隣接パッチWB(破線)のテクスチャ座標系が異なるため、隣接パッチWBのテクスチャ座標系での射影を処理対象パッチWAまで敷衍したとき、同一点(頂点P)に射影されるテクスチャGBが処理対象パッチWAのテクスチャ座標系で射影されたテクスチャGAとは異なる状態が示されている。
このため、処理対象パッチWAと隣接パッチWBとはその境界でテクスチャが不連続となるから、混ぜ合わせにより色の極端な変化を抑え、滑らかにつながるようにする。
【0053】
ここでは、図24に示すように、混ぜ合わせる色情報を最短距離がLmaxの範囲にある頂点の画素値とする。最短距離L=0(境界線上)では処理対象パッチWAのテクスチャGAの画素値GA(g)と隣接パッチWBのテクスチャGBの画素値GB(g)が各50%ずつとし、最短距離Lが大きくなるほど、画素値GA(g)の割合を増し、画素値GB(g)の割合を減じて、Lmaxの位置にある頂点においては画素値GA(g)の割合が100%、画素値GB(g)が0%となるようにする。
すなわち、混ぜ合わせ後の各頂点の画素値GRは次式で表わされる。
GR(g)=GA(g)(Lmax+L)/2Lmax
+ GB(g)(Lmax−L)/2Lmax
【0054】
ステップ506では、処理対象のパッチWAについてすべての隣接するパッチWBとの色の混ぜ合わせが終了したかどうかをチェックする。
色の混ぜ合わせが終了していないパッチが残っている場合にはステップ503へ戻り、次にデータ量の大きい隣接パッチWBとの色の混ぜ合わせが繰り返される。
すべての隣接するパッチWBとの色の混ぜ合わせが終了したときはステップ507へ進む。
ステップ507では、ステップ501で計算した処理対象のパッチWAの法線のうち、境界線上の頂点の法線情報をグローバル座標ファイルに格納する。
ステップ508において、すべての頂点に色情報が付与され混ぜ合わせが済んだ隣接のパッチWBがあるかどうかをチェックする。
混ぜ合わせが済んだ隣接のパッチがまだない場合にはステップ513へ進み、ある場合にはステップ509へ進む。
【0055】
ステップ513では、処理対象のパッチWAを処理データ格納部14に格納する。これにより、処理データ格納部14の当該パッチWAは色情報が付加されたデータに置換される。
ステップ509では、混ぜ合わせ処理済みのパッチWBの境界線上の頂点の法線情報(法線方向)を読み出す。この法線情報はパッチWBが処理対象のパッチであったときにステップ501でその属性情報に付加されたものである。
ステップ510において、グローバル座標ファイルからパッチWBの境界線上の頂点と一致するパッチWAの境界線上の頂点を探索する。
ステップ511において、パッチWBの頂点と一致しているパッチWAの頂点の法線をパッチWBの対応する頂点の法線に置き換えて、パッチWAの頂点の新たな法線とする。
【0056】
ステップ512では、パッチWAと隣接関係にあり、混ぜ合わせ処理済みのすべてのパッチWBとの関係でパッチWAの法線の置換え処理が終わったかどうかをチェックする。
パッチWAの法線の置換え処理が済んでいない隣接のパッチWBが残っている場合にはステップ509へ戻る。
混ぜ合わせ処理済みで隣接するパッチWBのすべてと法線の置換え処理が済んだときはステップ513へ進んで、処理対象のパッチWAを処理データ格納部14に格納する。作業メモリ35には処理対象パッチWAを残しておく。
【0057】
なお、ステップ508のチェックで混ぜ合わせが済んだ隣接のパッチWBがまだない場合、すなわちパッチWAが例えば最初の処理対象のパッチである場合には、法線を合わせるべき相手がないからステップ501で求めた法線のまま直接ステップ513へ進む。その後、他のパッチの処理時に隣接するパッチWBとしてステップ509で読み出されて、当該他のパッチの境界線上の頂点の法線を一致させる対象となる。
ここまでの処理がテクスチャマッピングに相当する。以下はディスプレイスメントマッピングに相当する。
【0058】
ディスプレイスメントマッピングによって変位する曲面p’は式(1)で表わされる。
p’(u,v)=p(u,v)+h(u,v)q(u,v) ・・・(1)
ここで、図25に示すように、p(u,v)は変位前の曲面(基礎曲面)、h(u,v)は変位量、q(u,v)は変位させる方向の単位ベクトルである。
したがって、ここでは、ポリゴンメッシュにおけるp(u,v)の位置にある各頂点pcを上式により変位させることになる。
図19〜図21のフローチャートに戻って、ステップ514において、パッチWAの三角形ポリゴンメッシュQcの頂点pcの1つを選択して、当該頂点の法線方向を読み出す。選択する頂点の位置は任意である。
なお、この法線方向は後で頂点を変位させる際、および抜き勾配算出の際の単位ベクトルqとなる。
ステップ515において、頂点の属性情報である色情報(画素値g)と絞の深さの変換レートに基づいて、頂点の基準変位量を求める。
絞の最大深さ、すなわち最大変位量をhmax とすると、変換レートはhmax /255となり、画素値gから基準変位量h は式(2)で表される。
h=(g/255)hmax ・・・(2)
例えば、hmax が300μmのとき、画素値gが128であれば基準変位量h は150μmとなる。
【0059】
続くステップ516において、加工対象金型のあらかじめ設定されて入力データ格納部12に格納されている型開き方向と頂点座標の法線方向とに基づいて、抜き勾配を算出する。
そして、ステップ517において、処理開始の際に選択されている抜き勾配に対する絞深さの変化式に基づいて、頂点位置における変位量縮小率を算出する。
図26に示すように、抜き勾配を、頂点の法線方向に対して90°の線と白抜き矢印で示す型開き方向との角度θとすると、抜き勾配が小さいほど大きなアンダーが生じて型開き時の金型と製品側の絞とが干渉することになる。このため、変化式は、図27に示すように抜き勾配θが小さいほど変位量縮小率が大きくなるように、したがって変位量が小さくなるように設定されている。この際、成形後の樹脂収縮により、金型と製品の実際の干渉程度は若干緩和されることも考慮して、変化式が定められる。変位量縮小率は抜き勾配に応じて連続的に変化する。
【0060】
ステップ518では、基準変位量hに変位量縮小率を掛けて最終変位量を算出する。
こうして例えば、基準変位量hが200μmのとき、抜き勾配が25°より大きければ変位量縮小率0%として最終変位量hfは200μmのまま、抜き勾配が0°〜25°の範囲では変位量縮小率90〜0%として最終変位量hfを20μm〜200μmのように変化させることができる。
ステップ519において、上に求めた最終変位量hfをh(u,v)とし、単位ベクトルq(法線方向)を用いて、上述した式(1)によりポリゴンメッシュの頂点pcを変位させる。
【0061】
つぎに、ステップ520において、以上の処理を行っていない頂点が残っているかをチェックする。
未処理の頂点が残っている場合は、ステップ514へ戻り、ステップ519までの処理を繰り返す。
すべての頂点についてテクスチャデータに基づく法線方向の変位が終わると、ステップ520からステップ521へ進み、変位した新たな位置の各頂点pcを連結して、絞形状を付与されたポリゴンメッシュQTとする。ステップ522でこのポリゴンメッシュQTのデータをポリゴンデータ記憶部19に格納し、作業メモリ35から消去する。
以上により1つの処理対象のパッチWAについての絞形状の付与処理が終了する。
【0062】
このあとはステップ107において、すべてのパッチWについて絞形状の付与処理が終わったかどうかがチェックされ、絞形状の付与処理が済んでいないパッチが残っている場合には、ステップ500へ戻って、ステップ300で設定したデータ容量の大きい順で新たな処理対象のパッチWAが処理データ格納部14から読み出されステップ522までの処理が繰り返されることになる。
すべてのパッチWについて以上の処理が終わると絞付与ポリゴンデータを作成する処理が完了する。
このポリゴンデータにより、抜き勾配が小さいところでは前述の変位量縮小により、金型と製品との間にアンダーを生じさせることなく、図28に示すように、絞Rsの深さ(高さ)が連続的に変化する製品が得られる。図中、白抜き矢印は型開き方向である。
【0063】
本実施の形態では、フローチャートにおけるステップ100(ステップ200〜209)が発明におけるポリゴンメッシュ化手段を構成し、ステップ102(ステップ300〜308)が隣接関係探索手段を構成し、ステップ103(ステップ400〜407)が形状連続処理手段を構成している。
ステップ105(ステップ500〜513)がマッピング手段に該当し、とくにステップ503〜506がテクスチャ混ぜ合わせ手段に該当し、ステップ509〜512が法線一致処理手段に該当する。
また、ステップ514〜520が頂点変位手段を構成し、ステップ521が絞付与ポリゴンメッシュ作成手段に該当する。
【0064】
実施の形態は以上のように構成され、まず絞付与対象の自由曲面Jで定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュQc化するとともに、1つのパッチWAを処理対象として、隣接するパッチWB1つずつとの間で順次にポリゴンメッシュQcを連続させるようにパッチWAとパッチWBの境界線上の頂点を互いに一致させ、それから、パッチWAにテクスチャデータに基づくテクスチャをマッピングし、パッチWAの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させて、変位させた各頂点に基づいて新たなポリゴンメッシュQTを作成するようにし、各パッチを順次処理対象として以上を繰り返すことにより、繰り返しごとに得られる新たなポリゴンメッシュQTのデータを絞が付与されたパッチ単位の表面加工データとするものとした。
最後の表面加工データ作成までの各処理段階で、1つのパッチWAを処理対象としており、その間パッチWAに隣接するパッチWBが複数あっても必要時に順次に1つずつデータを読み込んで処理すればよいから、パッチ全体のポリゴンメッシュデータについてはデータ処理部13の作業メモリ35には一時に最大2つのパッチ分を格納するだけで済み、データがメモリの格納可能量を超えて極端にコンピュータの処理速度が低下したりフリーズしてしまうおそれがない。
【0065】
製品形状データのポリゴンメッシュ化は、製品形状データを複数に分割した各パッチWの自由曲面のパラメータ空間において、所定の分割線でグリッド点を生成するとともに、パッチの境界線上に所定の間隔で点列を生成し、境界線内側のグリッド点および境界線上の点列を用いて、各頂点を自由曲面上に有する3次元のポリゴンメッシュQcを形成する。
とくに、グリッド点を生成する分割線および境界線上の点列は、それぞれ所定範囲内に均一化した間隔とし、3次元のポリゴンメッシュQcの形成は、境界線内側のグリッド点を連結して格子メッシュを形成し、該格子メッシュを三角形ポリゴン化するとともに、格子メッシュの外周におけるグリッド点と境界線上の点列を連結して三角形ポリゴン化して形成するようにしており、2次元平面への射影とさらに3次元への復元処理とを行わないため、演算負担が少なく、処理時間が短縮される。また同じく2次元化および3次元化の処理に伴う歪の発生もない。パッチWに分割しているので表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
【0066】
また、パッチW間の隣接関係は、1つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかどうかを探索することにより設定するので、データ入力部11に入力されるパッチのデータに隣接関係が付されていなくても簡単に判断できる。
隣接関係の探索は、処理対象のパッチをポリゴンメッシュのデータ量の大きい順番で選択して処理するので、データ量の大きいパッチが隣接するパッチとして何回も作業メモリへ読み出すことが回避され、処理速度が向上する。頂点一致処理以降の各処理でも同様である。
【0067】
そして、隣接関係にある2つのパッチWA、WB間ではそれぞれの境界線BOA、BOB上の頂点を互いに一致させる処理を行うので、境界線の頂点列がパッチ間で同位置として共有され、各パッチが切れ目なく滑らかに連続する。
具体的には、パッチWAとパッチWBの一方の境界線上の頂点と同位置に他方の境界線に新たな頂点を生成し、または一方の境界線上の頂点と他方の境界線上の頂点をそれぞれ中間の同位置へ移動させて一致させるので、つなぎ目が極端に細かいメッシュになったり粗なメッシュになることがない。
【0068】
テクスチャデータは2次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値をテクスチャ値とする画像データとしており、テクスチャデータ自体も少ないデータ量でテクスチャを表現できるので、データ処理が簡単である。
【0069】
パッチへのテクスチャのマッピングに関しては、各パッチについてそれぞれその平均法線を用いてテクスチャ座標系を設定し、とくに、処理対象のパッチWAのすべての頂点をパッチWAのテクスチャ座標系に射影してテクスチャ値(GA)を求めるとともに、隣接するパッチWBとの境界線上の頂点との最短距離LがLmax以内の頂点については、パッチWBのテクスチャ座標系に射影してテクスチャ値(GB)を求めて、両テクスチャ値の混ぜ合わせを行っているので、テクスチャの不連続を緩和する。
そして、混ぜ合わせは境界線上の頂点からの最短距離Lでウエイト付けして行っているので、テクスチャの変化が滑らかである。
さらに、パッチWAの頂点の法線を隣接するパッチWBの頂点の法線に合わせるので、パッチのつなぎ目にも違和感を生じさせない。
【0070】
パッチWAにおいて最短距離Lを求める際の隣接するパッチWBとの境界の頂点は、当該隣接するパッチWBの境界線上に位置する頂点を参照することにより、パッチWAの境界線上のどの頂点がパッチWBとの間の境界線上にあるのか属性情報がなくても、頂点一致処理されていてパッチWB側の頂点と重複することから識別できる。
【0071】
絞生成部34における処理については、三角形ポリゴンメッシュQcの各頂点を変位させる変位量を、テクスチャに基づく基本変位量に金型の抜き勾配に応じた変位量縮小率を乗じたものとしているので、アンダーを発生させず、絞の深さを滑らかに変化させて見栄えの良い外観表面が得られる。
【0072】
なお、実施の形態では、境界線の自由曲線としてB−spline曲線が用いられた例について説明したが、他の自由曲線の場合にも本発明は同様に適用できる。
また、パッチW間の隣接関係については、ポリゴンメッシュ化したあと1つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかを探索して設定するものとしたが、パッチを分割した際のデータに隣接関係の情報をあらかじめ付しておいてもよい。
【0073】
テクスチャデータは256階調のグレースケール画像データで提供されるものとしたが、これに限定されず、複数の色成分の濃度に絞の深さ情報を持たせた画像データを用いてもよい。
また、テクスチャマッピングにおいて、隣接するパッチのテクスチャ座標系を用いて画素値の混ぜ合わせを行うものとしたが、テクスチャの特性やポリゴンメッシュの細かさ等により、十分滑らかなつながりとなる場合には、画素値の混ぜ合わせ処理を省略することもできる。
絞模様のディスプレイスメントマッピングにおいて、抜き勾配に対する変位量縮小については縮小率を連続的に変化させるものとしたが、任意のステップで意図的に段階的な変化をなすようにすることも当然に可能である。
【産業上の利用可能性】
【0074】
本発明は、製品表面に絞模様を形成する種々の樹脂製品の製造分野において利用して、多大の効果を有する。
【符号の説明】
【0075】
10 表面加工データ作成装置
11 データ入力部
12 入力データ格納部
13 データ処理部
14 処理データ格納部
19 ポリゴンデータ記憶部
20 データ出力部
22 操作入力部
23 モニタ
30 ポリゴンメッシュ化部
31 ポリゴンメッシュ統合部
33 テクスチャ合成部
34 絞生成部
35 作業メモリ
b 間隔上限値
Ca、Ca1、Ca2、Ca3、Ca4 グリッド点
Cb 点列
Cb1、Cb2、Cb3、Cb4 点
GA、GB 射影されたテクスチャ
J 自由曲面
K、BOA、BOB 境界線
L 最短距離
N 対象点
PA、PA’、PB、PB’ 頂点列
Pa1、Pa2、Pa3、Pa4、Pa5、Pax、Pay 頂点
Pb1、Pb2、Pb3、Pb4、Pb5、Pb6、Pb7、Pbx 頂点
pc 頂点
Qc 三角形ポリゴンメッシュ
QT ポリゴンメッシュ
R1、R2 稜線
Sqc 四角格子メッシュ
Tpc 三角形ポリゴン
W、WA、WB パッチ
Δ1、Δ2 三角形
【技術分野】
【0001】
本発明は、樹脂製品の表面に絞(しぼ)模様を形成するための表面加工データの作成方法および装置に関する。
【背景技術】
【0002】
家電製品、文具、または自動車用内装品などの表面には、見栄えや触感の向上、防眩、滑り止めなど様々な目的で絞が施されている。絞の模様には皮革、木目、岩目、砂目、なし地、幾何学模様などさまざまな微細形状の模様が採用されている。
これらの絞を樹脂製品の表面に形成するために、従来のエッチング工法や電気鋳造法などに代わり、特開平7−241909号公報や特開2004−358662号公報には、皮革モデルなどの表面形状を読み取った表面測定値から表面形状の深さを256階調の濃度で表わした画像データに変換してコンピュータにより生成した加工データを用いて絞を付与する技術が提案されている。
【0003】
この絞形状データから加工データを生成するに当って、立体物の傾斜面において絞に歪が生じるのを避けるため、例えば画像データにおける絞の深さに対応する濃度に応じて、製品曲面上にボクセルを積み上げて絞を製品表面の法線方向に生成するボクセルデータ変換を用いたモデリングソフトなどが提供されている。
しかし、このような方式では、先ず製品形状データをボクセルデータに変換するために膨大なデータ量を必要とする。
さらに、複数の曲面からなる連続した複雑形状の製品表面に対しては、分割した範囲ごとに絞を生成し、絞生成後に隣接する絞形状とのつなぎ目処理が必要となるが、これに対する満足な処理が未解決である。
【0004】
すなわち、つなぎ目の絞を同じ形状で合せることが難しく、つなぎ目が目立たないようにするには多大な工数を要する手作業による修正が必要となる。しかも、手作業による修正はつなぎ合わせようとする絞形状を変形させることとなるので、作業者の熟練度により出来栄えが変り、角が丸くなったり、溝や山が太くなったり、曲がったりして、修正の狙いから外れて見栄えの悪いものとなってしまうことも多く、品質が安定しない。したがって従来の手法はその主な適用対象が平面や円筒面に限定されているのが実情である。
【0005】
そこで、本出願人は、ガウス曲率が大きかったり、あるいはガウス曲率が緩くても面積が広くなる多数の曲面で構成される製品形状であっても、製品表面に歪みの少ない絞が形成されるようにした表面加工データの作成技術を、先の特願2010−052123に提案した。
これは、絞付与対象の自由曲面で定義される製品形状データをポリゴンメッシュ化し、ポリゴンメッシュを分割した1つを初期領域としてテクスチャをマッピングし、このマッピングされたテクスチャに所定の要求レベルを満たす変化でつながる新たなテクスチャを合成して、隣接する領域に新たなテクスチャをマッピングすることを繰り返してすべての領域にテクスチャをマッピングし、ポリゴンメッシュの各頂点をテクスチャに基づいてそれぞれの法線方向に変位させた新たな頂点に基づいて作成した新たなポリゴンメッシュデータを絞が付与された表面加工データとするものである。
これにより、初期段階でデータを分割したとしても絞形状のつなぎ目が滑らかで、表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−241909号公報
【特許文献2】特開2004−358662号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上に提案した絞の表面加工データ作成においては、従来のボクセルデータ変換のための膨大なデータ量を処理する必要からは解放されるが、しかし、絞形状を付与する製品形状データ自体はそのすべてをコンピュータのメインメモリに読み込んでおかないと、生成する絞形状の連続性を保持することができない。このため、絞形状を付与する面積が大きくなると一度に処理しなければならないデータ量も増大することとなり、内部のメインメモリの限られた容量では処理に時間がかかることになる。とくにデータ量がメインメモリの格納可能量を超えるような場合には、ハードディスク等外部の補助メモリも一時的に使用するが、ハードディスクはアクセス速度が極度に遅いために処理速度の低下も激しく、場合によってコンピュータのフリーズ状態を招くので、絞形状付与対象のサイズにかかわらず円滑に処理が遂行されるよう、さらに実用性向上に向けた改良が望まれる。
【0008】
したがって、本発明は上記にかんがみ、歪みの少ない見栄えの良い絞を付与することができるとともに、大面積形状への絞付与においても処理速度低下などを招くことなく実用範囲で処理可能な表面加工データの作成方法および装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
このため本発明は、コンピュータによる表面加工データの作成方法であって、
絞付与対象の自由曲面で定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化し、
1つのパッチを処理対象として、隣接するパッチ1つずつとの間で順次にポリゴンメッシュを連続させる形状連続処理を行い、
処理対象のパッチにテクスチャデータに基づくテクスチャをマッピングし、
処理対象のパッチの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させ、
変位させた各頂点に基づいて新たなポリゴンメッシュデータを作成し、
上記形状連続処理以下を繰り返して、上記新たなポリゴンメッシュデータを絞が付与されたパッチ単位の表面加工データとするものとした。
【0010】
テクスチャデータは、2次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値とするのが好ましい。
隣接関係の探索は、1つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているとき、当該1つのパッチと他のパッチが隣接関係にあるものとすればよい。
【0011】
テクスチャのマッピングについては、各パッチごとにその平均法線を用いてテクスチャ座標系を設定し、処理対象のパッチのすべての頂点を当該パッチのテクスチャ座標系に射影してテクスチャ値を求めるとともに、処理対象のパッチにおける所定範囲の頂点について、処理対象のパッチに隣接するパッチのテクスチャ座標系に射影してテクスチャ値を求めて、両テクスチャ値の混ぜ合わせを行うことが好ましい。
上記の所定範囲は、隣接するパッチとの境界の頂点との最短距離が所定値以内の範囲とすることができる。
さらに、両テクスチャ値の混ぜ合わせは、上記の最短距離でウエイト付けして行うのが好ましい。
【0012】
形状連続処理としては、処理対象のパッチと隣接するパッチとの間のそれぞれの境界線上の頂点を互いに一致させるのがよく、より具体的には、一方のパッチの境界線上の頂点と同位置に他方のパッチの境界線に頂点を生成し、または一方の境界線上の頂点と他方の境界線上の頂点をそれぞれ同位置へ移動させることにより一致させることができる。
そして、最短距離を求める対象である隣接するパッチとの境界の頂点は、互いに位置を一致させた当該隣接するパッチの境界線上の頂点を参照することにより識別することができる。
【0013】
さらに、処理対象のパッチと隣接するパッチとの間の境界線上で位置を一致させた頂点の法線を処理対象のパッチと隣接するパッチの間で互いに一致させ、とくに処理対象のパッチの頂点の法線を隣接するパッチの頂点の法線に合わせるのが好ましい。
一連の処理において、処理対象のパッチはポリゴンメッシュのデータ量の大きい順に選択するのが好ましい。
【発明の効果】
【0014】
本発明は、まず、製品形状データをポリゴンメッシュ化し厚みを持たない曲面データとして処理することで、処理データ量が少なくて済む。
パッチに分割しているので表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
そしてとくに、形状連続処理から絞付与されたポリゴンメッシュ作成までを処理対象のパッチ単位で処理するものとし、その間処理対象のパッチに隣接するパッチが複数あっても順次に1つずつデータを読み込んで処理すればよいから、コンピュータのメモリへは一時に最大2つのパッチ分のポリゴンメッシュデータを格納するだけで済み、データがメモリの格納可能量を超えてコンピュータの処理速度が極端に低下したりすることがなく、高い実用性を有する。
【図面の簡単な説明】
【0015】
【図1】実施の形態における表面加工データ作成装置の構成を示すブロック図である。
【図2】表面加工データ作成装置における処理の流れを示すメインフローチャートである。
【図3】三角形ポリゴンメッシュ作成の詳細を示すフローチャートである。
【図4】パッチにおける分割要領を示す概念図である。
【図5】グリッド点と境界線を示す図である。
【図6】ポリゴンメッシュを形成するグリッド点の抽出要領を示す説明図である。
【図7】境界線上の点列の生成要領を示す説明図である。
【図8】グリッド点により生成した四角格子メッシュを示す図である。
【図9】四角格子メッシュの外周凹部における三角形の形成要領を示す説明図である。
【図10】四角格子メッシュと境界線上の点列による三角形ポリゴンの生成要領を示す図である。
【図11】パッチ上に生成した三角形ポリゴンメッシュを示す図である。
【図12】三角形ポリゴンメッシュの整形要領を示す説明図である。
【図13】パッチの隣接関係探索の詳細を示すフローチャートである。
【図14】境界線上の頂点一致処理の詳細を示すフローチャートである。
【図15】頂点一致処理の経過を示す説明図である。
【図16】頂点一致処理の経過を示す説明図である。
【図17】頂点一致処理の経過を示す説明図である。
【図18】頂点一致処理の経過を示す説明図である。
【図19】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図20】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図21】テクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
【図22】パッチの平均法線とテクスチャの射影方向を示す説明図である。
【図23】パッチの頂点と境界線上の頂点との最短距離を示す図である。
【図24】色の混ぜ合わせ要領を示す説明図である。
【図25】ディスプレイスメントマッピングの概念を示す説明図である。
【図26】抜き勾配による金型と製品の干渉を示す説明図である。
【図27】変化式の概念を示す抜き勾配と変位量縮小率の関係図である。
【図28】変位量縮小を適用した絞の深さ変化を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について説明する。
図1は、実施の形態にかかる表面加工データ作成装置の構成を示すブロック図である。
表面加工データ作成装置10はコンピュータ構成で、製品の表面形状および絞のテクスチャデータとさらに処理ツールデータを入力するデータ入力部11と、入力データ格納部12と、入力データ格納部12に格納されたデータを基に、製品の表面曲面に絞形状を付したポリゴンデータを生成するデータ処理部13と、生成したポリゴンデータを記憶するポリゴンデータ記憶部19と、ポリゴンデータ記憶部19からポリゴンデータを加工データとして出力するデータ出力部20と、データ処理部13に接続した例えばハードディスクからなる処理データ格納部14とからなる。
表面加工データ作成装置10には、キーボードやジョグレバーなどからなる操作入力部22と、画像データを表示可能なモニタ23とが接続される。
【0017】
データ入力部11に入力される製品形状データとしての表面形状データは、CADデータとして多く用いられる各々の座標をパラメータu、vの関数S=F(u、v)とした自由曲面で定義され、あらかじめ自由曲線で表わした境界線により複数の曲面に分割されたパッチ情報として構成され、入力データ格納部12に格納される。
なお、境界線はとくに断らない限り、いわゆるトリムラインを含むものであり製品形状の端縁を画して隣接するパッチのない境界線を含むものである。
表面形状データには、製品の絞を付与する対象部分(以下、絞付与対象という)の全体サイズが含まれている。
【0018】
テクスチャデータは、絞の深さを濃度に割り当てた256階調の2次元のグレースケール画像データであり、少ないデータ量でテクスチャを表現でき、データ処理が簡単である。
テクスチャデータはデータ処理部13での処理のため画素値として読み出される。以下では、便宜的に画素値を単に色、あるいは色情報とも言う。
処理ツールデータには、テクスチャの混ぜ合わせの際に重み付けを行う範囲を定める境界線上の頂点からの最短距離の上限値、抜き勾配に応じて変化させる縮小率の算出に用いる射出成形型の型開き方向などがある。
【0019】
データ処理部13は、ポリゴンメッシュ化部30、ポリゴンメッシュ統合部31、テクスチャ合成部33、絞生成部34および作業メモリ35(メインメモリ)を備えている。
ポリゴンメッシュ化部30は、各パッチWごとにその自由曲面上に頂点を有する三角形ポリゴンメッシュを作成し、ポリゴンメッシュ統合部31は隣接するパッチ間で三角形ポリゴンメッシュが滑らかにつながるように処理を行う。
テクスチャ合成部33は、パッチ単位で三角形ポリゴンメッシュにテクスチャをマッピングするとともに、隣接パッチとのテクスチャの連続性を確保するため色の混ぜ合わせを行う。
【0020】
絞生成部34は、三角形ポリゴンメッシュの各頂点に対応するテクスチャデータの濃度階調に基づいて、当該各頂点の位置を変位させて、絞が付与されたポリゴンデータを生成する。
三角形ポリゴンメッシュの頂点位置変位については、金型の抜き勾配に応じた変位量縮小率を適用して変位量を変化させ、型抜き時のアンダーの発生を防止する。データ処理部13には、変位量縮小率を定める複数の変化式があらかじめ設定されており、成形材料や製品形状の特性等を考慮して、操作入力部22の操作によりいずれかの変化式を選択可能となっている。
【0021】
作業メモリ35には、データ処理部13内の各部における処理データが一時的に格納される。
処理データ格納部14には、まずポリゴンメッシュ化部30で作成されたすべてのパッチの三角形ポリゴンメッシュが格納されてデータ処理部13での処理に応じてパッチ単位で読み出され、再格納される。作業メモリ35に一時的に格納されるのは、処理される最大2つまでのパッチ分のデータとなる。すなわち、ポリゴンメッシュ統合部31で頂点列を一致させた隣接パッチの三角形ポリゴンメッシュも一致処理が済むごとに作業メモリ35から消去され、新たな隣接パッチの三角形ポリゴンメッシュと入れ替えられる。また、テクスチャ合成部33でマッピングした三角形ポリゴンメッシュも、パッチ単位の処理が終わるごとに処理データ格納部14に格納されて、作業メモリ35からは消去される。
データ処理部13は絞が付与されたポリゴンデータをパッチ単位でポリゴンデータ記憶部19に記憶させる。
モニタ23には、各処理の進捗状態を画像を含めて表示することができる。
【0022】
次に、上記表面加工データ作成装置10における処理の詳細について説明する。
図2は処理の流れを示すメインフローチャートである。
製品の表面形状データのパッチ情報、絞のテクスチャデータ、型開き方向の角度情報、および後述する三角形ポリゴンメッシュの間隔上限値bが操作入力部22の操作によりデータ入力部11に入力されると、各データが入力データ格納部12に格納されて、処理が開始される。なお、これらのデータ入力とともに、変位量縮小率を定める変化式も操作入力部22により選択される。
【0023】
先ずステップ100において、データ処理部のポリゴンメッシュ化部30は、入力データ格納部12からパッチWの情報を読み出し、三角形ポリゴンメッシュQcを作成する。
ステップ101で、すべてのパッチWについて三角形ポリゴンメッシュを作成したかどうかをチェックする。
まだ三角形ポリゴンメッシュQcを作成していないパッチが残っていればステップ100へ戻り、すべてのパッチWの三角形ポリゴンメッシュ作成が完了していればステップ102へ進む。
ステップ102では、ポリゴンメッシュ統合部31において、パッチごとに他のパッチと境界が重なっているかの隣接関係を探索して、互いに隣接するパッチを特定する。
【0024】
次のステップ103において、隣接関係にあるパッチの境界線上の頂点を一致させる。これは、境界線の頂点列はパッチ間で同位置として共有されることが望ましいから、境界線上の頂点を移動あるいは新しく生成することにより一致させるものである。
ステップ104では、すべてのパッチWについて頂点一致処理が完了したかどうかをチェックする。
頂点一致処理が終了していないパッチが残っていればステップ103へ戻り、すべてのパッチについて頂点一致処理が完了していればステップ105へ進む。
ステップ105において、テクスチャ合成部33はパッチWの三角形ポリゴンメッシュQcにテクスチャをマッピングする。
【0025】
ステップ106において、絞生成部34がテクスチャデータおよび処理ツールデータに基づいて、ディスプレイスメントマッピングにより三角形ポリゴンメッシュQcの各頂点を移動させ、絞付与ポリゴンデータとしてポリゴンデータ記憶部19に格納する。
ステップ105、106は1つのパッチWについて続けて実行される。
ステップ107で、すべてのパッチWについて絞形状が付与されポリゴンデータ記憶部19に格納されたかどうかをチェックする。
すべてのパッチについて絞形状の付与が終了していなければステップ105へ戻り、終了していればステップ108へ進む。
ステップ108では、モニタ23に処理が完了した旨を表示して、本処理を終了する。
処理データ格納部14に格納されたデータは消去される。
このあと、データ出力部20は、操作入力部22の操作により、ポリゴンデータ記憶部19から絞付与ポリゴンデータを読み出し、加工データとして加工装置等へ出力可能となる。
【0026】
図3は、ステップ100における三角形ポリゴンメッシュQc作成の詳細を示すフローチャートである。
ステップ200において、選択したパッチWの図4の(a)に示すような自由曲面(パラメトリック曲面)Jを格子の間隔が間隔上限値b以下となるように分割するパラメータu、vの分割数を算出する。例えばパッチWのuのパラメータ間隔(最大値−最小値)をある整数mで分割し、パラメータ間隔cを求める。cを用いてパッチWを分割し、間隔上限値bと比較し、bより大きい場合にはmを増やす。すべての格子間隔が間隔上限値bより小さくなるまでこの処理を繰り返す。パラメータvに対しても同様の処理を行う。図4の(b)は自由曲面上の分割線を示す。
【0027】
ステップ201では、上で算出したu、vそれぞれの分割数を用いて各格子点のパラメータ値を算出し、図5に示すように、自由曲面上に点を生成する。この生成した点を以下、グリッド点Caと言う。なお、図5はu−v面にそった拡大図で、簡単化のためアイソパラメトリック曲線を省いてある。
【0028】
ステップ202において、ポリゴンメッシュ形成用のグリッド点Caを抽出する。
具体的には、グリッド点Caのうち、図6に白抜きで示すように、パッチWの境界線Kを含んで境界線の外部にあるものを削除し、さらに、境界線Kより内部にあっても境界線からの距離が格子間隔の1/100未満のものも削除する。格子間隔は間隔上限値b、あるいは実際に分割した格子間隔でもよい。
なお、境界線Kはトリムラインを含み、B−spline曲線で示される。境界線Kの形状はパッチごとに任意である。
境界線Kからの距離が所定距離未満のグリッド点Caを排除するのは、次に述べる境界線K上の点を用いて形成するポリゴンが極端に小さくなってしまうことを避けるためである。
【0029】
ステップ203では、境界線Kを間隔上限値b以下の間隔となるように分割する分割数を算出し、ステップ204で、図7に示すように、当該分割数を用いて境界線K上に点列Cbを生成する。なお、以下では点列の個々の点もCbで表す。
なお、分割数についてはグリッド点Caの場合と同様に全周が等分割される値にすることができるが、グリッド点Caおよび点列Cbの分割についてはいずれも間隔上限値bで等分割した上最後の間隔上限値bを越える部分のみを2分してもよい。これにより、グリッド点および点列がそれぞれ所定範囲内に均一化した間隔となる。
【0030】
ステップ205において、先のステップ202で抽出したグリッド点Caを用いて図8に示すように、四角格子メッシュSqcを生成する。なお、各交点がグリッド点Caに対応するが、その黒丸表示は省いている。
ステップ206において、四角格子メッシュSqcの外周形状が階段状になって凹部がある場合には、図9のE1、E2部に示すように、当該凹部の内角を挟む外周の2つのグリッド点を直線で連結して三角形Δ1、Δ2を形成する。ただし、E3部の破線で示すように、2つのグリッド点を連結する直線が境界線Kを横切る場合は三角形を形成しない。
【0031】
ステップ207において、図10に示すように、四角格子メッシュSqcの各格子における1組の対角位置にあるグリッド点を連結して三角形ポリゴンTpcを生成する。
続いてステップ208において、四角格子メッシュSqcの外周にあるグリッド点Caと境界線K上の点列Cbとの間にも三角形ポリゴンを生成する。
【0032】
ここでは、図10に示すように、まず外周にあるグリッド点の1つCa1を選び、これに最も近い境界線K上の点Cb1と連結する。この連結直線R0をそれぞれ1辺として、さらに四角格子メッシュSqcの外周にある隣接のグリッド点Ca2とからなる三角形ΔCa1−Cb1−Ca2と、境界線K上の隣接の点Cb2とからなる三角形ΔCa1−Cb1−Cb2とを演算して、これら2つの三角形のうち正三角形に近い方を三角形ポリゴンTpcとして採用する。
正三角形に近いかどうかは、三角形の最大内角度と最小内角度の差が0(ゼロ)に近いほど正三角形に近いとするか、あるいは最長辺の長さと最短辺の長さの比が1に近いほど正三角形に近いとして判断することができる。
【0033】
つぎに、上記選択したグリッド点Ca1に順次隣接する四角格子メッシュSqcの外周上のグリッド点(例えばCa2)について以上の処理を繰り返す。隣接する方向は左回りまたは右回りを予め定めておけばよい。
以上により、図11に示すように、四角格子メッシュSqcの外周から境界線K上の点列Cbまで拡大した三角形ポリゴンメッシュQcがパッチの自由曲面J上に生成される。
【0034】
ステップ209において、エッジスワップによる三角形ポリゴンメッシュQcの整形を行う。ステップ208において生成される三角形ポリゴンメッシュQcはステップごとに形の良い正三角形に近い三角形を選択して生成する処理となっているが、生成された三角形ポリゴンメッシュ全体で見るとエッジスワップすることでより良い三角形を生成できる場合がある。
ここでは、図12に破線で示す四角格子メッシュSqcの外周上のグリッド点Ca3と境界線上の点Cb3を連結してその両側に三角形ポリゴンが存在する1つの稜線R1に対して、太実線で示すように一方の三角形ポリゴンを構成する境界線上の点Cb4と他方の三角形ポリゴンを構成する外周上のグリッド点Ca4とを連結する稜線R2を演算する。そして、この新たな稜線R2の両側に形成される2つの三角形(エッジスワップ後の三角形)を求める。
【0035】
図12に示されるように、エッジスワップ後の2つの三角形△Ca4−Cb4−Ca3と△Ca4−Cb4−Cb3が、エッジスワップ前の2つの三角形△Ca3−Cb3−Cb4と△Ca3−Cb3−Ca4よりも正三角形に近づく場合には、破線の稜線R1を廃して、エッジスワップ後の三角形△Ca4−Cb4−Ca3と△Ca4−Cb4−Cb3を三角形ポリゴンとして入れ替え採用する。
【0036】
パッチWの三角形ポリゴンメッシュQcは四角格子メッシュSqcの外周上の順次隣接するグリッド点について以上の処理を繰り返して整形される。
各パッチWの三角形ポリゴンメッシュQcのデータは、前述のように、その作成ごとに処理データ格納部14に格納される。
以下の各処理において、単にパッチと言うときも、特記しない限りパッチの三角形ポリゴンメッシュQcを指す。
【0037】
図13は、ステップ102におけるパッチWの隣接関係探索の詳細を示すフローチャートである。
まずステップ300において、すべてのパッチWの三角形ポリゴンメッシュQcのデータ容量を調べ、データ容量の大きい順にパッチWの処理順番を設定する。
これは、複数のパッチを個別に比較する場合に、より早く入力されたパッチのほうが遅く入力されたパッチよりも入出力回数が少なくなるので、データ容量の大きいパッチの入力をできるだけ減らして処理速度を速めるために順番を定めるものである。
ステップ301で、処理データ格納部14からデータ容量の大きい順に1つのパッチWの三角形ポリゴンメッシュQcのデータを作業メモリ35に読み出し、その境界線上の頂点列を抽出する。抽出した頂点列(のデータ)はグローバル座標ファイルとして作業メモリ35に格納する。その後、三角形ポリゴンメッシュQcのデータは作業メモリ35から消去する。
【0038】
ステップ302において、作業メモリ35の頂点列を用いてポリラインを作成する。ポリラインは作業メモリ35に格納される。各パッチWのポリラインはデータ量が小さいので作業メモリ35に蓄積される。
ステップ303で、すべてのパッチWについてポリラインを作成したかどうかをチェックする。
ポリライン未作成のパッチがあればステップ301へ戻り、すべてのパッチのポリライン作成が完了するとステップ304へ進む。
【0039】
ステップ304では、データ容量の大きい順に処理対象のパッチWAの境界線K上の頂点列を作業メモリ35(グローバル座標ファイル)から読み出し、ステップ305で他のパッチWのポリラインを読み出す。
そして、ステップ306においてパッチWAの頂点列が当該他のパッチWのポリライン上に重なっているかどうかを探索する。
パッチWAの頂点列が他のパッチWのポリライン上に重なっている場合には、ステップ307へ進んで、当該他のパッチWが処理対象のパッチWAと隣接している旨の隣接関係を設定し、その隣接情報を作業メモリ35に格納したあと、ステップ308へ進む。
頂点列が他のパッチWのポリライン上に重なっていなかった場合には、ステップ306からステップ308へ進む。
【0040】
ステップ308では、すべての他のパッチWについて処理対象のパッチWAの頂点列とポリラインの重なりを探索したかどうかをチェックする。
パッチWAの頂点列とポリラインの重なりを探索していない他のパッチが残っている場合にはステップ305へ戻って、残りの他のパッチのポリラインを読み出し探索を繰り返す。
すべての他のパッチWについて上記頂点列とポリラインの重なりの探索が終わると1つの処理対象のパッチWAに関する隣接情報が得られたことになる。
このあとはステップ309において、すべてのパッチについてそれぞれを処理対象として隣接関係の探索が行われたかどうかをチェックする。
処理対象としなかったパッチがまだ残っている場合にはステップ304へ戻り、すべてのパッチが処理対象として隣接関係の探索が完了するとステップ103へ進む。
【0041】
図14はステップ103におけるポリゴンメッシュ統合部31による頂点一致処理の詳細を示すフローチャートである。図15〜図18は頂点一致処理の経過を示す説明図である。
ステップ400において、まず処理対象のパッチWAの三角形ポリゴンメッシュQcのデータを処理データ格納部14から作業メモリ35に読み出し、ステップ401でパッチWAに対して隣接関係にあるパッチWBの三角形ポリゴンメッシュQcを同様に読み出す。パッチWAもパッチWBも読み出し順は前述のとおりデータ容量の大きい順である。
ステップ402において、2つのパッチWA、WBの境界にある頂点を移動あるいは生成して一致させる。
【0042】
ここでは、まずパッチWA、WBの境界線上に乗っている頂点列を探索する。符号Kの代わりに、パッチWAの境界線をBOA、パッチWBの境界線をBOBとする。パッチWAの境界線BOAとパッチWBの境界線BOBは本来重なる関係にあるが、図15〜図18には説明の便宜上離間させて示している。
図示の例では頂点Pa1〜Pa5がパッチWAの境界線BOA上の頂点列PAをなし、頂点Pb1〜Pb7がパッチWBの境界線BOB上の頂点列PBをなしているが、両頂点列は互いに同位置となってはいない。そして、例えばパッチWBの角部では、頂点列PBの始点(頂点Pb1)に隣接する手前側の頂点PbzがパッチWAの境界線BOAと共通の線上に乗らない場合には、パッチWBにおける当該頂点Pbzと始点の頂点Pb1を結ぶ境界線はパッチWAの境界線BOAから離れることになる。このような場合、パッチWAの頂点Pa1は境界線BOA上の頂点ではあるがパッチWBとの共通の境界線上にはないから、頂点Pa1をパッチWBの離間した境界線の頂点Pbzと一致させることは適当でない。
【0043】
そこで、まず位置を一致させる頂点をパッチWAとパッチWBの各境界線BOA、BOBの共通部分に乗っている頂点に限定する。
このため、図15の(a)に矢示するように、パッチWAでは反時計方向に頂点列PAを辿り、パッチWBでは時計方向に頂点列PBを辿るものとして、パッチWBの頂点列PBの始点(頂点Pb1)がパッチWAの境界線BOA上にあるときは、当該始点が共通の境界線上にある頂点列の端であるとする。逆に頂点列Pbの始点がパッチWAの境界線BOA上にないときは、すなわち共通の境界線上になく、パッチWAの頂点列PAの始点が共通の境界線上にある頂点列の端となる。
パッチWAとパッチWBの頂点列の終点についても同様である。
【0044】
こうして、まず共通の境界線上の頂点列の端を一致させるため、図15の(b)に示すように、パッチWAの境界線BOA上、パッチWBの頂点列PBの始点(Pb1)と同位置に頂点Paxを生成して共通の境界線上の始点位置とし、同様に、パッチWBの境界線BOB上、パッチWAの頂点列PAの終点(頂点Pa5)と同位置に頂点Pbxを生成して共通の境界線上の終点位置とする。位置を一致させた頂点を黒丸で示す。
パッチWAとパッチWBで同位置とした始点位置の両頂点(Pax、Pb1)を対象点Nとし、対象点のフラグをそれぞれABとする。すなわち、フラグABは位置が一致した頂点を示す。
なお、境界線BOA上に生成した頂点Paxと、その前後の頂点Pa1、Pa2間を1辺とする三角形の他の頂点との間に、エッジを生成して2つの三角形ポリゴンに分割して、四角形が生じないようにする。
【0045】
そして、(c)のように、パッチWAの頂点列PAとパッチWBの頂点列PBにおいてそれぞれフラグABとした頂点から次の頂点までの距離を計算し、近い方の頂点を次の対象点Nとする。対象点(すなわち近い頂点)NのあるパッチのフラグをAとし、他方のパッチのフラグをBとして、対象点Nの位置からさらに次に近い方の頂点がフラグAまたはフラグBのパッチのどちらにあるのかで頂点を移動するのか生成するのかを決定する。
すなわち、対象点Nの位置からさらに次に近い方の頂点がフラグAのパッチ側にある場合には、フラグBのパッチの境界線上フラグAの対象点Nと同じ位置に新たな頂点を生成し、対象点Nの位置から近いさらに次の頂点がフラグBのパッチ側にある場合には、当該近い方の頂点と対象点Nの頂点とをそれらの間の中点位置へそれぞれ移動させる。
なお、対象点Nの位置から次の頂点への距離が等しい場合には、対象点Nの位置からさらに次に近い方の頂点がフラグAのパッチ側にある場合と同様に、フラグBのパッチの境界線上フラグAの対象点Nと同じ位置に新たな頂点を生成する。
図15の例では、フラグABの頂点からパッチWAの頂点Pa2の方がパッチWBの頂点Pb2よりも近いから、頂点Pa2を対象点Nとし、パッチWAのフラグをAとし、パッチWBのフラグをBとする。
【0046】
次に、図16の(d)に示すように、フラグAのパッチWAで対象点Nとされた頂点Pa2により近い次の頂点がフラグBのパッチの頂点Pb2であるから、(e)に示すように、対象点の頂点Pa2とこれに近いフラグBのパッチの頂点Pb2間の距離の中点位置へ双方の頂点を移動させて、これらのフラグをそれぞれABとする。
次に、フラグABとした頂点Pa2、Pb2から次の頂点までの距離を計算すると、頂点Pb3の方が頂点Pa3よりも近いから頂点Pb3を新たな対象点Nとし、パッチWBのフラグがAに変り、パッチWAのフラグがBとなる。
【0047】
そして、(f)に示すように、対象点Nの頂点Pb3により近い次の頂点はフラグAのパッチWBにおける頂点Pb4であるから、図17の(g)に示すように、フラグBのパッチWAの境界線BOA上に頂点Pb3と同じ位置の頂点Payを生成して、これらの頂点Pay、Pb3をフラグABとする。
ここでも、境界線BOA上に生成した頂点Payと、その前後の頂点Pa2、Pa3間
を1辺とする三角形の他の頂点との間に、エッジを生成して2つの三角形ポリゴンに分割する。
なお、フラグABの頂点からフラグAおよびBのパッチにおける次の頂点までの距離が等しい場合は、これらの頂点の位置をそのまま確定して、当該頂点を次のフラグABの頂点とすればよい。
図17、図18の(h)以降は上述した要領で頂点の生成、移動を繰り返し実施した経過を示し、これにより最終的に(k)に示すように、2つのパッチWA、WBの境界に互いに頂点位置を一致させた頂点列PA’、PB’が得られる。
【0048】
図14のフローチャートに戻って、ステップ403では、境界線上の頂点を処理対象であるパッチWAと一致させた隣接のパッチWBの三角形ポリゴンメッシュを、処理データ格納部14に戻して置換格納し、作業メモリ35からは消去する。
ステップ404において、パッチWAに隣接するすべてのパッチWBについて境界線上の頂点を一致させたかどうかをチェックする。
頂点一致について未処理のパッチWBが残っている場合はステップ401へ戻り、隣接するすべてのパッチWBについて頂点を一致させると、ステップ405へ進む。
ステップ405では、処理対象のパッチWA全面の平均法線を計算し、平均法線方向からテクスチャ座標系を設定して作業メモリ35のグローバル座標ファイルに格納する。
これはテクスチャマッピングのための準備である。
グローバル座標系(X,Y,Z)の原点をテクスチャ座標系(s,t,u)の原点とし、テクスチャ座標系のu軸をパッチの平均法線方向とする。
【0049】
このあと、ステップ406において、パッチWAの頂点一致させた境界の頂点列PA’を作業メモリ35のグローバル座標ファイルに置換格納するとともに、ステップ407で、パッチWAの三角形ポリゴンメッシュQcを処理データ格納部14に置換格納する。
これにより、1つのパッチWAについての隣接のパッチWBとの境界線上の頂点一致処理は終了する。このパッチWAの三角形ポリゴンメッシュは以後の頂点一致処理対象から除外される。
このあとはステップ104において、すべてのパッチWについて処理対象として隣接パッチとの頂点一致処理が完了したかどうかがチェックされ、処理対象となっていないパッチが残っている場合には、ステップ400へ戻って次にデータ容量の大きいパッチについて上記のステップ処理が繰り返されることになる。
【0050】
次に絞形状付与の詳細について説明する。
図19〜図21はステップ105、106におけるテクスチャマッピングとディスプレイスメントマッピングの詳細を示すフローチャートである。
ステップ500において、テクスチャ合成部33は絞を付与する処理対象のパッチWAの三角形ポリゴンメッシュQcを処理データ格納部14から作業メモリ35に読み出す。読み出し順はステップ300で設定したデータ容量の大きい順とする。
ステップ501において、読み出したパッチWAのすべての頂点の法線を計算して、頂点の属性情報として付加する。
次のステップ502において、パッチWAのすべての頂点をステップ405で平均法線を用いて設定した当該パッチWAのテクスチャ座標系に射影して色情報を求め、頂点の属性情報として付加する。
図22の(a)は、パッチWAにかかるテクスチャ座標系を示し、テクスチャの射影方向は平均法線と平行である。
【0051】
ステップ503では、処理対象のパッチWAに隣接するパッチの1つを選択し、当該隣接するパッチWBの境界線上の頂点を処理データ格納部14から読み出す。このステップで選択するパッチWBはデータ量の大きい順である。
そして、隣接するパッチ間の境界線上の頂点は、頂点一致処理されているから、パッチWAの境界線上の頂点をパッチWBの境界線上の頂点と対比することにより、同一位置に重複する頂点がパッチWAとパッチWB間の共通の境界線上にある頂点であることを識別する。
ステップ504において、パッチWAのすべての頂点と前ステップで識別されたパッチWAとパッチWB間の境界線上の頂点との最短距離Lを算出する。最短距離Lとは、図23に示すように、2頂点間の直線距離を言う。
【0052】
そしてステップ505において、最短距離Lが所定値Lmaxより小さい頂点について、パッチWBの平均法線を用いて設定したテクスチャ座標系に射影した色情報を求めて、パッチWAの平均法線を用いて設定したテクスチャ座標系に射影してすでにステップ502で付加されている色情報と混ぜ合わせを行う。混ぜ合わせ結果はすでに付加されている色情報に上書きされる。
図22の(b)には処理対象パッチWAと隣接パッチWB(破線)のテクスチャ座標系が異なるため、隣接パッチWBのテクスチャ座標系での射影を処理対象パッチWAまで敷衍したとき、同一点(頂点P)に射影されるテクスチャGBが処理対象パッチWAのテクスチャ座標系で射影されたテクスチャGAとは異なる状態が示されている。
このため、処理対象パッチWAと隣接パッチWBとはその境界でテクスチャが不連続となるから、混ぜ合わせにより色の極端な変化を抑え、滑らかにつながるようにする。
【0053】
ここでは、図24に示すように、混ぜ合わせる色情報を最短距離がLmaxの範囲にある頂点の画素値とする。最短距離L=0(境界線上)では処理対象パッチWAのテクスチャGAの画素値GA(g)と隣接パッチWBのテクスチャGBの画素値GB(g)が各50%ずつとし、最短距離Lが大きくなるほど、画素値GA(g)の割合を増し、画素値GB(g)の割合を減じて、Lmaxの位置にある頂点においては画素値GA(g)の割合が100%、画素値GB(g)が0%となるようにする。
すなわち、混ぜ合わせ後の各頂点の画素値GRは次式で表わされる。
GR(g)=GA(g)(Lmax+L)/2Lmax
+ GB(g)(Lmax−L)/2Lmax
【0054】
ステップ506では、処理対象のパッチWAについてすべての隣接するパッチWBとの色の混ぜ合わせが終了したかどうかをチェックする。
色の混ぜ合わせが終了していないパッチが残っている場合にはステップ503へ戻り、次にデータ量の大きい隣接パッチWBとの色の混ぜ合わせが繰り返される。
すべての隣接するパッチWBとの色の混ぜ合わせが終了したときはステップ507へ進む。
ステップ507では、ステップ501で計算した処理対象のパッチWAの法線のうち、境界線上の頂点の法線情報をグローバル座標ファイルに格納する。
ステップ508において、すべての頂点に色情報が付与され混ぜ合わせが済んだ隣接のパッチWBがあるかどうかをチェックする。
混ぜ合わせが済んだ隣接のパッチがまだない場合にはステップ513へ進み、ある場合にはステップ509へ進む。
【0055】
ステップ513では、処理対象のパッチWAを処理データ格納部14に格納する。これにより、処理データ格納部14の当該パッチWAは色情報が付加されたデータに置換される。
ステップ509では、混ぜ合わせ処理済みのパッチWBの境界線上の頂点の法線情報(法線方向)を読み出す。この法線情報はパッチWBが処理対象のパッチであったときにステップ501でその属性情報に付加されたものである。
ステップ510において、グローバル座標ファイルからパッチWBの境界線上の頂点と一致するパッチWAの境界線上の頂点を探索する。
ステップ511において、パッチWBの頂点と一致しているパッチWAの頂点の法線をパッチWBの対応する頂点の法線に置き換えて、パッチWAの頂点の新たな法線とする。
【0056】
ステップ512では、パッチWAと隣接関係にあり、混ぜ合わせ処理済みのすべてのパッチWBとの関係でパッチWAの法線の置換え処理が終わったかどうかをチェックする。
パッチWAの法線の置換え処理が済んでいない隣接のパッチWBが残っている場合にはステップ509へ戻る。
混ぜ合わせ処理済みで隣接するパッチWBのすべてと法線の置換え処理が済んだときはステップ513へ進んで、処理対象のパッチWAを処理データ格納部14に格納する。作業メモリ35には処理対象パッチWAを残しておく。
【0057】
なお、ステップ508のチェックで混ぜ合わせが済んだ隣接のパッチWBがまだない場合、すなわちパッチWAが例えば最初の処理対象のパッチである場合には、法線を合わせるべき相手がないからステップ501で求めた法線のまま直接ステップ513へ進む。その後、他のパッチの処理時に隣接するパッチWBとしてステップ509で読み出されて、当該他のパッチの境界線上の頂点の法線を一致させる対象となる。
ここまでの処理がテクスチャマッピングに相当する。以下はディスプレイスメントマッピングに相当する。
【0058】
ディスプレイスメントマッピングによって変位する曲面p’は式(1)で表わされる。
p’(u,v)=p(u,v)+h(u,v)q(u,v) ・・・(1)
ここで、図25に示すように、p(u,v)は変位前の曲面(基礎曲面)、h(u,v)は変位量、q(u,v)は変位させる方向の単位ベクトルである。
したがって、ここでは、ポリゴンメッシュにおけるp(u,v)の位置にある各頂点pcを上式により変位させることになる。
図19〜図21のフローチャートに戻って、ステップ514において、パッチWAの三角形ポリゴンメッシュQcの頂点pcの1つを選択して、当該頂点の法線方向を読み出す。選択する頂点の位置は任意である。
なお、この法線方向は後で頂点を変位させる際、および抜き勾配算出の際の単位ベクトルqとなる。
ステップ515において、頂点の属性情報である色情報(画素値g)と絞の深さの変換レートに基づいて、頂点の基準変位量を求める。
絞の最大深さ、すなわち最大変位量をhmax とすると、変換レートはhmax /255となり、画素値gから基準変位量h は式(2)で表される。
h=(g/255)hmax ・・・(2)
例えば、hmax が300μmのとき、画素値gが128であれば基準変位量h は150μmとなる。
【0059】
続くステップ516において、加工対象金型のあらかじめ設定されて入力データ格納部12に格納されている型開き方向と頂点座標の法線方向とに基づいて、抜き勾配を算出する。
そして、ステップ517において、処理開始の際に選択されている抜き勾配に対する絞深さの変化式に基づいて、頂点位置における変位量縮小率を算出する。
図26に示すように、抜き勾配を、頂点の法線方向に対して90°の線と白抜き矢印で示す型開き方向との角度θとすると、抜き勾配が小さいほど大きなアンダーが生じて型開き時の金型と製品側の絞とが干渉することになる。このため、変化式は、図27に示すように抜き勾配θが小さいほど変位量縮小率が大きくなるように、したがって変位量が小さくなるように設定されている。この際、成形後の樹脂収縮により、金型と製品の実際の干渉程度は若干緩和されることも考慮して、変化式が定められる。変位量縮小率は抜き勾配に応じて連続的に変化する。
【0060】
ステップ518では、基準変位量hに変位量縮小率を掛けて最終変位量を算出する。
こうして例えば、基準変位量hが200μmのとき、抜き勾配が25°より大きければ変位量縮小率0%として最終変位量hfは200μmのまま、抜き勾配が0°〜25°の範囲では変位量縮小率90〜0%として最終変位量hfを20μm〜200μmのように変化させることができる。
ステップ519において、上に求めた最終変位量hfをh(u,v)とし、単位ベクトルq(法線方向)を用いて、上述した式(1)によりポリゴンメッシュの頂点pcを変位させる。
【0061】
つぎに、ステップ520において、以上の処理を行っていない頂点が残っているかをチェックする。
未処理の頂点が残っている場合は、ステップ514へ戻り、ステップ519までの処理を繰り返す。
すべての頂点についてテクスチャデータに基づく法線方向の変位が終わると、ステップ520からステップ521へ進み、変位した新たな位置の各頂点pcを連結して、絞形状を付与されたポリゴンメッシュQTとする。ステップ522でこのポリゴンメッシュQTのデータをポリゴンデータ記憶部19に格納し、作業メモリ35から消去する。
以上により1つの処理対象のパッチWAについての絞形状の付与処理が終了する。
【0062】
このあとはステップ107において、すべてのパッチWについて絞形状の付与処理が終わったかどうかがチェックされ、絞形状の付与処理が済んでいないパッチが残っている場合には、ステップ500へ戻って、ステップ300で設定したデータ容量の大きい順で新たな処理対象のパッチWAが処理データ格納部14から読み出されステップ522までの処理が繰り返されることになる。
すべてのパッチWについて以上の処理が終わると絞付与ポリゴンデータを作成する処理が完了する。
このポリゴンデータにより、抜き勾配が小さいところでは前述の変位量縮小により、金型と製品との間にアンダーを生じさせることなく、図28に示すように、絞Rsの深さ(高さ)が連続的に変化する製品が得られる。図中、白抜き矢印は型開き方向である。
【0063】
本実施の形態では、フローチャートにおけるステップ100(ステップ200〜209)が発明におけるポリゴンメッシュ化手段を構成し、ステップ102(ステップ300〜308)が隣接関係探索手段を構成し、ステップ103(ステップ400〜407)が形状連続処理手段を構成している。
ステップ105(ステップ500〜513)がマッピング手段に該当し、とくにステップ503〜506がテクスチャ混ぜ合わせ手段に該当し、ステップ509〜512が法線一致処理手段に該当する。
また、ステップ514〜520が頂点変位手段を構成し、ステップ521が絞付与ポリゴンメッシュ作成手段に該当する。
【0064】
実施の形態は以上のように構成され、まず絞付与対象の自由曲面Jで定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュQc化するとともに、1つのパッチWAを処理対象として、隣接するパッチWB1つずつとの間で順次にポリゴンメッシュQcを連続させるようにパッチWAとパッチWBの境界線上の頂点を互いに一致させ、それから、パッチWAにテクスチャデータに基づくテクスチャをマッピングし、パッチWAの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させて、変位させた各頂点に基づいて新たなポリゴンメッシュQTを作成するようにし、各パッチを順次処理対象として以上を繰り返すことにより、繰り返しごとに得られる新たなポリゴンメッシュQTのデータを絞が付与されたパッチ単位の表面加工データとするものとした。
最後の表面加工データ作成までの各処理段階で、1つのパッチWAを処理対象としており、その間パッチWAに隣接するパッチWBが複数あっても必要時に順次に1つずつデータを読み込んで処理すればよいから、パッチ全体のポリゴンメッシュデータについてはデータ処理部13の作業メモリ35には一時に最大2つのパッチ分を格納するだけで済み、データがメモリの格納可能量を超えて極端にコンピュータの処理速度が低下したりフリーズしてしまうおそれがない。
【0065】
製品形状データのポリゴンメッシュ化は、製品形状データを複数に分割した各パッチWの自由曲面のパラメータ空間において、所定の分割線でグリッド点を生成するとともに、パッチの境界線上に所定の間隔で点列を生成し、境界線内側のグリッド点および境界線上の点列を用いて、各頂点を自由曲面上に有する3次元のポリゴンメッシュQcを形成する。
とくに、グリッド点を生成する分割線および境界線上の点列は、それぞれ所定範囲内に均一化した間隔とし、3次元のポリゴンメッシュQcの形成は、境界線内側のグリッド点を連結して格子メッシュを形成し、該格子メッシュを三角形ポリゴン化するとともに、格子メッシュの外周におけるグリッド点と境界線上の点列を連結して三角形ポリゴン化して形成するようにしており、2次元平面への射影とさらに3次元への復元処理とを行わないため、演算負担が少なく、処理時間が短縮される。また同じく2次元化および3次元化の処理に伴う歪の発生もない。パッチWに分割しているので表面が可展面でない製品形状の場合でも歪みの少ない見栄えの良い絞を付与することができる。
【0066】
また、パッチW間の隣接関係は、1つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかどうかを探索することにより設定するので、データ入力部11に入力されるパッチのデータに隣接関係が付されていなくても簡単に判断できる。
隣接関係の探索は、処理対象のパッチをポリゴンメッシュのデータ量の大きい順番で選択して処理するので、データ量の大きいパッチが隣接するパッチとして何回も作業メモリへ読み出すことが回避され、処理速度が向上する。頂点一致処理以降の各処理でも同様である。
【0067】
そして、隣接関係にある2つのパッチWA、WB間ではそれぞれの境界線BOA、BOB上の頂点を互いに一致させる処理を行うので、境界線の頂点列がパッチ間で同位置として共有され、各パッチが切れ目なく滑らかに連続する。
具体的には、パッチWAとパッチWBの一方の境界線上の頂点と同位置に他方の境界線に新たな頂点を生成し、または一方の境界線上の頂点と他方の境界線上の頂点をそれぞれ中間の同位置へ移動させて一致させるので、つなぎ目が極端に細かいメッシュになったり粗なメッシュになることがない。
【0068】
テクスチャデータは2次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値をテクスチャ値とする画像データとしており、テクスチャデータ自体も少ないデータ量でテクスチャを表現できるので、データ処理が簡単である。
【0069】
パッチへのテクスチャのマッピングに関しては、各パッチについてそれぞれその平均法線を用いてテクスチャ座標系を設定し、とくに、処理対象のパッチWAのすべての頂点をパッチWAのテクスチャ座標系に射影してテクスチャ値(GA)を求めるとともに、隣接するパッチWBとの境界線上の頂点との最短距離LがLmax以内の頂点については、パッチWBのテクスチャ座標系に射影してテクスチャ値(GB)を求めて、両テクスチャ値の混ぜ合わせを行っているので、テクスチャの不連続を緩和する。
そして、混ぜ合わせは境界線上の頂点からの最短距離Lでウエイト付けして行っているので、テクスチャの変化が滑らかである。
さらに、パッチWAの頂点の法線を隣接するパッチWBの頂点の法線に合わせるので、パッチのつなぎ目にも違和感を生じさせない。
【0070】
パッチWAにおいて最短距離Lを求める際の隣接するパッチWBとの境界の頂点は、当該隣接するパッチWBの境界線上に位置する頂点を参照することにより、パッチWAの境界線上のどの頂点がパッチWBとの間の境界線上にあるのか属性情報がなくても、頂点一致処理されていてパッチWB側の頂点と重複することから識別できる。
【0071】
絞生成部34における処理については、三角形ポリゴンメッシュQcの各頂点を変位させる変位量を、テクスチャに基づく基本変位量に金型の抜き勾配に応じた変位量縮小率を乗じたものとしているので、アンダーを発生させず、絞の深さを滑らかに変化させて見栄えの良い外観表面が得られる。
【0072】
なお、実施の形態では、境界線の自由曲線としてB−spline曲線が用いられた例について説明したが、他の自由曲線の場合にも本発明は同様に適用できる。
また、パッチW間の隣接関係については、ポリゴンメッシュ化したあと1つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかを探索して設定するものとしたが、パッチを分割した際のデータに隣接関係の情報をあらかじめ付しておいてもよい。
【0073】
テクスチャデータは256階調のグレースケール画像データで提供されるものとしたが、これに限定されず、複数の色成分の濃度に絞の深さ情報を持たせた画像データを用いてもよい。
また、テクスチャマッピングにおいて、隣接するパッチのテクスチャ座標系を用いて画素値の混ぜ合わせを行うものとしたが、テクスチャの特性やポリゴンメッシュの細かさ等により、十分滑らかなつながりとなる場合には、画素値の混ぜ合わせ処理を省略することもできる。
絞模様のディスプレイスメントマッピングにおいて、抜き勾配に対する変位量縮小については縮小率を連続的に変化させるものとしたが、任意のステップで意図的に段階的な変化をなすようにすることも当然に可能である。
【産業上の利用可能性】
【0074】
本発明は、製品表面に絞模様を形成する種々の樹脂製品の製造分野において利用して、多大の効果を有する。
【符号の説明】
【0075】
10 表面加工データ作成装置
11 データ入力部
12 入力データ格納部
13 データ処理部
14 処理データ格納部
19 ポリゴンデータ記憶部
20 データ出力部
22 操作入力部
23 モニタ
30 ポリゴンメッシュ化部
31 ポリゴンメッシュ統合部
33 テクスチャ合成部
34 絞生成部
35 作業メモリ
b 間隔上限値
Ca、Ca1、Ca2、Ca3、Ca4 グリッド点
Cb 点列
Cb1、Cb2、Cb3、Cb4 点
GA、GB 射影されたテクスチャ
J 自由曲面
K、BOA、BOB 境界線
L 最短距離
N 対象点
PA、PA’、PB、PB’ 頂点列
Pa1、Pa2、Pa3、Pa4、Pa5、Pax、Pay 頂点
Pb1、Pb2、Pb3、Pb4、Pb5、Pb6、Pb7、Pbx 頂点
pc 頂点
Qc 三角形ポリゴンメッシュ
QT ポリゴンメッシュ
R1、R2 稜線
Sqc 四角格子メッシュ
Tpc 三角形ポリゴン
W、WA、WB パッチ
Δ1、Δ2 三角形
【特許請求の範囲】
【請求項1】
コンピュータによる表面加工データの作成方法であって、
絞付与対象の自由曲面で定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化し、
1つのパッチを処理対象として、隣接するパッチ1つずつとの間で順次にポリゴンメッシュを連続させる形状連続処理を行い、
前記処理対象のパッチにテクスチャデータに基づくテクスチャをマッピングし、
前記処理対象のパッチの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させ、
変位させた各頂点に基づいて新たなポリゴンメッシュデータを作成し、
前記形状連続処理以下を繰り返して、前記新たなポリゴンメッシュデータを絞が付与されたパッチ単位の表面加工データとする
ことを特徴とする表面加工データの作成方法。
【請求項2】
前記隣接するパッチは、ポリゴンメッシュ化した1つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかを探索して、ポリライン上に重なっているときを互いに隣接関係にあるとして設定することを特徴とする請求項1に記載の表面加工データの作成方法。
【請求項3】
前記テクスチャデータが、2次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値をテクスチャ値とする画像データであることを特徴とする請求項1または2に記載の表面加工データの作成方法。
【請求項4】
各パッチごとにその平均法線を用いてテクスチャ座標系を設定し、
前記テクスチャのマッピングでは、
前記処理対象のパッチのすべての頂点を当該パッチのテクスチャ座標系に射影してテクスチャ値を求めるとともに、
前記処理対象のパッチにおける所定範囲の頂点について、当該処理対象のパッチに隣接するパッチのテクスチャ座標系に射影してテクスチャ値を求めて、
両テクスチャ値の混ぜ合わせを行うことを特徴とする請求項1から3のいずれか1に記載の表面加工データの作成方法。
【請求項5】
前記所定範囲は、前記隣接するパッチとの境界の頂点との最短距離が所定値以内であることを特徴とする請求項4に記載の表面加工データの作成方法。
【請求項6】
前記両テクスチャ値の混ぜ合わせは、前記最短距離でウエイト付けして行うことを特徴とする請求項5に記載の表面加工データの作成方法。
【請求項7】
前記形状連続処理は、前記処理対象のパッチと前記隣接するパッチとの間の境界線上のそれぞれの頂点の位置を互いに一致させるものであることを特徴とする請求項5または6に記載の表面加工データの作成方法。
【請求項8】
前記頂点の一致は、前記処理対象のパッチと前記隣接するパッチの一方の境界線上の頂点と同位置に他方の境界線に頂点を生成し、または一方の境界線上の頂点と他方の境界線上の頂点をそれぞれ同位置へ移動させて互いに一致させることを特徴とする請求項7に記載の表面加工データの作成方法。
【請求項9】
前記最短距離を求める対象である前記隣接するパッチとの境界の頂点は、当該隣接するパッチの境界線上に位置する頂点を参照することにより識別されることを特徴とする請求項7または8に記載の表面加工データの作成方法。
【請求項10】
前記処理対象のパッチと前記隣接するパッチとの間の境界線上で位置を一致させた頂点の法線を前記処理対象のパッチと前記隣接するパッチの間で互いに一致させることを特徴とする請求項7または8に記載の表面加工データの作成方法。
【請求項11】
前記処理対象のパッチの頂点の法線を前記隣接するパッチの頂点の法線に合わせて一致させることを特徴とする請求項10に記載の表面加工データの作成方法。
【請求項12】
前記処理対象のパッチはポリゴンメッシュのデータ量の大きい順に選択されることを特徴とする請求項1から11のいずれか1に記載の表面加工データの作成方法。
【請求項13】
前記隣接するパッチは前記1つの処理対象のパッチと隣接関係にあるパッチのうちポリゴンメッシュのデータ量の大きい順に選択されることを特徴とする請求項12に記載の表面加工データの作成方法。
【請求項14】
自由曲面で定義される絞付与対象の製品形状データとテクスチャデータを入力するデータ入力部と、
製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化するポリゴンメッシュ化手段と、
パッチ間の隣接関係を探索する隣接関係探索手段と、
1つのパッチを処理対象として、隣接するパッチ1つずつとの間でポリゴンメッシュを連続させる処理を前記処理対象のパッチと1つの隣接するパッチの組み合わせ単位で行う形状連続処理手段と、
パッチにテクスチャをマッピングするマッピング手段と、
パッチの前記ポリゴンメッシュの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させる頂点変位手段と、
頂点変位手段による変位後の頂点を結んで、絞形状を含む絞付与ポリゴンメッシュを作成する絞付与ポリゴンメッシュ作成手段とを有して、
前記絞付与ポリゴンメッシュのデータをパッチ単位の表面加工データとして出力することを特徴とする表面加工データ作成装置。
【請求項15】
前記形状連続処理手段は、前記処理対象のパッチと隣接するパッチ間のそれぞれの境界線上の頂点を互いに一致させることを特徴とする請求項14に記載の表面加工データ作成装置。
【請求項16】
前記マッピング手段は、処理対象のパッチと隣接するパッチのそれぞれのテクスチャ座標系に基づいて、処理対象の前記隣接するパッチとの間の境界から所定範囲についてテクスチャの混ぜ合わせを行うテクスチャ混ぜ合わせ手段を含むことを特徴とする請求項14または15に記載の表面加工データ作成装置。
【請求項17】
前記マッピング手段は、前記処理対象のパッチの頂点の法線を前記隣接するパッチの頂点の法線に一致させる法線一致処理手段を含むことを特徴とする請求項14から16のいずれか1に記載の表面加工データ作成装置。
【請求項1】
コンピュータによる表面加工データの作成方法であって、
絞付与対象の自由曲面で定義される製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化し、
1つのパッチを処理対象として、隣接するパッチ1つずつとの間で順次にポリゴンメッシュを連続させる形状連続処理を行い、
前記処理対象のパッチにテクスチャデータに基づくテクスチャをマッピングし、
前記処理対象のパッチの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させ、
変位させた各頂点に基づいて新たなポリゴンメッシュデータを作成し、
前記形状連続処理以下を繰り返して、前記新たなポリゴンメッシュデータを絞が付与されたパッチ単位の表面加工データとする
ことを特徴とする表面加工データの作成方法。
【請求項2】
前記隣接するパッチは、ポリゴンメッシュ化した1つのパッチの境界線上の頂点が他のパッチの境界線上の頂点列を用いて作成したポリライン上に重なっているかを探索して、ポリライン上に重なっているときを互いに隣接関係にあるとして設定することを特徴とする請求項1に記載の表面加工データの作成方法。
【請求項3】
前記テクスチャデータが、2次元の位置座標に対する絞の深さを濃度階調に割り当てた画素値をテクスチャ値とする画像データであることを特徴とする請求項1または2に記載の表面加工データの作成方法。
【請求項4】
各パッチごとにその平均法線を用いてテクスチャ座標系を設定し、
前記テクスチャのマッピングでは、
前記処理対象のパッチのすべての頂点を当該パッチのテクスチャ座標系に射影してテクスチャ値を求めるとともに、
前記処理対象のパッチにおける所定範囲の頂点について、当該処理対象のパッチに隣接するパッチのテクスチャ座標系に射影してテクスチャ値を求めて、
両テクスチャ値の混ぜ合わせを行うことを特徴とする請求項1から3のいずれか1に記載の表面加工データの作成方法。
【請求項5】
前記所定範囲は、前記隣接するパッチとの境界の頂点との最短距離が所定値以内であることを特徴とする請求項4に記載の表面加工データの作成方法。
【請求項6】
前記両テクスチャ値の混ぜ合わせは、前記最短距離でウエイト付けして行うことを特徴とする請求項5に記載の表面加工データの作成方法。
【請求項7】
前記形状連続処理は、前記処理対象のパッチと前記隣接するパッチとの間の境界線上のそれぞれの頂点の位置を互いに一致させるものであることを特徴とする請求項5または6に記載の表面加工データの作成方法。
【請求項8】
前記頂点の一致は、前記処理対象のパッチと前記隣接するパッチの一方の境界線上の頂点と同位置に他方の境界線に頂点を生成し、または一方の境界線上の頂点と他方の境界線上の頂点をそれぞれ同位置へ移動させて互いに一致させることを特徴とする請求項7に記載の表面加工データの作成方法。
【請求項9】
前記最短距離を求める対象である前記隣接するパッチとの境界の頂点は、当該隣接するパッチの境界線上に位置する頂点を参照することにより識別されることを特徴とする請求項7または8に記載の表面加工データの作成方法。
【請求項10】
前記処理対象のパッチと前記隣接するパッチとの間の境界線上で位置を一致させた頂点の法線を前記処理対象のパッチと前記隣接するパッチの間で互いに一致させることを特徴とする請求項7または8に記載の表面加工データの作成方法。
【請求項11】
前記処理対象のパッチの頂点の法線を前記隣接するパッチの頂点の法線に合わせて一致させることを特徴とする請求項10に記載の表面加工データの作成方法。
【請求項12】
前記処理対象のパッチはポリゴンメッシュのデータ量の大きい順に選択されることを特徴とする請求項1から11のいずれか1に記載の表面加工データの作成方法。
【請求項13】
前記隣接するパッチは前記1つの処理対象のパッチと隣接関係にあるパッチのうちポリゴンメッシュのデータ量の大きい順に選択されることを特徴とする請求項12に記載の表面加工データの作成方法。
【請求項14】
自由曲面で定義される絞付与対象の製品形状データとテクスチャデータを入力するデータ入力部と、
製品形状データを複数に分割したパッチ単位でポリゴンメッシュ化するポリゴンメッシュ化手段と、
パッチ間の隣接関係を探索する隣接関係探索手段と、
1つのパッチを処理対象として、隣接するパッチ1つずつとの間でポリゴンメッシュを連続させる処理を前記処理対象のパッチと1つの隣接するパッチの組み合わせ単位で行う形状連続処理手段と、
パッチにテクスチャをマッピングするマッピング手段と、
パッチの前記ポリゴンメッシュの各頂点を当該パッチにマッピングされたテクスチャに基づいてそれぞれの法線方向に変位させる頂点変位手段と、
頂点変位手段による変位後の頂点を結んで、絞形状を含む絞付与ポリゴンメッシュを作成する絞付与ポリゴンメッシュ作成手段とを有して、
前記絞付与ポリゴンメッシュのデータをパッチ単位の表面加工データとして出力することを特徴とする表面加工データ作成装置。
【請求項15】
前記形状連続処理手段は、前記処理対象のパッチと隣接するパッチ間のそれぞれの境界線上の頂点を互いに一致させることを特徴とする請求項14に記載の表面加工データ作成装置。
【請求項16】
前記マッピング手段は、処理対象のパッチと隣接するパッチのそれぞれのテクスチャ座標系に基づいて、処理対象の前記隣接するパッチとの間の境界から所定範囲についてテクスチャの混ぜ合わせを行うテクスチャ混ぜ合わせ手段を含むことを特徴とする請求項14または15に記載の表面加工データ作成装置。
【請求項17】
前記マッピング手段は、前記処理対象のパッチの頂点の法線を前記隣接するパッチの頂点の法線に一致させる法線一致処理手段を含むことを特徴とする請求項14から16のいずれか1に記載の表面加工データ作成装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2012−185777(P2012−185777A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−50153(P2011−50153)
【出願日】平成23年3月8日(2011.3.8)
【出願人】(000004765)カルソニックカンセイ株式会社 (3,404)
【出願人】(304023318)国立大学法人静岡大学 (416)
【Fターム(参考)】
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願日】平成23年3月8日(2011.3.8)
【出願人】(000004765)カルソニックカンセイ株式会社 (3,404)
【出願人】(304023318)国立大学法人静岡大学 (416)
【Fターム(参考)】
[ Back to top ]