(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-19
(45)【発行日】2024-04-30
(54)【発明の名称】情報処理方法、情報処理装置、及びプログラム並びに記録媒体
(51)【国際特許分類】
G06F 30/10 20200101AFI20240422BHJP
G02B 13/00 20060101ALN20240422BHJP
G02B 13/18 20060101ALN20240422BHJP
【FI】
G06F30/10 100
G02B13/00
G02B13/18
(21)【出願番号】P 2023086523
(22)【出願日】2023-05-25
(62)【分割の表示】P 2022074253の分割
【原出願日】2017-08-24
【審査請求日】2023-06-22
【新規性喪失の例外の表示】特許法第30条第2項適用 平成29年2月24日に第45回VCADシステム研究会にて公開(アルゴリズム関数による物理曲面の生成方法)
(73)【特許権者】
【識別番号】516176361
【氏名又は名称】株式会社コアコンセプト・テクノロジー
(74)【代理人】
【識別番号】100113424
【氏名又は名称】野口 信博
(72)【発明者】
【氏名】下村 克則
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2016-207055(JP,A)
【文献】特開2004-078309(JP,A)
【文献】特開平07-085314(JP,A)
【文献】特開平07-049963(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/28
G02B 13/00
G02B 13/18
(57)【特許請求の範囲】
【請求項1】
コンピュータが、Bスプライン曲面を三角ポリゴンに変換し、前記三角ポリゴンを、3次元空間の曲面z=f(x,y)のx方向をi等分、y方向をj等分した格子点で被覆し、
各格子点について、格子点を中心とする半径R以下の前記三角ポリゴンの頂点を用いて二次多項式P
ij(i,j)で近似し、
前記二次多項式P
ij(i,j)のX方向及びY方向の二階微分を掛けた下記(A)式に示す関数G
ij(i,j)を用いて微小修正して二階微分をスムース化し、二階微分を持つ曲面を再現する情報処理方法。
【数1】
【請求項2】
Bスプライン曲面を三角ポリゴンに変換し、前記三角ポリゴンを、3次元空間の曲面z=f(x,y)のx方向をi等分、y方向をj等分した格子点で被覆し、
各格子点について、格子点を中心とする半径R以下の前記三角ポリゴンの頂点を用いて二次多項式P
ij(i,j)で近似し、
前記二次多項式P
ij(i,j)のX方向及びY方向の二階微分を掛けた下記(A)式に示す関数G
ij(i,j)を用いて微小修正して二階微分をスムース化し、二階微分を持つ曲面を再現する情報処理装置。
【数2】
【請求項3】
前記請求項1に記載の情報処理方法をコンピュータに実行させるプログラム。
【請求項4】
前記請求項3に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、例えば三次元部品などを設計・解析する情報処理方法、情報処理装置、及びプログラム並びに記録媒体に関する。
【背景技術】
【0002】
従来、コンピュータの持つ計算能力、記憶能力、解析能力などを用いて、三次元部品などを設計・解析することが行われている。三次元部品の設計データは、例えばCAD(Computer Aided Design)と呼ばれるソフトウェアを用いて作成され、CAM(Computer Aided Manufacturing)と呼ばれるソフトウェアを用いて、設計データに基づくNC(数値制御)データが作成される(例えば、特許文献1参照。)。NCデータは、三次元部品を自動的にNC(数値制御)工作機械(マシニング・センターを含む)で加工するために、加工される部品又は金型と、部品又は金型を切削する工具との間の相対的位置、工具経路(工具パス)、工具回転数などを制御するのに必要な数値情報である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したCADなどにおける曲線の描画方法として、B-スプライン曲線(B-spline curve)が挙げられる。しかしながら、B-スプライン曲線は、複数の制御点及びB-スプライン基底関数(B-spline basis function)により表現されるため、物理的に意味のある形状表現や制御方法を用いて修正することが困難である。
【0005】
本技術は、このような従来の実情に鑑みて提案されたものであり、物理的に意味のある形状表現や制御方法を用いて、例えば三次元部品などを設計・解析することができる情報処理方法、情報処理装置、及びプログラム並びに記録媒体を提供する。
【課題を解決するための手段】
【0006】
本願発明者は、鋭意検討の結果、物理的意味を有する微分方程式を離散化し、物理現象について局所的な関係を表現するために導入した関数を用いる下記技術によって前記課題を解決できることを見出した。
【0007】
[1]
コンピュータが、Bスプライン曲面を三角ポリゴンに変換し、前記三角ポリゴンを、3次元空間の曲面z=f(x,y)のx方向をi等分、y方向をj等分した格子点で被覆し、
各格子点について、格子点を中心とする半径R以下の前記三角ポリゴンの頂点を用いて二次多項式P
ij
(i,j)で近似し、
前記二次多項式P
ij
(i,j)のX方向及びY方向の二階微分を掛けた下記(A)式に示す関数G
ij
(i,j)を用いて微小修正して二階微分をスムース化し、二階微分を持つ曲面を再現する情報処理方法。
[2]
コンピュータが、放物線を、x方向をi等分したx
i
上の関数f(x
i
)とみなし、f(x
i
)の二階微分f’’(x
i
)、曲率k(x
i
)、及び指定点の二階微分P
i
’’を用いて、下記(B-1)、下記(B-2)式、及び下記(B-3)式に示す前記放物線の両端を固定した曲線を定義し、
x
i
上の関数g(x
i
)が満たすべき微分方程式を下記(C-1)式、下記(C-2)式、及び下記(C-3)式で定義し、前記曲線に対して指定点P
k
をy方向にΔy移動させ、下記(D-1)式、及び下記(D-2)式を満たすように、下記(E-1)式及び下記(E-2)式に示すα,βを算出し、
両端を固定した放物線を指定点の移動により修正する情報処理方法。
[3]
コンピュータが、放物線を、x方向をi等分したx
i
上の関数f(x
i
)とみなし、f(x
i
)の二階微分f’’(x
i
)、曲率の重み関数k(i)、及び指定点の二階微分P
i
’’を用いて、下記(F-1)、下記(F-2)式、及び下記(F-3)式に示す前記放物線の両端を固定した曲線を定義し、
x
i
をi≦k
1
、(k
1
+1)≦i≦k
2
、及び、(k
2
+1)≦i≦k
3
に分け、それぞれ下記(G-1)、下記(G-2)式、及び下記(G-3)式に示す関数値を持つ曲率の重み関数k(i)を定義し、
前記曲線に対して指定点P
k1
,P
k2
,P
k3
を通るように下記(H)式に示すαを算出し、
放物線の指定点から終端までを直線状に修正する情報処理方法。
[4]
コンピュータが、始点P
0
から指定点P
k
までの放物線、及び、指定点P
k
から終点P
n
までの直線について、前記直線を、x方向をi等分したx
i
上の関数f(x
i
)とみなし、f(x
i
)の二階微分f’’(x
i
)を下記(I)式で定義し、
x
i
上の関数g(x
i
)が満たすべき微分方程式を下記(J-1)式、及び下記(J-2)式で定義し、下記(K)式を満たすように、下記(L)式に示すαを算出し、
放物線の指定点から終端までの直線を曲線に修正する情報処理方法。
[5]
コンピュータが、下記(M)式に示すポアソン方程式のx方向をi等分、y方向をj等分した下記(N)式について、下記(O-1)式、及び下記(O-2)式に示す差分法により離散化して得られる下記(P)式に示す関数を用いて、z
i,j
を計算する処理を繰り返し、収束したものを解とする情報処理装置。
[6]
コンピュータが、下記(Q)式に示す熱伝導方程式のx方向をi等分、y方向をj等分した下記(R)式について、下記(S)式、及び下記(S’)式に示す差分法により離散化して得られる下記(T)式に示す関数を用いて、時間に関して過去のものを用いてu
i,j
を計算する処理を繰り返し、収束したものを解とする情報処理方法。
[7]
コンピュータが、下記(U)式、下記(V)式、及び下記(W)式に示すナビエ-ストークス方程式について、差分法により離散化して得られる下記(X)式、下記(Y)式、及び下記(Z)式に示す関数を用いて、注目点の周囲の12点における速度と圧力に関する関係式によって注目点に関する速度と圧力を決定し、合計14個の関係式の極小値を解とする情報処理方法。
[8]
Bスプライン曲面を三角ポリゴンに変換し、前記三角ポリゴンを、3次元空間の曲面z=f(x,y)のx方向をi等分、y方向をj等分した格子点で被覆し、
各格子点について、格子点を中心とする半径R以下の前記三角ポリゴンの頂点を用いて二次多項式P
ij
(i,j)で近似し、
前記二次多項式P
ij
(i,j)のX方向及びY方向の二階微分を掛けた下記(A)式に示す関数G
ij
(i,j)を用いて微小修正して二階微分をスムース化し、二階微分を持つ曲面を再現する情報処理装置。
[9]
放物線を、x方向をi等分したx
i
上の関数f(x
i
)とみなし、f(x
i
)の二階微分f’’(x
i
)、曲率k(x
i
)、及び指定点の二階微分P
i
’’を用いて、下記(B-1)、下記(B-2)式、及び下記(B-3)式に示す前記放物線の両端を固定した曲線を定義し、
x
i
上の関数g(x
i
)が満たすべき微分方程式を下記(C-1)式、下記(C-2)式、及び下記(C-3)式で定義し、前記曲線に対して指定点P
k
をy方向にΔy移動させ、下記(D-1)式、及び下記(D-2)式を満たすように、下記(E-1)式及び下記(E-2)式に示すα,βを算出し、
両端を固定した放物線を指定点の移動により修正する情報処理装置。
[10]
放物線を、x方向をi等分したx
i
上の関数f(x
i
)とみなし、f(x
i
)の二階微分f’’(x
i
)、曲率の重み関数k(i)、及び指定点の二階微分P
i
’’を用いて、下記(F-1)、下記(F-2)式、及び下記(F-3)式に示す前記放物線の両端を固定した曲線を定義し、
x
i
をi≦k
1
、(k
1
+1)≦i≦k
2
、及び、(k
2
+1)≦i≦k
3
に分け、それぞれ下記(G-1)、下記(G-2)式、及び下記(G-3)式に示す関数値を持つ曲率の重み関数k(i)を定義し、
前記曲線に対して指定点P
k1
,P
k2
,P
k3
を通るように下記(H)式に示すαを算出し、
放物線の指定点から終端までを直線状に修正する情報処理装置。
[11]
コンピュータが、始点P
0
から指定点P
k
までの放物線、及び、指定点P
k
から終点P
n
までの直線について、前記直線を、x方向をi等分したx
i
上の関数f(x
i
)とみなし、f(x
i
)の二階微分f’’(x
i
)を下記(I)式で定義し、
x
i
上の関数g(x
i
)が満たすべき微分方程式を下記(J-1)式、及び下記(J-2)式で定義し、下記(K)式を満たすように、下記(L)式に示すαを算出し、
放物線の指定点から終端までの直線を曲線に修正する情報処理方法。
[12]
下記(M)式に示すポアソン方程式のx方向をi等分、y方向をj等分した下記(N)式について、下記(O-1)式、及び下記(O-2)式に示す差分法により離散化して得られる下記(P)式に示す関数を用いて、z
i,j
を計算する処理を繰り返し、収束したものを解とする情報処理装置。
[13]
下記(Q)式に示す熱伝導方程式のx方向をi等分、y方向をj等分した下記(R)式について、下記(S)式、及び下記(S’)式に示す差分法により離散化して得られる下記(T)式に示す関数を用いて、時間に関して過去のものを用いてu
i,j
を計算する処理を繰り返し、収束したものを解とする情報処理装置。
[14]
下記(U)式、下記(V)式、及び下記(W)式に示すナビエ-ストークス方程式について、差分法により離散化して得られる下記(X)式、下記(Y)式、及び下記(Z)式に示す関数を用いて、注目点の周囲の12点における速度と圧力に関する関係式によって注目点に関する速度と圧力を決定し、合計14個の関係式の極小値を解とする情報処理方法。
[15]
前記請求項[1]乃至[7]記載のいずれか1項の情報処理方法をコンピュータに実行させるプログラム。
[16]
請求項[15]に記載のプログラムを記録した記録媒体。
【0010】
【発明の効果】
【0011】
本技術によれば、物理現象について局所的な関係を表現するために導入した関数を用いているため、物理的に意味のある形状表現や制御方法を用いて修正することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、情報処理装置の構成の概略を示すブロック図である。
【
図2】
図2は、非球面レンズの設計方法を示すフローチャートである。
【
図3】
図3は、第1曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。
【
図4】
図4は、第2曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。
【
図5】
図5(A)は、焦点距離10を実現する非球面レンズの断面形状を示す図であり、
図5(B)は、非球面レンズに対する光線の追跡結果を示す図である。
【
図6】
図6(A)は、焦点距離5を実現する非球面レンズの断面形状を示す図であり、
図6(B)は、レンズに対する光線の追跡結果を示す図である。
【
図7】
図7(A)は、球及び角柱のXY平面を示す図であり、
図7(B)は、球及び角柱のXZ平面を示す図である。
【
図8】
図8は、ガウス曲率を持つ曲面のプログラム例を示す図である。
【
図9】
図9は、ガウス曲率を指定する格子及び平均曲率を指定する格子を示す図である。
【
図10】
図10(A)は、境界線を直線にしたときの最小曲率及び最大曲率を示すグラフであり、
図10(B)は、境界線を直線にしたときのガウス曲率及び平均曲率を示すグラフである。
【
図11】
図11(A)は、境界線を円弧にしたときの最小曲率及び最大曲率を示すグラフであり、
図11(B)は、境界線を円弧にしたときのガウス曲率及び平均曲率を示すグラフである。
【
図12】
図12は、折れ線に対して終点P
nをy方向にΔy移動させる修正方法を説明するための図である。
【
図13】
図13(A)は、曲線の計算結果示すグラフであり、
図13(B)は、曲線の曲率半径の計算結果示すグラフである。
【
図14】
図14は、両端を固定した放物線に対して指定点P
kをy方向にΔy移動させる方法を説明するための図である。
【
図15】
図15(A)は、放物線の計算結果示すグラフであり、
図15(B)は、放物線の曲率半径の計算結果示すグラフである。
【
図16】
図16は、指定点から終端までを直線状にする曲線の修正方法を説明するための図である。
【
図17】
図17(A)は、スムース化前の格子点を使用したX方向の二階微分の計算結果を示すグラフであり、
図17(B)は、スムース化前の格子点を使用したY方向の二階微分の計算結果を示すグラフである。
【
図18】
図18(A)は、スムース化後の格子点を使用したX方向の二階微分の計算結果を示すグラフであり、
図18(B)は、スムース化後の格子点を使用したY方向の二階微分の計算結果を示すグラフである。
【発明を実施するための形態】
【0013】
以下、本技術の実施の形態について、下記順序にて詳細に説明する。
1.技術の概要
2.情報処理装置
3.具体例
【0014】
<1.技術の概要>
本技術は、物理的に意味のある形状表現や制御方法で示される微分方程式(以下、「物理的意味を有する方程式」などともいう。)を離散化し、物理現象について局所的な関係を表現するために導入した関数(以下、「アルゴリズム関数」などともいう。)を用いて情報処理を行う。これは、離散的な幾何構造(折れ線や多面体)の上に微分を定義し、微積分の構築と同様の方法で行うことができる。
【0015】
先ず、記号体系を整備する。下記式に示すように差分演算子、微分、偏微分などを定義する。極限操作がないため複雑な議論は必要ない。
【0016】
【0017】
次に、公式の導出を行う。下記式に示すように離散積分公式、離散部分積分公式、離散的ストークスの定理などを導くことができる。これらは直接的に計算に役立つというものではないが、理論構築には必要になると考えられる。
【0018】
【0019】
次に、アルゴリズム関数の導出を行う。アルゴリズム関数は、物理現象について局所的な関係を表現するために導入した関数であり、一般的な定義では、折れ線や多面体の各頂点に対して、各頂点と隣接する頂点に付随するデータが満たすべき複数の関係式を指定したものである。これは、物理現象の多くが局所的な関係が全体として調和したときに認識されることが多いとの知見に基づくものである。
【0020】
最後に、アルゴリズム関数の計算を行う。各点で指定された関係式を解いてデータを更新する逐次処理で計算する。収束したときにアルゴリズム関数の値が定まり、その結果は正しい解を与えていると思われる。
【0021】
このように、物理的意味を有する方程式の離散構造に対して微積分を定式化し、差分法を独立した体系として構築し、離散化した偏微分方程式の解を関数化し、アルゴリズム関数を計算することにより、物理的に意味のある形状表現や制御方法を用いて、例えば三次元部品などを設計・解析することができる。
【0022】
物理的意味を有する方程式としては、曲率の微分方程式、ポアソン方程式(ラプラス方程式)、熱伝導方程式、ナビエ-ストークス方程式などが挙げられる。また、離散化としては、差分法、有限要素法、有限体積法、境界要素法などを用いることができ、これらの中でも、計算処理の容易さの観点から差分法を用いることが好ましい。
【0023】
以下、いくつかの物理的意味を有する方程式について、アルゴリズム関数に置き換えた例を説明する。
【0024】
[曲率の微分方程式]
曲率кを、陽関数y=f(x)で表される曲線を用いて表示すると、(1)式のように曲率の微分方程式として表される。(1)式を離散化して、(2-1)式、(2-2)式の中央差分を用いて表示すると(3)式で表され、格子点iにおいて、曲率к=Cと指定すると(4)式のようにアルゴリズム関数となる。
【0025】
【0026】
そして、(4)式を用いて、境界を除くすべての格子点iについて曲率Cを指定し、yiの値の更新を繰り返すことにより、曲線を得ることができる。曲率は、曲線や曲面の曲がり具合を表す量であるため、物理的形状表現である曲率の制御により部分修正やスムース化を行うことができる。
【0027】
[ポアソン方程式]
(5)式のように表されるポアソン方程式において、x方向をi等分、y方向をj等分した場合、(6)式のように表される。(6)式を離散化して、(7-1)式、(7-2)式の中央差分を用いて表示すると(8)式のようにアルゴリズム関数となる。
【0028】
【0029】
通常の方法では、線形方程式にしてzi,jを計算するが、アルゴリズム関数の計算では、(8)式からzi,jを計算する処理を繰り返し、収束したものを解とする。ポアソン方程式は、例えば、電荷分布を与えたときの静電ポテンシャル、質量分布を与えたときの重力ポテンシャル、熱の発生源が存在する場合の温度分布、物質の発生・消滅源が存在する場合の物質濃度分布などを記述することができる。
【0030】
[熱伝導方程式]
(9)式のように表される熱伝導方程式において、x方向をi等分、y方向をj等分した場合、(10)式のように表される。(10)式を離散化して、(11-1)式、(11-2)式の中央差分を用いて表示すると(12)式のようにアルゴリズム関数となる。
【0031】
【0032】
このアルゴリズム関数は、時間に関して過去のものを用いて計算する処理を繰り返し、収束したものを解とする。熱伝導方程式は、熱伝導だけでなく、拡散現象全般に適用することができる。
【0033】
[ナビエ-ストークス方程式]
(13)式、(14)式、(15)式のように表されるナビエ-ストークス方程式(2次元、非圧縮性、定常流れ)において、x方向をi等分、y方向をj等分し、(13)式、(14)式、(15)式を離散化して、中央差分を用いて表示すると(16)式、(17)式、(18)式のようにアルゴリズム関数となる。
【0034】
【0035】
このアルゴリズム関数は、各点において(16)式、(17)式、(18)式を満たせばよい。ここで、(18)式は、注目している点の情報を含まないので、隣接する点に関する関係式を用いる。具体的には、注目点の周囲の12点における速度と圧力に関する関係式によって注目点に関する速度と圧力を決定する。このためアルゴリズム関数の解は、合計14個の関係式の極小値として求められる。
【0036】
[アルゴリズム関数の効果]
以上説明したように、アルゴリズム関数を用いることにより、物理的に意味のある形状表現や制御方法を用いて、情報処理を行うことができる。
【0037】
また、アルゴリズム関数は、取扱いが容易であるため、コンピュータを用いて単純な方法で計算することができる。特に、アルゴリズム関数の計算処理は、局所的な情報のみに依存しているため、大容量メモリや仮想メモリを確保する必要がなく、また、大規模な線形方程式を解くための専門的なライブラリも必要としない。
【0038】
また、アルゴリズム関数は、微分方程式の係数や境界条件を変化させ問題に対して最適な解を求める、逆解析問題の方法にも応用が可能である。また、アルゴリズム関数は、各点における情報の隣接関係で定義されるため、格子の間隔を小さくしていき、収束した場合は、指摘された曲率を持つ曲面になるなど拡張性を有する。
【0039】
<2.情報処理装置>
次に、上述したアルゴリズム関数を計算する情報処理装置について説明する。
図1は、情報処理装置の構成の概略を示すブロック図である。
図1に示すように、情報処理装置10は、CPU(Central Processing Unit)11と、記憶装置12と、入力部13と、出力装置14とを備える。
【0040】
CPU11は、プログラムに従って、記憶装置12に記憶されているデータ及び入力部13から入力された数値及び指示に基づき、アルゴリズム関数の計算処理を行う。また、後述するように、CPU11は、アルゴリズム関数を用いて、非球面レンズの第1曲面の曲率を指定して第1曲面を生成する第1曲面生成部として機能する。また、後述するように、CPU11は、アルゴリズム関数を用いて、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第2曲面の曲率を算出して第2曲面を生成する第2曲面生成部として機能する。
【0041】
記憶装置12は、例えばRAM(Random Access Memory)などの一次記憶装置、ハードディスクドライブ(HDD)、SSD(Solid State drive)、などの二次記憶装置などから構成され、種々のデータを記憶する。また、記憶装置12は、第1曲面生成部及び第2曲面生成部として機能させるプログラムを記憶する。また、記憶装置12は、レンズ材料の屈折率などに関する種々のデータを記憶する。
【0042】
入力部13は、各種データを入力する例えばタッチパネル、キーボードなどのユーザインタフェースである。入力部13は、例えば、レンズ表面の曲率、レンズ材料の屈折率等の制御因子がとり得る値等の入力に用いられる。
【0043】
出力装置14は、例えばディスプレイ、プリンタなどであり、アルゴリズム関数の計算処理結果の表示、印刷、出力などの処理が可能である。
【0044】
なお、アルゴリズム関数を計算する機能は、上述した情報処理装置の構成に限られず、例えば、端末装置、サーバ装置などの複数のハードウェアにより構成することができ、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成としてもよい。また、アルゴリズム関数を計算する機能は、これを実現するためのコンピュータプログラムを作成し、コンピュータに実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することも可能である。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、コンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信することも可能である。
【0045】
<具体例>
次に、上述したアルゴリズム関数を用いた情報処理の具体例について説明する。
【0046】
[非球面レンズの設計方法]
図2は、非球面レンズの設計方法を示すフローチャートである。
図2に示すように、本実施形態に係る非球面レンズの設計方法は、曲率の微分方程式を離散化して得られる関数を用いて第1曲面を生成する第1曲面生成工程(S1)と、前記関数を用いて第2曲面を生成する第2曲面生成工程(S2)とを有する。なお、ここでは、レンズ材料の屈折率などに関する種々のデータの説明を省略する。
【0047】
曲率の微分方程式を離散化して得られる関数は、格子点iにおいて曲率к=Cと指定した場合、下記(4)式で表されるアルゴリズム関数となる。
【0048】
【0049】
第1曲面生成工程(S1)では、(4)式で表されるアルゴリズム関数を用いて、非球面レンズの第1曲面の曲率を指定して第1曲面を生成する。非球面レンズが、光軸を含むレンズに垂直な断面上でレンズ形状が左右対称である対称光学系である場合、非球面レンズの光軸から外周方向に第1曲面の曲率Cを指定し、光軸に対して回転させて第1曲面を生成することが好ましい。これにより第1曲面を生成するアルゴリズム関数の計算量を削減することができる。
【0050】
図3は、第1曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。
図3において、第1曲面生成工程(S1)では、x=0からx=aまで各格子点iの曲率Cを指定し、yiの値の更新を繰り返すことにより曲線を得る。そして、光軸(y軸)に対して反転させることにより、非球面レンズの第1曲面の断面を生成することができる。また、光軸(y軸)に対して回転させることにより、非球面レンズの第1曲面を生成することができる。
【0051】
第2曲面生成工程(S2)では、(4)式で表されるアルゴリズム関数を用いて、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第2曲面の曲率を算出して第2曲面を生成する。第1曲面生成工程(S1)と同様に、非球面レンズが、光軸を含むレンズに垂直な断面上でレンズ形状が左右対称である対称光学系である場合、非球面レンズの光軸から外周方向に第2曲面の曲率Cを算出し、光軸に対して回転させて第2曲面を生成することが好ましい。これにより第2曲面を生成するアルゴリズム関数の計算量を削減することができる。
【0052】
図4は、第2曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。
図4において、第2曲面生成工程(S2)では、先ず、第2曲面22の曲率を第1曲面21の曲率と同一にした後第2曲面22の曲率を変化させ、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるようにアルゴリズム関数の解を収束させ、第2曲面22を生成する。また、光線の追跡は、レンズ材料の屈折率などを入力することにより得ることができる。
【0053】
また、第2曲面生成工程(S2)において、非球面レンズの光軸と光線との交点と、予め指定された焦点距離との総和で表される評価関数を用い、第2曲面22の曲率を第1曲面21の曲率と同一にした後、第2曲面22の曲率を変化させ、評価関数が最小となるように第2曲面22を生成してもよい。
【0054】
図5(A)は、焦点距離10を実現する非球面レンズの断面形状を示す図であり、
図5(B)は、非球面レンズに対する光線の追跡結果を示す図である。また、
図6(A)は、焦点距離5を実現する非球面レンズの断面形状を示す図であり、
図6(B)は、レンズに対する光線の追跡結果を示す図である。
【0055】
このような非球面レンズの設計方法によれば、アルゴリズム関数を用いているため、容易に計算することができる。また、物理的形状表現である曲率の制御により部分修正やスムース化を行うことができる。また、上述の非球面レンズの設計方法は、コリメート光を一方向に扇状に発散させることで均一分布のライン光を生成するパウレルレンズの設計にも適用することが可能である。また、このような設計方法により得られた設計データを用いて、金型などを用いたプレス法や研削・研磨による直接加工法によりレンズを加工することにより、曲率の制御によりレンズを製造することができる。
【0056】
[指定されたガウス曲面の生成方法]
ガウス曲率及び平均曲率は、それぞれ(19-1)式、(19-2)式で表され、E,F,Gは、zi,jを含まない式であるので、(20)式で表すことができる。α,β,γをそれぞれ(21-1)式、(21-2)式、(21-3)式とすると(22)式となり、zi,jの二次方程式で解くことができる。
【0057】
(22)式において、к1(xi,yi)к2(xi,yi)は、指定されたガウス曲率の値であり、∂2zi,j/∂xi∂yiは、(zi+1,j+1-zi+1,j-1-zi-1,j+1-zi-1,j-1)/4ΔxΔyで決まる値であり、zi,jの項がないため、定数として扱うことができる。
【0058】
【0059】
次に、半径Rの球面を2Lの角柱で切り取った曲面を、アルゴリズム関数を使って求める方法について検討する。
図7(A)は、球及び角柱のXY平面を示す図であり、
図7(B)は、球及び角柱のXZ平面を示す図である。R=10、L=5のときのアルゴリズム関数の計算結果は、20×20分割の場合、最大誤差が0.0であり、最小誤差が-0.0014であった。また、200×200分割の場合、最大誤差が0.0であり、最小誤差が-0.00042であった。
【0060】
図8は、ガウス曲率を持つ曲面のプログラム例を示す図である。このプログラムは、全格子点で1回分の計算をすることができる。このようにガウス曲率を持つ曲面は、簡単なプログラムで計算することができる。
【0061】
次に、指定されたガウス曲率及び平均曲率を持つ曲面の作成について検討する。
図9は、ガウス曲率を指定する格子及び平均曲率を指定する格子を示す図である。
図9に示すように黒丸aでは、ガウス曲率を指定し、白丸bでは平均曲率を指定してアルゴリズム関数を求める。
【0062】
図10(A)は、境界線を直線にしたときの最小曲率及び最大曲率を示すグラフであり、
図10(B)は、境界線を直線にしたときのガウス曲率及び平均曲率を示すグラフである。
図10(A)においてaは最小曲率、bは最大曲率を示し、
図10(B)においてcはガウス曲率、bは平均曲率を示す。また、
図11(A)は、境界線を円弧にしたときの最小曲率及び最大曲率を示すグラフであり、
図11(B)は、境界線を円弧にしたときのガウス曲率及び平均曲率を示すグラフである。
図11(A)においてaは最小曲率、bは最大曲率を示し、
図11(B)においてcはガウス曲率、bは平均曲率を示す。
【0063】
図10、
図11に示すグラフより、各点で指定された条件は、満足しており、格子の間隔を小さくしていき、収束した場合は、指定された曲率を持つ曲面となることが分かる。
【0064】
[折れ線の修正方法]
次に、2次元の折れ線の修正について検討する。
図12は、折れ線に対して終点P
nをy方向にΔy移動させる修正方法を説明するための図である。
【0065】
2次元の折れ線の頂点をPi(xi,yi),0≦i≦nとする。また、xiの間隔は等間隔であり、Δxとする。折れ線aに対して終点Pnをy方向にΔy移動させ、滑らかな曲線bを求める問題を考える。また、P0からPkまでは変化しないものとする。
【0066】
折れ線xiをxi上の関数f(xi)とみなすと、xiにおいて離散二階微分f’’(xi)が定義でき。Δxが等間隔であれば(23)式となる。新しくxi上の関数g(xi)が満たすべきアルゴリズム関数を(24-1)式、(24-2)式で定義し、(25)式となるようなαを求める。離散微分&幾何の公式を使うとαは計算することができ、(26)式となる。この操作は、xkまでは重み1、xkから(1+α(x-xk))の重みを掛ける操作であるため、二階微分の連続性を保証していることになる。
【0067】
【0068】
図13(A)は、曲線の計算結果示すグラフであり、
図13(B)は、曲線の曲率半径の計算結果示すグラフである。
図13(A)に示すように、修正後の曲線bは、修正前の曲線aに対してY方向に約2倍スケールしており、
図13(B)に示すように、修正前の曲線aの曲率半径に対して修正後の曲線bの曲率半径は大きく変化している。曲率ベクトルが0になっているところがないので変曲点はない。このため。凸を維持して修正できていることが分かる。
【0069】
[両端を固定した放物線の指定点の移動による修正方法]
次に、両端を固定した放物線の指定点の移動について検討する。
図14は、両端を固定した放物線に対して指定点P
kをy方向にΔy移動させる方法を説明するための図である。
図14において、aが移動前の放物線であり、bが移動後の放物線である。
【0070】
先ず、(27-1)式、(27-2)式、(27-3)式を満たす曲線を求める。新しくxi上の関数g(xi)が満たすべきアルゴリズム関数を(28-1)式、(28-2)式、(28-2)式で定義し、(29-1)式、(29-2)式となるように、α,βを決定する。α,βは、具体的に計算することができ、(30-1)式、(30-2)式となる。
【0071】
【0072】
図15(A)は、放物線の計算結果示すグラフであり、
図15(B)は、放物線の曲率半径の計算結果示すグラフである。
図15(A)において、aはP0とP1との間が100であり、50の位置で-10である放物線であり、bは曲線aに対して60の位置でy方向に-2移動させた放物線である。また、
図15(B)において、aは、
図15(A)に示す放物線aの曲率半径を示し、bは、
図15(B)に示す放物線bの曲率半径を示す。
図15(B)から、指定点である60の位置で大きく曲率半径が変化したことが分かる。
【0073】
[指定点から終端までを直線状にする曲線の修正方法]
図16は、指定点から終端までを直線状にする曲線の修正方法を説明するための図である。先ず、(31-1)式、(31-2)式、(31-3)式を満たす曲線を求める。指定点k
1から直線状に曲線を修正する。曲率が連続であるためには、曲率を接続する部分が必要である。このため、修正部分を3つに分け、もとの点列の二階微分に対して、(32-1)式、(32-2)式、(32-3)式のような関数値を持つ曲率の重み関数K(x)を掛ける。K(x)関数は、αによって(34)式で規定され、αを端点における指定点を通るように調整することによって、この修正が可能となる。
【0074】
【0075】
[Bスプライン曲面のスムース化方法]
具体例として示すBスプライン曲面のスムース化方法は、Bスプライン曲面を多様体と考えて、各点において二次多項式近似し、二階微分を計算する。これらの二階微分を持つ曲面をアルゴリズム関数で再現するものである。
【0076】
先ず、Bスプライン曲面を例えば0.001mmの誤差でポリゴン化(STL化)し、これを例えば121×121格子点で被覆する。そして、格子点において二次多項式近似を行う。
【0077】
具体的には、格子点を中心として、半径R以下のSTL頂点を使用して二次多項式近似を行う。STL頂点はもとの曲面上にあるため、比較的正確な近似を与えることができる。そして、Bスプライン曲面を多様体と考えて、格子点において二次多項式で被覆する。
【0078】
続いて、X方向、Y方向の二階微分を掛けてGij(i,j)を計算し、格子における関係式を(35)式としてアルゴリズム関数を計算する。
【0079】
【0080】
図17(A)は、スムース化前の格子点を使用したX方向の二階微分の計算結果を示すグラフであり、
図17(B)は、スムース化前の格子点を使用したY方向の二階微分の計算結果を示すグラフである。また、
図18(A)は、スムース化後の格子点を使用したX方向の二階微分の計算結果を示すグラフであり、
図18(B)は、スムース化後の格子点を使用したY方向の二階微分の計算結果を示すグラフである。横(X)方向1400mm、縦(Y)方向1000mmサイズのボディ部品においてBスプライン曲面で生成されたものを、アルゴリズム関数を用いて微小修正し、二階微分をスムース化した。
【0081】
図17、
図18に示すグラフから分かるように、修正前はノイズが入っているが、スムース化後は滑らかになっている。また、頂点を動かした量は0.402mmと微小であり、微小な修正によって二階微分を滑らかにすることができることが分かる。
【0082】
また、本技術は、下記(1)~(29)のように表現することができる。
(1)
陽関数で表される曲線を用いて表した曲率の微分方程式を離散化して得られる関数を用い、境界を除くすべての格子点iについて曲率Cを指定して、格子点iでの曲線の値を更新し、それを繰り返すことにより曲線を得て、当該曲線を光軸に対して回転させて非球面レンズの第1曲面を生成する第1曲面生成工程と、
前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように、境界を除くすべての格子点iについて曲率Cを指定して、格子点iでの曲線の値を更新し、それを繰り返すことにより曲線を得て、当該曲線を光軸に対して回転させて非球面レンズの第2曲面を生成する第2曲面生成工程とを有する情報処理方法。
(2)
前記関数が、前記曲率の微分方程式を差分法により離散化して得られる(1)記載の情報処理方法。
(3)
前記差分法が、中央差分である(2)記載の情報処理方法。
(4)
前記第2曲面生成工程では、前記第2曲面の曲率Cを前記第1曲面の曲率Cと同一に指定した後、前記第2曲面の曲率Cを変化させ、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように、前記関数の解を収束させ、前記第2曲面を生成する(1)乃至(3)のいずれか1項に記載の情報処理方法。
(5)
前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離との総和で表される評価関数を用い、
前記第2曲面生成工程では、前記第2曲面の曲率Cを前記第1曲面の曲率Cと同一に指定した後、前記第2曲面の曲率Cを変化させ、前記評価関数が最小となるように前記第2曲面を生成する(1)乃至(3)のいずれか1項に記載の情報処理方法。
(6)
前記関数が、格子点iにおいて曲率к=Cと指定した場合、下記(1)式で表される(1)乃至(5)のいずれか1項に記載の情報処理方法。
【数14】
(7)
陽関数で表される曲線を用いて表した曲率の微分方程式を離散化して得られる関数を用い、境界を除くすべての格子点iについて曲率Cを指定して、格子点iでの曲線の値を更新し、それを繰り返すことにより第1曲面の曲線を得て、当該曲線を光軸に対して回転させて非球面レンズの第1曲面を生成する第1曲面生成部と、
前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように、境界を除くすべての格子点iについて曲率Cを指定して、格子点iでの曲線の値を更新し、それを繰り返すことにより第2曲面の曲線を得て、当該曲線を光軸に対して回転させて非球面レンズの第2曲面を生成する第2曲面生成部とを備える情報処理装置。
(8)
陽関数で表される曲線を用いて表した曲率の微分方程式を離散化して得られる関数を用い、境界を除くすべての格子点iについて曲率Cを指定して、格子点iでの曲線の値を更新し、それを繰り返すことにより第1曲面の曲線を得て、当該曲線を光軸に対して回転させて非球面レンズの第1曲面を生成する第1曲面生成工程と、
前記関数を用い、前記非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように、境界を除くすべての格子点iについて曲率Cを指定して、格子点iでの曲線の値を更新し、それを繰り返すことにより第2曲面の曲線を得て、当該曲線を光軸に対して回転させて非球面レンズの第2曲面を生成する第2曲面生成工程とを有する処理をコンピュータに実行させるプログラム。
(9)
(8)に記載のプログラムを記録した記録媒体。
【符号の説明】
【0083】
10 情報処理装置、11 CPU、12 記憶装置、13 入力部、14 出力装置、21 第1の曲面、22 第2の曲面