(57)【要約】【課題】コンピュータにおける範囲を判定するプログラムを作成する際のプログラム作成者の作業を、容易且つ正確に行えるようにするとともに、所望な範囲において範囲の判定を行うプログラムを自動的に生成することができる範囲判定プログラム生成装置及び範囲判定プログラム生成装置を用いたプログラム作成方法を提供する。【解決手段】モニタ２０上において、入力部１０より入力した入力データが、予め入力されている物体のデータの中で、最も近接しているデータを予め入力されている物体のデータより検出する最近接座標データ検出手段５０と、検出された最も近接している物体の座標データより、範囲判定を行う制御命令文を作成する制御命令文作成手段６０と、作成された範囲判定を行う制御命令文を含むプログラムを自動的に生成するプログラム生成手段５７とを有する。【選択図】        図１
2005070825.tif 000002
【特許請求の範囲】
【請求項１】
所望の形状の所望の範囲において、範囲判定を行う制御命令文を含むプログラムを生成する装置であって、
予め入力されている物体のデータを表示する表示手段において、必要なデータの入力を行う入力手段により、入力した入力データが、予め入力されている物体のデータの中で、最も近接しているデータを予め入力されている物体のデータより検出する最近接座標データ検出手段と、
前記最近接座標データ検出手段により検出された最も近接している物体の座標データより、範囲判定を行う制御命令文を作成する制御命令文作成手段と、
前記制御命令文作成手段により作成された範囲判定を行う制御命令文を含むプログラムを自動的に生成する手段であるプログラム生成手段とを有することを特徴とする範囲判定プログラム生成装置。
【請求項２】
範囲判定を行う制御命令文の前に処理を行う文を作成する手段である前処理作成手段を有することを特徴とする請求項１に記載の範囲判定プログラム生成装置。
【請求項３】
範囲判定を行う制御命令文の後に処理を行う文を作成する手段である後処理作成手段を有することを特徴とする請求項１又は２に記載の範囲判定プログラム生成装置。
【請求項４】
範囲判定を行うプログラムにおいて、どのような処理が行われているかを記載する文であるコメント文の作成を行うコメント文作成手段を有することを特徴とする請求項１又は２又は３に記載の範囲判定プログラム生成装置。
【請求項５】
制御命令文作成手段が、範囲判定を行う制御命令文の判定式の中に定数が１つ含まれている制御命令文を作成する単一定数制御命令文作成手段を有することを特徴とする請求項１又は２又は３又は４に記載の範囲判定プログラム生成装置。
【請求項６】
制御命令文作成手段が、範囲判定を行う制御命令文の判定式の中に定数が複数含まれている制御命令文を作成する複数定数制御命令文作成手段を有することを特徴とする請求項１又は２又は３又は４又は５に記載の範囲判定プログラム生成装置。
【請求項７】
範囲判定プログラム生成装置を用いたプログラム作成方法であって、
物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力を行い、
入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力を行い、
物体の座標データにおける所望の範囲において、前記物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力と、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力とを行い、
範囲判定を行う制御命令文を含むプログラムを作成することを特徴とする範囲判定プログラム生成装置を用いたプログラム作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラムを自動的に生成する装置であって、特に、範囲の判定を行うプログラムを自動的に生成する装置に関するものである。
【０００２】
【従来の技術】
従来、コンピュータのプログラムにおける制御命令文は、人間によって記述され、作成が行われている。
【０００３】
特に、作成する制御命令文に、複雑な範囲判定を必要とするプログラムを作成する場合、別途人間が、不等式における傾き及び切片等の定数の値を予め算出しておき、制御命令文の作成時に、算出した不等式における傾き及び切片等の値を記述し、さらに、範囲の判定を行う座標形と、範囲の判定式を考慮し、範囲の判定を行う判定式の不等号を設定するとともに、範囲の判定式を満たした場合の処理と、範囲の判定式を満たさなかった場合の処理の設定を行っている。
【０００４】
なお、出願人は、先行技術文献の調査を行ったものの、記載すべき先行技術文献は見受けられなかった。
【０００５】
【発明が解決しようとする課題】
しかし、上記従来の方法において、複雑な範囲判定を必要とするプログラムを作成する際、プログラムを作成する作業の他に、別途人間が、不等式における傾き及び切片等の定数の値を予め算出し、さらに、範囲の判定を行う座標形と、範囲の判定式を考慮し、範囲の判定を行う判定式の不等号の設定の作業を行わなければならない。
【０００６】
そこで、本発明は、コンピュータにおける範囲を判定するプログラムを作成する際のプログラム作成者の作業を、容易且つ正確に行えるようにするとともに、所望な範囲において範囲の判定を行うプログラムを自動的に生成することができる範囲判定プログラム生成装置及び範囲判定プログラム生成装置を用いたプログラム作成方法を提供することを目的とするものである。
【０００７】
【課題を解決するための手段】
本発明は、上記問題点を解決するために創作されてものであって、第１には、所望の形状の所望の範囲において、範囲判定を行う制御命令文を含むプログラムを生成する装置であって、予め入力されている物体のデータを表示する表示手段において、必要なデータの入力を行う入力手段により、入力した入力データが、予め入力されている物体のデータの中で、最も近接しているデータを予め入力されている物体のデータより検出する最近接座標データ検出手段と、前記最近接座標データ検出手段により検出された最も近接している物体の座標データより、範囲判定を行う制御命令文を作成する制御命令文作成手段と、前記制御命令文作成手段により作成された範囲判定を行う制御命令文を含むプログラムを自動的に生成する手段であるプログラム生成手段とを有することを特徴とする。
【０００８】
この第１の構成の範囲判定プログラム生成装置においては、予め入力されている物体のデータを表示する表示手段において、必要なデータの入力を行う入力手段により、入力した入力データが、予め入力されている物体のデータの中で、最も近接しているデータを予め入力されている物体のデータより検出する最近接座標データ検出手段と、前記最近接座標データ検出手段により検出された最も近接している物体の座標データより、範囲判定を行う制御命令文を作成する制御命令文作成手段と、前記制御命令文作成手段により作成された範囲判定を行う制御命令文を含むプログラムを自動的に生成する手段であるプログラム生成手段とを有していることにより、プログラム作成者が、範囲判定を行うプログラムを作成する際に、作業を視覚的に行うことが可能になるため、範囲判定を行うプログラムを作成する際のプログラム作成者の作業が、容易且つ正確に行えるようになるとともに、所望な形状の所望な範囲における範囲判定を行うプログラムを自動的に生成することが可能となる。
【０００９】
また、第２には、上記第１の構成において、範囲判定を行う制御命令文の前に処理を行う文を作成する手段である前処理作成手段を有することを特徴とする。
【００１０】
この第２の構成の範囲判定プログラム生成装置においては、範囲判定を行う制御命令文の前に処理を行う文を作成する手段である前処理作成手段を有するため、範囲判定を行う制御命令文による範囲判定を行うか行わないかの処理が可能となるとともに、生成される範囲判定を行うプログラムを、範囲判定を行う制御命令文のみが羅列されたものではなく、プログラム生成時に既に動作可能となっているプログラムとすることが可能となる。
【００１１】
また、第３には、上記第１又は第２の構成において、範囲判定を行う制御命令文の後に処理を行う文を作成する手段である後処理作成手段を有することを特徴とする。
【００１２】
この第３の構成の範囲判定プログラム生成装置においては、範囲判定を行う制御命令文の後に処理を行う文を作成する手段である後処理作成手段を有するため、範囲判定を行う制御命令文による範囲判定を行った結果、いずれの領域も満たさない場合の処理が可能となるとともに、生成される範囲判定を行うプログラムを、範囲判定を行う制御命令文のみが羅列されたものではなく、プログラム生成時に既に動作可能となっているプログラムとすることが可能となる。
【００１３】
また、第４には、上記第１又は第２又は第３の構成において、範囲判定を行うプログラムにおいて、どのような処理が行われているかを記載する文であるコメント文の作成を行うコメント文作成手段を有することを特徴とする。
【００１４】
この第４の構成の範囲判定プログラム生成装置においては、範囲判定を行うプログラムにおいて、どのような処理が行われているかを記載する文であるコメント文の作成を行うコメント文作成手段を有するため、プログラム作成者が、生成された範囲判定を行うプログラムをみた際に、生成された範囲判定を行うプログラムのどこでどのような処理が行われているかを容易に認識することが可能となる。
【００１５】
また、第５には、上記第１又は第２又は第３又は第４のいずれかの構成において、制御命令文作成手段が、範囲判定を行う制御命令文の判定式の中に定数が１つ含まれている制御命令文を作成する単一定数制御命令文作成手段を有することを特徴とする。
【００１６】
この第５の構成の範囲判定プログラム生成装置においては、制御命令文作成手段が、範囲判定を行う制御命令文の判定式の中に定数が１つ含まれている制御命令文を作成する単一定数制御命令文作成手段を有するため、範囲判定を行う制御命令文において、判定式が、定数が１つにより著される場合に、範囲判定を行う制御命令文の作成が可能となる。
【００１７】
また、第６には、上記第１又は第２又は第３又は第４又は第５のいずれかの構成において、制御命令文作成手段が、範囲判定を行う制御命令文の判定式の中に定数が複数含まれている制御命令文を作成する複数定数制御命令文作成手段を有することを特徴とする。
【００１８】
この第６の構成の範囲判定プログラム生成装置においては、制御命令文作成手段が、範囲判定を行う制御命令文の判定式の中に定数が複数含まれている制御命令文を作成する複数定数制御命令文作成手段を有するため、範囲判定を行う制御命令文において、判定式が、複数の定数により著される場合に、範囲判定を行う制御命令文の作成が可能となる。
【００１９】
また、第７には、範囲判定プログラム生成装置を用いたプログラム作成方法であって、物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力を行い、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力を行い、物体の座標データにおける所望の範囲において、前記物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力と、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力とを行い、範囲判定を行う制御命令文を含むプログラムを作成することを特徴とする。
【００２０】
この第７の構成の範囲判定プログラム生成装置を用いたプログラム作成方法は、範囲判定プログラム生成装置を用いたプログラム作成方法であって、物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力を行い、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力を行い、物体の座標データにおける所望の範囲において、前記物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力と、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力とを行い、範囲判定を行う制御命令文を含むプログラムを作成するため、プログラム作成者が、範囲判定を行うプログラムを作成する際に、作業を視覚的に行うことが可能になるとともに、範囲判定を行うプログラムを作成する際のプログラム作成者の作業を、容易且つ正確に行うことが可能となる。
【００２１】
【発明の実施の形態】
次に、本発明の実施例を図面を利用して説明する。
【００２２】
本実施例の範囲判定プログラム生成装置Ｗの構成は、図１に示すように、入力部１０と、モニタ２０と、ＣＰＵ３０と、記憶媒体４０とを有している。
【００２３】
上記入力部１０は、必要なデータを入力する部材である。
【００２４】
上記モニタ２０は、上記入力部１０より必要なデータを入力する際の入力要求を表示するとともに、入力されたデータの表示を行い、さらに、記述されたプログラムの表示を行う部材である。
【００２５】
上記ＣＰＵ３０は、後述する範囲判定プログラムを作成するための処理命令を作成する際の演算を行うためのものである。
【００２６】
上記記憶媒体４０は、最近接座標データ検出手段５０と、コメント文作成手段５１と、前処理作成手段５３と、後処理作成手段５５と、プログラム生成手段５７と、制御命令文作成手段６０を有している。
【００２７】
上記制御命令文作成手段６０は、範囲判定を行う不等式中に定数が１つ含まれている制御命令文を作成する手段である単一定数制御命令文作成手段６１と、範囲判定を行う不等式中に定数が複数含まれている制御命令文を作成する手段である複数定数制御命令文作成手段６３を有している。
【００２８】
上記最近接座標データ検出手段５０は、モニタ２０上に表示された物体の座標データの位置を参考にし、上記入力部１０を用いて上記物体の座標データ近傍を選択した際の位置から、予め入力されている物体の座標データの中で最も近接している節点のデータを検出する手段である。
【００２９】
上記制御命令文作成手段６０は、上記最近接座標データ検出手段５０により検出された最も近接している物体の座標データを元に、不等式による範囲判定を行う制御命令文を作成する手段である。
【００３０】
上記コメント文作成手段５１は、上記プログラム生成手段５７により生成されるプログラム中にコメント文を作成する手段である。
【００３１】
上記前処理作成手段５３は、上記プログラム生成手段５７により生成されるプログラムにおいて、上記制御命令文作成手段６０により作成された不等式による範囲判定を行う制御命令文の前に処理を行う文を作成する手段である。
【００３２】
上記後処理作成手段５５は、上記プログラム生成手段５７により生成されるプログラムにおいて、上記制御命令文作成手段６０により作成された不等式による範囲判定を行う制御命令文の後に処理を行う文を作成する手段である。
【００３３】
上記プログラム生成手段５７は、上記コメント文作成手段５１、上記前処理作成手段５３、上記後処理作成手段５５、上記制御命令文作成手段６０により作成されたプログラムを上記記憶媒体４０に生成する手段である。
【００３４】
次に、範囲判定プログラム生成装置Ｗの動作を図２から図１８を用いて説明する。
【００３５】
まず、座標データの読み込み（Ｓ１０）が行われる。すなわち、節点における座標データと、要素のデータの入力が行われる。つまり、具体的には、図５において、Ｐで示した橋梁の主塔の節点の二次元データの読み込みが行われ、さらに、Ｐで示した主塔の節点が有するデータ番号からなる要素データの読み込みが行われる。
【００３６】
ここで前記要素データについて説明すると、要素データは、節点と節点を線で結び表示するためのデータのことであり、モニタ２０上に表示する際の表示順序が節点に設けられた節点番号により記載されている。
【００３７】
なお、後述の最も近接している節点の座標データを検出（Ｓ１６）および最も近接している節点の座標データを検出（Ｓ２２）において、節点の中に最も近接している節点として検出されたくない節点がある場合、上記座標データの読み込み（Ｓ１０）において最も近接している節点を検出する際の検出可能な節点のデータの入力が行われる。また、上記座標は、便宜上図５に示すように、主塔の中央の下方の位置を原点として定めてある。
【００３８】
次に、前処理の作成（Ｓ１１）が行われる。すなわち、上記前処理作成手段５３により、不等式による範囲判定を行う制御命令文の前に処理を行う文の作成が行われる。具体的には、図６における点線Ｌ１０で示した部分の作成が行われる。つまり、上記前処理の作成（Ｓ１１）において作成された不等式による範囲判定を行う制御命令文の前に処理を行う文により、後述の第１点目の入力（Ｓ１５）から制御命令文の作成を継続するか（Ｓ４２）までの処理において設定する範囲において、不等式による範囲判定を行う制御命令文による範囲判定を行うか行わないかの処理が行われる。
【００３９】
次に、コメント文の作成（Ｓ１２）が行われる。すなわち、上記コメント文作成手段５１により、コメント文の作成が行われる。つまり、具体的には、図６における点線Ｌ１１で示した部分の作成が行われる。
【００４０】
次に、文の表示（Ｓ１３）が行われる。つまり、図７のＭ１に示すように、上記前処理の作成（Ｓ１１）において作成された不等式による範囲判定を行う制御命令文の前に処理を行う文と、コメント文の作成（Ｓ１２）において作成されたコメント文がモニタ２０上に表示が行われる。
【００４１】
次に、画面の表示（Ｓ１４）が行われる。つまり、図７のＭ２に示すように、上記座標データの読み込み（Ｓ１０）において入力された座標データが上記モニタ２０上に表示される。
【００４２】
次に、第１点目の入力（Ｓ１５）を行う。すなわち、範囲判定を行いたい領域において、範囲判定を行う境界線となる線上の節点近傍をマウスにより左クリックする。具体的には、図７における節点Ｐ１の近傍の点Ｐ２の位置をマウスにより左クリックする。ここで、範囲判定を行うプログラムの作成の仕方について説明すると、図８に示すようなＴ１０の領域において任意の点がＴ１０の領域内にあるかどうかを判定する制御命令文を作成したい場合、まず、図９における境界線Ｒ１０を境界線として範囲Ｅ１０内であるかを判定する制御命令文を作成し、次に、図１０における境界線Ｒ１１を境界線として範囲Ｅ１１内であるかを判定する制御命令文を作成し、次に、図１１における境界線Ｒ１２を境界線として範囲Ｅ１２内であるかを判定する制御命令文を作成し、次に、図１２における境界線Ｒ１３を境界線として範囲Ｅ１３内であるかを判定する制御命令文を作成して、範囲判定を行うプログラムを作成する。
【００４３】
次に、前記の１つ１つの制御命令文の作成の仕方について説明すると、範囲判定を行う不等式において境界線となる直線を、境界線を形成したい所望の位置に、２点の節点を指定することにより設定し、さらに、範囲判定を行う不等式において境界線を境にどちら側の範囲が領域内であるかを、領域側である任意の点を設定し、制御命令文を作成する。つまり、上記第１点目の入力（Ｓ１５）においては、範囲判定を行う不等式における境界線を図９の境界線Ｒ１０に作成すると想定して、境界線Ｒ１０が作成可能な節点である図７のＰ１近傍の点Ｐ２をマウスにより左クリックする。なお、マウスにより左クリックしたモニタ２０上の点は、図７におけるｘ方向、ｙ方向の座標として取得される。
【００４４】
次に、最も近接している節点の座標データを検出（Ｓ１６）が行われる。すなわち、上記最近接座標データ検出手段５０により、各節点の座標データと、上記第１点目の入力（Ｓ１５）において、左クリックした位置の座標データとの距離の算出が行われ、さらに、算出された距離の中で最も距離の小さい節点の座標データが検出される。つまり、具体的には、節点Ｐ１が検出される。
【００４５】
次に、ポイントの表示（Ｓ１７）が行われる。つまり、図１３におけるＭ３に示すように、上記最も近接している節点の座標データを検出（Ｓ１６）において検出された最も距離の小さい節点の座標データ上にポイントの表示が行われる。
【００４６】
次に、座標データの記憶（Ｓ１８）が行われる。つまり、上記最も近接している節点の座標データを検出（Ｓ１６）において検出された最も距離の小さい節点の座標データが第１点目として記憶される。
【００４７】
次に、第２点目の入力（Ｓ１９）を行う。すなわち、第１点目の入力（Ｓ１５）において入力した点が所望の点であった場合、第１点目に入力した節点と次に入力する第２点目の節点が、範囲判定を行う境界線を形成できるよう範囲判定を行いたい領域の境界線上の節点近傍をマウスにより左クリックする。一方、第１点目の入力（Ｓ１５）において入力した点が所望の点でなかった場合、任意の点を右クリックする。つまり、具体的には、第１点目の入力（Ｓ１５）において入力した点が所望の点であった場合、範囲判定を行う不等式における境界線を図９の境界線Ｒ１０に作成すると想定して、境界線Ｒ１０が作成可能な節点である図１３におけるＰ３近傍の点Ｐ４をマウスにより左クリックする。一方、第１点目の入力（Ｓ１５）において入力した点が所望の点でなかった場合、任意の点を右クリックする。なお、マウスにより左クリックしたモニタ２０上の点は、図１３におけるｘ方向、ｙ方向の座標として取得される。また、マウスにより右クリックした場合には、座標は取得されない。
【００４８】
次に、再入力するか（Ｓ２０）の判定が行われる。つまり、上記第２点目の入力（Ｓ１９）において、マウスにより左クリックをしたか、マウスにより右クリックをしたかにより、再入力するか、再入力しないかの判定が行われる。
【００４９】
上記再入力するか（Ｓ２０）の判定において、再入力すると判定された場合、次に、ポイントの消去（Ｓ２１）が行われる。すなわち、第１点目の入力（Ｓ１５）において入力され、ポイントの表示（Ｓ１７）において表示された図１３のＭ３のポイントが消去され、図７に示す入力画面がモニタ２０上に表示され、次に、第１点目の入力（Ｓ１５）を行うこととなる。
【００５０】
一方、第２点目の入力（Ｓ１９）において、マウスにより左クリックが行われ、上記再入力するか（Ｓ２０）の判定において、再入力しないと判定された場合には、次に、最も近接している節点の座標データを検出（Ｓ２２）が行われる。つまり、上記最も近接している節点の座標データを検出（Ｓ１６）同様上記最近接座標データ検出手段５０により、各節点の座標データと、上記第２点目の入力（Ｓ１９）において、左クリックした位置の座標データとの距離の算出が行われ、さらに、算出された距離の中で最も距離の小さい節点の座標データの検出が行われる。つまり、具体的には、節点Ｐ３が検出される。
【００５１】
次に、ポイントの表示（Ｓ２３）が行われる。つまり、図１４におけるＭ４に示すように、上記最も近接している節点の座標データを検出（Ｓ２２）において検出された最も距離の小さい節点の座標データ上にポイントの表示が行われる。
【００５２】
次に、座標データの記憶（Ｓ２４）が行われる。つまり、上記最も近接している節点の座標データを検出（Ｓ２２）において検出された最も距離の小さい節点の座標データが第２点目として記憶される。
【００５３】
次に、有効領域の入力（Ｓ２５）を行う。すなわち、上記第２点目の入力（Ｓ１９）において入力した点が所望の点であった場合、第１点目に入力した節点と、第２点目に入力した節点により形成される境界線のどちら側が範囲として有効であるかをマウスを左クリックして入力する。一方、第２点目の入力（Ｓ１９）において入力した点が所望の点でなかった場合、任意の点を右クリックする。つまり、具体的には、第２点目の入力（Ｓ１９）において入力した点が所望の点であった場合、図１５に示すように、節点Ｐ１と、節点Ｐ３とを結ぶ直線を境界線として、Ｔ１０の領域側の点であるＰ５の位置を左クリックする。一方、第２点目の入力（Ｓ１９）において入力した点が所望の点でなかった場合、任意の点を右クリックする。なお、マウスにより左クリックしたモニタ２０上の点は、図１５におけるｘ方向、ｙ方向の座標として取得される。また、マウスにより右クリックした場合には、座標は取得されない。
【００５４】
次に、再入力するか（Ｓ２６）の判定が行われる。つまり、上記有効領域の入力（Ｓ２５）において、マウスによる左クリックを行ったか、右クリックを行ったかにより、再入力するか、再入力しないかの判定が行われる。
【００５５】
上記再入力するか（Ｓ２６）の判定において、再入力すると判定された場合、次に、ポイントの消去（Ｓ２７）が行われる。すなわち、第２点目の入力（Ｓ１９）において入力され、ポイントの表示（Ｓ２３）において表示された図１４のＭ４のポイントが消去され、図１３に示す入力画面がモニタ２０上に表示され、次に、第２点目の入力（Ｓ１９）を行うこととなる。
【００５６】
一方、上記再入力するか（Ｓ２６）の判定において、再入力しないと判定された場合、次に、同一領域での制御命令文の作成の断続を選択（Ｓ２８）を行う。すなわち、同一領域での制御命令文の作成を継続する場合、上記モニター２０上の任意の点において、マウスの左クリックを行い、逆に、同一領域での制御命令文の作成を継続しない場合、マウスの右クリックを行う。つまり、具体的には、図８におけるＴ１０の領域において、Ｔ１０の領域の判定を行う他の境界線Ｒ１１、Ｒ１２、Ｒ１３等の範囲の判定を行う制御命令文の作成を行う場合、マウスの左クリックを行う。一方、上記Ｔ１０の領域において、Ｔ１０の領域の判定を行う他の境界線Ｒ１１、Ｒ１２、Ｒ１３等の範囲の判定を行う制御命令文の作成を行わない場合、マウスの右クリックを行う。
【００５７】
次に、単一定数か（Ｓ２９）の判定が行われる。すなわち、上記第１点目の入力（Ｓ１５）と、上記第２点目の入力（Ｓ１９）において入力され、上記座標データの記憶（Ｓ１８）と、上記座標データの記憶（Ｓ２４）において記憶された節点Ｐ１と、節点Ｐ３の２点の座標データの比較が行われ、傾きの算出が可能であるかどうかの判定が行われる。
【００５８】
上記単一定数か（Ｓ２９）の判定において、単一定数であると判定された場合、判定式の設定（Ｓ３０）が行われる。すなわち、上記モニタ２０上において取得された節点の２点のｘ方向、ｙ方向の座標のいずれかが同一であった場合、上記制御命令文作成手段６０における単一定数制御命令文作成手段６１により、２点の節点を通る直線の切片の算出が行われるとともに、算出された値が制御命令文において範囲判定を行う不等式の定数として設定される。さらに、上記有効領域の入力（Ｓ２５）において入力された領域側の点の位置の座標データに基づき、制御命令文において範囲判定を行う不等式の不等号の設定が行われる。具体的には、図１２に示すように、境界線Ｒ１３を境界線として範囲Ｅ１３内であるかを判定する制御命令文を作成するような場合、図１２においてＺ方向の座標が同一の座標となるため、図６における点線Ｌ１２で示した制御命令文の一部が設定されることとなる。なお、上記判定式の設定（Ｓ３０）において作成される媒介変数の文字列は、上記単一定数か（Ｓ２９）の判定において、同一となる座標がｘ方向の座標であるか、或いは、ｙ方向の座標であるかによって、異なる文字列となるように処理が行われる。
【００５９】
一方、上記単一定数か（Ｓ２９）の判定において、単一定数でないと判定された場合、判定式の設定（Ｓ３１）が行われる。すなわち、上記モニタ２０上において取得された節点の２点のｘ方向、ｙ方向の座標のいずれも同一でなかった場合、上記制御命令文作成手段６０における複数定数制御命令文作成手段６３により、２点の節点を通る直線の傾きが算出されるとともに、２点の節点を通る直線の切片の算出が行われ、さらに、算出された値が制御命令文において範囲判定を行う不等式の定数として設定される。さらに、上記有効領域の入力（Ｓ２５）において入力された領域側の点の位置の座標データに基づき、制御命令文において範囲判定を行う不等式の不等号の設定が行われる。具体的には、図９に示すように、境界線Ｒ１０を境界線として範囲Ｅ１０内であるかを判定する制御命令文を作成するような場合、図６における点線Ｌ１３で示した制御命令文の一部が設定されることとなる。
【００６０】
上記判定式の設定（Ｓ３０）および上記判定式の設定（Ｓ３１）の処理が終了すると、次に、同一領域の判定を継続するか（Ｓ３２）の判定が行われる。つまり、上記同一領域での制御命令文の作成の断続を選択（Ｓ２８）において、マウスによる左クリックを行ったか、右クリックを行ったかにより、同一領域における制御命令文の作成を継続するか、或いは、同一領域における制御命令文の作成を継続しないかの判定が行われる。
【００６１】
上記同一領域の判定を継続するか（Ｓ３２）の判定において、同一領域の判定を継続すると判定された場合、次に、制御命令文の作成（Ｓ３３）が行われる。すなわち、同一領域における制御命令文の作成を継続する制御命令文の作成が行われる。つまり、具体的には、まず、図６における点線Ｌ１４で示した同一領域において判定が行われる次の行の行番号である５６５０の設定が行われ、そして、上記判定式の設定（Ｓ３０）と、上記判定式の設定（Ｓ３１）において設定され制御命令文の一部を用いて図１６の点線Ｌ１５で示した制御命令文の一部が作成されることとなる。
【００６２】
一方、上記同一領域の判定を継続するか（Ｓ３２）の判定において、同一領域の判定を継続しないと判定された場合、次に、制御命令文の作成（Ｓ３４）が行われる。すなわち、同一領域における制御命令文の作成を継続しない制御命令文の作成が行われる。つまり、具体的には、まず、図６における点線Ｌ１６に示すように、制御命令文の判定式の結果が真の場合の処理が記載される位置に、同一領域において判定を終了するとともに、一連の判定処理を終了する行へ処理が移されることを意味するラベル名＊ＥＸＩＴ．ＦＵＮＣＴＩＯＮの設定が行われ、そして、上記判定式の設定（Ｓ３０）と、上記判定式の設定（Ｓ３１）において設定され制御命令文の一部を用いて図１６の点線Ｌ１７で示した制御命令文の一部が作成されることとなる。なお、上記制御命令文の作成（Ｓ３４）において、一連の判定処理が終了される行を＊ＥＸＩＴ．ＦＵＮＣＴＩＯＮと設定したが、上記＊ＥＸＩＴ．ＦＵＮＣＴＩＯＮは、ただ単に、一連の判定処理が終了される行を示す名称であるため、他の名称、或いは、行番号であっても良い。
【００６３】
上記制御命令文の作成（Ｓ３３）および上記制御命令文の作成（Ｓ３４）が終了すると、次に、文の表示（Ｓ３５）が行われる。すなわち、上記制御命令文の作成（Ｓ３３）および上記制御命令文の作成（Ｓ３４）において作成された制御命令文の一部が上記モニタ２０上に表示される。つまり、具体的には、図１５のＭ５に示すように、上記制御命令文の作成（Ｓ３３）において作成された制御命令文の一部が表示されることとなる。
【００６４】
次に、同一領域の判定を継続するか（Ｓ３６）の判定が行われる。つまり、上記同一領域での制御命令文の作成の断続を選択（Ｓ２８）において、マウスによる左クリックを行ったか、右クリックを行ったかにより、同一領域の判定を継続するか、同一領域の判定を継続しないかの判定が行われる。
【００６５】
上記同一領域の判定を継続するか（Ｓ３６）の判定において、同一領域の判定を継続すると判定された場合、画面の消去（Ｓ３７）が行われ、次に、上記画面の表示（Ｓ１４）の処理が行われることとなる。すなわち、具体的には、図１５に示す実線で囲まれた範囲Ｂ内の消去が行われ、図７のＭ２に示した座標データの表示が行われる。
【００６６】
一方、上記同一領域の判定を継続するか（Ｓ３２）の判定において、同一領域の判定を継続しないと判定された場合、制御命令文の修正（Ｓ３８）が行われる。つまり、上記画面の表示（Ｓ１４）から上記画面の消去（Ｓ３７）までの処理を繰り返し、上記制御命令文の作成（Ｓ３３）および上記制御命令文の作成（Ｓ３４）において作成された範囲判定を行う制御命令文の一部は、判定後の制御の設定が行われていないため、ここで、上記画面の表示（Ｓ１４）から上記画面の消去（Ｓ３７）までの処理を繰り返して作成された制御命令文の修正が行われる。つまり、具体的には、図８におけるＴ１０の領域において、Ｔ１０の領域の判定を行う境界線Ｒ１０、Ｒ１１、Ｒ１２、Ｒ１３等の範囲の判定を行う制御命令文の作成を行った場合、図１６における点線Ｌ１８で示した部分が作成され、図１６における点線Ｌ１９で示した部分が追加され修正が行われる。
【００６７】
次に、コメント文の作成（Ｓ３９）が行われる。すなわち、上記コメント文作成手段５１により、コメント文の作成が行われる。つまり、具体的には、図１６における点線Ｌ２０で示した部分の作成が行われる。
【００６８】
次に、文の表示（Ｓ４０）が行われる。すなわち、上記制御命令文の修正（Ｓ３８）において修正された制御命令文が、上記モニタ２０上に修正されて表示されるとともに、上記コメント文の作成（Ｓ３９）において作成されたコメント文が上記モニタ２０上に表示される。つまり、具体的には、図１７において点線で示したＭ６が表示されることとなる。
【００６９】
次に、制御命令文の作成の断続を選択（Ｓ４１）を行う。すなわち、制御命令文の作成を継続する場合、上記モニター２０上の任意の点において、マウスの左クリックを行い、逆に、制御命令文の作成を継続しない場合、マウスの右クリックを行う。
【００７０】
次に、制御命令文の作成を継続するか（Ｓ４２）の判定が行われる。つまり、上記制御命令文の作成の断続を選択（Ｓ４１）において、マウスによる左クリックを行ったか、右クリックを行ったかにより、制御命令文の作成を継続するか、制御命令文の作成を継続しないかの判定が行われる。
【００７１】
上記制御命令文の作成を継続するか（Ｓ４２）の判定において、制御命令文の作成を継続すると判定された場合、画面の消去（Ｓ４３）が行われ、次に、上記画面の表示（Ｓ１４）の処理が行われることとなる。すなわち、具体的には、図１７に示す実線で囲まれた範囲Ｂ内の消去が行われ、図７のＭ２に示した座標データの表示が行われる。
【００７２】
一方、上記制御命令文の作成を継続するか（Ｓ４２）の判定において、制御命令文の作成を継続すると判定されなかった場合、コメント文の削除（Ｓ４４）が行われる。つまり、上記コメント文の作成（Ｓ３９）において、操作者が、制御命令文の作成を継続することを前提に作成されたコメント文の削除が行われる。つまり、具体的には、図８に示すようなＴ１０の領域およびＴ１１の領域において、範囲の判定を行う制御命令文を作成し、上記同一領域での制御命令文の作成の断続を選択（Ｓ２８）において、同一領域での制御命令文の作成の継続を行わない選択をした場合、図１８に示すように、点線Ｌ２１で囲まれたコメント文を有するプログラムリストが作成されているため、コメント文の削除が行われる。
【００７３】
次に、コメント文の作成（Ｓ４５）が行われる。すなわち、上記コメント文作成手段５１により、コメント文の作成が行われる。つまり、具体的には、図８に示すようなＴ１０の領域およびＴ１１の領域において、範囲の判定を行う制御命令文を作成し、さらに、上記同一領域での制御命令文の作成の断続を選択（Ｓ２８）において、同一領域での制御命令文の作成の継続を行わない選択をした場合、図１６における点線Ｌ２２で示した部分の作成が行われることとなる。
【００７４】
次に、後処理の作成（Ｓ４６）が行われる。すなわち、上記後処理作成手段５５により、不等式による判定を行う制御命令文の後に処理を行う文の作成が行われる。具体的には、図１６における点線Ｌ２３で示した部分の作成が行われる。つまり、上記の不等式による判定を行う制御命令文の後に処理を行う文は、作成された範囲判定を行う制御命令文の判定において、いずれの領域内にも入っていない場合に行われる処理に関する文である。
【００７５】
次に、前処理の修正（Ｓ４７）が行われる。すなわち、上記前処理の作成（Ｓ１１）において作成された不等式による判定を行う制御命令文の前に処理を行う文の修正が行われる。つまり、具体的には、図１６における点線Ｌ２４で示した部分が追加され修正される。
【００７６】
次に、文の表示（Ｓ４８）が行われる。すなわち、上記コメント文の削除（Ｓ４４）において削除されたコメント文が上記モニタ２０上より削除され、そして、上記コメント文の作成（Ｓ４５）において作成されたコメント文が上記モニタ２０上表示されるとともに、上記後処理の作成（Ｓ４６）において作成された不等式による判定を行う制御命令文の後に処理を行う文の表示が行われ、さらに、前処理の修正（Ｓ４７）において修正された不等式による判定を行う制御命令文より前に処理を行う文が、修正されて表示される。
【００７７】
次に、プログラムの生成（Ｓ４９）が行われる。すなわち、上記プログラム生成手段５７により、上記前処理の作成（Ｓ１１）から前処理の修正（Ｓ４７）までに作成された文がプログラムとして生成され、上記記憶媒体４０に記載される。つまり、具体的には、図８に示すようなＴ１０の領域およびＴ１１の領域において、範囲の判定を行う制御命令文を作成し、さらに、上記同一領域での制御命令文の作成の断続を選択（Ｓ２８）において、同一領域での制御命令文の作成の継続しない選択を行った場合、図１６に示すようなプログラムが生成されることとなる。
【００７８】
なお、上記実施例においては、ＢＡＳＩＣ言語によるプログラムの生成が行われているが、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｖｉｓｕａｌ  Ｃ＋＋等の他の言語によってプログラムの生成が行われても良い。
【００７９】
なお、上記実施例においては、範囲判定を行う領域の境界が直線であるが、円、楕円、２次曲線等による境界であっても良い。
【００８０】
また、上記実施例においては、範囲判定を行う領域の境界が直線であったため、２点を指定し、境界の設定を行っているが、境界の設定を行うことができればどのような方法であっても良い。
【００８１】
以上のように、上記範囲判定プログラム生成装置Ｗによれば、上記モニタ２０上において、上記入力部１０により、入力した入力データが、予め入力されている物体のデータの中で、最も近接しているデータを予め入力されている物体のデータより検出する最近接座標データ検出手段５０と、前記最近接座標データ検出手段５０により検出された最も近接している物体の座標データより、範囲判定を行う制御命令文を作成する制御命令文作成手段６０と、前記制御命令文作成手段６０により作成された範囲判定を行う制御命令文を含むプログラムを自動的に生成する手段であるプログラム生成手段５７とを有していることにより、プログラム作成者が、範囲判定を行うプログラムを作成する際に、作業を視覚的に行うことが可能になるため、範囲判定を行うプログラムを作成する際のプログラム作成者の作業が、容易且つ正確に行えるようになるとともに、所望な形状の所望な範囲における範囲判定を行うプログラムを自動的に生成することが可能となる。
【００８２】
また、上記範囲判定プログラム生成装置Ｗによれば、範囲判定を行う制御命令文の前に処理を行う文を作成する手段である前処理作成手段５３を有するため、範囲判定を行う制御命令文による範囲判定を行うか行わないかの処理が可能となるとともに、生成される範囲判定を行うプログラムを、範囲判定を行う制御命令文のみが羅列されたものではなく、プログラム生成時に既に動作可能となっているプログラムとすることが可能となる。
【００８３】
また、上記範囲判定プログラム生成装置Ｗによれば、範囲判定を行う制御命令文の後に処理を行う文を作成する手段である後処理作成手段５５を有するため、範囲判定を行う制御命令文による範囲判定を行った結果、いずれの領域も満たさない場合の処理が可能となるとともに、生成される範囲判定を行うプログラムを、範囲判定を行う制御命令文のみが羅列されたものではなく、プログラム生成時に既に動作可能となっているプログラムとすることが可能となる。
【００８４】
また、上記範囲判定プログラム生成装置Ｗによれば、範囲判定を行うプログラムにおいて、どのような処理が行われているかを記載する文であるコメント文の作成を行うコメント文作成手段５１を有するため、プログラム作成者が、生成された範囲判定を行うプログラムをみた際に、生成された範囲判定を行うプログラムのどこでどのような処理が行われているかを容易に認識することが可能となる。
【００８５】
また、上記範囲判定プログラム生成装置Ｗによれば、上記制御命令文作成手段６０が、範囲判定を行う制御命令文の判定式の中に定数が１つ含まれている制御命令文を作成する単一定数制御命令文作成手段６１を有するため、範囲判定を行う制御命令文において、判定式が、１つの定数により著される場合に、範囲判定を行う制御命令文の作成が可能となる。
【００８６】
また、上記範囲判定プログラム生成装置Ｗによれば、上記制御命令文作成手段６０が、範囲判定を行う制御命令文の判定式の中に定数が複数含まれている制御命令文を作成する複数定数制御命令文作成手段６３を有するため、範囲判定を行う制御命令文において、判定式が、複数の定数により著される場合に、範囲判定を行う制御命令文の作成が可能となる。
【００８７】
また、上記範囲判定プログラム生成装置を用いたプログラム作成方法は、範囲判定プログラム生成装置を用いたプログラム作成方法であって、物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力を行い、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力を行い、物体の座標データにおける所望の範囲において、前記物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力と、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力とを行い、範囲判定を行う制御命令文を含むプログラムを作成するため、プログラム作成者が、範囲判定を行うプログラムを作成する際に、作業を視覚的に行うことが可能になるとともに、範囲判定を行うプログラムを作成する際のプログラム作成者の作業を、容易且つ正確に行うことが可能となる。
【００８８】
【発明の効果】
本発明に基づく請求項１に記載の範囲判定プログラム生成装置によれば、予め入力されている物体のデータを表示する表示手段において、必要なデータの入力を行う入力手段により、入力した入力データが、予め入力されている物体のデータの中で、最も近接しているデータを予め入力されている物体のデータより検出する最近接座標データ検出手段と、前記最近接座標データ検出手段により検出された最も近接している物体の座標データより、範囲判定を行う制御命令文を作成する制御命令文作成手段と、前記制御命令文作成手段により作成された範囲判定を行う制御命令文を含むプログラムを自動的に生成する手段であるプログラム生成手段とを有していることにより、プログラム作成者が、範囲判定を行うプログラムを作成する際に、作業を視覚的に行うことが可能になるため、範囲判定を行うプログラムを作成する際のプログラム作成者の作業が、容易且つ正確に行えるようになるとともに、所望な形状の所望な範囲における範囲判定を行うプログラムを自動的に生成することが可能となる。
【００８９】
また、特に、請求項２に記載の範囲判定プログラム生成装置によれば、範囲判定を行う制御命令文の前に処理を行う文を作成する手段である前処理作成手段を有するため、範囲判定を行う制御命令文による範囲判定を行うか行わないかの処理が可能となるとともに、生成される範囲判定を行うプログラムを、範囲判定を行う制御命令文のみが羅列されたものではなく、プログラム生成時に既に動作可能となっているプログラムとすることが可能となる。
【００９０】
また、特に、請求項３に記載の範囲判定プログラム生成装置によれば、範囲判定を行う制御命令文の後に処理を行う文を作成する手段である後処理作成手段を有するため、範囲判定を行う制御命令文による範囲判定を行った結果、いずれの領域も満たさない場合の処理が可能となるとともに、生成される範囲判定を行うプログラムを、範囲判定を行う制御命令文のみが羅列されたものではなく、プログラム生成時に既に動作可能となっているプログラムとすることが可能となる。
【００９１】
また、特に、請求項４に記載の範囲判定プログラム生成装置によれば、範囲判定を行うプログラムにおいて、どのような処理が行われているかを記載する文であるコメント文の作成を行うコメント文作成手段を有するため、プログラム作成者が、生成された範囲判定を行うプログラムをみた際に、生成された範囲判定を行うプログラムのどこでどのような処理が行われているかを容易に認識することが可能となる。
【００９２】
また、特に、請求項５に記載の範囲判定プログラム生成装置によれば、制御命令文作成手段が、範囲判定を行う制御命令文の判定式の中に定数が１つ含まれている制御命令文を作成する単一定数制御命令文作成手段を有するため、範囲判定を行う制御命令文において、判定式が、１つの定数により著される場合に、範囲判定を行う制御命令文の作成が可能となる。
【００９３】
また、特に、請求項６に記載の範囲判定プログラム生成装置によれば、制御命令文作成手段が、範囲判定を行う制御命令文の判定式の中に定数が複数含まれている制御命令文を作成する複数定数制御命令文作成手段を有するため、範囲判定を行う制御命令文において、判定式が、複数の定数により著される場合に、範囲判定を行う制御命令文の作成が可能となる。
【００９４】
また、特に、請求項７に記載の範囲判定プログラム生成装置を用いたプログラム作成方法は、範囲判定プログラム生成装置を用いたプログラム作成方法であって、物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力を行い、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力を行い、物体の座標データにおける所望の範囲において、前記物体の座標データに基づき範囲判定を行う制御命令文における判定式の境界の入力と、入力した範囲判定を行う制御命令文における判定式の境界について、判定式を満たす領域の入力とを行い、範囲判定を行う制御命令文を含むプログラムを作成するため、プログラム作成者が、範囲判定を行うプログラムを作成する際に、作業を視覚的に行うことが可能になるとともに、範囲判定を行うプログラムを作成する際のプログラム作成者の作業を、容易且つ正確に行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の実施例に基づく範囲判定プログラム生成装置の構成を示すブロック図である。
【図２】本発明の実施例に基づく範囲判定プログラム生成装置の動作を説明する説明図である。
【図３】本発明の実施例に基づく範囲判定プログラム生成装置の動作を説明する説明図である。
【図４】本発明の実施例に基づく範囲判定プログラム生成装置の動作を説明する説明図である。
【図５】橋梁の主塔の座標の入力に使用する各点を示す説明図である。
【図６】本発明の実施例に基づく範囲判定プログラム生成装置により作成されるプログラムの例を示す説明図である。
【図７】本発明の実施例に基づく範囲判定プログラム生成装置のモニタ表示例を示す説明図である。
【図８】主塔の詳細な範囲を示す説明図である。
【図９】主塔の詳細な範囲の判定の例を示す説明図である。
【図１０】主塔の詳細な範囲の判定の例を示す説明図である。
【図１１】主塔の詳細な範囲の判定の例を示す説明図である。
【図１２】主塔の詳細な範囲の判定の例を示す説明図である。
【図１３】本発明の実施例に基づく範囲判定プログラム生成装置のモニタ表示例を示す説明図である。
【図１４】本発明の実施例に基づく範囲判定プログラム生成装置のモニタ表示例を示す説明図である。
【図１５】本発明の実施例に基づく範囲判定プログラム生成装置のモニタ表示例を示す説明図である。
【図１６】本発明の実施例に基づく範囲判定プログラム生成装置により作成されるプログラムの例を示す説明図である。
【図１７】本発明の実施例に基づく範囲判定プログラム生成装置のモニタ表示例を示す説明図である。
【図１８】本発明の実施例に基づく範囲判定プログラム生成装置により作成されるプログラムの例を示す説明図である。
【符号の説明】
Ｗ    範囲判定プログラム生成装置
１０    入力部
２０    モニタ
５０    最近接座標データ検出手段
５１    コメント文作成手段
５３    前処理作成手段
５５    後処理作成手段
５７    プログラム生成手段
６０    制御命令文作成手段
６１    単一定数制御命令文作成手段
６３    複数定数制御命令文作成手段
【図１】
2005070825.tif 000003
【図２】
2005070825.tif 000004
【図３】
2005070825.tif 000005
【図４】
2005070825.tif 000006
【図５】
2005070825.tif 000007
【図６】
2005070825.tif 000008
【図７】
2005070825.tif 000009
【図８】
2005070825.tif 000010
【図９】
2005070825.tif 000011
【図１０】
2005070825.tif 000012
【図１１】
2005070825.tif 000013
【図１２】
2005070825.tif 000014
【図１３】
2005070825.tif 000015
【図１４】
2005070825.tif 000016
【図１５】
2005070825.tif 000017
【図１６】
2005070825.tif 000018
【図１７】
2005070825.tif 000019
【図１８】
2005070825.tif 000020