JP7475591B2 - Information processing method, information processing device, program, and recording medium - Google Patents
Information processing method, information processing device, program, and recording medium Download PDFInfo
- Publication number
- JP7475591B2 JP7475591B2 JP2023086523A JP2023086523A JP7475591B2 JP 7475591 B2 JP7475591 B2 JP 7475591B2 JP 2023086523 A JP2023086523 A JP 2023086523A JP 2023086523 A JP2023086523 A JP 2023086523A JP 7475591 B2 JP7475591 B2 JP 7475591B2
- Authority
- JP
- Japan
- Prior art keywords
- curvature
- function
- information processing
- curved surface
- curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Image Generation (AREA)
- Lenses (AREA)
Description
特許法第30条第2項適用 平成29年2月24日に第45回VCADシステム研究会にて公開(アルゴリズム関数による物理曲面の生成方法)Patent Law Article 30,
本技術は、例えば三次元部品などを設計・解析する情報処理方法、情報処理装置、及びプログラム並びに記録媒体に関する。 This technology relates to an information processing method, an information processing device, a program, and a recording medium for designing and analyzing, for example, three-dimensional parts.
従来、コンピュータの持つ計算能力、記憶能力、解析能力などを用いて、三次元部品などを設計・解析することが行われている。三次元部品の設計データは、例えばCAD(Computer Aided Design)と呼ばれるソフトウェアを用いて作成され、CAM(Computer Aided Manufacturing)と呼ばれるソフトウェアを用いて、設計データに基づくNC(数値制御)データが作成される(例えば、特許文献1参照。)。NCデータは、三次元部品を自動的にNC(数値制御)工作機械(マシニング・センターを含む)で加工するために、加工される部品又は金型と、部品又は金型を切削する工具との間の相対的位置、工具経路(工具パス)、工具回転数などを制御するのに必要な数値情報である。 Conventionally, three-dimensional parts and the like are designed and analyzed using the computational, memory, and analytical capabilities of computers. Design data for three-dimensional parts is created using software called CAD (Computer Aided Design), for example, and NC (Numerical Control) data based on the design data is created using software called CAM (Computer Aided Manufacturing) (see, for example, Patent Document 1). NC data is numerical information required to control the relative position between the part or die to be machined and the tool that cuts the part or die, the tool path, the tool rotation speed, and the like, in order to automatically machine three-dimensional parts with an NC (Numerical Control) machine tool (including a machining center).
上述したCADなどにおける曲線の描画方法として、B-スプライン曲線(B-spline curve)が挙げられる。しかしながら、B-スプライン曲線は、複数の制御点及びB-スプライン基底関数(B-spline basis function)により表現されるため、物理的に意味のある形状表現や制御方法を用いて修正することが困難である。 One method for drawing curves in the above-mentioned CAD and the like is the B-spline curve. However, because a B-spline curve is expressed using multiple control points and B-spline basis functions, it is difficult to modify it using a physically meaningful shape expression or control method.
本技術は、このような従来の実情に鑑みて提案されたものであり、物理的に意味のある形状表現や制御方法を用いて、例えば三次元部品などを設計・解析することができる情報処理方法、情報処理装置、及びプログラム並びに記録媒体を提供する。 This technology was proposed in light of the current situation, and provides an information processing method, information processing device, program, and recording medium that can design and analyze, for example, three-dimensional parts using physically meaningful shape representations and control methods.
本願発明者は、鋭意検討の結果、物理的意味を有する微分方程式を離散化し、物理現象について局所的な関係を表現するために導入した関数を用いる下記技術によって前記課題を解決できることを見出した。 As a result of extensive research, the inventors of the present application have found that the above-mentioned problems can be solved by the following technique, which uses functions introduced to discretize differential equations having physical meaning and express local relationships regarding physical phenomena.
[1][1]
コンピュータが、Bスプライン曲面を三角ポリゴンに変換し、前記三角ポリゴンを、3次元空間の曲面z=f(x,y)のx方向をi等分、y方向をj等分した格子点で被覆し、A computer converts the B-spline surface into a triangular polygon, and covers the triangular polygon with lattice points obtained by dividing a surface z=f(x, y) in a three-dimensional space into i equal parts in the x direction and j equal parts in the y direction;
各格子点について、格子点を中心とする半径R以下の前記三角ポリゴンの頂点を用いて二次多項式PFor each lattice point, a quadratic polynomial P is calculated using the vertices of the triangular polygon having a radius of R or less and centered on the lattice point.
iji.j.
(i,j)で近似し、Approximate by (i, j),
前記二次多項式PThe quadratic polynomial P
iji.j.
(i,j)のX方向及びY方向の二階微分を掛けた下記(A)式に示す関数GA function G shown in the following formula (A) multiplied by the second derivative of (i, j) in the X direction and the Y direction
iji.j.
(i,j)を用いて微小修正して二階微分をスムース化し、二階微分を持つ曲面を再現する情報処理方法。An information processing method that uses (i, j) to make small corrections to smooth the second derivative and reproduce a surface having the second derivative.
[2][2]
コンピュータが、放物線を、x方向をi等分したxThe computer divides the parabola into i equal parts in the x direction.
ii
上の関数f(xThe function f(x
ii
)とみなし、f(x) and f(x
ii
)の二階微分f’’(x) second derivative f''(x
ii
)、曲率k(x), curvature k(x
ii
)、及び指定点の二階微分P), and the second derivative of the specified point P
ii
’’を用いて、下記(B-1)、下記(B-2)式、及び下記(B-3)式に示す前記放物線の両端を固定した曲線を定義し、Using ", a curve with both ends of the parabola fixed is defined as shown in the following formulas (B-1), (B-2), and (B-3),
xx
ii
上の関数g(xThe function g(x
ii
)が満たすべき微分方程式を下記(C-1)式、下記(C-2)式、及び下記(C-3)式で定義し、前記曲線に対して指定点PThe differential equations to be satisfied by the curve are defined as the following formulas (C-1), (C-2), and (C-3), and a specified point P
kk
をy方向にΔy移動させ、下記(D-1)式、及び下記(D-2)式を満たすように、下記(E-1)式及び下記(E-2)式に示すα,βを算出し、is moved by Δy in the y direction, and α and β shown in the following formulas (E-1) and (E-2) are calculated so as to satisfy the following formulas (D-1) and (D-2),
両端を固定した放物線を指定点の移動により修正する情報処理方法。An information processing method in which a parabola with fixed ends is modified by moving a specified point.
[3][3]
コンピュータが、放物線を、x方向をi等分したxThe computer divides the parabola into i equal parts in the x direction.
ii
上の関数f(xThe function f(x
ii
)とみなし、f(x) and f(x
ii
)の二階微分f’’(x) second derivative f''(x
ii
)、曲率の重み関数k(i)、及び指定点の二階微分P), the curvature weighting function k(i), and the second derivative of the specified point P
ii
’’を用いて、下記(F-1)、下記(F-2)式、及び下記(F-3)式に示す前記放物線の両端を固定した曲線を定義し、Using ", a curve with both ends of the parabola fixed is defined as shown in the following formulas (F-1), (F-2), and (F-3),
xx
ii
をi≦kLet i≦k
11
、(k, (k
11
+1)≦i≦k+1)≦i≦k
22
、及び、(k, and (k
22
+1)≦i≦k+1)≦i≦k
33
に分け、それぞれ下記(G-1)、下記(G-2)式、及び下記(G-3)式に示す関数値を持つ曲率の重み関数k(i)を定義し、and define curvature weighting functions k(i) having function values shown in the following equations (G-1), (G-2), and (G-3), respectively:
前記曲線に対して指定点PA specified point P
k1k1
,P, P
k2k2
,P, P
k3k3
を通るように下記(H)式に示すαを算出し、α is calculated as shown in the following formula (H) so as to pass through
放物線の指定点から終端までを直線状に修正する情報処理方法。An information processing method for correcting a parabola into a straight line from a specified point to its end.
[4][4]
コンピュータが、始点PThe computer determines the starting point P
00
から指定点PFrom the specified point P
kk
までの放物線、及び、指定点PA parabola up to a specified point P
kk
から終点PFrom end point P
nn
までの直線について、前記直線を、x方向をi等分したxFor a straight line up to x, divide the straight line into i equal parts in the x direction.
ii
上の関数f(xThe function f(x
ii
)とみなし、f(x) and f(x
ii
)の二階微分f’’(x) second derivative f''(x
ii
)を下記(I)式で定義し、) is defined by the following formula (I):
xx
ii
上の関数g(xThe function g(x
ii
)が満たすべき微分方程式を下記(J-1)式、及び下記(J-2)式で定義し、下記(K)式を満たすように、下記(L)式に示すαを算出し、The differential equations to be satisfied by the following equations (J-1) and (J-2) are defined, and α shown in the following equation (L) is calculated so as to satisfy the following equation (K):
放物線の指定点から終端までの直線を曲線に修正する情報処理方法。An information processing method for correcting a straight line from a specified point to the end of a parabola into a curve.
[5][5]
コンピュータが、下記(M)式に示すポアソン方程式のx方向をi等分、y方向をj等分した下記(N)式について、下記(O-1)式、及び下記(O-2)式に示す差分法により離散化して得られる下記(P)式に示す関数を用いて、zA computer calculates z by using a function shown in the following formula (P) obtained by discretizing the following formula (N) obtained by dividing the Poisson equation shown in the following formula (M) into i equal parts in the x direction and j equal parts in the y direction using the following formula (O-1) and the following formula (O-2) by a finite difference method.
i,ji,j
を計算する処理を繰り返し、収束したものを解とする情報処理装置。An information processing device that repeats the process of calculating and determines the converged result as the solution.
[6][6]
コンピュータが、下記(Q)式に示す熱伝導方程式のx方向をi等分、y方向をj等分した下記(R)式について、下記(S)式、及び下記(S’)式に示す差分法により離散化して得られる下記(T)式に示す関数を用いて、時間に関して過去のものを用いてuThe computer divides the heat conduction equation shown in the following formula (Q) into i equal parts in the x direction and j equal parts in the y direction into the following formula (R):
i,ji,j
を計算する処理を繰り返し、収束したものを解とする情報処理方法。This is an information processing method in which the process of calculating the above is repeated and the converged result is regarded as the solution.
[7][7]
コンピュータが、下記(U)式、下記(V)式、及び下記(W)式に示すナビエ-ストークス方程式について、差分法により離散化して得られる下記(X)式、下記(Y)式、及び下記(Z)式に示す関数を用いて、注目点の周囲の12点における速度と圧力に関する関係式によって注目点に関する速度と圧力を決定し、合計14個の関係式の極小値を解とする情報処理方法。An information processing method in which a computer determines the velocity and pressure related to a point of interest using relational equations relating to the velocity and pressure at 12 points around the point of interest, using functions shown in the following equations (X), (Y), and (Z) obtained by discretizing the Navier-Stokes equations shown in the following equations (U), (V), and (W) using a finite difference method, and determines the minimum value of a total of 14 relational equations as a solution.
[8][8]
Bスプライン曲面を三角ポリゴンに変換し、前記三角ポリゴンを、3次元空間の曲面z=f(x,y)のx方向をi等分、y方向をj等分した格子点で被覆し、The B-spline surface is converted into a triangular polygon, and the triangular polygon is covered with lattice points obtained by dividing the three-dimensional surface z=f(x, y) into i equal parts in the x direction and j equal parts in the y direction;
各格子点について、格子点を中心とする半径R以下の前記三角ポリゴンの頂点を用いて二次多項式PFor each lattice point, a quadratic polynomial P is calculated using the vertices of the triangular polygon having a radius of R or less and centered on the lattice point.
iji.j.
(i,j)で近似し、Approximate by (i, j),
前記二次多項式PThe quadratic polynomial P
iji.j.
(i,j)のX方向及びY方向の二階微分を掛けた下記(A)式に示す関数GA function G shown in the following formula (A) multiplied by the second derivative of (i, j) in the X direction and the Y direction
iji.j.
(i,j)を用いて微小修正して二階微分をスムース化し、二階微分を持つ曲面を再現する情報処理装置。An information processing device that uses (i, j) to perform minute corrections to smooth the second derivative and reproduce a curved surface having the second derivative.
[9][9]
放物線を、x方向をi等分したxA parabola is divided into i equal parts in the x direction.
ii
上の関数f(xThe function f(x
ii
)とみなし、f(x) and f(x
ii
)の二階微分f’’(x) second derivative f''(x
ii
)、曲率k(x), curvature k(x
ii
)、及び指定点の二階微分P), and the second derivative of the specified point P
ii
’’を用いて、下記(B-1)、下記(B-2)式、及び下記(B-3)式に示す前記放物線の両端を固定した曲線を定義し、Using ", a curve with both ends of the parabola fixed is defined as shown in the following formulas (B-1), (B-2), and (B-3),
xx
ii
上の関数g(xThe function g(x
ii
)が満たすべき微分方程式を下記(C-1)式、下記(C-2)式、及び下記(C-3)式で定義し、前記曲線に対して指定点PThe differential equations to be satisfied by the curve are defined as the following formulas (C-1), (C-2), and (C-3), and a specified point P
kk
をy方向にΔy移動させ、下記(D-1)式、及び下記(D-2)式を満たすように、下記(E-1)式及び下記(E-2)式に示すα,βを算出し、is moved by Δy in the y direction, and α and β shown in the following formulas (E-1) and (E-2) are calculated so as to satisfy the following formulas (D-1) and (D-2),
両端を固定した放物線を指定点の移動により修正する情報処理装置。An information processing device that corrects a parabola with fixed ends by moving a specified point.
[10][10]
放物線を、x方向をi等分したxA parabola is divided into i equal parts in the x direction.
ii
上の関数f(xThe function f(x
ii
)とみなし、f(x) and f(x
ii
)の二階微分f’’(x) second derivative f''(x
ii
)、曲率の重み関数k(i)、及び指定点の二階微分P), the curvature weighting function k(i), and the second derivative of the specified point P
ii
’’を用いて、下記(F-1)、下記(F-2)式、及び下記(F-3)式に示す前記放物線の両端を固定した曲線を定義し、Using ", a curve with both ends of the parabola fixed is defined as shown in the following formulas (F-1), (F-2), and (F-3),
xx
ii
をi≦kLet i≦k
11
、(k, (k
11
+1)≦i≦k+1)≦i≦k
22
、及び、(k, and (k
22
+1)≦i≦k+1)≦i≦k
33
に分け、それぞれ下記(G-1)、下記(G-2)式、及び下記(G-3)式に示す関数値を持つ曲率の重み関数k(i)を定義し、and define curvature weighting functions k(i) having function values shown in the following equations (G-1), (G-2), and (G-3), respectively:
前記曲線に対して指定点PA specified point P
k1k1
,P, P
k2k2
,P, P
k3k3
を通るように下記(H)式に示すαを算出し、α is calculated as shown in the following formula (H) so as to pass through
放物線の指定点から終端までを直線状に修正する情報処理装置。An information processing device that corrects a parabola into a straight line from a specified point to its end.
[11][11]
コンピュータが、始点PThe computer determines the starting point P
00
から指定点PFrom the specified point P
kk
までの放物線、及び、指定点PA parabola up to a specified point P
kk
から終点PFrom end point P
nn
までの直線について、前記直線を、x方向をi等分したxFor a straight line up to x, divide the straight line into i equal parts in the x direction.
ii
上の関数f(xThe function f(x
ii
)とみなし、f(x) and f(x
ii
)の二階微分f’’(x) second derivative f''(x
ii
)を下記(I)式で定義し、) is defined by the following formula (I):
xx
ii
上の関数g(xThe function g(x
ii
)が満たすべき微分方程式を下記(J-1)式、及び下記(J-2)式で定義し、下記(K)式を満たすように、下記(L)式に示すαを算出し、The differential equations to be satisfied by the following equations (J-1) and (J-2) are defined, and α shown in the following equation (L) is calculated so as to satisfy the following equation (K):
放物線の指定点から終端までの直線を曲線に修正する情報処理方法。An information processing method for correcting a straight line from a specified point to the end of a parabola into a curve.
[12][12]
下記(M)式に示すポアソン方程式のx方向をi等分、y方向をj等分した下記(N)式について、下記(O-1)式、及び下記(O-2)式に示す差分法により離散化して得られる下記(P)式に示す関数を用いて、zThe following formula (N) is obtained by dividing the Poisson equation shown in the following formula (M) into i equal parts in the x direction and j equal parts in the y direction. The following formula (O-1) and formula (O-2) are used to discretize the equation by the finite difference method to obtain the following formula (P):
i,ji,j
を計算する処理を繰り返し、収束したものを解とする情報処理装置。An information processing device that repeats the process of calculating and determines the converged result as the solution.
[13][13]
下記(Q)式に示す熱伝導方程式のx方向をi等分、y方向をj等分した下記(R)式について、下記(S)式、及び下記(S’)式に示す差分法により離散化して得られる下記(T)式に示す関数を用いて、時間に関して過去のものを用いてuThe following equation (R) is obtained by dividing the x direction of the heat conduction equation shown in the following equation (Q) into i equal parts and the y direction into j equal parts. The following equation (S) and the following equation (S') are discretized by the difference method to obtain the function shown in the following equation (T), and the function is calculated by using the past data in terms of time.
i,ji,j
を計算する処理を繰り返し、収束したものを解とする情報処理装置。An information processing device that repeats the process of calculating and determines the converged result as the solution.
[14][14]
下記(U)式、下記(V)式、及び下記(W)式に示すナビエ-ストークス方程式について、差分法により離散化して得られる下記(X)式、下記(Y)式、及び下記(Z)式に示す関数を用いて、注目点の周囲の12点における速度と圧力に関する関係式によって注目点に関する速度と圧力を決定し、合計14個の関係式の極小値を解とする情報処理方法。An information processing method in which the Navier-Stokes equations shown in the following formulas (U), (V), and (W) are discretized by a finite difference method to determine the velocity and pressure related to a point of interest using relational equations related to the velocity and pressure at 12 points around the point of interest, and the minimum values of a total of 14 relational equations are used as solutions.
[15][15]
前記請求項[1]乃至[7]記載のいずれか1項の情報処理方法をコンピュータに実行させるプログラム。A program for causing a computer to execute the information processing method according to any one of claims [1] to [7].
[16][16]
請求項[15]に記載のプログラムを記録した記録媒体。A recording medium on which the program according to claim [15] is recorded.
本技術によれば、物理現象について局所的な関係を表現するために導入した関数を用いているため、物理的に意味のある形状表現や制御方法を用いて修正することができる。
According to the present technology, since a function is used to express a local relationship regarding a physical phenomenon, correction can be made using a physically meaningful shape expression and control method .
以下、本技術の実施の形態について、下記順序にて詳細に説明する。
1.技術の概要
2.情報処理装置
3.具体例
Hereinafter, embodiments of the present technology will be described in detail in the following order.
1. Overview of the
<1.技術の概要>
本技術は、物理的に意味のある形状表現や制御方法で示される微分方程式(以下、「物理的意味を有する方程式」などともいう。)を離散化し、物理現象について局所的な関係を表現するために導入した関数(以下、「アルゴリズム関数」などともいう。)を用いて情報処理を行う。これは、離散的な幾何構造(折れ線や多面体)の上に微分を定義し、微積分の構築と同様の方法で行うことができる。
1. Overview of the technology
This technology discretizes differential equations (hereinafter also referred to as "equations with physical meaning") that are expressed by physically meaningful shape expressions and control methods, and performs information processing using functions (hereinafter also referred to as "algorithm functions") that are introduced to express local relationships in physical phenomena. This can be done by defining differentiation on discrete geometric structures (polygons and polyhedra) in a manner similar to the construction of calculus.
先ず、記号体系を整備する。下記式に示すように差分演算子、微分、偏微分などを定義する。極限操作がないため複雑な議論は必要ない。 First, let's organize the symbol system. We define the difference operator, derivatives, partial derivatives, etc. as shown in the formula below. There is no need for complicated discussions as there are no limit operations.
次に、公式の導出を行う。下記式に示すように離散積分公式、離散部分積分公式、離散的ストークスの定理などを導くことができる。これらは直接的に計算に役立つというものではないが、理論構築には必要になると考えられる。 Next, we will derive the formulas. As shown in the formulas below, we can derive the discrete integral formula, the discrete partial integral formula, and the discrete Stokes' theorem. These are not directly useful for calculations, but are thought to be necessary for constructing the theory.
次に、アルゴリズム関数の導出を行う。アルゴリズム関数は、物理現象について局所的な関係を表現するために導入した関数であり、一般的な定義では、折れ線や多面体の各頂点に対して、各頂点と隣接する頂点に付随するデータが満たすべき複数の関係式を指定したものである。これは、物理現象の多くが局所的な関係が全体として調和したときに認識されることが多いとの知見に基づくものである。 Next, we derive algorithmic functions. Algorithmic functions are functions introduced to express local relationships in physical phenomena. In a general definition, for each vertex of a broken line or polyhedron, multiple relational equations that must be satisfied by the data associated with each vertex and its adjacent vertices are specified. This is based on the finding that many physical phenomena can be recognized when local relationships are in harmony as a whole.
最後に、アルゴリズム関数の計算を行う。各点で指定された関係式を解いてデータを更新する逐次処理で計算する。収束したときにアルゴリズム関数の値が定まり、その結果は正しい解を与えていると思われる。 Finally, the algorithm function is calculated. This is a sequential process that solves the specified equations at each point and updates the data. When it converges, the value of the algorithm function is determined, and the result is believed to give the correct solution.
このように、物理的意味を有する方程式の離散構造に対して微積分を定式化し、差分法を独立した体系として構築し、離散化した偏微分方程式の解を関数化し、アルゴリズム関数を計算することにより、物理的に意味のある形状表現や制御方法を用いて、例えば三次元部品などを設計・解析することができる。 In this way, by formulating calculus for the discrete structure of equations that have physical meaning, constructing a finite difference method as an independent system, turning the solution of the discretized partial differential equation into a function, and calculating the algorithm function, it is possible to design and analyze, for example, three-dimensional parts using shape representations and control methods that have physical meaning.
物理的意味を有する方程式としては、曲率の微分方程式、ポアソン方程式(ラプラス方程式)、熱伝導方程式、ナビエ-ストークス方程式などが挙げられる。また、離散化としては、差分法、有限要素法、有限体積法、境界要素法などを用いることができ、これらの中でも、計算処理の容易さの観点から差分法を用いることが好ましい。 Examples of equations that have physical meaning include the differential equation of curvature, the Poisson equation (Laplace equation), the heat conduction equation, and the Navier-Stokes equation. For discretization, the finite difference method, the finite element method, the finite volume method, the boundary element method, etc. can be used, and among these, the finite difference method is preferably used from the viewpoint of ease of calculation processing.
以下、いくつかの物理的意味を有する方程式について、アルゴリズム関数に置き換えた例を説明する。 Below, we explain some examples of equations that have physical meaning and are replaced with algorithmic functions.
[曲率の微分方程式]
曲率кを、陽関数y=f(x)で表される曲線を用いて表示すると、(1)式のように曲率の微分方程式として表される。(1)式を離散化して、(2-1)式、(2-2)式の中央差分を用いて表示すると(3)式で表され、格子点iにおいて、曲率к=Cと指定すると(4)式のようにアルゴリズム関数となる。
[Differential equation of curvature]
When the curvature κ is expressed using a curve expressed by an explicit function y = f(x), it is expressed as a differential equation of curvature as shown in equation (1). When equation (1) is discretized and expressed using the central difference of equations (2-1) and (2-2), it is expressed as equation (3), and when the curvature κ = C is specified at lattice point i, it becomes an algorithm function as shown in equation (4).
そして、(4)式を用いて、境界を除くすべての格子点iについて曲率Cを指定し、yiの値の更新を繰り返すことにより、曲線を得ることができる。曲率は、曲線や曲面の曲がり具合を表す量であるため、物理的形状表現である曲率の制御により部分修正やスムース化を行うことができる。 Then, using equation (4), a curve can be obtained by specifying the curvature C for all lattice points i except for the boundaries and repeatedly updating the value of yi. Since curvature is a quantity that represents the degree of curvature of a curve or curved surface, partial correction and smoothing can be performed by controlling the curvature, which is a physical shape representation.
[ポアソン方程式]
(5)式のように表されるポアソン方程式において、x方向をi等分、y方向をj等分した場合、(6)式のように表される。(6)式を離散化して、(7-1)式、(7-2)式の中央差分を用いて表示すると(8)式のようにアルゴリズム関数となる。
[Poisson equation]
In the Poisson equation expressed as formula (5), when the x direction is divided into i equal parts and the y direction is divided into j equal parts, it is expressed as formula (6). When formula (6) is discretized and expressed using the central difference of formulas (7-1) and (7-2), it becomes an algorithm function as formula (8).
通常の方法では、線形方程式にしてzi,jを計算するが、アルゴリズム関数の計算では、(8)式からzi,jを計算する処理を繰り返し、収束したものを解とする。ポアソン方程式は、例えば、電荷分布を与えたときの静電ポテンシャル、質量分布を与えたときの重力ポテンシャル、熱の発生源が存在する場合の温度分布、物質の発生・消滅源が存在する場合の物質濃度分布などを記述することができる。 In the normal method, z i,j is calculated as a linear equation, but in the calculation of the algorithm function, the process of calculating z i,j from equation (8) is repeated, and the converged solution is taken as the solution. The Poisson equation can describe, for example, the electrostatic potential when a charge distribution is given, the gravitational potential when a mass distribution is given, the temperature distribution when a heat source exists, and the substance concentration distribution when a source of substance generation/destruction exists.
[熱伝導方程式]
(9)式のように表される熱伝導方程式において、x方向をi等分、y方向をj等分した場合、(10)式のように表される。(10)式を離散化して、(11-1)式、(11-2)式の中央差分を用いて表示すると(12)式のようにアルゴリズム関数となる。
[Heat conduction equation]
In the heat conduction equation expressed as formula (9), when the x direction is divided into i equal parts and the y direction is divided into j equal parts, it is expressed as formula (10). When formula (10) is discretized and expressed using the central difference of formulas (11-1) and (11-2), it becomes an algorithm function as formula (12).
このアルゴリズム関数は、時間に関して過去のものを用いて計算する処理を繰り返し、収束したものを解とする。熱伝導方程式は、熱伝導だけでなく、拡散現象全般に適用することができる。 This algorithm function repeats a process of calculating using past data in terms of time, and the converged solution is the solution. The heat conduction equation can be applied not only to heat conduction, but also to diffusion phenomena in general.
[ナビエ-ストークス方程式]
(13)式、(14)式、(15)式のように表されるナビエ-ストークス方程式(2次元、非圧縮性、定常流れ)において、x方向をi等分、y方向をj等分し、(13)式、(14)式、(15)式を離散化して、中央差分を用いて表示すると(16)式、(17)式、(18)式のようにアルゴリズム関数となる。
[Navier-Stokes equations]
In the Navier-Stokes equations (two-dimensional, incompressible, steady flow) expressed as equations (13), (14), and (15), if the x direction is divided into i equal parts and the y direction is divided into j equal parts, and equations (13), (14), and (15) are discretized and displayed using central differencing, the resulting algorithm functions are shown in equations (16), (17), and (18).
このアルゴリズム関数は、各点において(16)式、(17)式、(18)式を満たせばよい。ここで、(18)式は、注目している点の情報を含まないので、隣接する点に関する関係式を用いる。具体的には、注目点の周囲の12点における速度と圧力に関する関係式によって注目点に関する速度と圧力を決定する。このためアルゴリズム関数の解は、合計14個の関係式の極小値として求められる。 This algorithm function only needs to satisfy equations (16), (17), and (18) at each point. Here, since equation (18) does not include information about the point of interest, the relational equations for adjacent points are used. Specifically, the velocity and pressure for the point of interest are determined by the relational equations for the velocity and pressure at 12 points surrounding the point of interest. Therefore, the solution of the algorithm function is found as the minimum value of a total of 14 relational equations.
[アルゴリズム関数の効果]
以上説明したように、アルゴリズム関数を用いることにより、物理的に意味のある形状表現や制御方法を用いて、情報処理を行うことができる。
[Effect of algorithm functions]
As described above, by using an algorithm function, information processing can be performed using a physically meaningful shape expression and control method.
また、アルゴリズム関数は、取扱いが容易であるため、コンピュータを用いて単純な方法で計算することができる。特に、アルゴリズム関数の計算処理は、局所的な情報のみに依存しているため、大容量メモリや仮想メモリを確保する必要がなく、また、大規模な線形方程式を解くための専門的なライブラリも必要としない。 Algorithm functions are also easy to handle, and can be calculated using a computer in a simple manner. In particular, the calculation process of algorithm functions relies only on local information, so there is no need to allocate large-capacity memory or virtual memory, and no specialized library is required to solve large-scale linear equations.
また、アルゴリズム関数は、微分方程式の係数や境界条件を変化させ問題に対して最適な解を求める、逆解析問題の方法にも応用が可能である。また、アルゴリズム関数は、各点における情報の隣接関係で定義されるため、格子の間隔を小さくしていき、収束した場合は、指摘された曲率を持つ曲面になるなど拡張性を有する。 Algorithm functions can also be applied to inverse analysis problems, in which the coefficients and boundary conditions of differential equations are changed to find the optimal solution to a problem.Also, since algorithm functions are defined by the adjacent relationships of information at each point, they have the ability to be expanded, such as by reducing the grid spacing and, when convergence occurs, resulting in a curved surface with the specified curvature.
<2.情報処理装置>
次に、上述したアルゴリズム関数を計算する情報処理装置について説明する。図1は、情報処理装置の構成の概略を示すブロック図である。図1に示すように、情報処理装置10は、CPU(Central Processing Unit)11と、記憶装置12と、入力部13と、出力装置14とを備える。
2. Information Processing Device
Next, an information processing device that calculates the above-mentioned algorithm function will be described. Fig. 1 is a block diagram showing an outline of the configuration of the information processing device. As shown in Fig. 1, the
CPU11は、プログラムに従って、記憶装置12に記憶されているデータ及び入力部13から入力された数値及び指示に基づき、アルゴリズム関数の計算処理を行う。また、後述するように、CPU11は、アルゴリズム関数を用いて、非球面レンズの第1曲面の曲率を指定して第1曲面を生成する第1曲面生成部として機能する。また、後述するように、CPU11は、アルゴリズム関数を用いて、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第2曲面の曲率を算出して第2曲面を生成する第2曲面生成部として機能する。
The
記憶装置12は、例えばRAM(Random Access Memory)などの一次記憶装置、ハードディスクドライブ(HDD)、SSD(Solid State drive)、などの二次記憶装置などから構成され、種々のデータを記憶する。また、記憶装置12は、第1曲面生成部及び第2曲面生成部として機能させるプログラムを記憶する。また、記憶装置12は、レンズ材料の屈折率などに関する種々のデータを記憶する。
The
入力部13は、各種データを入力する例えばタッチパネル、キーボードなどのユーザインタフェースである。入力部13は、例えば、レンズ表面の曲率、レンズ材料の屈折率等の制御因子がとり得る値等の入力に用いられる。
The
出力装置14は、例えばディスプレイ、プリンタなどであり、アルゴリズム関数の計算処理結果の表示、印刷、出力などの処理が可能である。
The
なお、アルゴリズム関数を計算する機能は、上述した情報処理装置の構成に限られず、例えば、端末装置、サーバ装置などの複数のハードウェアにより構成することができ、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成としてもよい。また、アルゴリズム関数を計算する機能は、これを実現するためのコンピュータプログラムを作成し、コンピュータに実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体を提供することも可能である。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、コンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信することも可能である。 The function of calculating the algorithm function is not limited to the configuration of the information processing device described above, and can be configured, for example, by multiple hardware devices such as terminal devices and server devices, and can be configured as cloud computing in which one function is shared and processed jointly by multiple devices via a network. In addition, the function of calculating the algorithm function can be realized by creating a computer program to implement this function and implementing it on a computer. It is also possible to provide a computer-readable recording medium on which such a computer program is stored. Examples of the recording medium include a magnetic disk, optical disk, magneto-optical disk, and flash memory. In addition, the computer program can be distributed, for example, via a network, without using a recording medium.
<具体例>
次に、上述したアルゴリズム関数を用いた情報処理の具体例について説明する。
<Specific examples>
Next, a specific example of information processing using the above-mentioned algorithm function will be described.
[非球面レンズの設計方法]
図2は、非球面レンズの設計方法を示すフローチャートである。図2に示すように、本実施形態に係る非球面レンズの設計方法は、曲率の微分方程式を離散化して得られる関数を用いて第1曲面を生成する第1曲面生成工程(S1)と、前記関数を用いて第2曲面を生成する第2曲面生成工程(S2)とを有する。なお、ここでは、レンズ材料の屈折率などに関する種々のデータの説明を省略する。
[Aspherical lens design method]
Fig. 2 is a flow chart showing a method for designing an aspheric lens. As shown in Fig. 2, the method for designing an aspheric lens according to this embodiment includes a first curved surface generation step (S1) for generating a first curved surface using a function obtained by discretizing a differential equation of curvature, and a second curved surface generation step (S2) for generating a second curved surface using the function. Note that a description of various data related to the refractive index of the lens material and the like is omitted here.
曲率の微分方程式を離散化して得られる関数は、格子点iにおいて曲率к=Cと指定した場合、下記(4)式で表されるアルゴリズム関数となる。 When the curvature κ = C at grid point i is specified, the function obtained by discretizing the curvature differential equation is the algorithm function expressed by the following equation (4).
第1曲面生成工程(S1)では、(4)式で表されるアルゴリズム関数を用いて、非球面レンズの第1曲面の曲率を指定して第1曲面を生成する。非球面レンズが、光軸を含むレンズに垂直な断面上でレンズ形状が左右対称である対称光学系である場合、非球面レンズの光軸から外周方向に第1曲面の曲率Cを指定し、光軸に対して回転させて第1曲面を生成することが好ましい。これにより第1曲面を生成するアルゴリズム関数の計算量を削減することができる。 In the first curved surface generation step (S1), the curvature of the first curved surface of the aspherical lens is specified to generate the first curved surface using an algorithm function expressed by equation (4). If the aspherical lens is a symmetrical optical system in which the lens shape is symmetrical on a cross section perpendicular to the lens and including the optical axis, it is preferable to specify the curvature C of the first curved surface in the outer circumferential direction from the optical axis of the aspherical lens and generate the first curved surface by rotating about the optical axis. This makes it possible to reduce the amount of calculation of the algorithm function that generates the first curved surface.
図3は、第1曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。図3において、第1曲面生成工程(S1)では、x=0からx=aまで各格子点iの曲率Cを指定し、yiの値の更新を繰り返すことにより曲線を得る。そして、光軸(y軸)に対して反転させることにより、非球面レンズの第1曲面の断面を生成することができる。また、光軸(y軸)に対して回転させることにより、非球面レンズの第1曲面を生成することができる。 Figure 3 is a diagram for explaining an example of the calculation of the algorithm function in the first curved surface generation process. In Figure 3, in the first curved surface generation process (S1), the curvature C of each lattice point i is specified from x = 0 to x = a, and the value of yi is repeatedly updated to obtain a curve. Then, by inverting it about the optical axis (y-axis), the cross section of the first curved surface of the aspheric lens can be generated. In addition, by rotating it about the optical axis (y-axis), the first curved surface of the aspheric lens can be generated.
第2曲面生成工程(S2)では、(4)式で表されるアルゴリズム関数を用いて、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるように第2曲面の曲率を算出して第2曲面を生成する。第1曲面生成工程(S1)と同様に、非球面レンズが、光軸を含むレンズに垂直な断面上でレンズ形状が左右対称である対称光学系である場合、非球面レンズの光軸から外周方向に第2曲面の曲率Cを算出し、光軸に対して回転させて第2曲面を生成することが好ましい。これにより第2曲面を生成するアルゴリズム関数の計算量を削減することができる。 In the second curved surface generation step (S2), the curvature of the second curved surface is calculated using an algorithm function expressed by equation (4) so that the intersection of the optical axis of the aspheric lens and the light ray is the same as a pre-specified focal length, and the second curved surface is generated. As in the first curved surface generation step (S1), if the aspheric lens is a symmetrical optical system in which the lens shape is symmetrical on a cross section perpendicular to the lens including the optical axis, it is preferable to calculate the curvature C of the second curved surface in the outer circumferential direction from the optical axis of the aspheric lens, and generate the second curved surface by rotating it about the optical axis. This makes it possible to reduce the amount of calculation of the algorithm function that generates the second curved surface.
図4は、第2曲面生成工程におけるアルゴリズム関数の計算例を説明するための図である。図4において、第2曲面生成工程(S2)では、先ず、第2曲面22の曲率を第1曲面21の曲率と同一にした後第2曲面22の曲率を変化させ、非球面レンズの光軸と光線との交点と、予め指定された焦点距離とが同じとなるようにアルゴリズム関数の解を収束させ、第2曲面22を生成する。また、光線の追跡は、レンズ材料の屈折率などを入力することにより得ることができる。
Figure 4 is a diagram for explaining an example of the calculation of the algorithm function in the second curved surface generation step. In Figure 4, in the second curved surface generation step (S2), first, the curvature of the second
また、第2曲面生成工程(S2)において、非球面レンズの光軸と光線との交点と、予め指定された焦点距離との総和で表される評価関数を用い、第2曲面22の曲率を第1曲面21の曲率と同一にした後、第2曲面22の曲率を変化させ、評価関数が最小となるように第2曲面22を生成してもよい。
In addition, in the second curved surface generation step (S2), an evaluation function expressed as the sum of the intersection point between the optical axis of the aspheric lens and the light ray and a pre-specified focal length may be used to make the curvature of the second
図5(A)は、焦点距離10を実現する非球面レンズの断面形状を示す図であり、図5(B)は、非球面レンズに対する光線の追跡結果を示す図である。また、図6(A)は、焦点距離5を実現する非球面レンズの断面形状を示す図であり、図6(B)は、レンズに対する光線の追跡結果を示す図である。 Figure 5(A) shows the cross-sectional shape of an aspherical lens that achieves a focal length of 10, and Figure 5(B) shows the results of tracing rays through the aspherical lens. Also, Figure 6(A) shows the cross-sectional shape of an aspherical lens that achieves a focal length of 5, and Figure 6(B) shows the results of tracing rays through the lens.
このような非球面レンズの設計方法によれば、アルゴリズム関数を用いているため、容易に計算することができる。また、物理的形状表現である曲率の制御により部分修正やスムース化を行うことができる。また、上述の非球面レンズの設計方法は、コリメート光を一方向に扇状に発散させることで均一分布のライン光を生成するパウレルレンズの設計にも適用することが可能である。また、このような設計方法により得られた設計データを用いて、金型などを用いたプレス法や研削・研磨による直接加工法によりレンズを加工することにより、曲率の制御によりレンズを製造することができる。 This method of designing an aspheric lens uses an algorithm function, making it easy to calculate. In addition, partial corrections and smoothing can be performed by controlling the curvature, which is a physical shape expression. The above-mentioned method of designing an aspheric lens can also be applied to the design of a Paulel lens, which generates a uniformly distributed line light by diverging collimated light in a fan shape in one direction. In addition, by using the design data obtained by this design method to process the lens using a pressing method using a mold or a direct processing method using grinding and polishing, it is possible to manufacture a lens by controlling the curvature.
[指定されたガウス曲面の生成方法]
ガウス曲率及び平均曲率は、それぞれ(19-1)式、(19-2)式で表され、E,F,Gは、zi,jを含まない式であるので、(20)式で表すことができる。α,β,γをそれぞれ(21-1)式、(21-2)式、(21-3)式とすると(22)式となり、zi,jの二次方程式で解くことができる。
[How to generate a specified Gaussian surface]
The Gaussian curvature and the mean curvature are expressed by equations (19-1) and (19-2), respectively, and E, F, and G are equations that do not include z i and j , so they can be expressed by equation (20). If α, β, and γ are expressed by equations (21-1), (21-2), and (21-3), respectively, we obtain equation (22), which can be solved as a quadratic equation in z i and j .
(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の項がないため、定数として扱うことができる。 In equation (22), k1 ( xi , yi ) k2 ( xi , yi ) are the specified Gaussian curvature values, and ∂2zi ,j / ∂xi∂yi is a value determined by ( zi+1,j+1 -zi +1,j-1 -zi -1,j+1 -zi -1,j-1 )/4ΔxΔy. Since there is no term for zi ,j , it can be treated as a constant.
次に、半径Rの球面を2Lの角柱で切り取った曲面を、アルゴリズム関数を使って求める方法について検討する。図7(A)は、球及び角柱のXY平面を示す図であり、図7(B)は、球及び角柱のXZ平面を示す図である。R=10、L=5のときのアルゴリズム関数の計算結果は、20×20分割の場合、最大誤差が0.0であり、最小誤差が-0.0014であった。また、200×200分割の場合、最大誤差が0.0であり、最小誤差が-0.00042であった。 Next, we will consider a method of using an algorithm function to find a curved surface obtained by cutting a sphere of radius R with a rectangular prism of 2L. Figure 7(A) is a diagram showing the XY plane of the sphere and rectangular prism, and Figure 7(B) is a diagram showing the XZ plane of the sphere and rectangular prism. The calculation results of the algorithm function when R = 10 and L = 5 showed that in the case of 20 x 20 division, the maximum error was 0.0 and the minimum error was -0.0014. Furthermore, in the case of 200 x 200 division, the maximum error was 0.0 and the minimum error was -0.00042.
図8は、ガウス曲率を持つ曲面のプログラム例を示す図である。このプログラムは、全格子点で1回分の計算をすることができる。このようにガウス曲率を持つ曲面は、簡単なプログラムで計算することができる。 Figure 8 shows an example program for a surface with Gaussian curvature. This program can perform one calculation for all lattice points. In this way, a surface with Gaussian curvature can be calculated using a simple program.
次に、指定されたガウス曲率及び平均曲率を持つ曲面の作成について検討する。図9は、ガウス曲率を指定する格子及び平均曲率を指定する格子を示す図である。図9に示すように黒丸aでは、ガウス曲率を指定し、白丸bでは平均曲率を指定してアルゴリズム関数を求める。 Next, we consider the creation of a surface with a specified Gaussian curvature and mean curvature. Figure 9 shows a lattice that specifies the Gaussian curvature and a lattice that specifies the mean curvature. As shown in Figure 9, the black circle a specifies the Gaussian curvature, and the white circle b specifies the mean curvature to find the algorithm function.
図10(A)は、境界線を直線にしたときの最小曲率及び最大曲率を示すグラフであり、図10(B)は、境界線を直線にしたときのガウス曲率及び平均曲率を示すグラフである。図10(A)においてaは最小曲率、bは最大曲率を示し、図10(B)においてcはガウス曲率、bは平均曲率を示す。また、図11(A)は、境界線を円弧にしたときの最小曲率及び最大曲率を示すグラフであり、図11(B)は、境界線を円弧にしたときのガウス曲率及び平均曲率を示すグラフである。図11(A)においてaは最小曲率、bは最大曲率を示し、図11(B)においてcはガウス曲率、bは平均曲率を示す。 Figure 10(A) is a graph showing the minimum and maximum curvatures when the boundary line is a straight line, and Figure 10(B) is a graph showing the Gaussian curvature and mean curvature when the boundary line is a straight line. In Figure 10(A), a indicates the minimum curvature, and b indicates the maximum curvature, and in Figure 10(B), c indicates the Gaussian curvature, and b indicates the mean curvature. Also, Figure 11(A) is a graph showing the minimum and maximum curvatures when the boundary line is a circular arc, and Figure 11(B) is a graph showing the Gaussian curvature and mean curvature when the boundary line is a circular arc. In Figure 11(A), a indicates the minimum curvature, and b indicates the maximum curvature, and in Figure 11(B), c indicates the Gaussian curvature, and b indicates the mean curvature.
図10、図11に示すグラフより、各点で指定された条件は、満足しており、格子の間隔を小さくしていき、収束した場合は、指定された曲率を持つ曲面となることが分かる。 From the graphs shown in Figures 10 and 11, we can see that the conditions specified at each point are satisfied, and by decreasing the grid spacing and converging, a surface with the specified curvature is obtained.
[折れ線の修正方法]
次に、2次元の折れ線の修正について検討する。図12は、折れ線に対して終点Pnをy方向にΔy移動させる修正方法を説明するための図である。
[How to correct broken lines]
Next, the correction of a two-dimensional broken line will be considered. Fig. 12 is a diagram for explaining a correction method for moving the end point Pn of the broken line by Δy in the y direction.
2次元の折れ線の頂点をPi(xi,yi),0≦i≦nとする。また、xiの間隔は等間隔であり、Δxとする。折れ線aに対して終点Pnをy方向にΔy移動させ、滑らかな曲線bを求める問題を考える。また、P0からPkまでは変化しないものとする。 The vertices of a two-dimensional broken line are defined as Pi ( xi , yi ), 0≦i≦n. The intervals between x i are equal and Δx. Consider the problem of finding a smooth curve b by moving the end point Pn of the broken line a by Δy in the y direction. Also, assume that there is no change from P0 to Pk .
折れ線xiをxi上の関数f(xi)とみなすと、xiにおいて離散二階微分f’’(xi)が定義でき。Δxが等間隔であれば(23)式となる。新しくxi上の関数g(xi)が満たすべきアルゴリズム関数を(24-1)式、(24-2)式で定義し、(25)式となるようなαを求める。離散微分&幾何の公式を使うとαは計算することができ、(26)式となる。この操作は、xkまでは重み1、xkから(1+α(x-xk))の重みを掛ける操作であるため、二階微分の連続性を保証していることになる。 If we regard the broken line x i as a function f(x i ) on x i , then we can define the discrete second derivative f''(x i ) at x i . If Δx is equally spaced, we obtain equation (23). The new algorithm function that function g(x i ) on x i must satisfy is defined by equations (24-1) and (24-2), and α is found to satisfy equation (25). Using the formulas of discrete differentiation and geometry, α can be calculated, resulting in equation (26). This operation multiplies the weight by 1 up to x k , and by a weight of (1 + α(x - x k )) from x k onwards, so it guarantees the continuity of the second derivative.
図13(A)は、曲線の計算結果示すグラフであり、図13(B)は、曲線の曲率半径の計算結果示すグラフである。図13(A)に示すように、修正後の曲線bは、修正前の曲線aに対してY方向に約2倍スケールしており、図13(B)に示すように、修正前の曲線aの曲率半径に対して修正後の曲線bの曲率半径は大きく変化している。曲率ベクトルが0になっているところがないので変曲点はない。このため。凸を維持して修正できていることが分かる。 Figure 13(A) is a graph showing the calculation results for the curve, and Figure 13(B) is a graph showing the calculation results for the radius of curvature of the curve. As shown in Figure 13(A), the corrected curve b is scaled approximately twice as large in the Y direction as the uncorrected curve a, and as shown in Figure 13(B), the radius of curvature of the corrected curve b has changed significantly compared to the radius of curvature of the uncorrected curve a. There are no inflection points, as there are no points where the curvature vector is 0. For this reason, it can be seen that the correction has been made while maintaining the convexity.
[両端を固定した放物線の指定点の移動による修正方法]
次に、両端を固定した放物線の指定点の移動について検討する。図14は、両端を固定した放物線に対して指定点Pkをy方向にΔy移動させる方法を説明するための図である。図14において、aが移動前の放物線であり、bが移動後の放物線である。
[Modification method by moving a specified point of a parabola with both ends fixed]
Next, the movement of a designated point of a parabola with both ends fixed will be considered. Fig. 14 is a diagram for explaining a method of moving a designated point Pk by Δy in the y direction on a parabola with both ends fixed. In Fig. 14, a is the parabola before the movement, and b is the parabola after the movement.
先ず、(27-1)式、(27-2)式、(27-3)式を満たす曲線を求める。新しくxi上の関数g(xi)が満たすべきアルゴリズム関数を(28-1)式、(28-2)式、(28-2)式で定義し、(29-1)式、(29-2)式となるように、α,βを決定する。α,βは、具体的に計算することができ、(30-1)式、(30-2)式となる。 First, a curve satisfying equations (27-1), (27-2), and (27-3) is obtained. The new algorithm function that function g(x i ) on x i should satisfy is defined by equations (28-1), (28-2), and (28-2), and α and β are determined so as to obtain equations (29-1) and (29-2). α and β can be calculated specifically, and are given by equations (30-1) and (30-2).
図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の位置で大きく曲率半径が変化したことが分かる。
Figure 15(A) is a graph showing the calculation results of a parabola, and Figure 15(B) is a graph showing the calculation results of the radius of curvature of a parabola. In Figure 15(A), a is a parabola where the value is 100 between P0 and P1 and -10 at
[指定点から終端までを直線状にする曲線の修正方法]
図16は、指定点から終端までを直線状にする曲線の修正方法を説明するための図である。先ず、(31-1)式、(31-2)式、(31-3)式を満たす曲線を求める。指定点k1から直線状に曲線を修正する。曲率が連続であるためには、曲率を接続する部分が必要である。このため、修正部分を3つに分け、もとの点列の二階微分に対して、(32-1)式、(32-2)式、(32-3)式のような関数値を持つ曲率の重み関数K(x)を掛ける。K(x)関数は、αによって(34)式で規定され、αを端点における指定点を通るように調整することによって、この修正が可能となる。
[How to modify a curve to make it a straight line from a specified point to the end]
FIG. 16 is a diagram for explaining a method of modifying a curve to make it linear from a specified point to the end. First, a curve that satisfies the formulas (31-1), (31-2), and (31-3) is obtained. The curve is modified to be linear from the specified point k1 . In order for the curvature to be continuous, a portion that connects the curvature is necessary. For this reason, the modified portion is divided into three, and the second-order differential of the original point sequence is multiplied by a curvature weighting function K(x) having a function value such as the formulas (32-1), (32-2), and (32-3). The K(x) function is defined by α in formula (34), and this modification is possible by adjusting α so that it passes through the specified point at the end point.
[Bスプライン曲面のスムース化方法]
具体例として示すBスプライン曲面のスムース化方法は、Bスプライン曲面を多様体と考えて、各点において二次多項式近似し、二階微分を計算する。これらの二階微分を持つ曲面をアルゴリズム関数で再現するものである。
[B-spline surface smoothing method]
A specific example of a method for smoothing a B-spline surface involves treating the B-spline surface as a manifold, approximating it with a quadratic polynomial at each point, and calculating second-order derivatives. The surface with these second-order derivatives is then reproduced using an algorithm function.
先ず、Bスプライン曲面を例えば0.001mmの誤差でポリゴン化(STL化)し、これを例えば121×121格子点で被覆する。そして、格子点において二次多項式近似を行う。 First, the B-spline surface is polygonized (STL) with an error of, for example, 0.001 mm, and this is covered with, for example, 121 x 121 grid points. Then, a quadratic polynomial approximation is performed at the grid points.
具体的には、格子点を中心として、半径R以下のSTL頂点を使用して二次多項式近似を行う。STL頂点はもとの曲面上にあるため、比較的正確な近似を与えることができる。そして、Bスプライン曲面を多様体と考えて、格子点において二次多項式で被覆する。 Specifically, a quadratic polynomial approximation is performed using STL vertices with a radius of R or less, centered on the lattice points. Since the STL vertices are on the original surface, a relatively accurate approximation can be obtained. The B-spline surface is then considered as a manifold and is covered with quadratic polynomials at the lattice points.
続いて、X方向、Y方向の二階微分を掛けてGij(i,j)を計算し、格子における関係式を(35)式としてアルゴリズム関数を計算する。 Next, G ij (i, j) is calculated by multiplying by the second derivative in the X direction and the Y direction, and the algorithm function is calculated with the relational expression in the lattice being the expression (35).
図17(A)は、スムース化前の格子点を使用したX方向の二階微分の計算結果を示すグラフであり、図17(B)は、スムース化前の格子点を使用したY方向の二階微分の計算結果を示すグラフである。また、図18(A)は、スムース化後の格子点を使用したX方向の二階微分の計算結果を示すグラフであり、図18(B)は、スムース化後の格子点を使用したY方向の二階微分の計算結果を示すグラフである。横(X)方向1400mm、縦(Y)方向1000mmサイズのボディ部品においてBスプライン曲面で生成されたものを、アルゴリズム関数を用いて微小修正し、二階微分をスムース化した。 Figure 17(A) is a graph showing the calculation results of the second-order differential in the X direction using the grid points before smoothing, and Figure 17(B) is a graph showing the calculation results of the second-order differential in the Y direction using the grid points before smoothing. Also, Figure 18(A) is a graph showing the calculation results of the second-order differential in the X direction using the grid points after smoothing, and Figure 18(B) is a graph showing the calculation results of the second-order differential in the Y direction using the grid points after smoothing. The second-order differential was smoothed by making small corrections using an algorithm function to the B-spline surface generated for a body part measuring 1400 mm in the horizontal (X) direction and 1000 mm in the vertical (Y) direction.
図17、図18に示すグラフから分かるように、修正前はノイズが入っているが、スムース化後は滑らかになっている。また、頂点を動かした量は0.402mmと微小であり、微小な修正によって二階微分を滑らかにすることができることが分かる。 As can be seen from the graphs in Figures 17 and 18, there is noise before the correction, but it has become smooth after smoothing. Also, the amount by which the vertex was moved is very small, at 0.402 mm, and it can be seen that the second derivative can be smoothed by making small corrections.
また、本技術は、下記(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項に記載の情報処理方法。
(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)に記載のプログラムを記録した記録媒体。
Moreover, the present technology can be expressed as follows (1) to (29).
(1)
a first curved surface generating step of specifying a curvature C for all lattice points i excluding boundaries using a function obtained by discretizing a differential equation of curvature expressed using a curve expressed as an explicit function, updating the value of the curve at the lattice point i, and repeating this process to obtain a curve, and rotating the curve about the optical axis to generate a first curved surface of the aspheric lens;
and a second curved surface generation step of using the function to specify a curvature C for all lattice points i excluding boundaries so that the intersection of the optical axis of the aspherical lens and the light ray is the same as a pre-specified focal length, updating the value of the curve at the lattice point i, and repeating this process to obtain a curve, and rotating the curve about the optical axis to generate a second curved surface of the aspherical lens.
(2)
The information processing method according to (1), wherein the function is obtained by discretizing a differential equation of the curvature by a finite difference method.
(3)
The information processing method according to
(4)
The information processing method according to any one of (1) to (3), in which, in the second curved surface generation step, a curvature C of the second curved surface is specified to be the same as a curvature C of the first curved surface, and then the curvature C of the second curved surface is changed, and a solution of the function is converged so that an intersection of an optical axis of the aspheric lens and a light ray is the same as a pre-specified focal length, thereby generating the second curved surface.
(5)
Using an evaluation function expressed by the sum of the intersection point between the optical axis of the aspherical lens and the light ray and a pre-specified focal length,
The information processing method according to any one of (1) to (3), in the second surface generation process, after the curvature C of the second surface is specified to be the same as the curvature C of the first surface, the curvature C of the second surface is changed, and the second surface is generated so that the evaluation function is minimized.
(6)
The information processing method according to any one of (1) to (5), wherein the function is expressed by the following formula (1) when a curvature κ=C is specified at a lattice point i.
(7)
a first curved surface generating unit that uses a function obtained by discretizing a differential equation of curvature expressed using a curve expressed by an explicit function, specifies a curvature C for all lattice points i except for boundaries, updates the value of the curve at the lattice point i, and repeats this process to obtain a curve of a first curved surface, and rotates the curve about the optical axis to generate the first curved surface of the aspheric lens;
and a second curved surface generation unit that uses the function to specify a curvature C for all lattice points i except for boundaries so that the intersection of the optical axis of the aspherical lens and the light ray is the same as a pre-specified focal length, updates the value of the curve at the lattice point i, and repeats this process to obtain a curve of a second curved surface, and rotates the curve about the optical axis to generate the second curved surface of the aspherical lens.
(8)
a first curved surface generating step of specifying a curvature C for all lattice points i excluding boundaries using a function obtained by discretizing a curvature differential equation expressed using a curve expressed as an explicit function, updating the value of the curve at the lattice point i, and repeating this process to obtain a curve of a first curved surface, and rotating the curve about the optical axis to generate the first curved surface of the aspheric lens;
a second curved surface generation step of using the function to specify a curvature C for all lattice points i excluding boundaries so that the intersection of the optical axis of the aspherical lens and the light ray is the same as a pre-specified focal length, updating the value of the curve at the lattice point i, obtaining a curve of a second curved surface by repeating this process, and rotating the curve about the optical axis to generate the second curved surface of the aspherical lens.
(9)
A recording medium having the program described in (8) recorded thereon.
10 情報処理装置、11 CPU、12 記憶装置、13 入力部、14 出力装置、21 第1の曲面、22 第2の曲面 10 Information processing device, 11 CPU, 12 Storage device, 13 Input unit, 14 Output device, 21 First curved surface, 22 Second curved surface
Claims (4)
各格子点について、格子点を中心とする半径R以下の前記三角ポリゴンの頂点を用いて二次多項式Pij(i,j)で近似し、
前記二次多項式Pij(i,j)のX方向及びY方向の二階微分を掛けた下記(A)式に示す関数Gij(i,j)を用いて微小修正して二階微分をスムース化し、二階微分を持つ曲面を再現する情報処理方法。
For each lattice point, approximation is performed using a quadratic polynomial P ij (i, j) using the vertices of the triangular polygon having a radius of R or less and centered on the lattice point;
The information processing method uses a function G ij (i, j) shown in the following equation (A) obtained by multiplying the second-order differentials of the quadratic polynomial P ij (i, j) in the X and Y directions to perform minute correction to smooth the second-order differentials, thereby reproducing a curved surface having second-order differentials.
各格子点について、格子点を中心とする半径R以下の前記三角ポリゴンの頂点を用いて二次多項式Pij(i,j)で近似し、
前記二次多項式Pij(i,j)のX方向及びY方向の二階微分を掛けた下記(A)式に示す関数Gij(i,j)を用いて微小修正して二階微分をスムース化し、二階微分を持つ曲面を再現する情報処理装置。
For each lattice point, approximation is performed using a quadratic polynomial P ij (i, j) using the vertices of the triangular polygon having a radius of R or less and centered on the lattice point;
The information processing device smoothes the second-order differential by minutely correcting it using a function G ij (i, j) shown in the following equation (A) obtained by multiplying the second-order differential of the quadratic polynomial P ij (i, j) in the X direction and the Y direction, and reproduces a curved surface having the second-order differential.
A recording medium on which the program according to claim 3 is recorded.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023086523A JP7475591B2 (en) | 2022-04-28 | 2023-05-25 | Information processing method, information processing device, program, and recording medium |
| JP2024030508A JP7671467B2 (en) | 2022-04-28 | 2024-02-29 | Information processing method, information processing device, program, and recording medium |
| JP2025023346A JP2025065538A (en) | 2022-04-28 | 2025-02-17 | Information processing method, information processing device, program, and recording medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022074253A JP7291356B2 (en) | 2017-08-24 | 2022-04-28 | Information processing method, information processing device, program, and recording medium |
| JP2023086523A JP7475591B2 (en) | 2022-04-28 | 2023-05-25 | Information processing method, information processing device, program, and recording medium |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022074253A Division JP7291356B2 (en) | 2017-08-24 | 2022-04-28 | Information processing method, information processing device, program, and recording medium |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024030508A Division JP7671467B2 (en) | 2022-04-28 | 2024-02-29 | Information processing method, information processing device, program, and recording medium |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2023113738A JP2023113738A (en) | 2023-08-16 |
| JP2023113738A5 JP2023113738A5 (en) | 2023-09-11 |
| JP7475591B2 true JP7475591B2 (en) | 2024-04-30 |
Family
ID=82556800
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023086523A Active JP7475591B2 (en) | 2022-04-28 | 2023-05-25 | Information processing method, information processing device, program, and recording medium |
| JP2024030508A Active JP7671467B2 (en) | 2022-04-28 | 2024-02-29 | Information processing method, information processing device, program, and recording medium |
| JP2025023346A Pending JP2025065538A (en) | 2022-04-28 | 2025-02-17 | Information processing method, information processing device, program, and recording medium |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024030508A Active JP7671467B2 (en) | 2022-04-28 | 2024-02-29 | Information processing method, information processing device, program, and recording medium |
| JP2025023346A Pending JP2025065538A (en) | 2022-04-28 | 2025-02-17 | Information processing method, information processing device, program, and recording medium |
Country Status (1)
| Country | Link |
|---|---|
| JP (3) | JP7475591B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004078309A (en) | 2002-08-09 | 2004-03-11 | Japan Science & Technology Corp | 3D model deformation system |
| JP2016207055A (en) | 2015-04-27 | 2016-12-08 | 日本ユニシス株式会社 | Shape deformation apparatus and shape deformation program |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3113314B2 (en) * | 1991-05-22 | 2000-11-27 | 株式会社リコー | Free-form surface generation method |
| JP2900986B2 (en) * | 1995-07-26 | 1999-06-02 | 日本電気株式会社 | B-spline curve layering device |
| JP3366213B2 (en) * | 1997-02-26 | 2003-01-14 | 三菱電機株式会社 | Curve minute line differentiation method and numerical controller having spline interpolation function |
| JP5345957B2 (en) | 2010-01-21 | 2013-11-20 | 本田技研工業株式会社 | Design support system and design support program |
| JP6444141B2 (en) | 2014-11-10 | 2018-12-26 | 国立大学法人横浜国立大学 | Removal part setting device, curved surface forming device, curved surface shape production method and program |
-
2023
- 2023-05-25 JP JP2023086523A patent/JP7475591B2/en active Active
-
2024
- 2024-02-29 JP JP2024030508A patent/JP7671467B2/en active Active
-
2025
- 2025-02-17 JP JP2025023346A patent/JP2025065538A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004078309A (en) | 2002-08-09 | 2004-03-11 | Japan Science & Technology Corp | 3D model deformation system |
| JP2016207055A (en) | 2015-04-27 | 2016-12-08 | 日本ユニシス株式会社 | Shape deformation apparatus and shape deformation program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023113738A (en) | 2023-08-16 |
| JP2025065538A (en) | 2025-04-17 |
| JP2024052912A (en) | 2024-04-12 |
| JP7671467B2 (en) | 2025-05-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Syrakos et al. | A critical analysis of some popular methods for the discretisation of the gradient operator in finite volume methods | |
| Ha et al. | Numerical method for shape optimization using T-spline based isogeometric method | |
| Yu et al. | HexGen and Hex2Spline: polycube-based hexahedral mesh generation and spline modeling for isogeometric analysis applications in LS-DYNA | |
| JPH01286081A (en) | Generation of multi-polygonal display | |
| Borrmann et al. | Principles of geometric modeling | |
| Lin et al. | Optimization with minimum process error for layered manufacturing fabrication | |
| EP3118817B1 (en) | Post-processing system for finite element analysis | |
| Daxini et al. | Parametric shape optimization techniques based on Meshless methods: A review | |
| CN115130253A (en) | Generating a refined control mesh for generating a smooth surface of an object | |
| Zhang et al. | A real-time look-ahead trajectory planning methodology for multi small line segments path | |
| JP7291356B2 (en) | Information processing method, information processing device, program, and recording medium | |
| Miksis et al. | Sparse-grid implementation of fixed-point fast sweeping WENO schemes for Eikonal equations | |
| JP7475591B2 (en) | Information processing method, information processing device, program, and recording medium | |
| Shi et al. | Subdivision method for rational ANCF circular elements | |
| JP7075074B2 (en) | Information processing methods, information processing devices, programs and recording media | |
| Marsala et al. | From CAD to representations suitable for isogeometric analysis: a complete pipeline | |
| Singh et al. | A new approach to find gouge free tool positions for a toroidal cutter for Bézier surfaces in five-axis machining | |
| Luo et al. | Moving curved mesh adaptation for higher-order finite element simulations | |
| CN112069742B (en) | Stabilizing explicit numerical schemes | |
| Gutiérrez et al. | Pixel-based shape optimization in 3D using constrained density-based topology optimization | |
| Qin et al. | Dynamic manipulation of triangular B-splines | |
| Au | A simple algorithm for medial axis transform computation | |
| Klinkel et al. | Isogeometric analysis of solids in boundary representation | |
| JP7645484B2 (en) | Information processing method and information processing device | |
| Giorgiani et al. | A Powell-Sabin finite element scheme for partial differential equations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230622 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230831 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240116 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240229 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240312 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240408 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7475591 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |