(57)【要約】【課題】物理的に意味のある形状表現や制御方法を用いて、例えば三次元部品などを設計・解析することができる情報処理方法、情報処理装置、及びプログラム並びに記録媒体を提供する。【解決手段】曲率の微分方程式を離散化して得られる関数を用いて第１曲面を生成する第１曲面生成工程（Ｓ１）と、前記関数を用いて第２曲面を生成する第２曲面生成工程（Ｓ２）とを有する。本技術によれば、曲率の微分方程式を離散化して得られる関数を用いているため、物理的形状表現である曲率の制御により部分修正やスムース化を行うことができる。【選択図】図２
2019040045.tif 000002
【特許請求の範囲】
【請求項１】
曲率の微分方程式を離散化して得られる関数を用い、非球面レンズの第１曲面の曲率を指定して前記第１曲面を生成する第１曲面生成工程と、
前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第２曲面の曲率を算出し、前記第２曲面を生成する第２曲面生成工程とを有する情報処理方法。
【請求項２】
前記第１曲面生成工程では、前記非球面レンズの光軸から外周方向に第１曲面の曲率を指定し、前記光軸に対して回転させて前記第１曲面を生成する請求項１記載の情報処理方法。
【請求項３】
前記第２曲面生成工程では、前記非球面レンズの光軸から外周方向に第２曲面の曲率を算出し、前記光軸に対して回転させて前記第２曲面を生成する請求項１又は２記載の情報処理方法。
【請求項４】
前記第２曲面生成工程では、前記第２曲面の曲率を前記第１曲面の曲率と同一にした後、前記第２曲面の曲率を変化させる請求項１乃至３のいずれか１項に記載の情報処理方法。
【請求項５】
前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離との総和で表される評価関数を用い、
前記第２曲面生成工程では、前記第２曲面の曲率を前記第１曲面の曲率と同一にした後、前記第２曲面の曲率を変化させ、前記評価関数が最小となるように前記第２曲面を生成する請求項１乃至３のいずれか１項に記載の情報処理方法。
【請求項６】
前記関数が、格子点ｉにおいて曲率к＝Ｃと指定した場合、下記（１）式で表される請求項１乃至５のいずれか１項に記載の情報処理方法。
【数１】
2019040045.tif 000015
【請求項７】
曲率の微分方程式を離散化して得られる関数を用い、非球面レンズの第１曲面の曲率を指定して前記第１曲面を生成する第１曲面生成部と、
前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第２曲面の曲率を算出し、前記第２曲面を生成する第２曲面生成部とを備える情報処理装置。
【請求項８】
曲率の微分方程式を離散化して得られる関数を用い、非球面レンズの第１曲面の曲率を指定して前記第１曲面を生成する第１曲面生成工程と、
前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第２曲面の曲率を算出し、前記第２曲面を生成する第２曲面生成工程とを有する処理をコンピュータに実行させるプログラム。
【請求項９】
請求項８に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、例えば三次元部品などを設計・解析する情報処理方法、情報処理装置、及びプログラム並びに記録媒体に関する。
【背景技術】
【０００２】
従来、コンピュータの持つ計算能力、記憶能力、解析能力などを用いて、三次元部品などを設計・解析することが行われている。三次元部品の設計データは、例えばＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）と呼ばれるソフトウェアを用いて作成され、ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）と呼ばれるソフトウェアを用いて、設計データに基づくＮＣ（数値制御）データが作成される（例えば、特許文献１参照。）。ＮＣデータは、三次元部品を自動的にＮＣ（数値制御）工作機械（マシニング・センターを含む）で加工するために、加工される部品又は金型と、部品又は金型を切削する工具との間の相対的位置、工具経路（工具パス）、工具回転数などを制御するのに必要な数値情報である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−０２１４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したＣＡＤなどにおける曲線の描画方法として、Ｂ−スプライン曲線（B-spline curve）が挙げられる。しかしながら、Ｂ−スプライン曲線は、複数の制御点及びＢ−スプライン基底関数（B-spline basis function）により表現されるため、物理的に意味のある形状表現や制御方法を用いて修正することが困難である。
【０００５】
本技術は、このような従来の実情に鑑みて提案されたものであり、物理的に意味のある形状表現や制御方法を用いて、例えば三次元部品などを設計・解析することができる情報処理方法、情報処理装置、及びプログラム並びに記録媒体を提供する。
【課題を解決するための手段】
【０００６】
本願発明者は、鋭意検討の結果、物理的意味を有する微分方程式を離散化し、物理現象について局所的な関係を表現するために導入した関数を用いることにより、前記課題を解決できることを見出した。
【０００７】
すなわち、本技術に係る情報処理方法は、曲率の微分方程式を離散化して得られる関数を用い、非球面レンズの第１曲面の曲率を指定して前記第１曲面を生成する第１曲面生成工程と、前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第２曲面の曲率を算出し、前記第２曲面を生成する第２曲面生成工程とを有する。
【０００８】
また、本技術に係る情報処理装置は、曲率の微分方程式を離散化して得られる関数を用い、非球面レンズの第１曲面の曲率を指定して前記第１曲面を生成する第１曲面生成部と、前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第２曲面の曲率を算出し、前記第２曲面を生成する第２曲面生成部とを備える。
【０００９】
また、本技術に係るプログラムは、曲率の微分方程式を離散化して得られる関数を用い、非球面レンズの第１曲面の曲率を指定して前記第１曲面を生成する第１曲面生成工程と、前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第２曲面の曲率を算出し、前記第２曲面を生成する第２曲面生成工程とを有する処理をコンピュータに実行させる。
【００１０】
また、本技術に係る記録媒体は、上記プログラムを記録してなる。
【発明の効果】
【００１１】
本技術によれば、曲率の微分方程式を離散化して得られる関数を用いているため、物理的形状表現である曲率の制御により部分修正やスムース化を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、情報処理装置の構成の概略を示すブロック図である。
【図２】図２は、非球面レンズの設計方法を示すフローチャートである。
【図３】図３は、第１曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。
【図４】図４は、第２曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。
【図５】図５（Ａ）は、焦点距離１０を実現する非球面レンズの断面形状を示す図であり、図５（Ｂ）は、非球面レンズに対する光線の追跡結果を示す図である。
【図６】図６（Ａ）は、焦点距離５を実現する非球面レンズの断面形状を示す図であり、図６（Ｂ）は、レンズに対する光線の追跡結果を示す図である。
【図７】図７（Ａ）は、球及び角柱のＸＹ平面を示す図であり、図７（Ｂ）は、球及び角柱のＸＺ平面を示す図である。
【図８】図８は、ガウス曲率を持つ曲面のプログラム例を示す図である。
【図９】図９は、ガウス曲率を指定する格子及び平均曲率を指定する格子を示す図である。
【図１０】図１０（Ａ）は、境界線を直線にしたときの最小曲率及び最大曲率を示すグラフであり、図１０（Ｂ）は、境界線を直線にしたときのガウス曲率及び平均曲率を示すグラフである。
【図１１】図１１（Ａ）は、境界線を円弧にしたときの最小曲率及び最大曲率を示すグラフであり、図１１（Ｂ）は、境界線を円弧にしたときのガウス曲率及び平均曲率を示すグラフである。
【図１２】図１２は、折れ線に対して終点Ｐｎをｙ方向にΔｙ移動させる修正方法を説明するための図である。
【図１３】図１３（Ａ）は、曲線の計算結果示すグラフであり、図１３（Ｂ）は、曲線の曲率半径の計算結果示すグラフである。
【図１４】図１４は、両端を固定した放物線に対して指定点Ｐｋをｙ方向にΔｙ移動させる方法を説明するための図である。
【図１５】図１５（Ａ）は、放物線の計算結果示すグラフであり、図１５（Ｂ）は、放物線の曲率半径の計算結果示すグラフである。
【図１６】図１６は、指定点から終端までを直線状にする曲線の修正方法を説明するための図である。
【図１７】図１７（Ａ）は、スムース化前の格子点を使用したＸ方向の二階微分の計算結果を示すグラフであり、図１７（Ｂ）は、スムース化前の格子点を使用したＹ方向の二階微分の計算結果を示すグラフである。
【図１８】図１８（Ａ）は、スムース化後の格子点を使用したＸ方向の二階微分の計算結果を示すグラフであり、図１８（Ｂ）は、スムース化後の格子点を使用したＹ方向の二階微分の計算結果を示すグラフである。
【発明を実施するための形態】
【００１３】
以下、本技術の実施の形態について、下記順序にて詳細に説明する。
１．技術の概要
２．情報処理装置
３．具体例
【００１４】
＜１．技術の概要＞
本技術は、物理的に意味のある形状表現や制御方法で示される微分方程式（以下、「物理的意味を有する方程式」などともいう。）を離散化し、物理現象について局所的な関係を表現するために導入した関数（以下、「アルゴリズム関数」などともいう。）を用いて情報処理を行う。これは、離散的な幾何構造（折れ線や多面体）の上に微分を定義し、微積分の構築と同様の方法で行うことができる。
【００１５】
先ず、記号体系を整備する。数１に示すように差分演算子、微分、偏微分などを定義する。極限操作がないため複雑な議論は必要ない。
【００１６】
【数１】
2019040045.tif 000003
【００１７】
次に、公式の導出を行う。数２に示すように離散積分公式、離散部分積分公式、離散的ストークスの定理などを導くことができる。これらは直接的に計算に役立つというものではないが、理論構築には必要になると考えられる。
【００１８】
【数２】
2019040045.tif 000004
【００１９】
次に、アルゴリズム関数の導出を行う。アルゴリズム関数は、物理現象について局所的な関係を表現するために導入した関数であり、一般的な定義では、折れ線や多面体の各頂点に対して、各頂点と隣接する頂点に付随するデータが満たすべき複数の関係式を指定したものである。これは、物理現象の多くが局所的な関係が全体として調和したときに認識されることが多いとの知見に基づくものである。
【００２０】
最後に、アルゴリズム関数の計算を行う。各点で指定された関係式を解いてデータを更新する逐次処理で計算する。収束したときにアルゴリズム関数の値が定まり、その結果は正しい解を与えていると思われる。
【００２１】
このように、物理的意味を有する方程式の離散構造に対して微積分を定式化し、差分法を独立した体系として構築し、離散化した偏微分方程式の解を関数化し、アルゴリズム関数を計算することにより、物理的に意味のある形状表現や制御方法を用いて、例えば三次元部品などを設計・解析することができる。
【００２２】
物理的意味を有する方程式としては、曲率の微分方程式、ポアソン方程式（ラプラス方程式）、熱伝導方程式、ナビエ−ストークス方程式などが挙げられる。また、離散化としては、差分法、有限要素法、有限体積法、境界要素法などを用いることができ、これらの中でも、計算処理の容易さの観点から差分法を用いることが好ましい。
【００２３】
以下、いくつかの物理的意味を有する方程式について、アルゴリズム関数に置き換えた例を説明する。
【００２４】
［曲率の微分方程式］
曲率кを、陽関数ｙ＝ｆ（ｘ）で表される曲線を用いて表示すると、（１）式のように曲率の微分方程式として表される。（１）式を離散化して、（２−１）式、（２−２）式の中央差分を用いて表示すると（３）式で表され、格子点ｉにおいて、曲率к＝Ｃと指定すると（４）式のようにアルゴリズム関数となる。
【００２５】
【数３】
2019040045.tif 000005
【００２６】
そして、（４）式を用いて、境界を除くすべての格子点ｉについて曲率Ｃを指定し、ｙｉの値の更新を繰り返すことにより、曲線を得ることができる。曲率は、曲線や曲面の曲がり具合を表す量であるため、物理的形状表現である曲率の制御により部分修正やスムース化を行うことができる。
【００２７】
［ポアソン方程式］
（５）式のように表されるポアソン方程式において、ｘ方向をｉ等分、ｙ方向をｊ等分した場合、（６）式のように表される。（６）式を離散化して、（７−１）式、（７−２）式の中央差分を用いて表示すると（８）式のようにアルゴリズム関数となる。
【００２８】
【数４】
2019040045.tif 000006
【００２９】
通常の方法では、線形方程式にしてｚｉ,ｊを計算するが、アルゴリズム関数の計算では、（８）式からｚｉ,ｊを計算する処理を繰り返し、収束したものを解とする。ポアソン方程式は、例えば、電荷分布を与えたときの静電ポテンシャル、質量分布を与えたときの重力ポテンシャル、熱の発生源が存在する場合の温度分布、物質の発生・消滅源が存在する場合の物質濃度分布などを記述することができる。
【００３０】
［熱伝導方程式］
（９）式のように表される熱伝導方程式において、ｘ方向をｉ等分、ｙ方向をｊ等分した場合、（１０）式のように表される。（１０）式を離散化して、（１１−１）式、（１１−２）式の中央差分を用いて表示すると（１２）式のようにアルゴリズム関数となる。
【００３１】
【数５】
2019040045.tif 000007
【００３２】
このアルゴリズム関数は、時間に関して過去のものを用いて計算する処理を繰り返し、収束したものを解とする。熱伝導方程式は、熱伝導だけでなく、拡散現象全般に適用することができる。
【００３３】
［ナビエ−ストークス方程式］
（１３）式、（１４）式、（１５）式のように表されるナビエ−ストークス方程式（２次元、非圧縮性、定常流れ）において、ｘ方向をｉ等分、ｙ方向をｊ等分し、（１３）式、（１４）式、（１５）式を離散化して、中央差分を用いて表示すると（１６）式、（１７）式、（１８）式のようにアルゴリズム関数となる。
【００３４】
【数６】
2019040045.tif 000008
【００３５】
このアルゴリズム関数は、各点において（１６）式、（１７）式、（１８）式を満たせばよい。ここで、（１８）式は、注目している点の情報を含まないので、隣接する点に関する関係式を用いる。具体的には、注目点の周囲の１２点における速度と圧力に関する関係式によって注目点に関する速度と圧力を決定する。このためアルゴリズム関数の解は、合計１４個の関係式の極小値として求められる。
【００３６】
［アルゴリズム関数の効果］
以上説明したように、アルゴリズム関数を用いることにより、物理的に意味のある形状表現や制御方法を用いて、情報処理を行うことができる。
【００３７】
また、アルゴリズム関数は、取扱いが容易であるため、コンピュータを用いて単純な方法で計算することができる。特に、アルゴリズム関数の計算処理は、局所的な情報のみに依存しているため、大容量メモリや仮想メモリを確保する必要がなく、また、大規模な線形方程式を解くための専門的なライブラリも必要としない。
【００３８】
また、アルゴリズム関数は、微分方程式の係数や境界条件を変化させ問題に対して最適な解を求める、逆解析問題の方法にも応用が可能である。また、アルゴリズム関数は、各点における情報の隣接関係で定義されるため、格子の間隔を小さくしていき、収束した場合は、指摘された曲率を持つ曲面になるなど拡張性を有する。
【００３９】
＜２．情報処理装置＞
次に、上述したアルゴリズム関数を計算する情報処理装置について説明する。図１は、情報処理装置の構成の概略を示すブロック図である。図１に示すように、情報処理装置１０は、ＣＰＵ（Central Processing Unit）１１と、記憶装置１２と、入力部１３と、出力装置１４とを備える。
【００４０】
ＣＰＵ１１は、プログラムに従って、記憶装置１２に記憶されているデータ及び入力部１３から入力された数値及び指示に基づき、アルゴリズム関数の計算処理を行う。また、後述するように、ＣＰＵ１１は、アルゴリズム関数を用いて、非球面レンズの第１曲面の曲率を指定して第１曲面を生成する第１曲面生成部として機能する。また、後述するように、ＣＰＵ１１は、アルゴリズム関数を用いて、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第２曲面の曲率を算出して第２曲面を生成する第２曲面生成部として機能する。
【００４１】
記憶装置１２は、例えばＲＡＭ（Random Access Memory）などの一次記憶装置、ハードディスクドライブ（ＨＤＤ）、ＳＳＤ（Solid State drive）、などの二次記憶装置などから構成され、種々のデータを記憶する。また、記憶装置１２は、第１曲面生成部及び第２曲面生成部として機能させるプログラムを記憶する。また、記憶装置１２は、レンズ材料の屈折率などに関する種々のデータを記憶する。
【００４２】
入力部１３は、各種データを入力する例えばタッチパネル、キーボードなどのユーザインタフェースである。入力部１３は、例えば、レンズ表面の曲率、レンズ材料の屈折率等の制御因子がとり得る値等の入力に用いられる。
【００４３】
出力装置１４は、例えばディスプレイ、プリンタなどであり、アルゴリズム関数の計算処理結果の表示、印刷、出力などの処理が可能である。
【００４４】
なお、アルゴリズム関数を計算する機能は、上述した情報処理装置の構成に限られず、例えば、端末装置、サーバ装置などの複数のハードウェアにより構成することができ、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成としてもよい。また、アルゴリズム関数を計算する機能は、これを実現するためのコンピュータプログラムを作成し、コンピュータに実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することも可能である。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、コンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信することも可能である。
【００４５】
＜具体例＞
次に、上述したアルゴリズム関数を用いた情報処理の具体例について説明する。
【００４６】
［非球面レンズの設計方法］
図２は、非球面レンズの設計方法を示すフローチャートである。図２に示すように、本実施形態に係る非球面レンズの設計方法は、曲率の微分方程式を離散化して得られる関数を用いて第１曲面を生成する第１曲面生成工程（Ｓ１）と、前記関数を用いて第２曲面を生成する第２曲面生成工程（Ｓ２）とを有する。なお、ここでは、レンズ材料の屈折率などに関する種々のデータの説明を省略する。
【００４７】
曲率の微分方程式を離散化して得られる関数は、格子点ｉにおいて曲率к＝Ｃと指定した場合、下記（４）式で表されるアルゴリズム関数となる。
【００４８】
【数７】
2019040045.tif 000009
【００４９】
第１曲面生成工程（Ｓ１）では、（４）式で表されるアルゴリズム関数を用いて、非球面レンズの第１曲面の曲率を指定して第１曲面を生成する。非球面レンズが、光軸を含むレンズに垂直な断面上でレンズ形状が左右対称である対称光学系である場合、非球面レンズの光軸から外周方向に第１曲面の曲率Ｃを指定し、光軸に対して回転させて第１曲面を生成することが好ましい。これにより第１曲面を生成するアルゴリズム関数の計算量を削減することができる。
【００５０】
図３は、第１曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。図３において、第１曲面生成工程（Ｓ１）では、ｘ＝０からｘ＝ａまで各格子点ｉの曲率Ｃを指定し、ｙｉの値の更新を繰り返すことにより曲線を得る。そして、光軸（ｙ軸）に対して反転させることにより、非球面レンズの第１曲面の断面を生成することができる。また、光軸（ｙ軸）に対して回転させることにより、非球面レンズの第１曲面を生成することができる。
【００５１】
第２曲面生成工程（Ｓ２）では、（４）式で表されるアルゴリズム関数を用いて、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第２曲面の曲率を算出して第２曲面を生成する。第１曲面生成工程（Ｓ１）と同様に、非球面レンズが、光軸を含むレンズに垂直な断面上でレンズ形状が左右対称である対称光学系である場合、非球面レンズの光軸から外周方向に第２曲面の曲率Ｃを算出し、光軸に対して回転させて第２曲面を生成することが好ましい。これにより第２曲面を生成するアルゴリズム関数の計算量を削減することができる。
【００５２】
図４は、第２曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。図４において、第２曲面生成工程（Ｓ２）では、先ず、第２曲面２２の曲率を第１曲面２１の曲率と同一にした後第２曲面２２の曲率を変化させ、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるようにアルゴリズム関数の解を収束させ、第２曲面２２を生成する。また、光線の追跡は、レンズ材料の屈折率などを入力することにより得ることができる。
【００５３】
また、第２曲面生成工程（Ｓ２）において、非球面レンズの光軸と光線との交点と、予め指定された焦点距離との総和で表される評価関数を用い、第２曲面２２の曲率を第１曲面２１の曲率と同一にした後、第２曲面２２の曲率を変化させ、評価関数が最小となるように第２曲面２２を生成してもよい。
【００５４】
図５（Ａ）は、焦点距離１０を実現する非球面レンズの断面形状を示す図であり、図５（Ｂ）は、非球面レンズに対する光線の追跡結果を示す図である。また、図６（Ａ）は、焦点距離５を実現する非球面レンズの断面形状を示す図であり、図６（Ｂ）は、レンズに対する光線の追跡結果を示す図である。
【００５５】
このような非球面レンズの設計方法によれば、アルゴリズム関数を用いているため、容易に計算することができる。また、物理的形状表現である曲率の制御により部分修正やスムース化を行うことができる。また、上述の非球面レンズの設計方法は、コリメート光を一方向に扇状に発散させることで均一分布のライン光を生成するパウレルレンズの設計にも適用することが可能である。また、このような設計方法により得られた設計データを用いて、金型などを用いたプレス法や研削・研磨による直接加工法によりレンズを加工することにより、曲率の制御によりレンズを製造することができる。
【００５６】
［指定されたガウス曲面の生成方法］
ガウス曲率及び平均曲率は、それぞれ（１９−１）式、（１９−２）式で表され、Ｅ，Ｆ，Ｇは、ｚｉ，ｊを含まない式であるので、（２０）式で表すことができる。α，β，γをそれぞれ（２１−１）式、（２１−２）式、（２１−３）式とすると（２０）式となり、ｚｉ，ｊの二次方程式で解くことができる。
【００５７】
（２２）式において、к１（ｘｉ，ｙｉ）к２（ｘｉ，ｙｉ）は、指定されたガウス曲率の値であり、∂２ｚｉ，ｊ／∂ｘｉ∂ｙｉは、（ｚｉ＋１，ｊ＋１−ｚｉ＋１，ｊ−１−ｚｉ−１，ｊ＋１−ｚｉ−１，ｊ−１）／４ΔｘΔｙで決まる値であり、ｚｉ，ｊの項がないため、定数として扱うことができる。
【００５８】
【数８】
2019040045.tif 000010
【００５９】
次に、半径Ｒの球面を２Ｌの角柱で切り取った曲面を、アルゴリズム関数を使って求める方法について検討する。図７（Ａ）は、球及び角柱のＸＹ平面を示す図であり、図７（Ｂ）は、球及び角柱のＸＺ平面を示す図である。Ｒ＝１０、Ｌ＝５のときのアルゴリズム関数の計算結果は、２０×２０分割の場合、最大誤差が０．０であり、最小誤差が−０．００１４であった。また、２００×２００分割の場合、最大誤差が０．０であり、最小誤差が−０．０００４２であった。
【００６０】
図８は、ガウス曲率を持つ曲面のプログラム例を示す図である。このプログラムは、全格子点で１回分の計算をすることができる。このようにガウス曲率を持つ曲面は、簡単なプログラムで計算することができる。
【００６１】
次に、指定されたガウス曲率及び平均曲率を持つ曲面の作成について検討する。図９は、ガウス曲率を指定する格子及び平均曲率を指定する格子を示す図である。図９に示すように黒丸ａでは、ガウス曲率を指定し、白丸ｂでは平均曲率を指定してアルゴリズム関数を求める。
【００６２】
図１０（Ａ）は、境界線を直線にしたときの最小曲率及び最大曲率を示すグラフであり、図１０（Ｂ）は、境界線を直線にしたときのガウス曲率及び平均曲率を示すグラフである。図１０（Ａ）においてａは最小曲率、ｂは最大曲率を示し、図１０（Ｂ）においてｃはガウス曲率、ｂは平均曲率を示す。また、図１１（Ａ）は、境界線を円弧にしたときの最小曲率及び最大曲率を示すグラフであり、図１１（Ｂ）は、境界線を円弧にしたときのガウス曲率及び平均曲率を示すグラフである。図１１（Ａ）においてａは最小曲率、ｂは最大曲率を示し、図１１（Ｂ）においてｃはガウス曲率、ｂは平均曲率を示す。
【００６３】
図１０、図１１に示すグラフより、各点で指摘された条件は、満足しており、格子の間隔を小さくしていき、収束した場合は、指摘された曲率を持つ曲面となることが分かる。
【００６４】
［折れ線の修正方法］
次に、２次元の折れ線の修正について検討する。図１２は、折れ線に対して終点Ｐｎをｙ方向にΔｙ移動させる修正方法を説明するための図である。
【００６５】
２次元の折れ線の頂点をＰｉ（ｘｉ，ｙｉ），０≦ｉ≦ｎとする。また、ｘｉの間隔は等間隔であり、Δｘとする。折れ線ａに対して終点Ｐｎをｙ方向にΔｙ移動させ、滑らかな曲線ｂを求める問題を考える。また、Ｐ０からＰｋまでは変化しないものとする。
【００６６】
折れ線ｘｉをｘｉ上の関数ｆ（ｘｉ）とみなすと、ｘｉにおいて離散二階微分ｆ’’（ｘｉ）が定義でき。Δｘが等間隔であれば（２３）式となる。新しくｘｉ上の関数ｇ（ｘｉ）が満たすべきアルゴリズム関数を（２４−１）式、（２４−２）式で定義し、（２５）式となるようなαを求める。離散微分＆幾何の公式を使うとαは計算することができ、（２６）式となる。この操作は、ｘｋまでは重み１、ｘｋから（１＋α（ｘ−ｘｋ））の重みを掛ける操作であるため、二階微分の連続性を保証していることになる。
【００６７】
【数９】
2019040045.tif 000011
【００６８】
図１３（Ａ）は、曲線の計算結果示すグラフであり、図１３（Ｂ）は、曲線の曲率半径の計算結果示すグラフである。図１３（Ａ）に示すように、修正後の曲線ｂは、修正前の曲線ａに対してＹ方向に約２倍スケールしており、図１３（Ｂ）に示すように、修正前の曲線ａの曲率半径に対して修正後の曲線ｂの曲率半径は大きく変化している。曲率ベクトルが０になっているところがないので変曲点はない。このため。凸を維持して修正できていることが分かる。
【００６９】
［両端を固定した放物線の指定点の移動による修正方法］
次に、両端を固定した放物線の指定点の移動について検討する。図１４は、両端を固定した放物線に対して指定点Ｐｋをｙ方向にΔｙ移動させる方法を説明するための図である。図１４において、ａが移動前の放物線であり、ｂが移動後の放物線である。
【００７０】
先ず、（２７−１）式、（２７−２）式、（２７−３）式を満たす曲線を求める。新しくｘｉ上の関数ｇ（ｘｉ）が満たすべきアルゴリズム関数を（２８−１）式、（２８−２）式、（２８−２）式で定義し、（２９−１）式、（２９−２）式となるように、α，βを決定する。α，βは、具体的に計算することができ、（３０−１）式、（３０−２）式となる。
【００７１】
【数１０】
2019040045.tif 000012
【００７２】
図１５（Ａ）は、放物線の計算結果示すグラフであり、図１５（Ｂ）は、放物線の曲率半径の計算結果示すグラフである。図１５（Ａ）において、ａはＰ０とＰ１との間が１００であり、５０の位置で−１０である放物線であり、ｂは曲線ａに対して６０の位置でｙ方向に−２移動させた放物線である。また、図１５（Ｂ）において、ａは、図１５（Ａ）に示す放物線ａの曲率半径を示し、ｂは、図１５（Ｂ）に示す放物線ｂの曲率半径を示す。図１５（Ｂ）から、指定点である６０の位置で大きく曲率半径が変化したことが分かる。
【００７３】
［指定点から終端までを直線状にする曲線の修正方法］
図１６は、指定点から終端までを直線状にする曲線の修正方法を説明するための図である。先ず、（３１−１）式、（３１−２）式、（３１−３）式を満たす曲線を求める。指定点ｋ１から直線状に曲線を修正する。曲率が連続であるためには、曲率を接続する部分が必要である。このため、修正部分を３つに分け、もとの点列の二階微分に対して、（３２−１）式、（３２−２）式、（３２−３）式のような関数値を持つ曲率の重み関数Ｋ（ｘ）を掛ける。Ｋ（ｘ）関数は、αによって（３４）式で規定され、αを端点における指定点を通るように調整することによって、この修正が可能となる。
【００７４】
【数１１】
2019040045.tif 000013
【００７５】
［Ｂスプライン曲面のスムース化方法］
具体例として示すＢスプライン曲面のスムース化方法は、Ｂスプライン曲面を多様体と考えて、各点において二次多項式近似し、二階微分を計算する。これらの二階微分を持つ曲面をアルゴリズム関数で再現するものである。
【００７６】
先ず、Ｂスプライン曲面を例えば０．００１ｍｍの誤差でポリゴン化（ＳＴＬ化）し、これを例えば１２１×１２１格子点で被覆する。そして、格子点において二次多項式近似を行う。
【００７７】
具体的には、格子点を中心として、半径Ｒ以下のＳＴＬ頂点を使用して二次多項式近似を行う。ＳＴＬ頂点はもとの曲面上にあるため、比較的正確な近似を与えることができる。そして、Ｂスプライン曲面を多様体と考えて、格子点において二次多項式で被覆する。
【００７８】
続いて、Ｘ方向、Ｙ方向の二階微分を掛けてＧｉｊ（ｉ，ｊ）を計算し、格子における関係式を（３５）式としてアルゴリズム関数を計算する。
【００７９】
【数１２】
2019040045.tif 000014
【００８０】
図１７（Ａ）は、スムース化前の格子点を使用したＸ方向の二階微分の計算結果を示すグラフであり、図１７（Ｂ）は、スムース化前の格子点を使用したＹ方向の二階微分の計算結果を示すグラフである。また、図１８（Ａ）は、スムース化後の格子点を使用したＸ方向の二階微分の計算結果を示すグラフであり、図１８（Ｂ）は、スムース化後の格子点を使用したＹ方向の二階微分の計算結果を示すグラフである。横（Ｘ)方向１４００ｍｍ、縦（Ｙ)方向１０００ｍｍサイズのボディ部品においてＢスプライン曲面で生成されたものを、アルゴリズム関数を用いて微小修正し、二階微分をスムース化した。
【００８１】
図１７、図１８に示すグラフから分かるように、修正前はノイズが入っているが、スムース化後は滑らかになっている。また、頂点を動かした量は０．４０２ｍｍと微小であり、微小な修正によって二階微分を滑らかにすることができることが分かる。
【符号の説明】
【００８２】
１０  情報処理装置、１１  ＣＰＵ、１２  記憶装置、１３  入力部、１４  出力装置、２１  第１の曲面、２２  第２の曲面
【図１】
2019040045.tif 000016
【図２】
2019040045.tif 000017
【図３】
2019040045.tif 000018
【図４】
2019040045.tif 000019
【図５】
2019040045.tif 000020
【図６】
2019040045.tif 000021
【図７】
2019040045.tif 000022
【図８】
2019040045.tif 000023
【図９】
2019040045.tif 000024
【図１０】
2019040045.tif 000025
【図１１】
2019040045.tif 000026
【図１２】
2019040045.tif 000027
【図１３】
2019040045.tif 000028
【図１４】
2019040045.tif 000029
【図１５】
2019040045.tif 000030
【図１６】
2019040045.tif 000031
【図１７】
2019040045.tif 000032
【図１８】
2019040045.tif 000033