(57)【要約】  ２つの通過点でそれぞれ定義された通過点情報から、変形可能な線状構造物のルートとなる曲線を生成するうえで必要な制御点を配置し、配置した制御点間の位置関係を基に、その制御点の再配置を必要に応じて行うことにより、曲線を生成するうえでの制御点の初期配置を確定させ、確定させた初期配置から、一つ以上の制御点の配置を変更しつつ、２つの通過点間の前記曲線を再度、生成し、再度、生成した曲線の評価を行い、その曲線のなかから所定の条件を満たす曲線を抽出する。
2008084517.tif 000002
【特許請求の範囲】
【請求項１】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムにおいて、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置する第１の制御点配置手段と、
前記第１の制御点配置手段が配置した制御点間の位置関係を基に、該制御点の再配置を行う第２の制御点配置手段と、
前記第１及び第２の制御点配置手段のうちの一方による前記制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成する曲線生成手段と、
前記曲線生成手段が生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線を抽出する曲線評価手段と、
を具備することを特徴とするルート曲線生成システム。
【請求項２】
請求項１記載のルート曲線生成システムであって、
前記曲線として４次以上のベジェ曲線を前記曲線生成手段が生成する場合、前記第２の制御点配置手段は、前記第１の制御点配置手段が配置する、前記２つの通過点を除く他の制御点のうちの少なくとも一つを対象に再配置を行う。
【請求項３】
請求項２記載のルート曲線生成システムであって、
前記第２の制御点配置手段は、前記２つの通過点と該２つの通過点の隣にそれぞれ位置する制御点の間の２つの直線距離のうちの少なくとも一つをより短くする、及び前記４つの制御点のうちの３つの制御点間を直線で結ぶ線分の角度をより大きくする、のうちの少なくとも一方を行うことにより前記再配置を行う。
【請求項４】
請求項３記載のルート曲線生成システムであって、
前記第２の制御点配置手段は、前記２つの通過点の隣にそれぞれ位置する２つの制御点間の直線距離を少なくとも考慮して、該２つの通過点と該２つの制御点の間の直線距離のうちの少なくとも一つをより短くする前記再配置を行う。
【請求項５】
請求項１記載のルート曲線生成システムであって、
前記曲線評価手段は、前記所定の条件を満たす曲線として、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出でき、
前記曲線生成手段は、前記曲線評価手段が前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置をより細かく変更しながら、前記２つの通過点間の前記曲線を生成する。
【請求項６】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムにおいて、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置する制御点配置手段と、
前記制御点配置手段による前記制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成する第１の曲線生成手段と、
前記第１の曲線生成手段が生成した曲線の評価を行い、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出する曲線評価手段と、
前記曲線評価手段が前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置を前記第１の曲線生成手段より細かく変更しながら、前記２つの通過点間の曲線を生成する第２の曲線生成手段と、
前記第２の曲線生成手段が生成した曲線のなかから前記２つの通過点間で最適の曲線を選択する曲線選択手段と、
を具備することを特徴とするルート曲線生成システム。
【請求項７】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線をコンピュータにより生成するためのルート曲線生成方法において、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置し、
該配置した制御点間の位置関係を基に、該制御点の再配置を行い、前記曲線を生成するうえでの前記制御点の初期配置を確定させ、
該確定させた初期配置から、一つ以上の制御点の配置を変更しつつ、前記２つの通過点間の前記曲線を生成し、
該生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線を抽出する、
ことを特徴とするルート曲線生成方法。
【請求項８】
請求項７記載のルート曲線生成方法であって、
前記所定の条件を満たす曲線として、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出し、
前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置をより細かく変更しながら、前記２つの通過点間の前記曲線を生成する。
【請求項９】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線をコンピュータにより生成するためのルート曲線生成方法において、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置し、
前記配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成し、
該生成した曲線の評価を行い、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出し、
前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置を前回より細かく変更しながら、前記２つの通過点間の曲線を再度、生成し、
前記再度、生成した曲線のなかから前記２つの通過点間で最適の曲線を選択する、
ことを特徴とするルート曲線生成方法。
【請求項１０】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムの構築に用いられるコンピュータに、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置する第１の制御点配置機能と、
前記第１の制御点配置機能により配置した制御点間の位置関係を基に、該制御点の再配置を行う第２の制御点配置機能と、
前記第１及び第２の制御点配置機能のうちの一方による前記制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成する曲線生成機能と、
前記曲線生成機能により生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線を抽出する曲線評価機能と、
を実現させるためのプログラム。
【請求項１１】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムの構築に用いられるコンピュータに、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置する制御点配置機能と、
前記制御点配置機能による前記制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成する第１の曲線生成機能と、
前記第１の曲線生成機能により生成した曲線の評価を行い、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出する曲線評価機能と、
前記曲線評価機能により前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置を前記第１の曲線生成機能より細かく変更しながら、前記２つの通過点間の曲線を生成する第２の曲線生成機能と、
前記第２の曲線生成機能により生成した曲線のなかから前記２つの通過点間で最適の曲線を選択する曲線選択機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルート設計により作成された２つの通過点間を通るケーブル等の変形可能な線状構造物のルートとなる曲線を生成するための技術に関する。
【背景技術】
【０００２】
製品開発する装置のなかには、電気配線としてケーブルが用いられるものがある。ワイヤーハーネスは、電線やケーブルを加工したものであり、複数のユニットを備えた装置の大部分、及び自動車などでは、必須の部品となっている。このことから近年では、ケーブルを配置するルート設計を支援するソフトウェア（以降「ルート設計支援ソフト」と表記）が販売されている。製造業ではＣＡＤ（Computer Aided Design）が広く導入されていることから、その支援ソフトは普通、装置の設計データを用いて、それに配置するケーブルのルートを仮想空間上で設計するようになっている。ケーブルのルート設計を支援する設計支援システムは、そのルート設計支援ソフトをデータ処理装置（コンピュータ）に実行させることで実現される。【０００３】
ケーブルは比較的に柔軟性の高い部品である。しかし、ケーブルを考慮せずに設計を進めると、ケーブルが原因で製品の設計変更をしなければならない場合が生じることがある。これは、ケーブルを無理に曲げなくてはならない、取付作業性が悪い、他の部品と干渉する、といった不具合を見落としやすいためである。設計データを用いたルート設計では、そのような不具合の見落としを容易に回避することができる。【０００４】
設計支援システムを用いたルート設計は、ケーブルが通過すべき位置である通過点を指定（作成）していくことで行われる。その通過点の位置指定では、その位置を特定するうえで基準となる位置である位置基準を属性として選択するようになっているのが普通である。その位置基準としては、仮想空間の座標系の原点を基準にしたもの、別の通過点を基準にしたもの、及び仮想空間に配置された部品（モデル）を基準にしたもの、がある。【０００５】
ケーブルのルートは、各通過点を通る曲線を求めることで決定される。その曲線を完全に表現しうる計算式は無い（たとえ存在していたとしても非常に複雑・難解であると考えられる）。このため、曲線としては、パラメトリック曲線、特にベジェ曲線（Bezier Curve）を求めるのが一般的となっている。このことから、各通過点では、その位置に加えて、ケーブルの通過方向を通過点情報として管理するのが普通となっている。ルート曲線生成システムは、ケーブルが通るルート（曲線）の生成用に設計支援システムに搭載される。【０００６】
そのルート曲線生成システムは、連続する２つの通過点間毎に曲線を生成する。その曲線としてベジェ曲線を生成する場合、２つの通過点の他に１つ以上の制御点を配置する。一般に、より複雑な曲線を生成できるようにする場合は、次数（制御点数）を増やすことで対応する。ベジェ曲線は、一般的に以下のように表現される。【０００７】
【数１】
2008084517.tif 000003
【０００８】
ここで、Ｎ：次数。Ｐ（ｋ）：ｋ番目の制御点である。
ベジェ曲線では、制御点のうち、最初と最後の制御点だけは通過し、その間の制御点は曲線のカーブの形状を決めるためにしか使われない。このため、２つの通過点のうちの一方は最初の制御点（始点）、他方は最後の制御点（終点）として使われる。そのように２つの通過点を用いることにより、それらを通るベジェ曲線を生成することができる。【０００９】
実際のケーブル（ワイヤーハーネス等を含む）には、曲げの制約条件の他に、長さの制約条件が存在する場合がある。
実物のケーブルはそれを構成する材料や長さ、太さ等から決まる一定値以上、曲げることはできない。仮想空間上ではケーブルのルートの局所的な曲がりは、図１に示すように、円弧に例えた曲率半径などで表現される。図１において、Ｒは曲率半径、Ｐ１〜３は通過点、ＬＣはケーブルのルートをそれぞれ示している。曲げの制約条件を満たすには、ルート全体で曲率半径が最小曲率半径以上となるようにする必要がある。一方、長さの制約条件は、通過点間を最小長さで結ぶのに必要なケーブル長を算出したい場合、または規定の長さで通過点間を結びたい場合などで発生する。【００１０】
従来のルート曲線生成システムのなかには、３次のベジェ曲線によりルートを表現するものがある。この３次のベジェ曲線は、始点と終点の２つの通過点（制御点）の他に、２つの制御点を有する。その２つの制御点は、曲線の連続性を維持するために、始点と終点における通過方向上にそれぞれ一つ、図２に示すように配置する。このことから、非常に扱いやすいものとなっている。図２において、Ｐ１は始点となる通過点（制御点）、Ｐ２は終点となる通過点（制御点）、Ｖ１及びＶ２はそれぞれ通過点Ｐ１及びＰ２の通過方向、Ｃ２は通過点Ｐ１の通過方向Ｖ１上に配置された制御点、Ｃ３は通過点Ｐ２の通過方向Ｖ２上（正確には通過点Ｐ２から通過方向Ｖ２の逆方向上）に配置された制御点である。このように制御点は、先頭を「Ｃ」とし、それに続くシンボルとして始点の制御点（通過点Ｐ１）からの順番を示す数値を付加したシンボル列で示している。それにより例えば「Ｃ２」は、通過点Ｐ１である始点の制御点Ｃ１の次に位置する制御点を示している。他も同様である。【００１１】
３次のベジェ曲線では、実際にはケーブルを配置することが可能な通過点間であっても、仮想空間上では適切なルートを決定できない場合が生じやすい。例えば図３に示すように、通過点Ｐ１及びＰ２が近傍に存在し、それらの通過方向Ｖ１及びＶ２が平行、或いは平行に近いような場合、通過点Ｐ１及びＰ２間に最小曲率半径の円ＳＭより曲率半径の大きいルートＬＣが実際には存在していても、仮想空間上では図４に示すように２つの制御点Ｃ２及びＣ３を配置する結果、ルートＬＣにおける最小曲率半径は円ＳＭより小さい円ＳＲに対応するものとなっている。このようなことから、曲げの制約条件と線長を考慮できる従来のルート曲線生成システムでは、４次以上のベジェ曲線を用いるのが普通となっている。以降、ルートＬＣにおける実際の最小曲率半径については、ケーブルの曲げ制約条件である最小曲率半径と区別するために、「最小ルート曲率半径」と呼び、その最小曲率半径自体は「デフォルト半径」と呼ぶことにする。【００１２】
４次以上のベジェ曲線、例えば５次のベジェ曲線では、２つの通過点Ｐ１及びＰ２に加え、４つの制御点を配置する。それにより、５次のベジェ曲線を用いる場合、満たすべき制約条件を全て満たすルート（ベジェ曲線）が得られるまで、４つの制御点の再配置を繰り返す収束計算が行われる。４つの制御点の配置方法には、例えば以下のようなものがある。図５を参照して、具体的に説明する。
（１）始点、及び終点とする通過点をそれぞれ制御点Ｃ１及びＣ６とする。
（２）曲線の連続性を維持させるために、制御点Ｃ２及びＣ５はそれぞれ、制御点Ｃ１及びＣ２を通過する通過方向と平行な線分上に存在する必要がある。よって、制御点Ｃ２は制御点Ｃ１（通過点Ｐ１）から通過方向に、制御点Ｃ５は制御点Ｃ６（通過点Ｐ１）から通過方向の反対方向に、それぞれ所定のオフセット（以降、便宜的に「第１のオフセット」と呼ぶ）分、離れた位置に配置する。
（３）制御点Ｃ１から制御点Ｃ２へ向かうベクトルをＡ、制御点Ｃ６から制御点Ｃ５に向かうベクトルをＢと定義する。また制御点Ｃ２及びＣ５を結ぶ直線の中点Ｍから、ベクトルＡとベクトルＢの合成ベクトル方向に任意のオフセット量ｈだけ離れた位置に仮中点ＴＭを設定する。
（４）仮中点ＴＭから制御点Ｃ２及びＣ５を結ぶ直線方向と平行な方向に、制御点Ｃ２側へ所定のオフセット（以降、便宜的に第２のオフセット」と呼ぶ）分、離れた位置に制御点Ｃ３、逆に制御点Ｃ５側へ第２のオフセット分、離れた位置には制御点Ｃ４をそれぞれ配置する。【００１３】
上述したような制御点Ｃ２〜Ｃ５の配置は、初期配置である。収束計算は、上記オフセット量ｈを変更しながら行う。
図７は、従来のルート曲線生成システムが実行するルート生成処理のフローチャートである。そのルート生成処理は、上記収束計算を行い、満たすべき制約条件を全て満たすルート（ベジェ曲線）が得られる４つの制御点の配置を特定するために実行される処理である。満たすべき制約条件としては、曲げの制約条件（最小ルート曲率半径がデフォルト半径以上という条件）、長さの制約条件（例えば規定の長さ以下で通過点間を結ぶために目標とするケーブルの線長（以下「目標線長」）以下という条件）に対応したものである。ここで図７を参照して、その生成処理について具体的に説明する。【００１４】
先ず、ステップＳ１では、初期値として通過点間のケーブルの目標線長とデフォルト半径（図中「最小曲率」と表記）を指定する。それらの指定は、ユーザが予め設定するデータを参照して行う場合と、通過点間距離を目標線長の初期値として利用する場合がある。続くステップＳ２では、目標線長のα倍（例として０．２５（＝α）倍等した値を利用する）をオフセット量ｈの初期値にして、そのオフセット量ｈを変化させながら収束（繰り返し）計算を行う。その収束計算が終了した後にステップＳ３に移行する。【００１５】
ステップＳ３では、オフセット量ｈの変化により長さが目標線長となるルート（ベジェ曲線）の判定を行う。目標線長となる長さのルートが存在する場合、判定はＯＫとなり、ステップＳ５に移行する。そうでない場合には、判定はＮＧとなり、ステップＳ４に移行して、目標線長をより長くさせるための設定を行った後、上記ステップＳ１に戻る。それにより、次のステップＳ１の実行では前回よりも長い目標線長を指定させる、又は、現在の目標線長をβ倍（例として１．２５（＝β）倍）にした値を新たな目標線長として設定する。【００１６】
ステップＳ５では、最小ルート曲率半径の判定を行う。その判定は、目標線長となるルートのみを対象に行い、そのルートのなかで最小ルート曲率半径がデフォルト半径以上となっているものが存在する場合、判定はＯＫとなり、ここでルート生成処理を終了する。そうでない場合には、つまり長さが目標線長に達しない場合や目標線長のルートでも最小ルート曲率半径がデフォルト半径以下の場合には、判定はＮＧとなり、上記ステップＳ４に移行する。それにより、目標線長を再設定（線長を延ばす等）して収束計算を再度、行う。【００１７】
ルートの長さは、図５及び図６から明らかなように、上記オフセット量ｈが小さくなるほど、短くなる傾向にある。しかし、図５に示すように、通過点Ｐ１及びＰ２が近傍に位置している場合、曲げの制約条件を満たすルートＬＳが実際には存在していても、仮想空間上で生成するルートＬＣは曲げの制約条件を満たさないということが生じやすい。また、図６に示すように、ベクトルＡとベクトルＢの各向きによっては、局所的にルートの曲がりがきつくなる箇所が生じる場合がある。その場合、曲げの制約条件を満たすルートＬＣを生成できなくなることが生じやすい。【００１８】
長さの制約条件を満たすことは重要なことである。しかし、曲げの制約条件と比較すれば、その重要性は低いと云える。なぜなら、ケーブル全体の長さの変更は比較的に容易なのに対し、曲げの制約条件は必ず満たす必要があるからである。このようなことから、曲げの制約条件を満たすルートをより確実に生成できるようにすることが重要と考えられる。そのようなルートをより確実に生成できるようにすることにより、ユーザ（設計者）にとってはルート設計をより容易、且つ迅速に行えるようになると考えられる。【００１９】
装置に取り付けられる変形可能な線状構造物は、上記ケーブル（光ケーブルを含む）や電線、或いはワイヤーハーネス等の比較的に細いものだけでなく、例えば筒状の比較的に太いものもある。その筒状の線状構造物は、空気等の流体を流すために、或いは内部に別の線状構造物を通すために取り付けられる。ルート設計をより容易、且つ迅速に行えるようにすることは、線状構造物の種類に係わらず、曲げの制約条件が存在する線状構造物全てが対象になると云える。【００２０】
その線状構造物は、電気製品や自動車等の１つの装置（製品）に搭載されたユニット間に取り付けられるだけでなく、それぞれが異なる場所に配置された複数の装置間に取り付けられる場合もある。このようなことからルート設計は、異なる複数の装置間に線状構造物を取り付けるために行われる場合があり得る。そのような複数の装置を場合であっても、曲げの制約条件が存在する線状構造物を取り付けるのであれば、その制約条件を満たすようにルート設計を行う必要がある。
【特許文献１】特開２００４−１２７９２５号公報
【特許文献２】特開２００４−１７２０８８号公報
【特許文献３】特開２００５−１００９１３号公報
【特許文献４】特開２０００−２８４１３０号公報
【発明の開示】
【００２１】
本発明は、曲げの制約条件を満たすルートをより確実に生成できるようにするための技術を提供することを目的とする。
本発明の第１及び第２の態様のルート曲線生成システムは共に、ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成することを前提とし、それぞれ以下の手段を具備する。
【００２２】
第１の態様のルート曲線生成システムは、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置する第１の制御点配置手段と、第１の制御点配置手段が配置した制御点間の位置関係を基に、該制御点の再配置を行う第２の制御点配置手段と、第１及び第２の制御点配置手段のうちの一方による制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、２つの通過点間の曲線を生成する曲線生成手段と、曲線生成手段が生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線を抽出する曲線評価手段と、を具備する。
【００２３】
第２の態様のルート曲線生成システムは、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置する制御点配置手段と、制御点配置手段による制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、２つの通過点間の曲線を生成する第１の曲線生成手段と、第１の曲線生成手段が生成した曲線の評価を行い、一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出する曲線評価手段と、曲線評価手段が２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で一つ以上の制御点の配置を第１の曲線生成手段より細かく変更しながら、２つの通過点間の曲線を生成する第２の曲線生成手段と、第２の曲線生成手段が生成した曲線のなかから２つの通過点間で最適の曲線を選択する曲線選択手段と、を具備する。
【００２４】
本発明の第１及び第２の態様のルート曲線生成方法は共に、ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線をコンピュータにより生成するために用いられることを前提とし、それぞれ以下のように曲線を生成する。
【００２５】
第１の態様のルート曲線生成方法では、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置し、該配置した制御点間の位置関係を基に、該制御点の再配置を行い、曲線を生成するうえでの制御点の初期配置を確定させ、該確定させた初期配置から、一つ以上の制御点の配置を変更しつつ、２つの通過点間の曲線を生成し、該生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線を抽出する。
【００２６】
第２の態様のルート曲線生成方法では、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置し、該配置を初期配置とし、一つ以上の制御点の配置を変更しながら、２つの通過点間の曲線を生成し、該生成した曲線の評価を行い、一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出し、２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で一つ以上の制御点の配置を前回より細かく変更しながら、２つの通過点間の曲線を再度、生成し、再度、生成した曲線のなかから２つの通過点間で最適の曲線を選択する。
【００２７】
本発明の第１及び第２の態様のプログラムは共に、ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムの構築に用いられるコンピュータに実行させることを前提とし、そのコンピュータ上に以下の機能をそれぞれ実現させる。
【００２８】
第１の態様のプログラムでは、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置する第１の制御点配置機能と、第１の制御点配置機能により配置した制御点間の位置関係を基に、該制御点の再配置を行う第２の制御点配置機能と、第１及び第２の制御点配置機能のうちの一方による制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、２つの通過点間の曲線を生成する曲線生成機能と、曲線生成機能により生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線を抽出する曲線評価機能と、を実現させる。
【００２９】
第２の態様のプログラムでは、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置する制御点配置機能と、制御点配置機能による制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、２つの通過点間の曲線を生成する第１の曲線生成機能と、第１の曲線生成機能により生成した曲線の評価を行い、一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出する曲線評価機能と、曲線評価機能により２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で一つ以上の制御点の配置を第１の曲線生成機能より細かく変更しながら、２つの通過点間の曲線を生成する第２の曲線生成機能と、第２の曲線生成機能により生成した曲線のなかから２つの通過点間で最適の曲線を選択する曲線選択機能と、を実現させる。
【００３０】
本発明を適用した場合、２つの通過点でそれぞれ定義された通過点情報から、曲線（ルート）を生成するうえで必要な制御点を配置し、配置した制御点間の位置関係を基に、制御点の再配置を必要に応じて行い、変形可能な線状構造物のルートとなる曲線を生成するうえでの制御点の初期配置を確定させ、その確定させた初期配置から、一つ以上の制御点の配置を変更しつつ、２つの通過点間の曲線を生成し、生成した曲線の評価を行い、その曲線のなかから所定の条件を満たす曲線を抽出する。
【００３１】
上記再配置を必要に応じて行うことにより、初期配置はより望ましいものとすることができる。最適化することもできる。それにより、制御点間の位置関係（通過点自体の位置、及びその通過方向）によって適切な曲線を生成できない可能性をより低減させることができる。このため、曲げの制約条件といった曲線が満たすべき制約条件を所定の条件とした場合には、その制約条件を満たす曲線はより確実に生成できるようになる。
【００３２】
本発明を適用した場合、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置し、その配置を初期配置とし、一つ以上の制御点の配置を変更しながら、２つの通過点間の曲線を生成し、生成した曲線の評価を行い、一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出し、２つの曲線を抽出した場合に、その２つの曲線が得られる範囲内で一つ以上の制御点の配置を前回より細かく変更しながら、２つの通過点間の曲線を再度、生成し、再度、生成した曲線のなかから２つの通過点間で最適の曲線を選択する。
【００３３】
このようにして、一つ以上の制御点の配置を変更する細かさを異ならせ、その変更を比較的に細かく行っての曲線の生成は狭い範囲内に限定して行う。このため、より少ない計算量で最適な曲線を求めることができる。
【図面の簡単な説明】
【００３４】
【図１】仮想空間上で生成されるケーブル（線状構造物）のルートの曲がりの表現方法を説明する図である。
【図２】３次のベジェ曲線で２つの通過点間のルートを生成する場合に、その２つの通過点以外に配置される２つの制御点を説明する図である。
【図３】通過点Ｐ１及びＰ２が近傍に存在し、それらの通過方向Ｖ１及びＶ２が平行、或いは平行に近いような場合に、実際に存在する適切なルートを説明する図である。
【図４】通過点Ｐ１及びＰ２が近傍に存在し、それらの通過方向Ｖ１及びＶ２が平行、或いは平行に近いような場合に、仮想空間上で生成されるルートを説明する図である。
【図５】５次のベジェ曲線によりルートを生成する従来のルート曲線生成システムが適切なルートを生成できない通過点間の位置関係を説明する図である（その１）。
【図６】５次のベジェ曲線によりルートを生成する従来のルート曲線生成システムが適切なルートを生成できない通過点間の位置関係を説明する図である（その２）。
【図７】従来のルート曲線生成システムが実行するルート生成処理のフローチャートである。
【図８】本実施の形態によるルート曲線生成システムを搭載したケーブルルート作成システムの機能構成を説明する図である。
【図９】図６に示す通過点間の位置関係の場合に行われる制御点の再配置を説明する図である。
【図１０】ルート生成処理のフローチャートである。
【図１１】本実施の形態によるルート曲線生成システムを搭載したケーブルルート作成システムを実現できるコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図８は、本実施の形態によるルート曲線生成システムを搭載したケーブルルート作成システム（以降「作成システム」と略記）の機能構成を示す図である。その作成システム２は、変形可能な線状構造物であるケーブルのルート設計を行うためのものであり、本実施の形態によるルート曲線生成システムはその作成システム２上で実現されている。【００３６】
その作成システム２には、ユーザが操作を行う入力装置１、及び出力装置３が接続されている。入力装置１は、例えばマウス等のポインティング・デバイス、及びキーボードを含むものである。出力装置３は、例えば液晶表示装置等の表示装置である。それにより作成システム２は、ルート設計のためにユーザが行う入力装置１への操作に応じて通過点の編集を行い、その編集結果、或いはルート設計されたケーブルを出力装置３上に表示させるものとなっている。【００３７】
作成システム２は、ケーブル管理部２１、３次元モデル管理部２２、通過点管理部２３、表示部２４、及びルート生成部２５を備えている。
ケーブル管理部２１は、ケーブル毎に、そのルート設計を管理するためのものである。３次元モデル管理部２２は、３次元で設計された装置に配置されている部品の設計データ（モデルデータ）を管理するためのものである。モデルデータは、モデルデータ・データベース（以降「ＤＢ」）２２ａに格納され、検証モデル管理部２２ｂにより管理される。通過点管理部２３は、ケーブル管理部２１の制御下で、通過点をケーブル単位で管理するためのものである。通過点情報管理用に、通過点位置個別管理部２３ａ、通過方向管理部２３ｂ、及び通過方向基準座標管理部（以降「座標管理部」）２３ｃを備えている。表示部２４は、出力装置３上に画像を表示させるためのものである。作成された通過点を表示させるための画像は、通過点表示部２４ａによって生成される。【００３８】
ルート生成部２５は、ルート設計されたケーブルのルートを生成するものであり、本実施の形態によるルート曲線生成システムは、そのルート生成部２５として実現されている。そのルート生成部２５は、制御点管理部２５ａ、タイプ判定部２５ｂ、曲線計算部２５ｃ、及び曲線判定部２５ｄを備えている。【００３９】
図１１は、上記作成システム２を実現できるコンピュータのハードウェア構成の一例を示す図である。図８についての詳細な説明の前に先ず、作成システム２を実現できるコンピュータの構成について具体的に説明する。混乱を避けるために以降、作成システム２は図１１に構成を示す１台のコンピュータによって実現されていることを前提として説明することとする。【００４０】
図１１に示すコンピュータは、ＣＰＵ６１、メモリ６２、入力装置６３、出力装置６４、外部記憶装置６５、媒体駆動装置６６、及びネットワーク接続装置６７を有し、これらがバス６８によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。【００４１】
ＣＰＵ６１は、当該コンピュータ全体の制御を行う。メモリ６２は、プログラム実行、データ更新等の際に、外部記憶装置６５（あるいは可搬型の記録媒体６９）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ６１は、プログラムをメモリ６２に読み出して実行することにより、全体の制御を行う。【００４２】
入力装置６３は、例えば、キーボード、マウス等の入力装置１と接続されたインターフェース、或いはそれらを全て有するものである。入力装置１に対するユーザの操作を検出し、その検出結果をＣＰＵ６１に通知する。【００４３】
出力装置６４は、例えば図８の出力装置３と接続された表示制御装置、或いはそれらを有するものである。ＣＰＵ６１の制御によって送られてくるデータを図８の出力装置３上に出力させる。【００４４】
ネットワーク接続装置６７は、例えばイントラネットやインターネット等のネットワークを介して、外部装置と通信を行うためのものである。外部記憶装置６５は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。【００４５】
記憶媒体駆動装置６６は、光ディスクや光磁気ディスク等の可搬型の記録媒体６９にアクセスするものである。
ルート設計の結果は、メモリ６２、或いは外部記憶装置６５上に格納される。ケーブルを配置する装置のモデルデータを含む設計データは、外部記憶装置６５上、或いは記録媒体６９上に保存される。ここでは便宜的に外部記憶装置６５上に保存されていると想定する。その場合、ＤＢ２２ａは外部記憶装置６５上に格納されていることになる。【００４６】
本実施の形態によるルート曲線生成システム（作成システム２）は、それに必要な機能を搭載したプログラム（以降「設計支援ソフト」と呼ぶ）をＣＰＵ６１が実行することで実現される。その設計支援ソフトは、例えば記録媒体６９に記録して配布しても良く、或いはネットワーク接続装置６７により取得できるようにしても良い。ここでは、外部記憶装置６５上に格納されていると想定する。【００４７】
上述したような想定では、ケーブル管理部２１は、例えばＣＰＵ６１、メモリ６２、入力装置６３、外部記憶装置６５、及びバス６８によって実現される。通過点管理部２３、ルート生成部２５、及び３次元モデル管理部２２は、例えばＣＰＵ６１、メモリ６２、外部記憶装置６５、及びバス６８によって実現される。表示部２４は、例えばＣＰＵ６１、メモリ６２、出力装置６４、外部記憶装置６５、及びバス６８によって実現される。【００４８】
本実施の形態では、ユーザが入力装置１を介して通過点を新たに作成、或いは既存の通過点の位置を変更した場合、以下のようにして、ルートを生成すべき通過点間のルートの生成を行う。図５、図６、及び図９を参照して詳細に説明する。図５及び図６も参照して説明するために、同じ、或いは基本的に同じものには同一の符号を付し、ベジェ曲線は５次のものを想定する。【００４９】
先ず、基本とする制御点の配置方法について説明する。その配置方法は基本的に従来のルート曲線生成システムと同じであることから、図５を参照して具体的に説明する。
ルートを生成する区間は２つの通過点の間である。２つの通過点のうち、親に相当する通過点Ｐ１を始点側とし、その通過点Ｐ１を制御点Ｃ１とする。制御点Ｃ２は、その通過点Ｐ１から通過方向に所定のオフセット（以降、同様に「第１のオフセット」と呼ぶ）分、離れた位置に配置する。その通過方向はベクトルＡとする。【００５０】
２つの通過点のうち、子に相当する通過点Ｐ２は終点側とし、その通過点Ｐ２は制御点Ｃ６とする。制御点Ｃ５は、その通過点Ｐ２から通過方向の反対方向に第１のオフセット分、離れた位置に配置する。その通過方向の反対方向はベクトルＢとする。【００５１】
次に、制御点Ｃ２及びＣ５を結ぶ直線上の中点Ｍから、ベクトルＡとベクトルＢの合成ベクトル方向に任意のオフセット量ｈだけ離れた位置に仮中点ＴＭを設定する。その仮中点ＴＭの設定は、中点Ｍから、ベクトルＡとベクトルＢの合成ベクトルを作成し、その合成ベクトルの先から制御点Ｃ２及びＣ５を結ぶ直線に下ろす垂線の逆方向に、その直線からオフセット量ｈ分、離れた位置に行っても良い。【００５２】
仮中点ＴＭから制御点Ｃ２及びＣ５を結ぶ直線方向と平行な方向に、制御点Ｃ２側へ所定のオフセット（以降、同様に第２のオフセット」と呼ぶ）分、離れた位置に制御点Ｃ３を配置する。逆に仮中点ＴＭから制御点Ｃ５側へ第２のオフセット分、離れた位置には制御点Ｃ４を配置する。【００５３】
上述したような制御点Ｃ２〜Ｃ５の配置は、初期配置である。上記オフセット量ｈを変更しながら行う収束計算では、図５及び図６に示すような通過点Ｐ１及びＰ２の位置関係となっているような場合、曲げの制約条件を満たすルートを算出できない可能性が高い。このため、本実施の形態では、以下のように制御点の配置を操作する。【００５４】
制御点の配置の操作は、その操作を行うべき配置条件を満たしている場合に行う。その配置条件としては、以下のように２つ設けている。
（１）ベクトルＡとベクトルＢの合成ベクトルがベクトルＡに比べて第１の範囲内（第１の範囲の下限値≦合成ベクトル／ベクトルＡ≦第１の範囲内の上限値）であり、且つ制御点Ｃ２及びＣ５間の直線距離が第１のオフセットに比べて第１の閾値以下（直線距離／第１のオフセット≦第１の閾値）である。
（２）制御点Ｃ２〜Ｃ４間を直線で結ぶ線分Ｃ２Ｃ３Ｃ４が成す角度（制御点Ｃ２及びＣ３を結ぶ直線と、制御点Ｃ３及びＣ４を結ぶ直線とが成す角度）、及び制御点Ｃ３〜Ｃ５間を直線で結ぶ線分Ｃ３Ｃ４Ｃ５が成す角度の内の少なくとも一方が基準角度以下である。【００５５】
上記配置条件１は、例えば図５に示すように、通過点Ｐ１及びＰ２が近傍に位置し、且つベクトルＡとベクトルＢの方向が比較的に平行に近い状況を表している。そのような状況では、ルートＬＣの最小ルート曲率半径は小さくなりやすい。このため、第１のオフセットをより短くすることで配置を操作する。それにより、制御点Ｃ２及びＣ５をそれぞれ制御点Ｃ１及びＣ６のより近くに再配置する。そのような再配置を行うことにより、図５中、破線で示すような曲げの制約条件を満たすルートＬＳを生成できるようになる。従って、曲げの制約条件を満たすルートはより確実に生成できるようになる。【００５６】
上記合成ベクトルは、ベクトルＡとベクトルＢが反対方向に近い場合、つまり、通過点Ｐ１及びＰ２を直線、或いは直線に近い曲線で結べる場合にも小さくなる。そのような場合、制御点Ｃ２及びＣ５間が短くとも特には問題とならない。上記第１の範囲を閾値としていないのは、このためである。本実施の形態では、上記第１の閾値として２を用い、配置条件１を満たす場合、第１のオフセットは元の１／４としている。【００５７】
上記再配置は、制御点Ｃ２及びＣ５の両方を対象に行っているが、そのうちの一方のみを対象に行うようにしても良い。これは、一方のみを再配置したとしても、曲げの制約条件を満たすルートの生成はより高い確率で行えるようになるためである。一方のみを再配置の対象にする場合、その一方は、例えばベクトルＡとベクトルＢが通過点Ｐ１及びＰ２を結ぶ直線と成す角度をそれぞれ求め、その角度がより小さいほうを選択するのが望ましい。【００５８】
上記配置条件２は、例えば図６に示すように、局所的にルートの曲がりがきつくなる場合を想定したものである。図６に示すような場合、線分Ｃ２Ｃ３Ｃ４が成す角度は小さくなり、線分Ｃ３Ｃ４Ｃ５が成す角度は大きくなる。このことから、線分Ｃ２Ｃ３Ｃ４が成す角度が基準角度以下であれば、仮中点ＴＭと制御点Ｃ３間の距離（第２のオフセット）をより短くし、線分Ｃ２Ｃ３Ｃ４が成す角度をより大きくする。逆に線分Ｃ３Ｃ４Ｃ５が成す角度が基準角度以下であれば、仮中点ＴＭと制御点Ｃ４間の距離（第２のオフセット）をより短くし、線分Ｃ３Ｃ４Ｃ５が成す角度をより大きくする。そのような再配置を行うことにより、図６に示すような場合であっても、図９に示すように曲げの制約条件を満たすルートＬＣを生成することができる。このことから明らかなように、曲げの制約条件を満たすルートはより確実に生成できるようになる。【００５９】
上記オフセット量ｈを変更しながら行う収束計算は、初期配置が配置条件１及び２のうちの何れを満たすか否か確認し、その確認結果に応じて必要な再配置を行った後に実施する。それにより、曲げの制約条件の他に、長さの制約条件を満たすルートをより適切、且つ確実に生成できるようにしている。【００６０】
制御点の再配置を行うべき配置条件は、上記配置条件１及び２に限定されるものではない。より多くの配置条件を用意しても良い。再配置の方法は、用意した配置条件毎に決定すれば良い。例えば線分Ｃ２Ｃ３Ｃ４が成す角度をより大きくするのは、線分Ｃ３Ｃ４Ｃ５が成す角度が十分に大きければ、中点Ｍと仮中点ＴＭを結ぶ直線と制御点Ｃ２及びＣ５を結ぶ直線とが成す角度を操作することで行っても良い。【００６１】
上記配置条件１及び２は、５次のベジェ曲線を生成するのを想定したものである。それら配置条件１及び２のような条件の設定は、４次以上のベジェ曲線であれば同様に行うことができる。４次以上のベジェ曲線であれば、上述したような再配置（配置の操作）方法も容易に適用できる。【００６２】
図８に戻り、上述したようなルート設計の支援を実現させるための各部２１〜２５の動作について詳細に説明する。
ケーブル管理部２１は、入力装置１に対して行われた操作を解析して、ユーザの指示内容を認識し、その認識結果に応じた処理を行う。その処理により、ルート設計が実現され、その設計結果として、編集により作成された通過点に関するデータが通過点管理部２３により生成・保存される。【００６３】
通過点管理部２３は、ユーザによる通過点の編集作業により、ルート設計の対象とするケーブル毎に通過点情報管理用のテーブル（以降「通過点位置テーブル」）を作成し、必要に応じて更新する。その通過点位置テーブルは、例えば通過点毎に、その位置、通過方向、位置基準等の通過点情報を格納したものである。その更新は、例えばケーブル管理部２１の制御下で行われる。【００６４】
通過点位置個別管理部２３ａは、相対位置座標、基準位置座標、参照モデル名、参照モデル相対位置等の位置基準に係わる各データの格納・更新を行う。通過方向管理部２３ｂは、通過方向の決定を行う。通過方向基準座標管理部２３ｃは、決定された通過方向を示す軸毎のデータの格納・更新を行う。それらは何れも、ケーブル管理部２１が認識したユーザの指示内容に応じて行われる。それにより、通過点の編集を通したルート設計を支援する。【００６５】
ルート生成部２５は、通過点位置テーブルを参照することにより、親と子の関係にある通過点間毎に、ユーザがルート設計したケーブルのルートを生成し、その生成結果を表示部２４に送る。それにより、そのルートに沿ったケーブルを設計結果として出力装置３上に表示させる。【００６６】
制御点管理部２５ａは、通過点間のルート（曲線）を計算するための制御点を管理し、その配置の設定・変更を行う。タイプ判定部２５ｂは、制御点管理部２５ａが設定した制御点の配置（初期配置）からその配置に対応するタイプを判定する。そのタイプの判定は、上記配置条件１及び２のうちの何れかを満たす配置を抽出することで行う。制御点管理部２５ａは、その判定結果に応じて制御点の配置を変更（操作）する。【００６７】
曲線計算部２５ｃは、現在、設定されている制御点の配置に従って曲線を計算する。反復計算時は、制御点管理部２５ａはオフセット量ｈを順次、変更して制御点の配置を曲線計算部２５ｃに通知する。【００６８】
曲線判定部２５ｄは、曲線計算部２５ｃが制御点の配置毎に計算した曲線の最小ルート曲率半径、及び曲線長を算出し、閾値とするデフォルト半径以上の曲線となる制御点の配置（つまりオフセット量ｈ）を抽出する。その抽出結果は制御点管理部２５ａに通知し、その通知後、制御点管理部２５ａは、より細かい幅でオフセット量ｈを変更すべき範囲を限定し、その範囲内でオフセット量ｈを変更しながら制御点の配置を設定する。曲線計算部２５ｃは設定の配置毎にルート（曲線）を計算する。その計算結果から、曲線判定部２５ｄは最終的に一つの最も望ましいと考えられるルートを選択する。そのように選択されたルートが表示部２４を介して出力装置３上に表示される。【００６９】
図１０は、ルート生成処理のフローチャートである。そのルート生成処理は、ユーザにより通過点が新たに生成、或いは位置が変更された場合に、その通過点と直前に位置する通過点（親の通過点）との間、或いは／及び、直後に位置する通過点（子の通過点）との間を結ぶルートを生成するために実行される。図１１に示すＣＰＵ６１が外部記憶装置６５に格納された設計支援ソフトをメモリ６２に読み出して実行することで実現される。次に図９を参照して、上述の作成システム２の動作を実現させる処理について詳細に説明する。【００７０】
先ず、ステップＳ１１では、通過点間のケーブルの目標線長（通過点間の目標とする曲線距離）とデフォルト半径を指定する。それらの指定は、ユーザが予め設定するデータを参照して行う場合と、通過点間距離を目標線長の初期値として利用して行う場合がある。そのデータは、例えば通過点管理部２３が管理するデータである。続くステップＳ１２では、目標線長の０．２５倍をオフセット量ｈの初期値にして、そのオフセット量ｈを変化させながら収束（繰り返し）計算を行う。その収束計算中にステップＳ１３を行う。【００７１】
ステップＳ１３では、オフセット量ｈを変化させる毎に、ルートを生成し、その線長と最小ルート曲率半径を算出する。この収束計算が終了した後にステップＳ１４では、変化させたオフセット量ｈのうちの少なくとも一つで最小ルート曲率半径がデフォルト半径以上のルート（曲線）を成立（生成）したか否かの判定を行う。そのようなルートが一つ以上、存在する場合、成立したと判定され、ステップＳ１６に移行する。そうでない場合には、「無し」と判定され、ステップＳ１５に移行して、許容可能な最大線長を目標線長として設定する。その後は上記ステップＳ１２に戻る。【００７２】
ステップＳ１６では、変化させたオフセット量ｈのなかに最小ルート曲率半径がデフォルト半径以上とそれ未満があるか否か判定する。最小ルート曲率半径がデフォルト半径未満のオフセット量ｈが存在しない、或いはデフォルト半径以上と未満の境が存在しない場合、「無し」と判定され、例えば曲げの制約条件を満たすルートのなかで線長が最も短いものを最終結果として保存した後、ルート生成処理を終了する。それらの何れでもない場合には、つまり最小ルート曲率半径がデフォルト半径以上とそれ未満の境が一つ以上存在する場合には、「有る」と判定され、ステップＳ１７に移行する。【００７３】
ステップＳ１７では、その境のオフセット量ｈを抽出し、最小ルート曲率半径がデフォルト半径以上となっている最小のオフセット量ｈ１、その線長Ｌ１、並びに、最小ルート曲率半径がデフォルト半径未満となっている最大のオフセット量ｈ２、その線長Ｌ２をそれぞれ更に抽出する。それにより、線長Ｌ２を目標線長として設定し、オフセット量ｈ１を初期値のオフセット量ｈとして設定する。その境が複数、存在する場合には、オフセット量ｈが最小のものを採用する。【００７４】
ステップＳ１７に続くステップＳ１８では、オフセット量ｈをステップＳ１３のときより細かい幅で変化させつつ、オフセット量ｈを変化させる毎にルートを生成し、その線長と最小ルート曲率半径を算出する。それにより、最小ルート曲率半径がデフォルト半径以上でオフセット量ｈが最小のルートを最終結果として保存した後、ルート生成処理を終了する。【００７５】
このようにして本実施の形態では、オフセット量ｈを変化させる幅を比較的に大きくした第１の収束計算（ステップＳ１３）を行い、その後、その計算結果からその幅をより小さくした第２の収束計算（ステップＳ１８）を必要に応じて行うようにしている。それにより、変化の幅を同じにした収束計算を行う従来のルート曲線生成システム（図７）と比較して、精度を維持しつつ、最終結果をより迅速に得られるようにしている。【００７６】
上記ステップＳ１４、及びＳ１６の判定は、変数ｉｒｃを用意し、その変数ｉｒｃに代入すべき値をステップＳ１３で代入することで行うようにしている。図１０には、各ステップＳ１４及びＳ１６の各判定結果が得られる変数ｉｒｃの値を併せて示している。【００７７】
なお、本実施の形態では、ルート生成処理を実行する前に、行うべき制御点の再配置を行うようにしているが、これはより望ましい最終結果をより迅速に得られるようにするためである。ルート生成処理の実行結果から、制御点の再配置を行うべきか否か判定し、その判定結果に従ってその再配置を行うようにしても良い。【００７８】
また、変形可能な線状構造物としては、ケーブル（ワイヤーハーネス、光ケーブル等を含む）を対象としているが、変形可能な線状構造物であれば、それとは別の種類を対象としても良い。ルート設計する対象物、つまり線状対象物を取り付ける対象となる物については、異なる場所に配置された複数の装置を含む物であっても良い。  
【図１】
2008084517.tif 000004
【図２】
2008084517.tif 000005
【図３】
2008084517.tif 000006
【図４】
2008084517.tif 000007
【図５】
2008084517.tif 000008
【図６】
2008084517.tif 000009
【図７】
2008084517.tif 000010
【図８】
2008084517.tif 000011
【図９】
2008084517.tif 000012
【図１０】
2008084517.tif 000013
【図１１】
2008084517.tif 000014
【手続補正書】
【提出日】平成21年6月3日(2009.6.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムにおいて、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置する第１の制御点配置手段と、
前記第１の制御点配置手段が配置した制御点間の位置関係を基に、該制御点の再配置を行う第２の制御点配置手段と、
前記第１及び第２の制御点配置手段のうちの一方による前記制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成する曲線生成手段と、
前記曲線生成手段が生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線を抽出する曲線評価手段と、を具備し、
前記曲線評価手段は、前記所定の条件を満たす曲線として、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出でき、
前記曲線生成手段は、前記曲線評価手段が前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置をより細かく変更しながら、前記２つの通過点間の前記曲線を生成する、
ことを特徴とするルート曲線生成システム。
【請求項２】
請求項１記載のルート曲線生成システムであって、
前記曲線として４次以上のベジェ曲線を前記曲線生成手段が生成する場合、前記第２の制御点配置手段は、前記第１の制御点配置手段が配置する、前記２つの通過点を除く他の制御点のうちの少なくとも一つを対象に再配置を行う。
【請求項３】
請求項２記載のルート曲線生成システムであって、
前記第２の制御点配置手段は、前記２つの通過点と該２つの通過点の隣にそれぞれ位置する制御点の間の２つの直線距離のうちの少なくとも一つをより短くする、及び前記４つの制御点のうちの３つの制御点間を直線で結ぶ線分の角度をより大きくする、のうちの少なくとも一方を行うことにより前記再配置を行う。
【請求項４】
請求項３記載のルート曲線生成システムであって、
前記第２の制御点配置手段は、前記２つの通過点の隣にそれぞれ位置する２つの制御点間の直線距離を少なくとも考慮して、該２つの通過点と該２つの制御点の間の直線距離のうちの少なくとも一つをより短くする前記再配置を行う。
【請求項５】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムにおいて、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置する制御点配置手段と、
前記制御点配置手段による前記制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成する第１の曲線生成手段と、
前記第１の曲線生成手段が生成した曲線の評価を行い、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出する曲線評価手段と、
前記曲線評価手段が前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置を前記第１の曲線生成手段より細かく変更しながら、前記２つの通過点間の曲線を生成する第２の曲線生成手段と、
前記第２の曲線生成手段が生成した曲線のなかから前記２つの通過点間で最適の曲線を選択する曲線選択手段と、
を具備することを特徴とするルート曲線生成システム。
【請求項６】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線をコンピュータにより生成するためのルート曲線生成方法において、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置し、
該配置した制御点間の位置関係を基に、該制御点の再配置を行い、前記曲線を生成するうえでの前記制御点の初期配置を確定させ、
該確定させた初期配置から、一つ以上の制御点の配置を変更しつつ、前記２つの通過点間の前記曲線を生成し、
該生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線として、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出し、
前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置をより細かく変更しながら、前記２つの通過点間の前記曲線を生成する、
ことを特徴とするルート曲線生成方法。
【請求項７】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線をコンピュータにより生成するためのルート曲線生成方法において、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置し、
前記配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成し、
該生成した曲線の評価を行い、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出し、
前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置を前回より細かく変更しながら、前記２つの通過点間の曲線を再度、生成し、
前記再度、生成した曲線のなかから前記２つの通過点間で最適の曲線を選択する、
ことを特徴とするルート曲線生成方法。
【請求項８】
ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムの構築に用いられるコンピュータに、
前記２つの通過点でそれぞれ定義された通過点情報から、前記曲線を生成するうえで必要な制御点を配置する制御点配置機能と、
前記制御点配置機能による前記制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、前記２つの通過点間の前記曲線を生成する第１の曲線生成機能と、
前記第１の曲線生成機能により生成した曲線の評価を行い、前記一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出する曲線評価機能と、
前記曲線評価機能により前記２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で前記一つ以上の制御点の配置を前記第１の曲線生成機能より細かく変更しながら、前記２つの通過点間の曲線を生成する第２の曲線生成機能と、
前記第２の曲線生成機能により生成した曲線のなかから前記２つの通過点間で最適の曲線を選択する曲線選択機能と、
を実現させるためのプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
第１の態様のルート曲線生成システムは、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置する第１の制御点配置手段と、第１の制御点配置手段が配置した制御点間の位置関係を基に、該制御点の再配置を行う第２の制御点配置手段と、第１及び第２の制御点配置手段のうちの一方による制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、２つの通過点間の曲線を生成する曲線生成手段と、曲線生成手段が生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線を抽出する曲線評価手段と、を具備し、曲線評価手段は、所定の条件を満たす曲線として、一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出でき、曲線生成手段は、曲線評価手段が２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で一つ以上の制御点の配置をより細かく変更しながら、２つの通過点間の曲線を生成する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
第１の態様のルート曲線生成方法では、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置し、該配置した制御点間の位置関係を基に、該制御点の再配置を行い、曲線を生成するうえでの制御点の初期配置を確定させ、該確定させた初期配置から、一つ以上の制御点の配置を変更しつつ、２つの通過点間の曲線を生成し、該生成した曲線の評価を行い、該曲線のなかから所定の条件を満たす曲線として、一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出し、２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で一つ以上の制御点の配置をより細かく変更しながら、２つの通過点間の曲線を生成する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
本発明のプログラムは、ルート設計により作成された２つの通過点間を通る変形可能な線状構造物のルートとなる曲線を生成するルート曲線生成システムの構築に用いられるコンピュータに実行させることを前提とし、そのコンピュータ上に以下の機能をそれぞれ実現させる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
このプログラムでは、２つの通過点でそれぞれ定義された通過点情報から、曲線を生成するうえで必要な制御点を配置する制御点配置機能と、制御点配置機能による制御点の配置を初期配置とし、一つ以上の制御点の配置を変更しながら、２つの通過点間の曲線を生成する第１の曲線生成機能と、第１の曲線生成機能により生成した曲線の評価を行い、一つ以上の制御点の配置の１回の変更により、該変更の前後で該曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出する曲線評価機能と、曲線評価機能により２つの曲線を抽出した場合に、該２つの曲線が得られる範囲内で一つ以上の制御点の配置を第１の曲線生成機能より細かく変更しながら、２つの通過点間の曲線を生成する第２の曲線生成機能と、第２の曲線生成機能により生成した曲線のなかから２つの通過点間で最適の曲線を選択する曲線選択機能と、を実現させる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
本発明を適用した場合、２つの通過点でそれぞれ定義された通過点情報から、曲線（ルート）を生成するうえで必要な制御点を配置し、配置した制御点間の位置関係を基に、制御点の再配置を必要に応じて行い、変形可能な線状構造物のルートとなる曲線を生成するうえでの制御点の初期配置を確定させ、その確定させた初期配置から、一つ以上の制御点の配置を変更しつつ、２つの通過点間の曲線を生成し、生成した曲線の評価を行い、その曲線のなかから所定の条件を満たす曲線として、一つ以上の制御点の配置の１回の変更により、その変更の前後でその曲線が満たすべき制約条件を満たすか否かが変化する境を構成する２つの曲線を抽出する。
【国際調査報告】
2008084517.tif 000015
2008084517.tif 000016