(57)【特許請求の範囲】
【請求項１】
コンピュータが、同一平面上に存在する所与の点及び所与の曲線に関して、前記所与の点を通り前記所与の曲線に接する接線と、前記所与の曲線とが接する接点を特定する接点特定方法であって、
前記コンピュータのＣＰＵが、前記所与の点を通り前記平面に含まれない軸直線を生成して記憶装置に格納する軸直線生成手順と、
前記コンピュータのＣＰＵが、前記平面上にない位置であって、前記所与の曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定して前記記憶装置に格納する螺旋開始点設定手順と、
前記コンピュータのＣＰＵが、前記螺旋開始点から前記軸直線を軸とする三次元螺旋を前記平面から遠ざかる方向に生成して前記記憶装置に格納する三次元螺旋生成手順と、
前記コンピュータのＣＰＵが、前記三次元螺旋上の各点から前記軸直線に引いた垂線を連ねたねじれ面を生成して前記記憶装置に格納するねじれ面生成手順と、
前記コンピュータのＣＰＵが、前記所与の曲線を前記軸直線に平行な向きで前記ねじれ面に投影した投影曲線を生成して前記記憶装置に格納する投影曲線生成手順と、
前記コンピュータのＣＰＵが、前記投影曲線上で、前記螺旋開始点を通り前記軸直線に直交する基準面からの距離が最短となる最短点を抽出し、該最短点を前記軸直線に平行な向きで前記曲線に投影した点を接点とする接点特定手順と、
を有する接点特定方法。
【請求項２】
前記螺旋開始点設定手順に代えて、
ユーザーに、前記平面上にない位置であって、前記所与の曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定させて前記記憶装置に格納する螺旋開始点設定受付手順を有する、
請求項１に記載の接点特定方法。
【請求項３】
前記接点特定手順は、前記螺旋開始点から前記軸直線に引いた垂線との距離が最短となる最短点が複数存在する場合には、該複数の最短点のうち前記軸直線との距離が最短な点を選択して、該選択された点を前記軸直線に平行な向きで前記曲線に投影した点を接点とする手順である、
請求項１又は２に記載の接点特定方法。
【請求項４】
請求項１ないし３のいずれか１項に記載の接点特定方法を実現するためのコンピュータ読み取り可能なプログラム。
【請求項５】
コンピュータが、同一平面上に存在する所与の点及び所与の曲線に関して、前記所与の点を通り前記所与の曲線に接する接線を作成する接線作成方法であって、
前記コンピュータのＣＰＵが、前記所与の点を通り前記平面に含まれない軸直線を生成して記憶装置に格納する軸直線生成手順と、
前記コンピュータのＣＰＵが、前記平面上にない位置であって、前記所与の曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定して前記記憶装置に格納する螺旋開始点設定手順と、
前記コンピュータのＣＰＵが、前記螺旋開始点から前記軸直線を軸とする三次元螺旋を前記平面から遠ざかる方向に生成して前記記憶装置に格納する三次元螺旋生成手順と、
前記コンピュータのＣＰＵが、前記三次元螺旋上の各点から前記軸直線に引いた垂線を連ねたねじれ面を生成して前記記憶装置に格納するねじれ面生成手順と、
前記コンピュータのＣＰＵが、前記所与の曲線を前記軸直線に平行な向きで前記ねじれ面に投影した投影曲線を生成して前記記憶装置に格納する投影曲線生成手順と、
前記コンピュータのＣＰＵが、前記投影曲線上で、前記螺旋開始点を通り前記軸直線に直交する基準面からの距離が最短となる最短点を抽出し、該最短点を前記軸直線に平行な向きで前記曲線に投影した点を接点として前記記憶装置に格納する接点特定手順と、
前記コンピュータのＣＰＵが、前記所与の点及び前記接点を通る直線を接線とする接線作成手順と、
を有する接線作成方法。
【請求項６】
前記螺旋開始点設定手順に代えて、
ユーザーに、前記平面上にない位置であって、前記所与の曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定させて前記記憶装置に格納する螺旋開始点設定受付手順を有する、
請求項５に記載の接線作成方法。
【請求項７】
請求項５又は６に記載の接線作成方法を実現するためのコンピュータ読み取り可能なプログラム。
【請求項８】
コンピュータが、所与の視点から所与の三次元曲面を見た際に、該所与の三次元曲面において死角となる領域と死角とならない領域との境界線である死角境界線を作成する死角境界線作成方法であって、
前記コンピュータのＣＰＵが、前記視点を通る基準直線を含む基準平面を、該基準直線を回転中心とした異なる回転角をもって複数生成して記憶装置に格納し、
前記コンピュータのＣＰＵが、各基準平面について、
前記所与の三次元曲面の前記基準平面における断面曲線を生成して前記記憶装置に格納し、
前記視点を通り、当該基準平面に含まれない軸直線を生成して前記記憶装置に格納し、
当該基準平面にない位置であって、前記断面曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定して前記記憶装置に格納し、
前記螺旋開始点から前記軸直線を軸とする三次元螺旋を前記断面曲線から遠ざかる方向に生成して前記記憶装置に格納し、
前記三次元螺旋上の各点から前記軸直線に引いた垂線を連ねたねじれ面を生成して前記記憶装置に格納し、
前記断面曲線を前記軸直線に平行な向きで前記ねじれ面に投影した投影曲線を生成して前記記憶装置に格納し、
前記投影曲線上で、前記螺旋開始点を通り前記軸直線に直交する基準面からの距離が最短となる最短点を抽出し、該最短点のうち前記軸直線との距離が最短な点を前記軸直線に平行な向きで前記曲線に投影した点を接点として前記記憶装置に格納し、
各基準平面について設定された接点を連ねて死角境界線を作成する、
死角境界線作成方法。
【請求項９】
前記視点を通る基準直線を含む基準平面を、該基準直線を回転中心とした異なる回転角をもって複数生成して前記記憶装置に格納する処理に代えて、
ユーザーに、前記視点を通る基準直線を設定させ、該設定された基準直線を含む基準平面を、該基準直線を回転中心とした異なる回転角をもって複数生成して前記記憶装置に格納する処理を実行する、
請求項８に記載の死角境界線作成方法。
【請求項１０】
各基準平面について、当該基準平面上にない位置であって、前記断面曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定して前記記憶装置に格納する処理に代えて、
各基準平面について、ユーザーに、当該基準平面でない位置であって、前記断面曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定させて前記記憶装置に格納する処理を実行する、
請求項８又は９に記載の死角境界線作成方法。
【請求項１１】
請求項８ないし１０のいずれか１項に記載の死角境界線作成方法を実現するためのコンピュータ読み取り可能なプログラム。
【請求項１２】
請求項４、請求項７、請求項１１のいずれか１項に記載のプログラムを実行する形状解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一平面上に存在する所与の点及び所与の曲線について、所与の点を通り所与の曲線に接する接線を作成する接線作成方法、この接線と所与の曲線が交わる接点を特定する接点特定方法、接点特定方法を利用した死角境界線作成方法、これらを電子計算機上で実現するためのプログラム、及び当該プログラムを実行して機能する形状解析装置に関する。
【背景技術】
【０００２】
従来、平面上の任意の点を通り、当該平面上の曲線に対して選択された側から接する接線を近似的に作成する接線作成方法についての発明が開示されている（例えば、特許文献１参照）。この方法は、曲線上に設定された点を基準点とする第１の手順と、任意の点と基準点とを通る近似線を設定する第２の手順と、近似線の選択された側にあって、且つ、近似線から最も遠い曲線上の点を基準点に置き換える第３の手順と、を有し、第１の手順を実行した後、第２の手順と第３の手順を交互に複数回繰り返し、最終的に第２の手順において作成された近似線を接線とするものとしている。
【特許文献１】特開２００７−１４８８１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来の方法では、近似線から最も遠い曲線上の点を基準点に置き換える第３の手順において設定された基準点が接点とされるのであるが、接線と曲線が交わる接点が複数個存在する場合に、必然的に、与えられた任意の点から最も遠い点が接点とされることとなる（図１６参照）。
【０００４】
この結果、接点を用いた形状解析において不都合を生じる場合がある。例えば、任意の点から見て死角となる領域を特定する形状解析においては、接線と曲線が交わる接点が複数個存在する場合には、与えられた任意の点から最も近い点を接点とするのが好ましい（図１７参照）。
【０００５】
本発明はこのような課題を解決するためのものであり、接点をより適切に特定することが可能な接点特定方法等を提供することを、主たる目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の第１の態様は、
同一平面上に存在する所与の点及び所与の曲線に関して、前記所与の点を通り前記所与の曲線に接する接線と、前記所与の曲線とが接する接点を特定する接点特定方法であって、
前記所与の点を通り前記平面に含まれない軸直線を生成する軸直線生成手順と、
前記平面上にない位置であって、前記所与の曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定する螺旋開始点設定手順と、
前記螺旋開始点から前記軸直線を軸とする三次元螺旋を生成する三次元螺旋生成手順と、
前記三次元螺旋上の各点から前記軸直線に引いた垂線を連ねたねじれ面を生成するねじれ面生成手順と、
前記所与の曲線を前記軸直線に平行な向きで前記ねじれ面に投影した投影曲線を生成する投影曲線生成手順と、
前記投影曲線上で、前記螺旋開始点を通り前記軸直線に直交する基準面からの距離が最短となる最短点を抽出し、該最短点を前記軸曲線に平行な向きで前記曲線に投影した点を接点とする接点特定手順と、
を有する接点特定方法である。
【０００７】
本発明の各態様において、曲線は、一部又は全部が直線であってもよい。
【０００８】
この本発明の第１の態様によれば、所与の点を通り所与の曲線に接する同一の接線に接する接点が複数存在する場合に、複数の接点のうち最遠点を自動的に接点としてしまうという不都合が生じない。従って、接点をより適切に特定することができる。
【０００９】
本発明の第１の態様において、
前記螺旋開始点設定手順に代えて、
ユーザーに、前記平面上にない位置であって、前記所与の曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定させる螺旋開始点設定受付手順を有するものとしてもよい。
【００１０】
また、本発明の第１の態様において、
前記接点特定手順は、前記螺旋開始点から前記軸直線に引いた垂線との距離が最短となる最短点が複数存在する場合には、該複数の最短点のうち前記軸直線との距離が最短な点を選択して、該選択された点を前記軸曲線に平行な向きで前記曲線に投影した点を接点とする手順であるものとしてもよい。
【００１１】
本発明の第２の態様は、
本発明の第１の態様の接点特定方法を実現するためのコンピュータ読み取り可能なプログラムである。
【００１２】
本発明の第３の態様は、
同一平面上に存在する所与の点及び所与の曲線に関して、前記所与の点を通り前記所与の曲線に接する接線を作成する接線作成方法であって、
前記所与の点を通り前記平面に含まれない軸直線を生成する軸直線生成手順と、
前記平面上にない位置であって、前記所与の曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定する螺旋開始点設定手順と、
前記螺旋開始点から前記軸直線を軸とする三次元螺旋を生成する三次元螺旋生成手順と、
前記三次元螺旋上の各点から前記軸直線に引いた垂線を連ねたねじれ面を生成するねじれ面生成手順と、
前記所与の曲線を前記軸曲線に平行な向きで前記ねじれ面に投影した投影曲線を生成する投影曲線生成手順と、
前記投影曲線上で、前記螺旋開始点を通り前記軸直線に直交する基準面からの距離が最短となる最短点を抽出し、該最短点を前記軸曲線に平行な向きで前記曲線に投影した点を接点とする接点特定手順と、
前記所与の点及び前記接点を通る直線を接線とする接線作成手順と、
を有する接線作成方法である。
【００１３】
この本発明の第３の態様によれば、コンピュータを用いて実行可能な手順で適切に接線を作成することができる。
【００１４】
本発明の第３の態様において、
前記螺旋開始点設定手順に代えて、
ユーザーに、前記平面上にない位置であって、前記所与の曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定させる螺旋開始点設定受付手順を有するものとしてもよい。
【００１５】
本発明の第４の態様は、
本発明の第３の態様の接線作成方法を実現するためのコンピュータ読み取り可能なプログラムである。
【００１６】
本発明の第５の態様は、
所与の視点から所与の三次元曲面を見た際に、該所与の三次元曲面において死角となる領域と死角とならない領域との境界線である死角境界線を作成する死角境界線作成方法であって、
前記視点を通る基準直線を含む基準平面を、該基準直線を回転中心とした異なる回転角をもって複数生成する処理を実行し、
各基準平面について、
前記所与の三次元曲面の前記基準平面における断面曲線を生成し、
前記視点を通り、当該基準平面に含まれない軸直線を生成し、
当該基準平面上にない位置であって、前記断面曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定し、
前記螺旋開始点から前記軸直線を軸とする三次元螺旋を生成し、
前記三次元螺旋上の各点から前記軸直線に引いた垂線を連ねたねじれ面を生成し、
前記断面曲線を前記軸曲線に平行な向きで前記ねじれ面に投影した投影曲線を生成し、
前記投影曲線上で、前記螺旋開始点を通り前記軸直線に直交する基準面からの距離が最短となる最短点を抽出し、該最短点のうち前記軸直線との距離が最短な点を前記軸曲線に平行な向きで前記曲線に投影した点を接点とし、
各基準平面について設定された接点を連ねて死角境界線を作成する、
死角境界線作成方法である。
【００１７】
この本発明の第５の態様によれば、所与の視点を通り断面曲線に接する同一の接線に接する接点が複数存在する場合に、軸直線から最も近い点を接点とするために複数の接点のうち最遠点を自動的に接点としてしまうという不都合が生じない。従って、死角境界線をより適切に作成することができる。
【００１８】
本発明の第５の態様において、
前記視点を通る基準直線を含む基準平面を、該基準直線を回転中心とした異なる回転角をもって複数生成する処理に代えて、
ユーザーに、前記視点を通る基準直線を設定させ、該設定された基準直線を含む基準平面を、該基準直線を回転中心とした異なる回転角をもって複数生成する処理を実行するものとしてもよい。
【００１９】
また、本発明の第５の態様において、
各基準平面について、当該基準平面上にでない位置であって、前記断面曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定する処理に代えて、
各基準平面について、ユーザーに、当該基準平面でない位置であって、前記断面曲線上で前記軸直線から最も遠い点よりも前記軸直線から遠い位置に螺旋開始点を設定させる処理を実行するものとしてもよい。
【００２０】
本発明の第６の態様は、
本発明の第５の態様の死角境界線作成方法を実現するためのコンピュータ読み取り可能なプログラムである。
【００２１】
本発明の第７の態様は、
本発明の第２、第４、又は第６の態様のプログラムを実行する形状解析装置である。
【発明の効果】
【００２２】
本発明によれば、接点をより適切に特定することが可能な接点特定方法等を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００２４】
＜ハードウエア構成例＞
図１は、本発明の接点特定方法、接線作成方法、及び死角境界線設定方法を実現するための形状解析装置１の構成を模式的に示した図である。形状解析装置１のハード構成は、例えば、入出力装置１０と、情報処理装置２０と、を有する。
【００２５】
入出力装置１０は、キーボードや表示装置、スピーカー、ＣＤ（Compact  Disc）ドライブ、ＤＶＤ（Digital  Versatile  Disk）ドライブ、ＵＳＢ（Universal  Serial  Bus）ソケット、ＬＡＮケーブル及びＬＡＮポート等であり、ユーザーからの情報を入力可能にすると共に本装置による解析結果等を出力するためのハードウエア群である。
【００２６】
情報処理装置２０は、例えば、ＣＰＵ（Central  Processing  Unit）２１、プログラムを記憶したＲＯＭ（Read  Only  Memory）２２、一時的にデータを記憶する読み書き可能なＲＡＭ（Random  Access  Memory）２３、ＨＤＤ（Hard  Disk  Drive）やＤＶＤ等の補助記憶装置２４等を備えるコンピュータである。ＲＯＭ２２には、モデル作成用プログラム３０と、モデル作成用プログラム３０が作成したモデルを利用するプログラム３１及び３２が記憶されている。
【００２７】
モデル作成用プログラム３０は、三次元形状又は二次元形状からＣＡＤ（Computer-Aided  Design）モデルを作成するものである。ＣＡＤモデルとは、線や面（サーフェス）、点（座標）等の集合として物体の形状を表したモデルをいう。作成されたＣＡＤモデルは補助記憶装置２４に記憶され、形状解析用プログラム３１及び３２に利用される。
【００２８】
形状解析用プログラム３１は、本発明の一実施例に係る接点特定方法及び接線作成方法を実現するためのものである。なお、これらの方法は、主要な処理が共通するため、同一のプログラムにより実現されるものとしたが、別のプログラムにより実現されるものとしても構わない。形状解析用プログラム３２は、死角境界線設定方法を実現するためのものである。
【００２９】
＜接点特定方法、及び接線作成方法＞
以下、形状解析用プログラム３１により実現される接点特定方法、及び接線作成方法について説明する。接点特定方法は、同一平面上に存在する所与の点（以下、「任意点Ｐ」と表記する）と所与の曲線（以下、単に「曲線Ａ」と表記する）に関して、任意点Ｐを通り曲線Ａに接する接線と曲線Ａが交わる接点を特定する方法であり、接線作成方法は、任意点Ｐを通り曲線Ａに接する接線を作成する方法である。なお、曲線Ａは、一部又は全部が直線であってもよい。
【００３０】
図２は、形状解析用プログラム３１を実行した際の処理の流れを示すフローチャートである。このフローにおけるＳ１０２以下の処理は、完全に自動化された処理として実行されてもよいが、ユーザーによる確認処理（次の手順に進むか否かをユーザーに選択させる処理）や設定処理等を挟んでもよい。
【００３１】
まず、情報処理装置２０は、入出力装置１０を用いて同一平面上の任意点Ｐ及び曲線Ａを入力するようにユーザーに要求し、入力されたデータをＲＡＭ２３又は補助記憶装置２４に記憶させる（Ｓ１００）。ユーザーは、任意点Ｐの座標、及び曲線Ａを特定可能なＣＡＤモデルを、入出力装置１０を用いて入力する。曲線Ａを特定可能なＣＡＤモデルは、例えば曲線上の点の座標列であってもよいし、端点の座標や区間曲率等を用いて幾何的に曲線を表現したものであってもよい。なお、任意点Ｐ及び曲線Ａが同一平面上にない場合はエラー表示等を行なう。以下、係る平面を平面Ｘと表記する。
【００３２】
任意点Ｐ及び曲線Ａが入力されると、任意点Ｐを通り平面Ｘに含まれない軸直線を生成する（Ｓ１０２；図３参照）。軸直線は、例えば平面Ｘと直交する方向の直線として生成する。図３（Ａ）は平面Ｘに直交する方向から見た図であり、図３（Ｂ）は平面Ｘを正面視した図である。
【００３３】
軸直線を生成すると、平面Ｘ上でない位置であって、曲線Ａ上で軸直線から最も遠い点よりも軸直線から遠い位置に螺旋開始点を設定する（Ｓ１０４；図４参照）。図４（Ａ）は平面Ｘに直交する方向から見た図であり、図４（Ｂ）は平面Ｘを正面視した図である。
【００３４】
Ｓ１０４の処理は、一定のアルゴリズムにより自動的に点を設定する処理であってもよいし、ユーザーに入出力装置１０を用いて直線や点の設定・選択を促し、ユーザーによる入力を受け付ける処理であってもよい。前者の場合、例えば曲線Ａ上で軸直線から最も遠い点と軸曲線の距離に一定の付加距離を加算した開始点距離ｋを算出し、平面Ｘから所定距離離れた平面上で軸曲線との距離が開始点距離ｋとなる点をランダムに選択して螺旋開始点として設定すればよい。後者の場合、ユーザーにより入力された点が上記の制約を満たすか否かを判定し、上記の制約を満たさないときにはエラー表示等を行ない、上記の制約を満たすときにはこれを螺旋開始点として設定する。
【００３５】
螺旋開始点が設定されると、螺旋開始点から軸直線を螺旋軸とする三次元螺旋を生成する（Ｓ１０６）。三次元螺旋は、平面Ｘから遠ざかる方向に進むように生成する。
【００３６】
この螺旋が１回転あたり軸直線方向にどの程度進むかについては、一定値であってもよいし、螺旋開始点と軸直線の距離（螺旋半径）に応じて適切に変更してもよい。また、三次元螺旋の回転方向は、曲線Ａに対していずれの側から接する接線を作成するか、を決定するものであるため、既定方向が予め定められていてもよいし、ユーザーに回転方向を決定させる手順を挟んでもよい。また、本フローを三次元螺旋の回転方向を変えて２回実行し、曲線Ａに対して両側から接する接線を２本作成するものとしてもよい。
【００３７】
図５は、三次元螺旋と任意点Ｐ、曲線Ａ、軸直線、螺旋開始点の位置関係を示す図である。図５（Ａ）は、平面Ｘに直交する方向からこれらを見た図であり、図５（Ｂ）は、平面Ｘを正面視した図である。
【００３８】
そして、三次元螺旋上の各点から軸直線に引いた垂線を連ねたねじれ面を生成する（Ｓ１０８）。図６は、生成されたねじれ面を平面Ｘに直交する方向から見た図である。
【００３９】
ねじれ面を生成すると、曲線Ａを軸直線に平行な向きでねじれ面に投影した投影曲線を生成する（Ｓ１１０）。図７は、ねじれ面に投影された投影曲線を平面Ｘに直交する方向から見た図である。
【００４０】
投影曲線を生成すると、投影曲線上で、螺旋開始点を通り軸直線に直交する基準面からの距離が最短となる最短点を抽出し（Ｓ１１２）、最短点を軸曲線に平行な向きで曲線Ａに投影した点を接点とする（Ｓ１１４；図８参照）。Ｓ１１４における投影は、Ｓ１１０における投影の逆投影となる。図８（Ａ）は、平面Ｘに直交する方向から係る様子を見た図であり、図８（Ｂ）は、平面Ｘを正面視した図である。
【００４１】
ここで、最短点が複数存在する場合は、最短点のうち軸直線との距離が最短な点を接点として選択する。なお、これに限らずユーザーにより接点選択ルールを選択可能にしてもよい。
【００４２】
そして、任意点Ｐと接点を通る直線を接線とする（Ｓ１１６；図８参照）。
【００４３】
ここで、以上の処理によって特定された点が接点となり、これを通る直線が接線となる原理を説明する。基準面から投影曲線上の点への距離をｄ、螺旋が１回転する間に軸直線方向に変位する距離をＤとすると、次式（１）が成立する。ここで、αは、軸直線方向から見て、投影曲線上の点が、螺旋開始点の回転角度を基準（＝ゼロ度）として軸直線周りに何度回転したかを示す値である。
【００４４】
ｄ／Ｄ  ＝  α／３６０          …（１）
【００４５】
ここで、αが最少となる投影曲線上の点を曲線Ａに逆投影した点が、任意点Ｐから曲線に引いた接線と曲線が交わる点、すなわち接点である。そうすると、距離ｄが最少となる投影曲線上の点を抽出し、抽出した点を曲線に逆投影すれば、接点を特定することができるのが判る。
【００４６】
以上説明した本実施例の接点特定方法、及び接線作成方法によれば、コンピュータを用いて実行可能な手順で適切に接点を特定し、また接線を作成することができる。
【００４７】
また、本実施例の接点特定方法によれば、任意点Ｐを通り曲線Ａに接する同一の接線に接する接点が複数存在する場合に、複数の接点のうち最遠点を自動的に接点としてしまうという不都合が生じない。従って、接点をより適切に特定することができる。
【００４８】
＜死角境界線設定方法＞
以下、形状解析用プログラム３２により実現される死角境界線設定方法について説明する。死角境界線設定方法は、所与の視点Ｑから所与の三次元曲面Ｒを見た際に、死角となる領域と、死角とならない領域との境界線である死角境界線を作成するための方法である。
【００４９】
図９は、形状解析用プログラム３２を実行した際の処理の流れを示すフローチャートである。このフローにおけるＳ２０２以下の処理は、完全に自動化された処理として実行されてもよいが、ユーザーによる確認処理（次の手順に進むか否かをユーザーに選択させる処理）や設定処理等を挟んでもよい。
【００５０】
まず、情報処理装置２０は、入出力装置１０を用いて視点Ｑ、及び三次元曲面Ｒを入力するようにユーザーに要求し、入力されたデータをＲＡＭ２３又は補助記憶装置２４に記憶させる（Ｓ２００）。ユーザーは、視点Ｑの座標及び三次元曲面Ｒを特定可能なＣＡＤモデルを、入出力装置１０を用いて入力する。
【００５１】
視点Ｑ、及び三次元曲面Ｒが入力されると、視点Ｑを通る基準直線Ｔを含む基準平面Ｓ１〜Ｓｎを、基準直線Ｔを回転中心として角度Δθずつ変化させて複数生成する（Ｓ２０２）。基準直線Ｔの設定に特段の制限はないが、例えば現実の三次元空間における三次元曲面Ｒの向きが与えられている場合は、鉛直方向に引くものとすればよい。また、これに限らず、ユーザーによる基準直線Ｔの入力を受け付けてもよい。図１０は、設定された基準平面Ｓ１〜Ｓｎを示す図である。なお、基準平面Ｓ１〜Ｓｎは、三次元曲面Ｒを包含するように十分な角度範囲をもって設定されると好適である。
【００５２】
そして、各基準平面Ｓ１〜ＳｎについてＳ２０４〜Ｓ２１８の処理を実行する（ＳＳ２０４〜Ｓ２２２）。なお、初期値としてｋ＝０が与えられているものとする。
【００５３】
まず、三次元曲面Ｒの基準平面Ｓｋにおける断面曲線Ｂｋを生成する（Ｓ２０４）。以下、視点Ｑを任意点Ｐ、断面曲線Ｂｋを曲線Ａと置換すると、＜接点特定方法、及び接線作成方法＞と同様の処理を行なうこととなる。従って、各処理の詳細については、＜接点特定方法、及び接線作成方法＞における各処理の説明、及び図３〜図８を参照することとし、詳細な説明及び図示を省略する。
【００５４】
断面曲線Ｂｋを生成すると、視点Ｑを通り基準平面Ｓｋに含まれない軸直線を生成し（Ｓ２０６）、基準平面Ｓｋ上でない位置であって、断面曲線Ｂｋ上で軸直線から最も遠い点よりも軸直線から遠い位置に螺旋開始点を設定する（Ｓ２０８）。
【００５５】
軸直線は、例えば複数の基準平面Ｓ１〜Ｓｎのうち中央に位置する基準平面Ｓｍに直交する直線として生成する。
【００５６】
また、Ｓ２０８の処理は、＜接点特定方法、及び接線作成方法＞と同様に、一定のアルゴリズムにより自動的に点を設定する処理であってもよいし、ユーザーに入出力装置１０を用いて直線や点の設定・選択を促し、ユーザーによる入力を受け付ける処理であってもよい。
【００５７】
螺旋開始点が設定されると、螺旋開始点から軸直線を螺旋軸とする三次元螺旋を生成する（Ｓ２１０）。三次元螺旋は、断面曲線Ｂｋから遠ざかる方向に進むように生成する。
【００５８】
そして、三次元螺旋上の各点から軸直線に引いた垂線を連ねたねじれ面を生成し（Ｓ２１２）、断面曲線Ｕｋを軸直線に平行な向きでねじれ面に投影した投影曲線を生成する（Ｓ２１４）。投影曲線を生成すると、投影曲線上で、螺旋開始点を通り軸直線に直交する基準面からの距離が最短となる最短点を抽出し（Ｓ２１６）、抽出した最短点のうち軸直線との距離が最短な点を軸曲線に平行な向きで断面曲線Ｕｋに投影した点を接点とする（Ｓ２１８）。
【００５９】
係る処理を基準平面Ｓ１〜Ｓｎのそれぞれについて実行すると、各基準平面に関して設定された接点を連ねて死角境界線を作成する（Ｓ２２４）。
【００６０】
以上説明した本実施例の死角境界線設定方法によれば、コンピュータにより実現可能な手順で適切に複数の接点を特定し、これらを連ねて死角境界線を作成することができる。また、視点Ｑを通り断面曲線に接する同一の接線に接する接点が複数存在する場合に、軸直線から最も近い点を接点とするため、複数の接点のうち最遠点を自動的に接点としてしまうという不都合が生じない。従って、死角境界線をより適切に作成することができる。
【００６１】
＜利用例＞
この死角境界線作成方法を自動車の設計段階に適用した例を図１１〜図１５に示す。
【００６２】
まず、自動車の運転者の眼から見て死角となるボンネットの領域と、死角とならない領域との境界線を作成する場合について説明する。この場合、図１１に示す如く、運転者の眼の位置を視点Ｑとし、視点Ｑを通る鉛直線を基準直線Ｔとして、ウインドシールドガラスの下端部の左右端がそれぞれ基準平面Ｓ１、及びＳｎに含まれるように基準平面Ｓ１〜Ｓｎを生成する。
【００６３】
そして、図１２に示す如く各基準平面について視点Ｑを通る断面曲線との接線が断面曲線と交わる接点を特定する。ここで、軸直線は、例えば車両軸と鉛直方向の双方に直交する方向（すなわち車両幅方向）に設定する。各基準平面について接点を特定すると、図１３に示す如く、特定した各接点を連ねて死角境界線とする。
【００６４】
係る処理によって、運転者から見て死角となるボンネットの領域の輪郭である死角境界線を、より適切に作成することができる。
【００６５】
また、自動車の運転者の眼から見た上方視界角度を算出することも可能である。この場合、ウインドシールド上部のセラミック線について接線を作成し、接線のうち最も角度が水平方向に近いものを上方視界角度として算出する（図１４、１５参照）。
【００６６】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【産業上の利用可能性】
【００６７】
本発明は、自動車製造業や自動車部品製造業等に利用可能である。
【図面の簡単な説明】
【００６８】
【図１】本発明の接点特定方法、接線作成方法、及び死角境界線設定方法を実現するための形状解析装置１の構成を模式的に示した図である。
【図２】形状解析用プログラム３１を実行した際の処理の流れを示すフローチャートである。
【図３】任意点Ｐを通り平面Ｘに含まれない軸直線を生成する様子について、平面Ｘに直交する方向から見た図、及び平面Ｘを正面視した図である。
【図４】螺旋開始点を設定する様子について、平面Ｘに直交する方向から見た図、及び平面Ｘを正面視した図である。
【図５】三次元螺旋と任意点Ｐ、曲線Ａ、軸直線、螺旋開始点の位置関係について、平面Ｘに直交する方向から見た図、及び平面Ｘを正面視した図である。
【図６】生成されたねじれ面を平面Ｘに直交する方向から見た図である。
【図７】ねじれ面に投影された投影曲線を平面Ｘに直交する方向から見た図である。
【図８】投影曲線上で、螺旋開始点を通り軸直線に直交する基準面からの距離が最短となる最短点を抽出し、最短点を軸曲線に平行な向きで曲線Ａに投影した点を接点とする様子について、平面Ｘに直交する方向から見た図、及び平面Ｘを正面視した図である。
【図９】形状解析用プログラム３２を実行した際の処理の流れを示すフローチャートである。
【図１０】設定された基準平面Ｓ１〜Ｓｎを示す図である。
【図１１】死角境界線作成方法を自動車の設計段階に適用した例を説明するための説明図である。
【図１２】死角境界線作成方法を自動車の設計段階に適用した例を説明するための説明図である。
【図１３】死角境界線作成方法を自動車の設計段階に適用した例を説明するための説明図である。
【図１４】死角境界線作成方法を自動車の設計段階に適用した例を説明するための説明図である。
【図１５】死角境界線作成方法を自動車の設計段階に適用した例を説明するための説明図である。
【図１６】従来の接線作成方法を実施した場合に生じる問題点を説明するための説明図である。
【図１７】従来の接線作成方法を実施した場合に生じる問題点を説明するための説明図である。
【符号の説明】
【００６９】
１  形状解析装置
１０  入出力装置
２０  情報処理装置
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  補助記憶装置
３０  モデル作成用プログラム
３１、３２  形状解析用プログラム
Ａ  曲線
Ｂ１〜Ｂｎ  断面曲線
Ｐ  任意点
Ｒ  三次元曲面
Ｑ  視点
Ｓ１〜Ｓｎ  基準平面
Ｘ  平面
【図１】
0005035087.tif 000002
【図２】
0005035087.tif 000003
【図３】
0005035087.tif 000004
【図４】
0005035087.tif 000005
【図５】
0005035087.tif 000006
【図６】
0005035087.tif 000007
【図７】
0005035087.tif 000008
【図８】
0005035087.tif 000009
【図９】
0005035087.tif 000010
【図１０】
0005035087.tif 000011
【図１１】
0005035087.tif 000012
【図１２】
0005035087.tif 000013
【図１３】
0005035087.tif 000014
【図１４】
0005035087.tif 000015
【図１６】
0005035087.tif 000016
【図１７】
0005035087.tif 000017
【図１５】
0005035087.tif 000018