(57)【要約】【課題】設計対象物体の最適形状を効率的に取得する。【解決手段】本形状最適化方法は、上記形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータにおけるパラメータの値を所定のアルゴリズムに従って決定し、パラメータの決定された値によって特定される関係式から上記複数の頂点の座標値を算出する。そして、設計対象物体の形状を規定するための第１の頂点の初期座標値と、上記複数の頂点の算出された座標値とから、設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、当該形状データを用いて、形状データによって規定される設計対象物体の形状を評価するためのコスト計算を実施する。そして、コスト計算の結果に基づき、上記の処理を繰り返して、コスト計算の結果が最も良い場合の形状データを出力する。【選択図】図１
2011133930.tif 000002
【特許請求の範囲】
【請求項１】
設計対象物体の形状を最適化するプログラムであって、
前記形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部から前記パラメータデータを読み出し、当該パラメータデータにおける前記パラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定ステップと、
前記パラメータの決定された値によって特定される前記関係式から前記複数の頂点の座標値を算出する座標値算出ステップと、
前記設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部から読み出した前記第１の頂点の初期座標値と、前記複数の頂点の算出された座標値とから、前記設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部に格納する形状データ生成ステップと、
前記形状データ格納部に格納されている前記形状データを用いて、前記形状データによって規定される前記設計対象物体の形状を評価するためのコスト計算を実施させるコスト計算ステップと、
前記コスト計算の結果に基づき、前記パラメータ値決定ステップ、前記座標値算出ステップ、前記形状データ生成ステップ及び前記コスト計算ステップを繰り返して、前記コスト計算の結果が最も良い場合の前記形状データを出力するステップと、
を、コンピュータに実行させるための設計対象物体の形状最適化プログラム。
【請求項２】
前記形状データ生成ステップが、
前記関係式に関するデータに、前記初期形状データ格納部における前記第１の頂点のうち特定の頂点の初期座標値の破棄を指示するデータが含まれる場合には、前記特定の頂点の初期座標値を破棄するステップ
を含む請求項１記載の形状最適化プログラム。
【請求項３】
前記座標値算出ステップが、
前記パラメータの決定された値によって特定される前記関係式における特定の変数の値域内の値を前記複数の頂点に割り当てることによって、前記複数の頂点の各々の座標値を算出するステップ
を含む請求項１又は２記載の形状最適化プログラム。
【請求項４】
設計対象物体の形状を最適化する方法であって、
前記形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部から前記パラメータデータを読み出し、当該パラメータデータにおける前記パラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定ステップと、
前記パラメータの決定された値によって特定される前記関係式から前記複数の頂点の座標値を算出する座標値算出ステップと、
前記設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部から読み出した前記第１の頂点の初期座標値と、前記複数の頂点の算出された座標値とから、前記設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部に格納する形状データ生成ステップと、
前記形状データ格納部に格納されている前記形状データを用いて、前記形状データによって規定される前記設計対象物体の形状を評価するためのコスト計算を実施するコスト計算ステップと、
前記コスト計算の結果に基づき、前記パラメータ値決定ステップ、前記座標値算出ステップ、前記形状データ生成ステップ及び前記コスト計算ステップを繰り返して、前記コスト計算の結果が最も良い場合の前記形状データを出力するステップと、
を含み、コンピュータに実行される設計対象物体の形状最適化方法。
【請求項５】
設計対象物体の形状を最適化する設計対象物体の形状最適化装置であって、
前記形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部から前記パラメータデータを読み出し、当該パラメータデータにおける前記パラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定処理部と、
前記パラメータの決定された値によって特定される前記関係式から前記複数の頂点の座標値を算出する座標値算出部と、
前記設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部から読み出した前記第１の頂点の初期座標値と、前記複数の頂点の算出された座標値とから、前記設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部に格納する形状データ生成部と、
前記形状データ格納部に格納されている前記形状データを用いて、前記形状データによって規定される前記設計対象物体の形状を評価するためのコスト計算を実施するコスト計算部と、
前記コスト計算の結果に基づき、前記パラメータ値決定処理部、前記座標値算出部、前記形状データ生成部及び前記コスト計算部に繰り返し処理させて、前記コスト計算の結果が最も良い場合の前記形状データを出力する最適化処理部と、
を有する設計対象物体の形状最適化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、設計対象物体の形状を最適化するための技術に関する。
【背景技術】
【０００２】
例えば、部品の形状を設計する場合に、その部品の形状を最適化する設計支援技術がいくつか存在している。具体的には、部品の形状モデルを形成するＣＡＤ（Computer Aided Design）システムと、ＣＡＤシステムから受け取った形状モデルに基づき部品の形状の最適化を行う最適化システムとを用意する。そして、最適化システムにおいて、解析に必要な条件を入力し、部品の形状モデルを簡易化し、入力された条件と簡易化された形状モデルとに基づき、部品の最適な形状モデルを算出する。そして、この最適な形状モデルを、最適化システムからＣＡＤシステムに受け渡すものである。しかしながら、簡略化された形状モデルから最適且つ詳細な形状モデルを効率的に生成する部分については、特別な工夫はなされていない。
【０００３】
また、設計支援技術には、設計パラメータの組を複数入力して、所定の計算に基づいて複数の目的関数を計算し、その複数の目的関数に対して多目的最適化処理を実行することにより、最適な設計パラメータの組の決定を支援する技術も存在する。より具体的には、まず、所定組数の設計パラメータのサンプルの組に対する複数の目的関数の組を計算する、所定組数の設計パラメータのサンプルの組とそれに対応して計算された複数の目的関数の組とに基づいて、目的関数を数式近似する。そして、数式近似された複数の目的関数のうちの任意の２つ又は３つの目的関数について、それらの間の論理関係を示す論理式を目的関数間論理式として計算する。この目的関数間論理式に基づいて、任意の２つ又は３つの目的関数の値がとり得る領域を可能領域として表示するものである。しかしながら、このような可能領域から、最適パラメータ値を選択するのは、ユーザ自身である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３４３９３７号公報
【特許文献２】特開２００９−１９３５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上で述べた従来技術では、設計対象物体の詳細な形状をどのように変動させつつ評価（例えばコスト計算）すれば、最適形状を効率的に得ることができるのかという具体的な手法については触れられていない。
【０００６】
従って、本技術の目的は、設計対象物体の最適形状を効率的に取得できるようにするための新規な技術を提供することである。
【課題を解決するための手段】
【０００７】
本設計対象物体の形状最適化方法は、設計対象物体の形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部からパラメータデータを読み出し、当該パラメータデータにおけるパラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定ステップと、パラメータの決定された値によって特定される関係式から複数の頂点の座標値を算出する座標値算出ステップと、設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部から読み出した第１の頂点の初期座標値と、複数の頂点の算出された座標値とから、設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部に格納する形状データ生成ステップと、形状データ格納部に格納されている形状データを用いて、形状データによって規定される設計対象物体の形状を評価するためのコスト計算を実施するコスト計算ステップと、コスト計算の結果に基づき、パラメータ値決定ステップ、座標値算出ステップ、形状データ生成ステップ及びコスト計算ステップを繰り返して、コスト計算の結果が最も良い場合の形状データを出力するステップとを含む。
【発明の効果】
【０００８】
設計対象物体の最適形状を効率的に取得できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態に係る形状最適化装置の機能ブロック図である。
【図２】図２は、ＡＢＳスライダの一例を示す図である。
【図３】図３は、本実施の形態に係るメインの処理フローを示す図である。
【図４】図４は、初期形状ファイル格納部に格納される初期形状ファイルのデータ例を示す図である。
【図５】図５は、パラメータ設定ファイルに格納されるデータの一例を示す図である。
【図６】図６は、パラメータ設定ファイルにおいて第１の形式で規定する場合の問題点を説明するための図である。
【図７】図７は、課題となる形状の一例を示す図である。
【図８】図８は、好ましくない形状の一例を示す図である。
【図９】図９は、連動して移動する頂点の例を示す図である。
【図１０】図１０は、形状ファイル生成処理の処理フローを示す図である。
【図１１】図１１は、算出された補間点を示す図である。
【図１２】図１２は、形状ファイルに格納されるデータの一例を示す図である。
【図１３】図１３は、１パラメータのベジエ曲線の他の例を示す図である。
【図１４】図１４は、１パラメータのベジエ曲線の他の例を示す図である。
【図１５】図１５は、２つのパラメータを採用した場合のベジエ曲線の例を示す図である。
【図１６】図１６は、２つのパラメータを採用した場合のベジエ曲線の例を示す図である。
【図１７】図１７は、２つのパラメータを採用した場合のベジエ曲線の例を示す図である。
【図１８】図１８は、２つのパラメータを採用した場合のベジエ曲線の例を示す図である。
【図１９】図１９は、２つのパラメータを採用した場合のベジエ曲線の例を示す図である。
【図２０】図２０は、２つのパラメータを採用した場合のベジエ曲線の例を示す図である。
【図２１】図２１は、コンピュータの機能ブロック図である。
【図２２】図２２は、設計対象物体の形状最適化装置の機能ブロック図である。
【発明を実施するための形態】
【００１０】
図１に、本実施の形態に係る形状最適化装置の機能ブロック図を示す。本形状最適化装置は、（Ａ）処理に必要なデータをユーザ又はネットワークの他のコンピュータから取得する入力部１と、（Ｂ）入力部１により取得された初期形状ファイルを格納する初期形状ファイル格納部２と、（Ｃ）入力部１により取得されたパラメータ設定ファイルを格納するパラメータ設定ファイル格納部３と、（Ｄ）入力部１により取得された設定データを格納する設定データ格納部４と、（Ｅ）コスト計算部９と連携して設計対象物体の形状を最適化する処理を実施する最適化処理部５と、（Ｆ）最適化処理部５が生成し且つ使用する形状ファイルを格納する形状ファイル格納部６と、（Ｇ）最適化処理部５の処理結果を格納する処理結果格納部７と、（Ｈ）処理結果格納部７に格納されているデータを出力装置（表示装置や印刷装置など）又は他のコンピュータへ出力する出力部８とを有する。
【００１１】
また、最適化処理部５は、パラメータ値決定処理部５１と、頂点座標値算出部５２と、形状ファイル生成部５３とを含む。
【００１２】
例えば設計対象物体がハードディスク内の磁気ディスク上を移動するアクチュエータ９０２の先端下部に設置されるＡＢＳ（Air Bearing Surface）スライダ（例えば図２のような形状）である場合、コスト計算部９は、周知の浮上計算シミュレータである。この浮上計算シミュレータでは、入力された形状について浮上コストを計算する。但し、本技術は、ＡＢＳスライダの形状特有の技術ではなく、他の部品や製品の形状についても適用可能である。なお、コスト計算部９は、形状最適化装置に含まれる場合もあれば、当該形状最適化装置に接続された他の１又は複数のコンピュータにおいて実現される場合もある。複数のコンピュータ（１つのコンピュータにＣＰＵ（Central Processing Unit）が複数あればその場合も含む）で実施する場合には、複数の形状について並列処理が可能となり、高速にコスト計算が行われる。
【００１３】
次に、図３乃至図２０を用いて、図１に示した形状最適化装置の処理内容について説明する。例えば、入力部１は、ユーザからの入力及び指定を受け付け、初期形状ファイル、パラメータ設定ファイル及び設定データを取得し、初期形状ファイルについては初期形状ファイル格納部２に、パラメータ設定ファイルについてはパラメータ設定ファイル格納部３に、設定データについては設定データ格納部４に格納する（ステップＳ１）。設定データ格納部４に格納される設定データは、例えば以下で実施される処理の繰り返し回数の上限値、その他パラメータの値域を表すデータなどである。
【００１４】
初期形状ファイル格納部２に格納される初期形状ファイルのデータ例を図４に示す。図４の例では、頂点１から頂点４まで、初期位置としてＸ座標値及びＹ座標値が設定されている。この他図示していない頂点についてもＸ座標値及びＹ座標値が設定されている。なお、以下で述べる例では、頂点１が頂点Ｆに対応し、頂点３が頂点Ｒに対応するものとする。
【００１５】
また、パラメータ設定ファイル格納部３に格納されるパラメータ設定ファイルのデータ例を図５に示す。パラメータ設定ファイルには、２つの形式で、初期形状ファイルに規定されている頂点の初期位置をどのように変化させるかが規定される。第１の形式は、図５のＡの部分に示すように、キーワード１（Keywd1）とキーワード２（Keywd2）と階層番号（LayerNo.）と頂点番号（PointNo.）とから特定される頂点のＸ座標値又はＹ座標値（dirの列）を、下限値（Low_val）から上限値（Up_val）まで変化させるものである。なお、初期値がある場合にはInit_valの列に規定する。例えば、「RAIL LYR_A 4 4 X -0.04000 0.04000」であれば、「RAIL LYR_A 4」という部分の４番目の頂点（例えば図４の頂点４）のＸ座標を−０．０４から＋０．０４だけ変化させるというものである。なお、初期値は規定されていない。このデータと、図４の頂点４のＸ座標値「０．５７５」とを用いれば、頂点４のＸ座標値を０．５３５以上０．６１５以下で変化させることになることが分かる。
【００１６】
一方、図５のＢの部分に示すように、第２の形式は、複数の頂点を連動して移動させるための関係式を規定するものである。このＢの部分「CURVE LYR_A 4 1 LYR_A 4 3 3 Bezier(P0,P1,P2,P3) 5 LYR_A 4 2」は、以下のような内容を含む。すなわち「CURVE」は関係式を規定する宣言であり、「LYR_A 4 1」は第１の頂点（例えば図４の頂点１（頂点Ｆ））を規定しており、「LYR_A 4 3」は第２の頂点（例えば図４の頂点３（頂点Ｒ））を規定している。Bezier(P0,P1,P2,P3)は、第１の頂点と第２の頂点との間において、Ｐ０乃至Ｐ３を制御点とするベジエ曲線で結ばれる補間点を配置することを規定している。なお、Ｐ０乃至Ｐ３については、図５に示すように実際に制御点の座標を記述する。当然ながら、Ｂスプライン他の曲線や直線を規定することも可能である。制御点については、パラメータｐによって変化するように規定されており、ユーザが適切に定義する。「５」は関係式により５つの補間点（頂点とも呼ぶ）を生成することを規定しており、「LYR_A 4 2」（例えば図４の頂点２）は初期形状ファイルにおいて削除する頂点を規定している。なお、頂点を削除せずに頂点を追加するような場合もある。
【００１７】
図５のＡの部分のような第１の形式では、図６に示すように、頂点Ａを直線又は曲線ａに沿って頂点Ａ１、Ａ２、Ａ３といったように移動させるように規定することができない。すなわち、頂点座標をｘ軸又はｙ軸に平行な方向にしか動かすことを規定できない。Ｘ座標値とＹ座標値とが独立に設定されることになるので、頂点Ａは矩形ｂの範囲を移動してしまうことになる。
【００１８】
移動する頂点が１つであれば問題はまだ少ないが、例えば図７に示すように、矩形ＥＦＳＲの頂点Ｆから頂点Ｒまでをなめらかな曲線で結ぶように面取りする場合には、大きな問題がある。具体的には、上で述べた第１の形式では、頂点Ａ乃至Ｄを規定して、それぞれについて座標値を変化させる範囲を規定する。そして、形状最適化処理では、規定された範囲内で座標値を決定して頂点Ａ乃至Ｄを１点１点特定した上で、浮上コストなどのコスト計算を実施する。
【００１９】
図７の例では、頂点Ａの移動範囲は、ｑｘ≦Ａｘ（頂点ＡのＸ座標値）≦ｓｘと規定され、辺ＦＳ上を矢印ｃで示すようにｑｘからｓｘまで移動する。ｑｘは頂点ＱのＸ座標値であり、ｓｘは頂点ＳのＸ座標値である。また、頂点Ｂの移動範囲は、ｑｘ≦Ｂｘ（頂点ＢのＸ座標値）≦ｓｘと規定され、ｑｙ≦Ｂｙ（頂点ＢのＹ座標値）≦ｓｙと規定され、長方形ＰＱＲＳ内を矢印ｆ及びｅで示すように平面的に移動する。ｑｙは頂点ＱのＹ座標値であり、ｓｙは頂点ＳのＹ座標値である。同様に、頂点Ｃの移動範囲は、ｑｘ≦Ｃｘ（頂点ＣのＸ座標値）≦ｓｘと規定され、ｑｙ≦Ｃｙ（頂点ＣのＹ座標値）≦ｓｙと規定され、長方形ＰＱＲＳ内を矢印ｈ及びｇで示すように平面的に移動する。さらに、頂点Ｄの移動範囲は、ｑｙ≦Ｄｙ（頂点ＤのＹ座標値）≦ｓｙと規定され、辺ＳＲ上を矢印ｉで示すようにｑｙからｓｙまで移動する。このようにＡｘ、Ｂｘ、Ｂｙ、Ｃｘ、Ｃｙ及びＤｙというように６つのパラメータを変化させつつコスト計算を行ってコスト最小の形状を探索する必要がある。しかしながら、上で述べたような範囲の指定方法では、図８に示すように、凸六角形ＦＡＢＣＤＲではなく、凹六角形ＦＡＢＣＤＲについても指定のとおりの形状として特定され、コスト計算を実施することになる。
【００２０】
このような不都合については第２の形式で例えば頂点Ｆから頂点Ｒまでを例えばベジエ曲線で結ぶように規定すれば、その間の頂点はベジエ曲線の形状に応じて連動して移動するようになる。特に、図５で規定されるベジエ曲線の場合パラメータｐだけを変化させるので、変化させるパラメータの数も大幅に減らすことができる。なお、ベジエ曲線のパラメータｐは、０以上１以下の値である。これは、コスト計算を行う回数を大幅に減らすことにつながり、処理の効率化が図られる。例えばベジエ曲線に従うので、図８に示すような凹六角形は形成されることはない。
【００２１】
なお、図５のＡの部分の最後の２行は、頂点２について移動を規定すると仮定した場合の記述を示している（＃は無効であることを表している。）。上で述べたように、Ｘ座標値とＹ座標値とを独立で変化させることしか規定できていないので、平面的に移動してしまい、第２の形式のようになめらかな曲線を示すようには移動させることができない。
【００２２】
図５ではＡの部分に示してはいないが、図９に示すように、頂点Ｂを頂点Ｃに連動して動かすといった単純な移動については第１の形式でも規定できる。例えば、ｖ≦Ｂｘ≦ｗと規定した上で、ＣｘについてはＢｘと同じであると規定することによって辺ＣＢが左右に移動することが規定できる。これと同じことは、第２の形式でも記述することはできる。
【００２３】
図３の処理の説明に戻って、最適化処理部５のパラメータ値決定処理部５１は、所定の最適化アルゴリズムに従って、初期形状ファイル格納部２に格納されている初期形状ファイルを用いて、パラメータ設定ファイル格納部３に格納されているパラメータ設定ファイルに規定されている関係式用のパラメータ値を含むパラメータ値を決定し、例えばメインメモリなどの記憶装置に格納する（ステップＳ３）。最適化アルゴリズムは、例えばランダムサンプリング、Ｂｒｅｎｔ法、Nelder-Mead法、Powell法、最急勾配法、共役勾配法、遺伝的アルゴリズム、シミュレーテッドアニーリング、微分進化アルゴリズム、粒子群最適化などの周知の方法を採用しても良い。本ステップでは、第１の形式及び第２の形式で範囲（値域とも呼ぶ）が規定されているパラメータについては、例えば特定のパラメータを除き他の全てのパラメータについて指定された範囲中の１つの値を決定する。特定のパラメータについては、指定された範囲全体又はその部分範囲を決定する。パラメータ値は、例えば図５の例のように範囲が−０．０４以上＋０．０４以下といったように指定されている場合には、＋０．０１という値をLYR_A_4_4という頂点のＸ座標についてのパラメータ値とする。なお、初期形状ファイルで指定されている初期座標値に加算した結果、例えば０．５９５という値をパラメータ値として取り扱うようにしてもよい。関係式用のパラメータの場合には指定されているパラメータｐ等である。なお、パラメータ値決定処理部５１は、決定したパラメータ値を形状ファイル生成部５３に出力する。
【００２４】
そして、形状ファイル生成部５３は、決定したパラメータ値を用いて形状ファイル生成処理を実施して、生成した形状ファイルを形状ファイル格納部６に格納する（ステップＳ５）。この形状ファイル生成処理については図１０乃至図２０を用いて説明する。
【００２５】
まず、形状ファイル生成部５３は、範囲が指定されたパラメータのパラメータ値を１つ決定する（図１０：ステップＳ２１）。例えば、１０個の値を決定する必要がある場合には、指定された範囲を１０等分してその中で１つの値を決定する。単純に上限値及び下限値とその間を均等に配置した値を選択するようにして、その中で未選択のものを本ステップで採用しても良い。
【００２６】
そして、形状ファイル生成部５３は、初期形状ファイル格納部２から初期形状ファイルを読み出して（ステップＳ２３）、関係式用のパラメータ値を除き、決定されたパラメータ値でもって、初期形状ファイルにおける対応する値を変更して初期形状ファイルに設定する（ステップＳ２５）。以降、初期形状ファイルは、形状ファイルとして取り扱い、形状ファイル格納部６に格納する。
【００２７】
さらに、頂点座標値算出部５２は、パラメータ設定ファイル格納部３からパラメータ設定ファイルを読み出し、パラメータ設定ファイルから特定される関係式に関するデータと関係式用パラメータ値によって関係式を特定し、関係式に関するデータによって指定されている個数の補間点座標を算出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ２７）。
【００２８】
図５の例では、制御点Ｐ０＝［０．０５９６３０ｐ＋０．５８５，０．４６５］、Ｐ１＝［０．０２９８１５ｐ＋０．６１４８１５，０．４６５］、Ｐ２＝［０．６４４６３０，−０．１０２５ｐ＋０．５６７５］、Ｐ３＝［０．６４４６３０，−０．２０５ｐ＋０．６７］であるから、パラメータｐのパラメータ値が決定されると、具体的に制御点の座標が決定される。例えばｐ＝０．３であれば、Ｐ０＝［０．６０２８８９，０．４６５］、Ｐ１＝［０．６２３７５９５，０．４６５］、Ｐ２＝［０．６４４６３０，０．５３６７５］、Ｐ３＝［０．６４４６３０，０．６０８５］となる。ベジエ曲線Ｂ（ｔ）は、制御点の座標値から以下のように表される。なお、Ｐ０＝［Ｐ0x，Ｐ0y］、Ｐ１＝［Ｐ1x,Ｐ1y］、Ｐ２＝［Ｐ2x，Ｐ2ｙ］、Ｐ３＝［Ｐ3x，Ｐ3ｙ］と表すものとする。
Ｂx(t)＝ｔ3＊Ｐ3x＋ｔ2＊（１−ｔ）＊Ｐ2x＋ｔ＊（１−ｔ）2＊Ｐ1x＋（１−ｔ）3＊Ｐ0x
Ｂy(t)＝ｔ3＊Ｐ3y＋ｔ2＊（１−ｔ）＊Ｐ2y＋ｔ＊（１−ｔ）2＊Ｐ1y＋（１−ｔ）3＊Ｐ0y
なお、０≦ｔ≦１である。
【００２９】
そして、ｔの下限値「０」から上限値「１」までの間を（指定個数−１）で均等に分割して、ｔ＝０及びｔ＝１と各分割点の値とで、ｔの値を決定する。５個補間点が必要な場合には、ｔ＝０、ｔ＝０．２５、ｔ＝０．５、ｔ＝０．７５及びｔ＝１が決定される。そして、それぞれについてＢx(t)及びＢy(t)を算出する。
【００３０】
例えば、図１１に示すように、頂点Ｆから頂点Ｒまでの間であって制御点Ｐ０からＰ３までの間が、ｐ＝０．３で特定された制御点で規定されるベジエ曲線で結ばれ、その間上で述べたようなｔの値で特定される３点の補間点が算出される。頂点Ｆと制御点Ｐ３の間、頂点Ｒと制御点Ｐ０の間は、直線でつなぐ。
【００３１】
以上のような例で補間点座標は、以下のとおりである。［0.64463, 0.6085］，［0.64104, 0.55581］，［0.63159, 0.50984］，［0.61822, 0.47733］, ［0.60289, 0.465］である。
【００３２】
頂点座標値算出部５２は、このように算出した補間点座標値を形状ファイル生成部５３に出力する。なお、パラメータ設定ファイルには複数の関係式が規定される場合がある。その場合にはステップＳ２７を関係式の数だけ実施する。
【００３３】
形状ファイル生成部５３は、パラメータ設定ファイルから特定される関係式に関するデータに、削除点が含まれているか否かを確認し、削除点が含まれている場合には補間点座標値で形状ファイルにおける削除点の座標値を置換し、削除点が含まれていない場合には形状ファイルに補間点座標値を追加登録する（ステップＳ２９）。
【００３４】
図４に示した初期形状ファイルは、図１２に示すように変更される。頂点１（頂点Ｆ）と頂点３（頂点Ｒ）については変更はないが、頂点２のデータは削除され、点線で囲まれているように５つの補間点の座標値に置き換えられている。さらに、頂点４のＸ座標値はステップＳ２５で変更された値が設定される。
【００３５】
そして、形状ファイル生成部５３は、範囲が指定されたパラメータについて全てのバリエーションを生成したか判断し（ステップＳ３１）、未処理のバリエーションが存在する場合にはステップＳ２１に戻る。
【００３６】
以上のような処理を実施することによって、複数の形状ファイルを生成して、形状ファイル格納部６に格納することになる。
【００３７】
図３の処理の説明に戻って、最適化処理部５は、形状ファイル格納部６に未処理の形状ファイルが存在するか判断する（ステップＳ７）。未処理の形状ファイルが存在する場合には、最適化処理部５は、未処理の形状ファイルを１つ特定して形状ファイル格納部６から読み出し、その他の必要なデータと共にコスト計算部９に出力する（ステップＳ９）。コスト計算部９は、最適化処理部５からデータを受け取ると、当該形状ファイルなどのデータを用いて周知のコスト計算処理を実施し（ステップＳ１１）、コスト計算結果であるコスト値を最適化処理部５に出力する。そしてステップＳ７に移行する。最適化処理部５は、コスト計算部９から受け取ったコスト値を、処理に用いた形状ファイルの識別子に対応付けて処理結果格納部７に格納する。
【００３８】
一方、未処理の形状ファイルが存在しない場合には、最適化処理部５は、今回の繰り返し処理において得られたコスト値とこれまでの繰り返し処理の中での最小コスト値との中から全体の最小コスト値を特定し、例えばマークを付して処理結果格納部７に格納すると共に、今回の繰り返し処理で算出したコスト値に全体の最小コスト値となるものがあれば、その際の形状ファイルを形状ファイル格納部６から読み出し、当該形状ファイルのデータ（形状データと呼ぶ）を処理結果格納部７に格納する（ステップＳ１３）。処理結果格納部７には、最小コスト値におけるパラメータ値をも格納するようにしても良い。
【００３９】
そして、最適化処理部５は、設定データ格納部４から繰り返し回数の上限値を読み出し、繰り返し回数が上限値に達したか判断する（ステップＳ１５）。まだ繰り返し回数の上限値に繰り返し回数が達していない場合にはステップＳ３に戻る。例えば、処理結果格納部７に格納されているデータ（例えば最小コスト値の履歴とそれらの場合のパラメータ値）を用いて所定の最適化アルゴリズムにより、新たなパラメータ値を決定する。
【００４０】
一方、繰り返し回数が上限値に達した場合には、出力部８は、処理結果格納部７における全体の最小コスト値とその際の形状データを読み出し、出力装置又は他のコンピュータに出力する（ステップＳ１７）。これによって、ユーザ、すなわち設計者はコスト最小の形状データを得ることができる。
【００４１】
このように複数の頂点を連動して移動させることができる関係式を導入することによって少ない個数のパラメータによってあり得べき形状の中でコスト最小の形状を特定できるようになる。すなわち、コスト計算の回数を削減することができ、より効率的に最適形状を得ることができるようになる。
【００４２】
以下では、ステップＳ２７の処理について他の具体例を示しておく。図１３に示すように、例えば、頂点Ｅを（０，０）に配置し、頂点Ｆを（０，１）に配置し、頂点Ｓを（３，１）に配置し、頂点Ｒを（３，０）に配置するものとする。そして、頂点Ｆに最も近い制御点から頂点Ｒに最も近い制御点までをベジエ曲線で結ぶ場合を考える。この際、制御点としては以下の点が指定されているものとする。［３＊ｐ，１］，［３／２＊ｐ＋３／２，１］，［３，１／２＊ｐ＋１／２］，［３，ｐ］。パラメータｐは、０以上１以下の値をとる。図１３に示すように、ｐ＝０であれば、頂点Ｆと頂点Ｒを結ぶ直線となり、ｐ＝１であれば最も頂点Ｓに近くを通る曲線となる。この間は、０．０５毎にｐの値を増加させた際のベジエ曲線を示している。
【００４３】
このような場合に、１１個の補間点を生成し、ｐ＝０．３の場合には、以下のような補間点算出される。なお、ベジエ曲線Ｂ(t)のｔは、０から１までを１０（＝１１−１）等分した各点となる。
[0.9, 1.0], [1.2140, 0.98985], [1.5216, 0.96080], [1.8166, 0.91495], [2.0928, 0.85440], [2.3438, 0.78125], [2.5632, 0.69760], [2.7448, 0.60555], [2.8824, 0.50720], [2.9696, 0.40465], [3.0, 0.3]
【００４４】
このような補間点は、図１４に示すようなベジエ曲線上に配置される。このように、少ない個数のパラメータでなめらかな設計者の意図に近い形状についてコスト計算が行われることになる。
【００４５】
上で述べた例では、関係式に１つのパラメータが定義される例を示したが、このような関係式に限定されるものではない。例えば２つのパラメータでベジエ曲線を規定することができる。図１３と同様のケースで、制御点として以下の点が指定される場合もある。ｐもｑも０以上１以下の値である。
[3*p, 1], [3/2*p+3/2+q*(-3/20+3*p/20), 1+q*(-9/20+9/20*p)],[3+q*(-3/20+3/20*p), 1/2*p+1/2+q*(-9/20+9/20*p)], [3, p]
【００４６】
この例では、ｑが小さい方が丸みを帯びた曲線となり、大きいほど直線的になる。図で示すと図１５乃至図２０に示すようになる。図１５は、ｑ＝０の場合に、ｐ＝０から１まで０．０５刻みで変化させた場合の曲線を示している。図１６は、ｑ＝０．２の場合に、ｐ＝０から１まで０．０５刻みで変化させた場合の曲線を示している。図１７は、ｑ＝０．４の場合に、ｐ＝０から１まで０．０５刻みで変化させた場合の曲線を示している。図１８は、ｑ＝０．６の場合に、ｐ＝０から１まで０．０５刻みで変化させた場合の曲線を示している。図１９は、ｑ＝０．８の場合に、ｐ＝０から１まで０．０５刻みで変化させた場合の曲線を示している。図２０は、ｑ＝１．０の場合に、ｐ＝０から１まで０．０５刻みで変化させた場合の曲線を示している。
【００４７】
このようにｐ及びｑを決定して、特定のベジエ曲線を決定し、その上で補間点の個数に応じて補間点座標値を算出する。
【００４８】
パラメータの数が増えればより多くの曲線についてコスト計算を実施することになるが、より適切な形状が特定される可能性がある。
【００４９】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図１の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。
【００５０】
また、処理フローについても処理結果が変わらない限り変形することができる。例えば、例えばステップＳ７乃至Ｓ１１のループについて、複数のコスト計算部によって並列処理を行っても良い。さらに、ステップＳ３乃至Ｓ１５のループについて、複数のコンピュータで並列計算を実施するようにしても良い。
【００５１】
さらに、上で述べたようにベジエ曲線は一例であって、指数関数などの他の曲線や直線などを規定するようにしても良い。これは設計者が任意に設定できる。さらに制御点の数も４点に限定されるものではない。さらに、上で述べた例では２次元の設計を示していたが、３次元空間における頂点の座標値を算出する場面に適用することも可能である。
【００５２】
また、図３に示した処理フローは、特定の最適化アルゴリズムを想定したフローではないので、ループの形が最適化アルゴリズムによっては異なるような場合もある。しかしながら、コスト計算部９によって算出されるコストが最小となる形状データを探索する点においては同じであり、ループの形態は本技術の主旨ではない。
【００５３】
なお、上で述べた形状最適化装置は、コンピュータ装置であって、図２１に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００５４】
以上述べた本実施の形態をまとめると、以下のようになる。
【００５５】
本形状最適化方法は、設計対象物体の形状を最適化する方法であって、（Ａ）形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部からパラメータデータを読み出し、当該パラメータデータにおけるパラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定ステップと、（Ｂ）パラメータの決定された値によって特定される上記関係式から上記複数の頂点の座標値を算出する座標値算出ステップと、（Ｃ）設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部から読み出した第１の頂点の初期座標値と、複数の頂点の算出された座標値とから、設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部に格納する形状データ生成ステップと、（Ｄ）形状データ格納部に格納されている形状データを用いて、形状データによって規定される設計対象物体の形状を評価するためのコスト計算を実施するコスト計算ステップと、（Ｅ）コスト計算の結果に基づき、パラメータ値決定ステップ、座標値算出ステップ、前記形状データ生成ステップ及びコスト計算ステップを繰り返して、コスト計算の結果が最も良い場合の形状データを出力するステップとを含む。
【００５６】
このように外部から値を設定可能なパラメータを含む関係式を適切に規定しておくことによって、個々の頂点の座標値を動かすよりもパラメータの数を減らすことができる上に、全くの不適切な形状についてはコスト計算を行わないようになる。従って、全体として最適化の処理効率が向上する。
【００５７】
なお、上で述べた形状データ生成ステップが、上記関係式に関するデータに、初期形状データ格納部における第１の頂点のうち特定の頂点の初期座標値の破棄を指示するデータが含まれる場合には、特定の頂点の初期座標値を破棄するステップを含むようにしてもよい。このようにすれば、既に決まっている初期形状を、自由に変形させることができるようになる。なお、破棄を指示するデータはなければ、上記複数の頂点の分だけ頂点が増加することになる。
【００５８】
また、上で述べた座標値算出ステップが、パラメータの決定された値によって特定される関係式における特定の変数の値域内の値を複数の頂点に割り当てることによって、複数の頂点の各々の座標値を算出するステップを含むようにしてもよい。このようにすれば、上記複数の頂点を適切な位置に配置することができるようになる。上記特定の変数の値域を均等に分割すれば、関係式で規定される曲線又は直線（場合によっては曲面など）において適切な間隔で頂点が配置されるようになる。
【００５９】
本設計対象物体の形状最適化装置（図２２）は、（Ａ）設計対象物体の形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部（図２２：１００１）からパラメータデータを読み出し、当該パラメータデータにおけるパラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定処理部（図２２：１００２）と、（Ｂ）パラメータの決定された値によって特定される関係式から複数の頂点の座標値を算出する座標値算出部（図２２：１００３）と、（Ｃ）設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部（図２２：１００４）から読み出した第１の頂点の初期座標値と、複数の頂点の算出された座標値とから、設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部（図２２：１００６）に格納する形状データ生成部（図２２：１００５）と、（Ｄ）形状データ格納部に格納されている形状データを用いて、形状データによって規定される設計対象物体の形状を評価するためのコスト計算を実施するコスト計算部（図２２：１００７）と、（Ｅ）コスト計算の結果に基づき、パラメータ値決定処理部、座標値算出部、形状データ生成部及びコスト計算部に繰り返し処理をさせて、コスト計算の結果が最も良い場合の形状データを出力する最適化処理部（図２２：１００８）とを有する。
【００６０】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００６１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６２】
（付記１）
設計対象物体の形状を最適化するプログラムであって、
前記形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部から前記パラメータデータを読み出し、当該パラメータデータにおける前記パラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定ステップと、
前記パラメータの決定された値によって特定される前記関係式から前記複数の頂点の座標値を算出する座標値算出ステップと、
前記設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部から読み出した前記第１の頂点の初期座標値と、前記複数の頂点の算出された座標値とから、前記設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部に格納する形状データ生成ステップと、
前記形状データ格納部に格納されている前記形状データを用いて、前記形状データによって規定される前記設計対象物体の形状を評価するためのコスト計算を実施させるコスト計算ステップと、
前記コスト計算の結果に基づき、前記パラメータ値決定ステップ、前記座標値算出ステップ、前記形状データ生成ステップ及び前記コスト計算ステップを繰り返して、前記コスト計算の結果が最も良い場合の前記形状データを出力するステップと、
を、コンピュータに実行させるための設計対象物体の形状最適化プログラム。
【００６３】
（付記２）
前記形状データ生成ステップが、
前記関係式に関するデータに、前記初期形状データ格納部における前記第１の頂点のうち特定の頂点の初期座標値の破棄を指示するデータが含まれる場合には、前記特定の頂点の初期座標値を破棄するステップ
を含む付記１記載の形状最適化プログラム。
【００６４】
（付記３）
前記座標値算出ステップが、
前記パラメータの決定された値によって特定される前記関係式における特定の変数の値域内の値を前記複数の頂点に割り当てることによって、前記複数の頂点の各々の座標値を算出するステップ
を含む付記１又は２記載の形状最適化プログラム。
【００６５】
（付記４）
設計対象物体の形状を最適化する方法であって、
前記形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部から前記パラメータデータを読み出し、当該パラメータデータにおける前記パラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定ステップと、
前記パラメータの決定された値によって特定される前記関係式から前記複数の頂点の座標値を算出する座標値算出ステップと、
前記設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部から読み出した前記第１の頂点の初期座標値と、前記複数の頂点の算出された座標値とから、前記設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部に格納する形状データ生成ステップと、
前記形状データ格納部に格納されている前記形状データを用いて、前記形状データによって規定される前記設計対象物体の形状を評価するためのコスト計算を実施するコスト計算ステップと、
前記コスト計算の結果に基づき、前記パラメータ値決定ステップ、前記座標値算出ステップ、前記形状データ生成ステップ及び前記コスト計算ステップを繰り返して、前記コスト計算の結果が最も良い場合の前記形状データを出力するステップと、
を含み、コンピュータに実行される設計対象物体の形状最適化方法。
【００６６】
（付記５）
設計対象物体の形状を最適化する設計対象物体の形状最適化装置であって、
前記形状の少なくとも一部分における複数の頂点の座標値を連動して変化させ且つ外部から値を設定可能なパラメータを含む関係式に関するデータを含むパラメータデータを格納するパラメータデータ格納部から前記パラメータデータを読み出し、当該パラメータデータにおける前記パラメータの値を所定のアルゴリズムに従って決定するパラメータ値決定処理部と、
前記パラメータの決定された値によって特定される前記関係式から前記複数の頂点の座標値を算出する座標値算出部と、
前記設計対象物体の形状を規定するための第１の頂点の初期座標値を格納する初期形状データ格納部から読み出した前記第１の頂点の初期座標値と、前記複数の頂点の算出された座標値とから、前記設計対象物体の形状を規定するための第２の頂点の座標値を含む形状データを生成し、形状データ格納部に格納する形状データ生成部と、
前記形状データ格納部に格納されている前記形状データを用いて、前記形状データによって規定される前記設計対象物体の形状を評価するためのコスト計算を実施するコスト計算部と、
前記コスト計算の結果に基づき、前記パラメータ値決定処理部、前記座標値算出部、前記形状データ生成部及び前記コスト計算部に繰り返し処理させて、前記コスト計算の結果が最も良い場合の前記形状データを出力する最適化処理部と、
を有する設計対象物体の形状最適化装置。
【符号の説明】
【００６７】
１  入力部    ２  初期形状ファイル格納部
３  パラメータ設定ファイル格納部    ４  設定データ格納部
５  最適化処理部    ６  形状ファイル格納部
７  処理結果格納部    ８  出力部
５１  パラメータ値決定処理部    ５２  頂点座標値算出部
５３  形状ファイル生成部
【図１】
2011133930.tif 000003
【図２】
2011133930.tif 000004
【図３】
2011133930.tif 000005
【図４】
2011133930.tif 000006
【図５】
2011133930.tif 000007
【図６】
2011133930.tif 000008
【図７】
2011133930.tif 000009
【図８】
2011133930.tif 000010
【図９】
2011133930.tif 000011
【図１０】
2011133930.tif 000012
【図１１】
2011133930.tif 000013
【図１２】
2011133930.tif 000014
【図１３】
2011133930.tif 000015
【図１４】
2011133930.tif 000016
【図１５】
2011133930.tif 000017
【図１６】
2011133930.tif 000018
【図１７】
2011133930.tif 000019
【図１８】
2011133930.tif 000020
【図１９】
2011133930.tif 000021
【図２０】
2011133930.tif 000022
【図２１】
2011133930.tif 000023
【図２２】
2011133930.tif 000024