Nothing Special   »   [go: up one dir, main page]

JP5407695B2 - Self-intersection detection program and self-intersection detection method in 3D curve model - Google Patents

Self-intersection detection program and self-intersection detection method in 3D curve model Download PDF

Info

Publication number
JP5407695B2
JP5407695B2 JP2009217093A JP2009217093A JP5407695B2 JP 5407695 B2 JP5407695 B2 JP 5407695B2 JP 2009217093 A JP2009217093 A JP 2009217093A JP 2009217093 A JP2009217093 A JP 2009217093A JP 5407695 B2 JP5407695 B2 JP 5407695B2
Authority
JP
Japan
Prior art keywords
intersection
self
plane
detected
projected
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.)
Expired - Fee Related
Application number
JP2009217093A
Other languages
Japanese (ja)
Other versions
JP2011065534A (en
Inventor
正芳 橋間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009217093A priority Critical patent/JP5407695B2/en
Publication of JP2011065534A publication Critical patent/JP2011065534A/en
Application granted granted Critical
Publication of JP5407695B2 publication Critical patent/JP5407695B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、三次元曲線モデルにおける自己交差の検出プログラム及び自己交差の検出方法に関する。   The present invention relates to a self-intersection detection program and a self-intersection detection method in a three-dimensional curve model.

機械製品や装置に組み込まれているワイヤ、ハーネス、ケーブル等の線状柔軟物を設計する際には、線状柔軟物に繋がれている機械部品の動作を当該線状柔軟物が阻害したり他の部品に干渉せぬ様、線状柔軟物の適性な長さ及び配線経路を決定する必要がある。そのため、三次元的な曲線をモデリングするソフトウェアを三次元CADシステム上で動作させることにより、仮想空間内に線状柔軟物の三次元曲線モデルを作成し、当該仮想空間において線状柔軟物の動きをシミュレーションする方法が、従来提案されている。   When designing linear flexible objects such as wires, harnesses, cables, etc. incorporated in machinery products and equipment, the linear flexible objects obstruct the operation of the machine parts connected to the linear flexible objects. It is necessary to determine an appropriate length and wiring route of the linear flexible object so as not to interfere with other parts. For this reason, a software for modeling a three-dimensional curve is operated on a three-dimensional CAD system to create a three-dimensional curve model of a linear flexible object in the virtual space, and the movement of the linear flexible object in the virtual space. A method of simulating the above has been conventionally proposed.

上述したソフトウェアは、設計対象である線状柔軟物の始点と終点の位置及び接続方向,線状柔軟物の長さ、線状柔軟物の断面の半径,等の条件が入力されると、これらの各条件を満たすとともに力学法則をも満足する三次元曲線を自動生成する。   The software described above receives the input of conditions such as the start and end positions and connection direction of the linear flexible object to be designed, the length of the linear flexible object, the cross-sectional radius of the linear flexible object, etc. A three-dimensional curve that satisfies the following conditions and satisfies the laws of mechanics is automatically generated.

ただし、上述したソフトウェアは、入力された条件が不適切ないし不自然であると、現実にはありえない自己交差を含む形状を呈する三次元曲線モデルを生成してしまうことがある。ここに、自己交差とは、同一曲線の或る一部と他の一部とが空間中の同一座標にて交差することをいう。即ち、線状柔軟物は、パラメータ如何に拘わらず、現実的には螺旋状にループした形状しかとりえないにも関わらず、上述したソフトウェアは、自己交差に因る閉ループを含む形状を作成してしまう場合がある。後者の形状を有する三次元曲線モデルは、現実には存在しな形状を呈するものであるので、線状柔軟物の動きをシミュレーションする目的の為には不適当である。そこで、生成された三次元曲線中の自己交差を高速に検出することが、求められる。   However, the above-described software may generate a three-dimensional curve model having a shape including a self-intersection that is impossible in reality if the input condition is inappropriate or unnatural. Here, the self-intersection means that a part of the same curve and another part intersect at the same coordinate in the space. In other words, the software described above creates a shape that includes a closed loop due to self-intersection, although a linear flexible object can only take a spiral loop shape regardless of parameters. May end up. Since the three-dimensional curve model having the latter shape exhibits a shape that does not actually exist, it is not suitable for the purpose of simulating the movement of the linear flexible object. Therefore, it is required to detect self-intersection in the generated three-dimensional curve at high speed.

国際公開2004/825522号International Publication No. 2004/825522 特開平9-292873号公報JP-A-9-292873

三次元曲線中の自己交差を検出するためには、三次元曲線を、複数(N+1個)の点列と各点同士の間を夫々結ぶN本の線分とからなる折れ線に近似し、全線分から選ばれる二本の線分の全組合せに対して、交点(即ち、共通座標)の有無を調べることが考えられる。この場合、座標系において2本の線分を夫々示す連立方程式が解を有せば、交点が存在すると判定される。   In order to detect a self-intersection in a three-dimensional curve, the three-dimensional curve is approximated to a broken line composed of a plurality of (N + 1) point sequences and N line segments each connecting each point, and all lines It is conceivable to check the presence or absence of intersections (that is, common coordinates) for all combinations of two line segments selected from the minutes. In this case, if the simultaneous equations indicating the two line segments in the coordinate system have solutions, it is determined that an intersection exists.

しかしながら、かかる方法による場合、各線分の組み毎に交差の有無判定を行う計算(以下、「交差判定計算」という)の回数は、最大でN×N回となってしまう。   However, according to this method, the number of calculations for determining whether or not there is an intersection for each set of line segments (hereinafter referred to as “intersection determination calculation”) is N × N at the maximum.

そこで、本案は、三次元曲線モデルにおける自己交差の検出のための計算量を削減することを課題とする。   In view of this, it is an object of the present invention to reduce the amount of calculation for detecting self-intersection in a three-dimensional curve model.

提案された手段によると、三次元曲線モデルを、相互に異なる方向を向いた複数の仮想平面に夫々投影する。そして、各仮想平面において、投影された曲線に含まれる自己交差を夫々検出し、全ての仮想平面に投影された曲線に含まれる自己交差が検出された場合に、三次元曲線モデルに自己交差があると判定する。   According to the proposed means, the 3D curve model is projected onto a plurality of virtual planes facing different directions. Then, in each virtual plane, the self-intersection included in the projected curve is detected, and when the self-intersection included in the curve projected on all the virtual planes is detected, the self-intersection is detected in the 3D curve model. Judge that there is.

三次元曲線モデルにおける自己交差の検出のための計算量を削減することができる。   The amount of calculation for detecting the self-intersection in the three-dimensional curve model can be reduced.

コンピュータのハードウェア構成を示すブロック図Block diagram showing the hardware configuration of the computer 三次元曲線モデル生成プログラムを示すフローチャートFlow chart showing 3D curve model generation program 図2のS003にて実行される曲線の自己交差検出処理サブルーチンを示すフローチャートThe flowchart which shows the self-intersection detection process subroutine of the curve performed in S003 of FIG. 図3のS102にて実行される平面上曲線の自己交差検出処理サブルーチンを示すフローチャートFlowchart showing a self-intersection detection subroutine for a curve on a plane executed in S102 of FIG. 図3のS104にて実行される平面上曲線の自己交差検出処理サブルーチンを示すフローチャートFlowchart showing a self-intersection detection subroutine for curved lines executed in S104 of FIG. 三次元曲線モデル例を示す図Diagram showing an example of a 3D curve model 折れ線に近似された三次元曲線を示す図Diagram showing a 3D curve approximated to a polyline 三次元曲線の2つの平面への投影を表す図A diagram representing the projection of a 3D curve onto two planes X軸方向における選択区間の意義を示すグラフA graph showing the significance of the selected section in the X-axis direction Y軸方向における選択区間の意義を示すグラフA graph showing the significance of the selected section in the Y-axis direction 修正後の三次元曲線モデル例を示す図Figure showing a modified 3D curve model example

以下、図面に基づいて、本案の実施の形態を説明する。
<コンピュータ>
図1は、三次元曲線モデル生成プログラムがインストールされているコンピュータ1のハードウェア構成図である。
Hereinafter, embodiments of the present plan will be described based on the drawings.
<Computer>
FIG. 1 is a hardware configuration diagram of a computer 1 in which a three-dimensional curve model generation program is installed.

図1に示すように、コンピュータ1は、相互にバスBによって接続されたCPU10,RAM11,入力装置12,ディスプレイ13及びハードディスク15を有する一般的なコンピュータである。   As shown in FIG. 1, the computer 1 is a general computer having a CPU 10, a RAM 11, an input device 12, a display 13, and a hard disk 15 connected to each other by a bus B.

CPU10は、ハードディスク15からプログラムを読み出し、プログラムに従った処理を実行する処理装置である。   The CPU 10 is a processing device that reads a program from the hard disk 15 and executes processing according to the program.

RAM11は、CPU10が上記処理をする際に作業領域を展開する主記憶装置である。   The RAM 11 is a main storage device that expands a work area when the CPU 10 performs the above processing.

入力装置12は、CPU10に対して各種コマンド又はデータを入力するためのキーボード及びポインティングデバイスである。   The input device 12 is a keyboard and a pointing device for inputting various commands or data to the CPU 10.

ディスプレイ13は、CPU10による処理結果を表示するための表示装置である。   The display 13 is a display device for displaying a processing result by the CPU 10.

ハードディスク15は、各種プログラム及び各種データを格納する固体記憶媒体である。このハードディスク15が格納している各種プログラムには、三次元曲線モデルの自己交差検出プログラムを実施したモジュールである三次元曲線モデル生成プログラム16を含む三次元CADプログラムが、含まれている。   The hard disk 15 is a solid storage medium that stores various programs and various data. The various programs stored in the hard disk 15 include a three-dimensional CAD program including a three-dimensional curve model generation program 16 that is a module that implements a self-intersection detection program for a three-dimensional curve model.

なお、三次元曲線モデル生成プログラム16を格納する記録媒体は、ハードディスク15に限定されず、コンピュータその他の機械、装置(以下、コンピュータ等)が読み取り可能な記録媒体を用いることができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
<三次元曲線モデル生成プログラム>
図2のフローチャートは、三次元CADプログラムによる処理のうち、三次元曲線モデル生成プログラム16による処理を示す。なお、図2〜図5に示すフローチャートは、線状柔軟物の一例であるハーネスの三次元モデルを生成するものとして記述されているが、当該プログラム16により他の線状柔軟物の三次元モデルを生成できることは、勿論である。
The recording medium for storing the three-dimensional curve model generation program 16 is not limited to the hard disk 15, and a recording medium that can be read by a computer or other machine or device (hereinafter, a computer or the like) can be used. The function can be provided by causing a computer or the like to read and execute the program of the recording medium. Here, a computer-readable recording medium is a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer or the like. Say. Examples of such a recording medium that can be removed from a computer or the like include a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R / W, a DVD, a Blu-ray disk, a DAT, an 8 mm tape, a flash memory, and the like. There are cards. In addition, as a recording medium fixed to a computer or the like, there are a hard disk, a ROM (read only memory), and the like.
<3D curve model generation program>
The flowchart of FIG. 2 shows the process by the 3D curve model generation program 16 among the processes by the 3D CAD program. The flowcharts shown in FIGS. 2 to 5 are described as generating a three-dimensional model of a harness that is an example of a linear flexible object. Of course, can be generated.

図2に示す処理は、CADプログラムを実行しているCPU10に対して、オペレータが入力装置12を通じて所定のコマンドを入力することにより、スタートする。   The process shown in FIG. 2 starts when the operator inputs a predetermined command to the CPU 10 executing the CAD program through the input device 12.

スタート後最初のS001では、CPU10は、ハーネス形状に関する条件を入力する。図2においては、ハーネス形状に関する条件として、ハーネスの始点及び終点の位置,始点及び終点におけるハーネスの接続方向,ハーネスの長さ、ハーネスの断面の半径が例示されているが、更に、ハーネスの剛性,単位体積当たりの重量等が入力されても良い。ハーネス形状に関する条件は、予め操作者が入力装置12を操作することによってハードディスク15に格納されていたものであっても良いし、CPU10がディスプレイ13上に表示する入力画面上に操作者によって書き込まれたものであって良い。   In the first S001 after the start, the CPU 10 inputs a condition related to the harness shape. In FIG. 2, the harness start point and end point positions, the harness connection direction at the start point and the end point, the harness length, and the harness cross-sectional radius are illustrated as conditions regarding the harness shape. , A weight per unit volume may be input. The condition regarding the harness shape may be stored in the hard disk 15 in advance by the operator operating the input device 12, or written on the input screen displayed on the display 13 by the operator 10. It may be a thing.

次のS002では、CPU10は、S001にて入力された条件を満たす直線形状を有するハーネス形状の三次元モデルを算出する。   In next step S002, the CPU 10 calculates a three-dimensional model of a harness shape having a linear shape that satisfies the conditions input in S001.

次のS003では、CPU10は、S002にて生成したハーネス形状の三次元モデルにおける自己交差の検出を実行する。なお、CPU10は、S002にて算出した三次元モデルを、図6に示すように、太さを有しない三次元曲線に変換し、かかる三次元曲線をS003での自己交差検出処理に用いる。   In the next step S003, the CPU 10 detects a self-intersection in the harness-shaped three-dimensional model generated in step S002. The CPU 10 converts the three-dimensional model calculated in S002 into a three-dimensional curve having no thickness as shown in FIG. 6, and uses the three-dimensional curve for the self-intersection detection process in S003.

図3は、S003にて実行される自己交差検出処理サブルーチンを示すフローチャートである。このサブルーチンに入って最初のS101では、CPU10は、図7に示すように、上記三次元曲線上に、当該三次元曲線をN個の線分に等分する所定個数(N+1個)の点列(pi={Xi,Yi,Zi}:i=0,1,2,…,N)を生成することにより、当該三次元曲線を折れ線に近似する。なお、点列の始点p0及び終点pNは、夫々、三次元曲線の始点上及び終点上に生成される。 FIG. 3 is a flowchart showing a self-intersection detection processing subroutine executed in S003. In the first step S101 after entering this subroutine, as shown in FIG. 7, the CPU 10 places a predetermined number (N + 1) of point sequences on the three-dimensional curve so as to equally divide the three-dimensional curve into N line segments. By generating (p i = {Xi, Yi, Zi}: i = 0, 1, 2,..., N), the three-dimensional curve is approximated to a polygonal line. Note that the start point p 0 and the end point p N of the point sequence are generated on the start point and the end point of the three-dimensional curve, respectively.

次のS102では、CPU10は、S101にて生成した点列(折れ線)を、第1の平面に投影した上で(投影手段に相当)、当該第1の平面上に投影した点列を結ぶ折れ線が自己交差を有するかを検出する処理を実行する(平面上交差検出手段に相当)。なお、第1の平面及び後述する第2の平面は、互いに異なる方向を向いた面であれば、夫々、如何なる方向を向いた面であっても良い。例えば、点列の始点p0,終点pN及び任意の中間点pkを含む面であっても良い。但し、処理を簡単にするため、以下においては、第1の平面を
X−Y平面と平行な面とし、第2の平面をY−Z平面と平行な面として、説明を行う。
In the next S102, the CPU 10 projects the point sequence (broken line) generated in S101 onto the first plane (corresponding to the projecting means), and then the polyline connecting the projected point sequence onto the first plane. Is executed to detect whether or not has a self-intersection (corresponding to the on-plane intersection detection means). The first plane and the second plane to be described later may be planes facing in any direction as long as they face in different directions. For example, the plane may include a start point p 0 , an end point p N and an arbitrary intermediate point p k of the point sequence. However, in order to simplify the processing, in the following description, the first plane is a plane parallel to the XY plane and the second plane is a plane parallel to the YZ plane.

図4は、S102にて実行される平面上曲線の自己交差検出処理サブルーチンを示すフローチャートである。このサブルーチンに入って最初のS201では、CPU10は、S101にて生成した点列を、図8に示すように、X−Y平面上の点列(pi={Xi,Yi}:i=0,1,2,…,N)に変換する。即ち、CPU10は、点列を構成する各点の座標値からZ座標の
値を削除することにより、点列(折れ線)を、X−Y平面に投影する。
FIG. 4 is a flowchart showing a self-intersection detection processing subroutine for curved lines on the plane executed in S102. In the first step S201 after entering this subroutine, the CPU 10 converts the point sequence generated in step S101 into a sequence of points on the XY plane ( pi = {Xi, Yi}: i = 0) as shown in FIG. , 1,2, ..., N). That is, the CPU 10 projects the point sequence (polygonal line) on the XY plane by deleting the value of the Z coordinate from the coordinate value of each point constituting the sequence.

次のS202では、CPU10は、S101にて変換された点列(pi={Xi,Yi}:i=0,1,2,…,N)を構成する各点PiのX座標の値Xiを、サフィックスiの値順に読み込むことによ
り、点列におけるX座標の値Xiが単調増加又は単調減少となってないiの区間を検出する。具体的には、CPU10は、点列の始点p0におけるX座標の値X0に比して二番目の点p1におけるX座標の値X1が増加している場合には、一つ前の点Pi-1におけるX座標の値Xi-1よりもX座標の値Xiが減少している点Piが連なるiの区間を検出する。また、CPU10は、点列の始点p0におけるX座標の値X0に比して二番目の点p1におけるX座標の値X1が減少している場合には、一つ前の点Pi-1におけるX座標の値Xi-1よりもX座標の値Xiが増加している点Pi-1が連なるiの区間を検出する。例えば、図9に示す例では、点列の始点p0におけるX座標の値X0に比して二番目の点p1におけるX座標の値X1が増加しているので、点P2から点P6までの区間が、単調増加でないiの区間として検出される。
In the next S202, the CPU 10 determines the value of the X coordinate of each point P i constituting the point sequence (p i = {Xi, Yi}: i = 0, 1, 2,..., N) converted in S101. By reading Xi in the order of the value of suffix i, the section of i in which the X coordinate value Xi in the point sequence is not monotonically increasing or monotonically decreasing is detected. Specifically, CPU 10, when the value X 1 of the X-coordinate than the value X 0 of X-coordinate at the starting point p 0 of point sequences in the second point p 1 is increasing, the previous The section of i in which the point P i where the X coordinate value X i is smaller than the X coordinate value X i-1 at the point P i-1 is connected is detected. Further, CPU 10, when the value X 1 of the X-coordinate than the value X 0 of X-coordinate at the starting point p 0 of point sequences in the second point p 1 is decreasing, the previous point P the value X i of the X-coordinate than the value X i-1 of X coordinate detecting the interval of i continuing the P i-1 that has increased in i-1. For example, in the example shown in FIG. 9, the value X 1 of the X-coordinate than the value X 0 of X-coordinate at the starting point p 0 of point sequences in the second point p 1 is increased from the point P 2 A section up to the point P 6 is detected as a section of i that is not monotonically increasing.

次のS203では、CPU10は、S202において単調増加又は単調減少でない区間が検出されたか否かを、チェックする。そして、変化が単調でない区間が検出されなかった場合には、CPU10は、S211において、戻り値を“交差なし”として、当該サブルーチンを終了して、処理を図3のルーチンに戻す。   In the next S203, the CPU 10 checks whether or not a section that is not monotonically increasing or decreasing is detected in S202. If no section where the change is not monotonous is detected, the CPU 10 sets the return value to “no intersection” in S211, ends the subroutine, and returns the process to the routine of FIG.

これに対して、S202にて単調増加又は単調減少でない区間が検出された場合には、CPU10は、処理をS204へ進める。   On the other hand, when a section that is not monotonically increasing or decreasing is detected in S202, the CPU 10 advances the process to S204.

S204では、CPU10は、S202において検出された単調でない区間に属する一連の点piについてのX座標の値Xiのうち、最小値Xmin及び最大値Xmaxを求める。そして、CPU10は、X座標の値XiがXmin以上Xmax以下である領域の両外側に近接する各点によって囲まれたiの区間[i_xs,i_xe]を選択する。図9の例では、点p6についてのX座標
の値X6がXminであり、点p2についてのX座標の値X2がXm axであるから、X6以上X2以下で
ある領域の両外側に近接する点p1及び点p7によって囲まれたiの区間[1,7]が選択され
る。
In S204, CPU 10, among the values X i of the X coordinates for a series of points p i belonging to the detected non-monotonic segment in S202, obtains the minimum value X min and a maximum value X max. Then, the CPU 10 selects a section [i_xs, i_xe] of i surrounded by points adjacent to both outer sides of the region where the value X i of the X coordinate is X min or more and X max or less. In the example of FIG. 9, the value X 6 X coordinate of the point p 6 is X min, since the value X 2 of X coordinates for the point p 2 is X m ax, it is X 6 or X 2 or less The section [1,7] of i surrounded by the points p 1 and p 7 that are close to the outer sides of the region is selected.

次のS205では、CPU10は、S204にて選択したiの区間[i_xs,i_xe]に属
する各点piのY座標の値Yiを、サフィックスiの値順に読み込むことにより、点列(pi_xs〜pi_xe)におけるY座標の値Yiが単調増加又は単調減少となっていないiの区間を検出する。具体的には、CPU10は、S202と同様の手法により、単調増加又は単調減少でないiの区間を検出する。例えば、図10に示す例では、既に点p1から点p7までのiの区間[1,7]が選択されているので、当該区間[1,7]のうち点p4から点p7までの区間が、単調増加でないiの区間として検出される。
In the next S205, the CPU 10 reads the value Yi of the Y coordinate of each point p i belonging to the section [i_xs, i_xe] of i selected in S204 in the order of the value of the suffix i, so that the point sequence ( pi_xs˜ The interval of i in which the Y coordinate value Yi in p i_xe ) is not monotonically increasing or decreasing is detected. Specifically, the CPU 10 detects a section of i that is not monotonically increasing or monotonically decreasing by the same method as in S202. For example, in the example shown in FIG. 10, since the interval [1, 7] of i from the point p 1 to the point p 7 has already been selected, the point p 4 to the point p 7 in the interval [1, 7]. The section up to is detected as the section of i that is not monotonically increasing.

次のS206では、CPU10は、S205において単調増加又は単調減少でない区間が検出されたか否かを、チェックする。そして、単調でない区間が検出されなかった場合には、CPU10は、S211において、戻り値を“交差なし”として、当該サブルーチンを終了して、処理を図3のルーチンに戻す。   In the next S206, the CPU 10 checks whether or not a section that is not monotonically increasing or decreasing is detected in S205. If a non-monotonic section is not detected, the CPU 10 sets the return value to “no intersection” in S211, ends the subroutine, and returns the process to the routine of FIG.

これに対して、S205にて単調増加又は単調減少でない区間が検出されたとS206
にて判定した場合には、CPU10は、処理をS207へ進める。即ち、CPU10は、S202,S203,S205,S206を経ることで、投影された折れ線上の点列を順に辿ったならば各仮想平面に設定された二つの座標軸上の値の変化が同じ区間において夫々単調とならない場合に限り、自己交差を検出できることとなる。
On the other hand, when an interval that is not monotonically increasing or decreasing is detected in S205, S206 is detected.
If it is determined in step S10, the CPU 10 advances the process to step S207. In other words, the CPU 10 goes through S202, S203, S205, and S206, so that if the point sequence on the projected broken line is sequentially traced, the change in values on the two coordinate axes set in each virtual plane is in the same section. The self-intersection can be detected only when each is not monotonous.

S207では、CPU10は、S205において検出された単調でない区間に属する一連の点piについてのY座標の値Yiのうち、最小値Ymin及び最大値Ymaxを求める。そして、CPU10は、点列(pi_xs〜pi_xe)のうち、Y座標の値YiがYmin以上Ymax以下である領域の両外側に近接する各点によって囲まれたiの区間[i_ys,i_ye]を選択する。図10
の例では、点p7についてのY座標の値Y7がYminであり、点p4についてのY座標の値Y4がYmaxであるから、点p1から点p7までの区間のうち、y7以上y4以下である領域の両外側に近接する点はない。そこで、点p4及び点p7によって囲まれた区間[1,7]そのものが選択され
る。
In S207, the CPU 10 obtains the minimum value Y min and the maximum value Y max among the Y coordinate values Y i for the series of points p i belonging to the non-monotonic section detected in S205. Then, CPU 10, among the sequence of points (p i_xs ~p i_xe), Y-coordinate value Y i of i surrounded by the points close to the both outer region is less than Y min or Y max interval [I_ys , i_ye]. FIG.
In this example, Y-coordinate value Y 7 for the point p 7 is Y min, Y-coordinate value Y 4 for the point p 4 is from a Y max, the section from the point p 1 to point p 7 Of these, there is no point close to both outer sides of the region that is y 7 or more and y 4 or less. Accordingly, the interval [1,7] surrounded by point p4 and the point p 7 itself is selected.

次のS208では、サフィックスiが区間[i_ys,i_ye]に属する一連の点pi_ys〜pi_yeを繋ぐ折れ線を構成する全線分から選ばれる二本の線分の全組合せに対して、交差(即
ち、共通座標)の計算を試みる。即ち、CPU10は、X−Y座標系において2本の線分を夫々示す連立方程式の解の算出を、試みる。
In the next S208, the suffix i is the interval [i_ys, i_ye] for all combinations of two line segments selected from all line segments constituting a line connecting a series of points p i_ys ~p i_ye belonging to cross (i.e., Attempt to calculate (common coordinates). That is, the CPU 10 tries to calculate a solution of simultaneous equations indicating two line segments in the XY coordinate system.

次のS209では、CPU10は、S208での計算の結果、何れの線分の組合わせについて解(即ち、交差の座標)が算出されたか否かに基づいて、X−Y平面上において自己交差があるかどうかをチェックする。そして、X−Y平面上において自己交差がないと判断した場合には、CPU10は、S211において、戻り値を“交差なし”として、当該サブルーチンを終了して、処理を図3のルーチンに戻す。   In the next step S209, the CPU 10 performs self-intersection on the XY plane based on whether or not the solution (that is, the coordinates of the intersection) is calculated for any combination of line segments as a result of the calculation in step S208. Check if it exists. If it is determined that there is no self-intersection on the XY plane, the CPU 10 sets the return value to “no intersection” in S211, ends the subroutine, and returns the process to the routine of FIG.

これに対して、X−Y平面上において自己交差があるとS209にて判断した場合には、CPU10は、処理をS210へ進める。即ち、CPU10は、S204及びS207を経ることで、何れか一方の座標軸上において、値の変化が単調でない区間の両外側に夫々値を有する二点を選択しする。そして、CPU10は、S208及びS209を経ることで、前記折れ線における前記選択された二点間に存する各線分間の交点を求め、何れか2つの線分間に交点が算出できた場合に限り、自己交差を検出できることとなる。   On the other hand, if it is determined in S209 that there is a self-intersection on the XY plane, the CPU 10 advances the process to S210. In other words, through S204 and S207, the CPU 10 selects two points each having a value on both outer sides of a section where the change in value is not monotonous on any one of the coordinate axes. And CPU10 calculates | requires the intersection of each line segment which exists between the said selected 2 points | pieces in the said broken line through S208 and S209, and is self-intersection only when the intersection can be calculated in any two line segments. Can be detected.

S210では、CPU10は、“交差あり”及び解が算出された二本の線分を夫々区切る4つの点piを戻り値として、当該サブルーチンを終了して、処理を図3に戻す。 In S210, the CPU 10 ends the subroutine by using four points p i dividing the two line segments for which “there is an intersection” and the solution is calculated, and returns the processing to FIG.

処理が戻された図3では、CPU10は、S102の次のS103において、S102の処理からの戻り値が“交差あり”であったか“交差なし”であったかを、チェックする。そして、戻り値が“交差なし”であった場合には、CPU10は、S108において、戻り値を“交差なし”として、当該サブルーチンを終了して、処理を図2のメインルーチンに戻す。   In FIG. 3 in which the process is returned, the CPU 10 checks whether the return value from the process of S102 is “with intersection” or “without intersection” in S103 after S102. If the return value is “no intersection”, the CPU 10 sets the return value to “no intersection” in S108, ends the subroutine, and returns the process to the main routine of FIG.

これに対して、戻り値が“交差あり”であった場合には、CPU10は、処理をS104へ進める。S104では、CPU10は、S101にて生成した点列を、第2の平面(Y−Z平面)に投影した上で(投影手段に相当)、当該第2の平面上に投影した点列を結ぶ折れ線が自己交差を有するかを検出する処理を実行する(平面上自己交差検出手段に相当)。図5は、S104にて実行される平面上曲線の自己交差検出処理サブルーチンを示すフローチャートである。図5のフローチャートは、図4のフローチャートと比較して、点列が投影される平面がY−Z平面であるので、処理の対象となる座標の値が、Y座標の値とZ座標の値である点においてのみ相違する。例えば、図4のS201に相当する図5のS301では、S101にて生成された点列を構成する各点の座標値からX座標の値が
削除されることにより、点列(pi={Xi,Yi,Zi}:i=0,1,2,…,N)がY−Z平面に投影される。その他の点において、図5は、図4と同じなので、その説明を省略する。
On the other hand, if the return value is “with intersection”, the CPU 10 advances the process to S104. In S104, the CPU 10 projects the point sequence generated in S101 onto the second plane (YZ plane) (corresponding to the projecting means), and then connects the projected point sequence onto the second plane. A process of detecting whether the broken line has a self-intersection is executed (corresponding to a self-intersection detecting means on a plane). FIG. 5 is a flowchart showing the self-intersection detection subroutine for the curved line on the plane executed in S104. In the flowchart of FIG. 5, compared to the flowchart of FIG. 4, the plane on which the point sequence is projected is the YZ plane, and thus the coordinate values to be processed are the Y coordinate value and the Z coordinate value. It is different only in that. For example, in S301 in FIG. 5 corresponding to S201 in FIG. 4, the value of the X coordinate is deleted from the coordinate value of each point constituting the point sequence generated in S101, so that the point sequence ( pi = { Xi, Yi, Zi}: i = 0,1,2, ..., N) is projected onto the YZ plane. In other respects, FIG. 5 is the same as FIG.

次のS105では、CPU10は、S104の処理からの戻り値が“交差あり”であったか“交差なし”であったかを、チェックする。そして、戻り値が“交差なし”であった場合には、CPU10は、S108において、戻り値を“交差なし”として、当該サブルーチンを終了して、処理を図2のメインルーチンに戻す。   In the next S105, the CPU 10 checks whether the return value from the process of S104 is “with intersection” or “without intersection”. If the return value is “no intersection”, the CPU 10 sets the return value to “no intersection” in S108, ends the subroutine, and returns the process to the main routine of FIG.

これに対して、戻り値が“交差あり”であった場合には、CPU10は、処理をS106へ進める。S106では、CPU10は、S102(S210)における戻り値に含まれる4つの点piとS104(S310)における戻り値に含まれる4つの点piとが一致しているかどうかを判定する。即ち、CPU10は、当該判定結果に基づいて、第1の平面(X−Y平面)に投影された曲線の交点の位置と第2の平面(Y−Z平面)に投影された曲線の交点の位置とが同じであるか否かを、チェックする。そして、両平面に夫々投影された曲線の交点の位置が同じでなければ、CPU10は、S108において、戻り値を“交差なし”として、当該サブルーチンを終了して、処理を図2のメインルーチンに戻す。 On the other hand, if the return value is “with intersection”, the CPU 10 advances the process to S106. In S106, the CPU 10 determines whether or not the four points p i included in the return value in S102 (S210) match the four points p i included in the return value in S104 (S310). That is, the CPU 10 determines, based on the determination result, the position of the intersection of the curve projected on the first plane (XY plane) and the intersection of the curve projected on the second plane (YZ plane). Check if the position is the same. If the positions of the intersections of the curves projected on both planes are not the same, the CPU 10 sets the return value to “no intersection” in S108, ends the subroutine, and proceeds to the main routine of FIG. return.

これに対して、両平面に夫々投影された曲線の交点の位置が同じであれば、CPU10は、S107において、戻り値を“交差あり”として、当該サブルーチンを終了して、処理を図2のメインルーチンに戻す。以上に説明したS103,S105,S106〜S107が、全ての仮想平面に投影された曲線に含まれる自己交差が検出された場合に、前記三次元曲線モデルに自己交差があると判定する判定手段に相当する。   On the other hand, if the positions of the intersections of the curves projected onto the two planes are the same, the CPU 10 sets the return value to “intersection” in S107, ends the subroutine, and performs the process of FIG. Return to the main routine. S103, S105, and S106 to S107 described above are determination means for determining that there is a self-intersection in the three-dimensional curve model when a self-intersection included in curves projected on all virtual planes is detected. Equivalent to.

処理が戻されたメインルーチンでは、CPU10は、S003の次のS004において、S003の処理からの戻り値が“交差あり”であったか“交差なし”であったかを、チェックする。そして、戻り値が“交差なし”であった場合には、CPU10は、三次元曲線モデル生成プログラム16による処理を終了する。   In the main routine to which the process is returned, the CPU 10 checks whether the return value from the process of S003 is “with intersection” or “without intersection” at S004 after S003. If the return value is “no intersection”, the CPU 10 ends the process by the three-dimensional curve model generation program 16.

これに対して、戻り値が“交差あり”であったとS004にて判断した場合には、CPU10は、処理をS005へ進める。S005では、CPU10は、S001にて入力された条件を調整することにより、調整後の条件を満たす直線形状を有するハーネス形状の三次元モデルを算出する。S005の完了後、CPU10は、三次元曲線モデル生成プログラム16による処理を終了する。
<作用>
以上に説明した本実施形態によれば、ハーネスの三次元曲線モデルが、第1の面及び第2の面に夫々投影されるとともに、各面に投影された二次元曲線について、夫々自己交差が検出される(S102,S104)。
On the other hand, if it is determined in S004 that the return value is “with intersection”, the CPU 10 advances the process to S005. In S005, the CPU 10 adjusts the condition input in S001 to calculate a harness-shaped three-dimensional model having a linear shape that satisfies the adjusted condition. After completion of S005, the CPU 10 ends the process by the three-dimensional curve model generation program 16.
<Action>
According to the present embodiment described above, the three-dimensional curve model of the harness is projected onto the first surface and the second surface, respectively, and the two-dimensional curve projected onto each surface has self-intersection. It is detected (S102, S104).

各面に投影された二次元曲線に対する自己交差の検出では、一方の座標軸上において、単調でない区間が検出されると(S202,S203)、当該軸上において当該単調でない区間の両外側に近接する点によって区切られる区間が、選択される(S204)。その結果、一方の軸上において単調でない区間に重なる区間の全体が、選択される。   In the detection of self-intersection with respect to the two-dimensional curve projected on each surface, if a non-monotonic section is detected on one coordinate axis (S202, S203), it approaches the outer sides of the non-monotonic section on the axis. A section delimited by points is selected (S204). As a result, the entire section that overlaps the non-monotonous section on one axis is selected.

しかし、選択された区間は、ループを形成している可能性もあるが、単に蛇行をしている可能性もある。   However, the selected section may form a loop or may simply meander.

そこで、当該選択された区間について、他方の軸上においても単調でない区間があるか否かが検出される(S205,S206)。他方の軸においても単調でない区間があれば、単純な蛇行に過ぎない場合を排除されるからである。そして、他方の軸上においても単調でない区間が検出された場合には、更に、当該軸上において当該単調でない区間の両外
側に近接する点によって区切られる区間が、選択される(S207)。
Therefore, it is detected whether there is a non-monotonous section on the other axis for the selected section (S205, S206). This is because if there is a section that is not monotonous on the other axis, the case of simple meandering is eliminated. If a non-monotonous section is detected on the other axis, a section delimited by points adjacent to both sides of the non-monotonic section on the axis is further selected (S207).

但し、以上の処理によっても、選択された区間が単に渦巻き状になっているに過ぎない可能性も残される。そこで、念のため、当該区間を構成する各線分について、交差の計算がなされる(S208)。この場合、従来技術と異なり二次元上での計算となるので計算が単純化されるとともに、予め計算をすべき区間が区切られているので、計算量が大幅に減少することになる。なお、三次元曲線モデルを生成するプログラムの特性上、渦巻き状の形状が形成される可能性が低いのであれば、S207〜S208は省略可能である。   However, the above processing also leaves a possibility that the selected section is merely spiral. Therefore, as a precaution, the intersection is calculated for each line segment constituting the section (S208). In this case, unlike the conventional technique, the calculation is performed in two dimensions, so that the calculation is simplified and the section to be calculated is divided in advance, so that the calculation amount is greatly reduced. If the possibility of forming a spiral shape is low due to the characteristics of the program that generates the three-dimensional curve model, S207 to S208 can be omitted.

以上の処理の結果、一方の面のみにおいて自己交差が検出された場合には、三次元曲線モデルが螺旋を描いているに過ぎないと判断されるので、交差がないと最終判断される(S108)。   As a result of the above processing, when a self-intersection is detected on only one surface, it is determined that the three-dimensional curve model is merely a spiral, and therefore it is finally determined that there is no intersection (S108). ).

これに対して、両面において自己交差が検出された場合であっても、各面において自己交差が検出された位置(即ち、交差している線分)が異なる場合には、やはり、三次元曲線モデルが螺旋を描いているに過ぎないと判断される(S106:No)。よって、その場合も、交差がないと最終判断される(S108)。   On the other hand, even if self-intersection is detected on both sides, if the positions where self-intersection is detected on each side (that is, intersecting line segments) are different, the three-dimensional curve is still used. It is determined that the model is merely a spiral (S106: No). Therefore, in this case, it is finally determined that there is no intersection (S108).

これに対して、両面において夫々自己交差が検出され、且つ、各面において自己交差が検出された位置が同じ場合には、三次元曲線モデルが螺旋を描いていると判断される(S106:Yes)。よって、その場合には、交差があると最終判断される(S108)。   On the other hand, when the self-intersection is detected on both surfaces and the position where the self-intersection is detected on each surface is the same, it is determined that the three-dimensional curve model draws a spiral (S106: Yes). ). Therefore, in that case, it is finally determined that there is an intersection (S108).

以上説明したように、本実施形態によると、交差計算の計算量が従来と比して大幅に減少するという利点がある。   As described above, according to the present embodiment, there is an advantage that the calculation amount of the intersection calculation is significantly reduced as compared with the conventional case.

1 コンピュータ
10 CPU
12 入力装置
15 ハードディスク
16 三次元曲線モデル生成プログラム
1 computer 10 CPU
12 Input device 15 Hard disk 16 3D curve model generation program

Claims (5)

コンピュータを、
三次元曲線モデルを、相互に異なる方向を向いた複数の仮想平面に夫々投影する投影手段,
前記各仮想平面において、投影された曲線に含まれる自己交差を夫々検出する平面上自己交差検出手段,及び、
前記平面上自己交差検出手段により、全ての仮想平面に投影された曲線に含まれる自己交差が検出された場合であって、且つ、前記各仮想平面において自己交差が検出された位置が同じ場合には、前記三次元曲線モデルに自己交差があると判定する判定手段
として機能させる三次元曲線モデルにおける自己交差の検出プログラム。
Computer
Projection means for projecting a three-dimensional curve model onto a plurality of virtual planes facing different directions,
Self-intersection detecting means on the plane for detecting self-intersection included in the projected curve in each virtual plane, and
When self-intersections included in curves projected on all virtual planes are detected by the self-intersection detection unit on the plane, and the positions where the self-intersections are detected in the respective virtual planes are the same A program for detecting a self-intersection in a three-dimensional curve model that functions as a determination unit that determines that the three-dimensional curve model has a self-intersection.
前記投影手段は、前記三次元モデルを、複数の点列によって区切られた複数の直線状の線分からなる折れ線として、前記複数の仮想平面に夫々投影し、
前記平面上自己交差検出手段は、各仮想平面において、投影された折れ線上の点列を順に辿ったならば各仮想平面に設定された二つの座標軸上の値の変化が同じ区間において夫々単調とならない場合に、投影された曲線に自己交差が検出できたとする
ことを特徴とする請求項1記載の三次元曲線モデルにおける自己交差の検出プログラム。
The projecting means projects the three-dimensional model onto the plurality of virtual planes as a broken line composed of a plurality of linear segments separated by a plurality of point sequences,
The on-plane self-intersection detection means, in each virtual plane, if the point sequence on the projected polygonal line is traced in order, the change in values on the two coordinate axes set in each virtual plane is monotonous in the same section. 2. The self-intersection detection program for a three-dimensional curve model according to claim 1, wherein self-intersection can be detected in the projected curve when it is not.
前記平面上自己交差検出手段は、各仮想平面において、投影された折れ線上の点列を順に辿ったならば各仮想平面に設定された二つの座標軸上の値の変化が同じ区間において夫々単調とならない場合であり、且つ、何れか一方の座標軸上において、値の変化が単調でない区間の両外側に近接して値を有する二点を選択し、前記折れ線における前記選択された二点間に存する各線分間の交点を求め、何れか2つの線分間に交点が算出できた場合にのみ、投影された曲線に自己交差が検出できたとする
ことを特徴とする請求項2記載の三次元曲線モデルにおける自己交差の検出プログラム。
The on-plane self-intersection detection means, in each virtual plane, if the point sequence on the projected polygonal line is traced in order, the change in values on the two coordinate axes set in each virtual plane is monotonous in the same section. And two points having values close to both outer sides of a section where the change in value is not monotonous on any one of the coordinate axes, and exists between the selected two points in the broken line 3. The three-dimensional curve model according to claim 2, wherein the intersection between each line segment is obtained, and the self-intersection can be detected in the projected curve only when the intersection can be calculated in any two line segments. Self-intersection detection program.
前記平面上自己交差検出手段は、更に、交点が算出できた二つの線分を特定し、
前記判定手段は、前記平面上自己交差検出手段により、全ての仮想平面に投影された曲線に含まれる自己交差が検出された場合であり、且つ、前記平面上自己交差検出手段により各仮想平面について特定された前記交点が算出できた二つの線分が一致する場合にのみ
、前記三次元曲線モデルに自己交差があると判定する
ことを特徴とする請求項3記載の三次元曲線モデルにおける自己交差の検出プログラム。
The self-intersection detecting means on the plane further specifies two line segments for which intersection points can be calculated,
The determination means is a case where a self-intersection included in a curve projected on all virtual planes is detected by the self-intersection detection means on the plane, and each virtual plane is detected by the self-intersection detection means on the plane. 4. The self-intersection in the three-dimensional curve model according to claim 3, wherein it is determined that the three-dimensional curve model has a self-intersection only when two line segments for which the specified intersection point can be calculated match. Detection program.
コンピュータにより、三次元曲線モデルを、相互に異なる方向を向いた複数の仮想平面に夫々投影し、
前記各仮想平面において、投影された曲線に含まれる自己交差を夫々検出し、
全ての仮想平面に投影された曲線に含まれる自己交差が検出された場合であって、且つ、前記各仮想平面において自己交差が検出された位置が同じ場合には、前記三次元曲線モデルに自己交差があると判定する
ことを特徴とする三次元曲線モデルにおける自己交差の検出方法。
The computer projects the 3D curve model onto a plurality of virtual planes facing different directions,
In each of the virtual planes, self-intersections included in the projected curves are detected, respectively.
When self-intersections included in curves projected on all virtual planes are detected and the positions where self-intersections are detected in the respective virtual planes are the same, the self-intersection is added to the three-dimensional curve model. A method for detecting self-intersection in a three-dimensional curve model, characterized by determining that there is an intersection.
JP2009217093A 2009-09-18 2009-09-18 Self-intersection detection program and self-intersection detection method in 3D curve model Expired - Fee Related JP5407695B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009217093A JP5407695B2 (en) 2009-09-18 2009-09-18 Self-intersection detection program and self-intersection detection method in 3D curve model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009217093A JP5407695B2 (en) 2009-09-18 2009-09-18 Self-intersection detection program and self-intersection detection method in 3D curve model

Publications (2)

Publication Number Publication Date
JP2011065534A JP2011065534A (en) 2011-03-31
JP5407695B2 true JP5407695B2 (en) 2014-02-05

Family

ID=43951686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009217093A Expired - Fee Related JP5407695B2 (en) 2009-09-18 2009-09-18 Self-intersection detection program and self-intersection detection method in 3D curve model

Country Status (1)

Country Link
JP (1) JP5407695B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6094933B1 (en) * 2015-10-02 2017-03-15 株式会社ミスミ Design support system, design support program, and design support method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991332A (en) * 1995-09-28 1997-04-04 Toyota Motor Corp Method and device for generating and correcting cross-section data
JPH09292873A (en) * 1996-04-25 1997-11-11 Sumitomo Metal Ind Ltd Figure drawing device for variable line width character information
JP3845477B2 (en) * 1996-07-19 2006-11-15 大日本印刷株式会社 Graphic operation unit
JPH1115857A (en) * 1997-06-24 1999-01-22 Oki Electric Ind Co Ltd Device and method for detecting interference component in two-dimensional cad
JPH11149574A (en) * 1997-11-19 1999-06-02 Nippon Telegr & Teleph Corp <Ntt> Method for displaying three-dimensional line drawing and recording medium for recording the method
US20100017007A1 (en) * 2008-07-18 2010-01-21 Wolfgang Seibold Apparatus and Method For Designing an Electrode Shape for an Electrical Discharge Machining Process

Also Published As

Publication number Publication date
JP2011065534A (en) 2011-03-31

Similar Documents

Publication Publication Date Title
USRE48940E1 (en) Simulation of the machining of a workpiece
JP6249936B2 (en) Method and system for generating trajectories
EP2187325B1 (en) Garment fit simulation device, garment fit simulation method and garment fit simulation program
JP2003150980A (en) Video game device, display method of character in video game, program, and recording medium
JP5195641B2 (en) Harness verification device and harness verification program
JP5650021B2 (en) Three-dimensional environment restoration apparatus, processing method thereof, and program
CN103679792A (en) Rendering method and system for three-dimensional models
JP5407695B2 (en) Self-intersection detection program and self-intersection detection method in 3D curve model
JP5625700B2 (en) Three-dimensional CAD program, apparatus, and three-dimensional CAD processing method
JP2010152863A (en) System and method for extracting boundary node, and program
WO2008026752A1 (en) Information processing method and information processing apparatus
JP4915518B2 (en) Three-dimensional model display device, program and method thereof
JP5290138B2 (en) Mesh changing device, mesh changing method, and program
JP4997265B2 (en) Component part data simplification device, component part data simplification method, and component part data simplification program
JP4622987B2 (en) Tool reference plane data creation device and creation method
JP7285660B2 (en) DIMENSION GENERATION DEVICE, DIMENSION GENERATION METHOD AND PROGRAM
JP2007272397A (en) Design support device, design support method, and program
JP2004094750A (en) Three-dimensional configuration processor, interference model detecting method, program and storage medium
WO2023013042A1 (en) Interference check device
JP6559434B2 (en) GAME PROGRAM AND GAME DEVICE
JP2003271687A (en) Device and method for detecting interference model and memory medium
JP5842460B2 (en) Drawing creation program, apparatus and processing method
JP2755398B2 (en) Point inside / outside judgment processing method for solid model
KR100876641B1 (en) Contact perception method and the system which use the subshell
JP2004062546A (en) Three dimensional shape processing device and interference model detecting method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130611

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131021

LAPS Cancellation because of no payment of annual fees