JP2002366973A - Method for generating object, method for selecting and controlling generated object and object data structure - Google Patents
Method for generating object, method for selecting and controlling generated object and object data structureInfo
- Publication number
- JP2002366973A JP2002366973A JP2001172416A JP2001172416A JP2002366973A JP 2002366973 A JP2002366973 A JP 2002366973A JP 2001172416 A JP2001172416 A JP 2001172416A JP 2001172416 A JP2001172416 A JP 2001172416A JP 2002366973 A JP2002366973 A JP 2002366973A
- Authority
- JP
- Japan
- Prior art keywords
- selection
- function
- objects
- dimensional
- control method
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 230000008569 process Effects 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 35
- 230000001960 triggered effect Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 358
- 238000010586 diagram Methods 0.000 description 47
- 238000006243 chemical reaction Methods 0.000 description 13
- 238000005316 response function Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- BSFODEXXVBBYOC-UHFFFAOYSA-N 8-[4-(dimethylamino)butan-2-ylamino]quinolin-6-ol Chemical compound C1=CN=C2C(NC(CCN(C)C)C)=CC(O)=CC2=C1 BSFODEXXVBBYOC-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、コンピュータプロ
グラムによって表示装置画面上に表示させる2次元また
は3次元のオブジェクトの生成方法および生成されたオ
ブジェクトに対するマウスクリック操作(ポインティン
グ操作)などの選択操作イベントに対する選択制御方法
に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for generating a two-dimensional or three-dimensional object to be displayed on a display device screen by a computer program, and to a selection operation event such as a mouse click operation (pointing operation) on the generated object. It relates to a selection control method.
【0002】[0002]
【従来の技術】従来において、2次元または3次元オブ
ジェクトを操作するコンピュータグラフックスのアプリ
ケーションにおいては、通常、マウス操作によって操作
対象のオブジェクトを指定する。従来、このようなアプ
リケーションにおいては、操作対象のオブジェクトをユ
ーザが指定するためのインタフェースは、アプリケーシ
ョンに固有の指定手段で固定化されていた。例えば、3
次元オブジェクトaの内部に3次元オブジェクトbが包
含されている場合、aが不透明であれば内部に隠蔽され
たbは選択できない、すなわち「不透明オブジェクトの
内部オブジェクトは指定不可」という指定手段で固定化
されていた。2. Description of the Related Art Conventionally, in a computer graphics application for operating a two-dimensional or three-dimensional object, an object to be operated is usually designated by operating a mouse. Conventionally, in such an application, an interface for a user to specify an object to be operated has been fixed by a specification unit unique to the application. For example, 3
When the three-dimensional object b is contained inside the dimensional object a, if a is opaque, b hidden inside cannot be selected. That is, it is fixed by the specifying means that “the internal object of the opaque object cannot be specified”. It had been.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、従来技
術にあっては、3次元オブジェクトaが不透明である限
り、ユーザはその内部に隠蔽された3次元オブジェクト
bを指定することはできない。そこで、特殊な建物x(X
線透視建物)を追加し、その内部では3次元オブジェク
トaが不透明であっても内部の3次元オブジェクトbを
指定できる、すなわち「不透明オブジェクトの内部オブ
ジェクトも指定可」というようにしたいとする。この場
合でも、3次元オブジェクトaが通常の建物に存在する
場合には、やはり当該3次元オブジェクトaが不透明で
ある限り3次元オブジェクトbは選択できないようにす
る。すなわち、アプリケーションが当初想定していなか
ったような新たなオブジェクト指定形式を持つ建物を追
加し、同じアプリケーション内で種々の指定形式をもつ
建物が混在できるようにしたい。However, in the prior art, as long as the three-dimensional object a is opaque, the user cannot specify the three-dimensional object b hidden inside. Therefore, a special building x (X
Suppose that the user wants to add a transparent perspective building) and specify the internal three-dimensional object b even if the three-dimensional object a is opaque inside, that is, "can also specify the internal object of the opaque object". Even in this case, if the three-dimensional object a is present in a normal building, the three-dimensional object b cannot be selected as long as the three-dimensional object a is opaque. That is, it is desired to add a building having a new object designation format that the application did not initially anticipate, and to allow buildings having various designation formats to coexist in the same application.
【0004】しかしながら、従来技術にあっては、どの
オブジェクトが選択されるかはアプリケーションで予め
決められている論理に従って一意に決定されるため、そ
の論理で記述されていないオブジェクトについては常に
選択対象外となったり、規定外のオブジェクトとして常
に同一の選択方法が適用されるなどといった、3次元オ
ブジェクトの存在環境などに応じて自在に選択対象に含
めるといった多様なユーザインタフェースを提供できな
いという問題があった。However, in the prior art, which object is selected is uniquely determined according to the logic predetermined by the application. Therefore, objects not described by the logic are always excluded from selection. In addition, there is a problem that it is not possible to provide various user interfaces such that the same selection method is always applied as an unspecified object, and the user can freely include the three-dimensional object as a selection target according to the existence environment of the three-dimensional object. .
【0005】本発明の第1の目的は、オブジェクトの存
在環境などに応じて自在に選択対象に含めるといった多
様なユーザインタフェースを実現することができるオブ
ジェクトの生成方法および該方法によって生成されたオ
ブジェクトの選択制御方法並びにオブジェクトのデータ
構造を提供することにある。A first object of the present invention is to provide a method of generating an object capable of realizing various user interfaces such that the object can be freely selected according to the environment in which the object exists and the like, and an object generated by the method. An object of the present invention is to provide a selection control method and a data structure of an object.
【0006】一方、マウス操作によって操作対象のオブ
ジェクトを指定する際、操作対象のオブジェクトをユー
ザが指定するためのインタフェースの多くは、ユーザか
ら見えていないオブジェクトは選択しにくい、すなわち
ユーザ側から見て手前(視点側)のオブジェクトによっ
て完全に隠蔽されているオブジェクトは選択しにくい。
これは、2次元、3次元のいずれのオブジェクト場合で
あっても、形状オブジェクトを操作するコンピュータグ
ラフィックスのアプリケーションにおいて、画面上でオ
ブジェクトが重なり合っている場合に選択操作を困難に
する原因となっている。[0006] On the other hand, when an object to be operated is specified by a mouse operation, many interfaces for the user to specify the object to be operated are difficult to select an object that is not visible to the user. It is difficult to select an object that is completely hidden by the object on the near side (viewpoint side).
This causes a difficulty in the selection operation when the objects are overlapped on the screen in the computer graphics application for operating the shape object regardless of whether the object is two-dimensional or three-dimensional. I have.
【0007】このような場合、手前側のオブジェクトに
よって完全に隠蔽されているオブジェクトを選択しよう
とした場合、手前側のオブジェクトを移動したり、ある
いはオブジェクトの重なり順序を変える等の操作を行ウ
ことによって、隠蔽されたオブジェクトを一時的に可視
化し、この可視化状態で選択操作を行うという手順が必
要であった。そして、目的とするオブジェクトを選択す
る操作を行った後は、選択前に可視化するために移動、
もしくは変更した重なり順序を、元の状態に回復すると
いう手順が必要であった。また、手前側のオブジェクト
を半透明にする等して可視化し、前述のようなオブジェ
クトに対する物理的変更操作を施す必要がなかったとし
ても、可視化されたオブジェクトは実際のオブジェクト
のイメージとは異なって見え、ユーザが本意とするオブ
ジェクトを選択するための操作性は悪く、誤ったオブジ
ェクトが選択される場合も多かった。In such a case, in order to select an object completely obscured by the object on the near side, an operation such as moving the object on the near side or changing the overlapping order of the objects is performed. Therefore, a procedure of temporarily visualizing the hidden object and performing a selection operation in this visualized state is required. After performing the operation of selecting the target object, move to visualize before selecting,
Or, a procedure was required to restore the changed overlapping order to the original state. Also, even if the object on the front side is visualized by making it semi-transparent and there is no need to perform a physical change operation on the object as described above, the visualized object is different from the image of the actual object. It was apparent that the operability for the user to select the intended object was poor, and the wrong object was often selected.
【0008】本発明の第2の目的は、「操作対象オブジ
ェクトの選択」という本来の操作の準備操作のために、
対象となるオブジェクト群の物理的な位置、配置状態を
変えることなく、ユーザが本意とするオブジェクトを容
易かつ確実に選択できるためのユーザインタフェースを
実現可能なオブジェクトの選択制御方法を提供すること
にある。[0008] A second object of the present invention is to prepare for an original operation of "selection of an object to be operated".
An object of the present invention is to provide an object selection control method capable of realizing a user interface for allowing a user to easily and reliably select a desired object without changing the physical position and arrangement state of a target object group. .
【0009】[0009]
【課題を解決するための手段】上記第1の目的を達成す
るために、本発明のオブジェクトの生成方法は、任意の
形状を有する複数のオブジェクトを生成した後、表示装
置に表示された状態における選択操作イベントに対し各
オブジェクトを操作対象に含めるかを決める被選択基準
をオブジェクト毎に個別にまたはまとめて設定し保持さ
せるステップを備えることを特徴とする。そして、前記
被選択基準として、各オブジェクトに関連する他のオブ
ジェクトを操作対象にするかを決める被選択基準を有す
ることを特徴とする。また、前記被選択基準として、自
オブジェクトまたは他オブジェクトが優先して操作対象
として選択されるように決定する被選択基準を有するこ
とを特徴とする。また、前記被選択基準として、選択操
作イベントに対し反応するか否かを決める反応可否基準
を有することを特徴とする。また、前記被選択基準を関
数として設定し保持させることを特徴とする。In order to achieve the first object, a method for generating an object according to the present invention comprises the steps of: generating a plurality of objects having an arbitrary shape; The method further comprises a step of setting and holding a selection criterion for determining whether each object is included in the operation target for the selection operation event individually or collectively for each object. The selection criterion includes a selection criterion for determining whether another object related to each object is to be operated. Further, as the selection criterion, there is provided a selection criterion for determining that the own object or another object is preferentially selected as an operation target. Further, as the selection criterion, there is provided a reaction criterion for determining whether or not to react to a selection operation event. Further, the present invention is characterized in that the selected reference is set and held as a function.
【0010】本発明に係るオブジェクトの選択制御方法
は、選択操作イベントに対する被選択基準を保持した複
数のオブジェクトを表示装置に表示させ、その表示され
たオブジェクトへの選択操作イベントに対しいずれのオ
ブジェクトを選択するかを制御するオブジェクトの選択
制御方法であって、表示画面上における選択操作イベン
トを、予め設定された規則によって当該選択操作イベン
トの位置に応じて決定された選択候補オブジェクト群内
に存在する全てのオブジェクトに伝達するステップと、
伝達したオブジェクトからの応答を受け、その応答内容
のうち予め設定した選択条件を満たす1つまたは複数の
オブジェクトを操作対象として選択するステップとを備
えることを特徴とする。そして、前記選択条件として、
表示色が不透明で最も視点側に位置するオブジェクトを
選択する条件が設定されていることを特徴とする。ま
た、前記選択条件として、表示色に拘わらず最も視点側
に位置するオブジェクトを選択する条件が設定されてい
ることを特徴とする。また、前記選択条件として、選択
操作イベントに対する反応可否基準として反応可が設定
されているオブジェクトのうち最も視点側に位置するオ
ブジェクトを選択する条件が設定されていることを特徴
とする。[0010] In the object selection control method according to the present invention, a plurality of objects holding a selection criterion for a selection operation event are displayed on a display device, and which object is selected in response to the selection operation event for the displayed object. A selection control method of an object for controlling whether to select a selection operation event, wherein a selection operation event on a display screen is present in a selection candidate object group determined according to a position of the selection operation event according to a preset rule. Communicating to all objects;
Receiving a response from the transmitted object, and selecting one or a plurality of objects satisfying a preset selection condition from the contents of the response as an operation target. And, as the selection condition,
A condition for selecting an object whose display color is opaque and located closest to the viewpoint is set. Further, a condition for selecting an object located closest to the viewpoint regardless of a display color is set as the selection condition. Further, the selection condition includes a condition for selecting an object located closest to the viewpoint from among objects for which a response is set as a response criterion for a selection operation event.
【0011】本発明に係るオブジェクトのデータ構造
は、任意の形状を規定する第1のデータ部と、表示装置
に表示された状態における選択操作イベントに対し各オ
ブジェクトを操作対象に含めるかを決める被選択基準の
第2のデータ部を保持することを特徴とする。そして、
前記第2のデータ部を関数として保持することを特徴と
する。[0011] The data structure of the object according to the present invention comprises a first data portion defining an arbitrary shape, and a object determining whether each object is to be included in the operation target in response to a selection operation event in a state displayed on the display device. The second data part of the selection criterion is held. And
The second data part is stored as a function.
【0012】上記第2の目的を達成するために、本発明
に係るオブジェクトの選択制御方法は、複数のオブジェ
クトを表示装置に表示させ、その表示されたオブジェク
トへの選択操作イベントに対しいずれのオブジェクトを
選択するかを制御するオブジェクトの選択制御方法であ
って、画面上に表示されたオブジェクトのうち、特定の
ひとつまたは複数を着目オブジェクトとして認識する手
段と、特定の契機によって、前記着目オブジェクトを他
のオブジェクトに切替る手段と、特定の告知態様によっ
て、着目オブジェクトがいずれのオブジェクトであるか
をユーザに告知する手段と、特定の契機によって、その
時点での着目オブジェクトを選択オブジェクトとして確
定する手段とを備えることを特徴とする。In order to achieve the second object, the object selection control method according to the present invention displays a plurality of objects on a display device, and selects any object in response to a selection operation event on the displayed object. A selection control method for selecting whether or not to select the object of interest, wherein a means for recognizing one or more specific objects among the objects displayed on the screen as the object of interest; Means for switching to the object of interest, means for informing the user of the object of interest by a specific notification mode, and means for fixing the object of interest at that time as a selected object by a specific opportunity. It is characterized by having.
【0013】そして、前記着目オブジェクト切替えの契
機として、ユーザの特定操作を契機とすることを特徴と
する。また、前記着目オブジェクト切替えの契機とし
て、マウスクリック操作を契機とすることを特徴とす
る。また、前記着目オブジェクト切替えの契機として、
特定キーの押下を契機とすることを特徴とする。また、
前記着目オブジェクト切替えの契機として、一定周期の
時間経過を契機とすることを特徴とする。また、前記着
目オブジェクト切替えの契機として、マウス押下操作を
継続した状態における一定周期の時間経過を契機とする
ことを特徴とする。また、前記選択オブジェクト確定の
契機として、ユーザの特定操作を契機とすることを特徴
とする。また、前記選択オブジェクト確定の契機とし
て、マウスクリック操作を契機とすることを特徴とす
る。また、前記選択オブジェクト確定の契機として、特
定キーの押下を契機とすることを特徴とする。また、前
記選択オブジェクト確定の契機として、一定周期の時間
経過を契機とすることを特徴とする。また、前記選択オ
ブジェクト確定の契機として、マウス押下操作を継続し
た状態における一定周期の時間経過を契機とすることを
特徴とする。[0013] The present invention is characterized in that a user's specific operation is used as an opportunity for switching the object of interest. Further, the present invention is characterized in that a mouse click operation is used as a trigger for switching the object of interest. Further, as a trigger of the object switching,
It is characterized in that pressing of a specific key is triggered. Also,
It is characterized in that the switching of the object of interest is triggered by the passage of a certain period of time. Also, the present invention is characterized in that the object of interest switching is triggered by the passage of a certain period of time in a state where the mouse pressing operation is continued. Further, the present invention is characterized in that a user's specific operation is used as an opportunity for deciding the selected object. Also, the present invention is characterized in that a mouse click operation is used as a trigger for deciding the selected object. Further, the present invention is characterized in that pressing of a specific key is a trigger as a trigger for determining the selected object. Also, the present invention is characterized in that a predetermined period of time elapses as a trigger for the selection object determination. Further, the present invention is characterized in that, as a trigger for the selection of the selected object, a certain period of time elapses in a state where the mouse pressing operation is continued.
【0014】また、前記着目オブジェクトの告知態様と
して、着目オブジェクトをハイライト表示することを特
徴とする。また、前記着目オブジェクトの告知態様とし
て、着目オブジェクトが視点側から何番目のオブジェク
トであるかを表す番号をマウスカーソル付近に表示する
こと特徴とする。また、前記着目オブジェクトの告知態
様として、着目オブジェクトの形状をマウスカーソル付
近に表示することを特徴とする。また、前記着目オブジ
ェクトの告知態様として、着目オブジェクトの色をマウ
スカーソル付近に表示することを特徴とする。また、前
記着目オブジェクトの告知方法として、マウスカーソル
を、着目オブジェクトの形状に変化させることを特徴と
する。また、前記着目オブジェクトの告知態様として、
マウスカーソルの色を着目オブジェクトの色に変化させ
ることを特徴とする。また、前記着目オブジェクトの告
知態様として、着目オブジェクトの視点側にあるオブジ
ェクトを透明に変化させ、かつ着目オブジェクトをハイ
ライト表示することを特徴とする。また、前記着目オブ
ジェクトの告知態様として、着目オブジェクトの視点側
にあるオブジェクトをワイヤフレーム表示に変化させ、
かつ着目オブジェクトをハイライト表示することを特徴
とする。また、前記着目オブジェクトの告知態様とし
て、着目オブジェクトをハイライト表示させ、かつ他の
オブジェクトからクリッピングされることなく画面に表
示することを特徴とする。また、前記着目オブジェクト
の告知態様として、着目オブジェクトの直前位置に視点
を移動させた状態のオブジェクトを表示することを特徴
とする。また、前記確定の契機より以前は、オブジェク
トの全体または一部を半透明で表示することを特徴とす
る。Further, as the notice mode of the object of interest, the object of interest is highlighted. Further, as the notification mode of the target object, a number indicating the number of the target object from the viewpoint side is displayed near the mouse cursor. Further, as the notification mode of the target object, the shape of the target object is displayed near a mouse cursor. Further, as a notice mode of the object of interest, a color of the object of interest is displayed near a mouse cursor. Further, as a method of notifying the object of interest, a mouse cursor is changed to a shape of the object of interest. Further, as the notification mode of the object of interest,
The color of the mouse cursor is changed to the color of the object of interest. Further, as the notification mode of the target object, the object on the viewpoint side of the target object is changed to be transparent, and the target object is highlighted. Further, as the notification mode of the object of interest, an object on the viewpoint side of the object of interest is changed to a wire frame display,
In addition, the object of interest is highlighted. Further, as the notification mode of the target object, the target object is highlighted and displayed on the screen without clipping from other objects. Further, as a notice mode of the target object, an object in a state where a viewpoint is moved to a position immediately before the target object is displayed. In addition, before the decision trigger, the whole or a part of the object is displayed translucently.
【0015】なお、本発明の3次元オブジェクトの生成
方法は、換言すると、任意の形状を有する複数の3次元
オブジェクトを生成した後、表示装置に表示された状態
における選択操作イベントに対し各3次元オブジェクト
を操作対象に含めるかを決める被選択権決定処理を3次
元オブジェクト毎に個別にまたはまとめて設定し保持さ
せるステップを備えることを特徴とするものと言える。[0015] In other words, the method of generating a three-dimensional object according to the present invention, in other words, after generating a plurality of three-dimensional objects having an arbitrary shape, responds to a selection operation event in a state displayed on the display device. It can be said that the method includes a step of setting and holding individually or collectively a selection right determination process for determining whether an object is included in the operation target for each three-dimensional object.
【0016】本発明によれば、例えば、通常の建物オブ
ジェクトには、「不透明オブジェクトの内部オブジェク
トは指定不可」という被選択基準を対応付けておき、新
たに追加する特殊な建物オブジェクトには、「不透明オ
ブジェクトの内部オブジェクトも指定可」という新たな
被選択基準を対応付ける。操作対象を選択するアプリケ
ーションでは、各建物の内部に存在するオブジェクトを
指定する際、これらの建物に対応付けられた被選択基準
に従う選択処理を実行することによって、建物に応じて
異なるユーザインタフェースを提供することができる。According to the present invention, for example, a normal building object is associated with a selection criterion that “internal objects of opaque objects cannot be specified”, and a special building object to be newly added is A new selection criterion such that an internal object of an opaque object can also be specified "is associated. The application that selects the operation target provides different user interfaces according to buildings by executing selection processing according to the selection criteria associated with these buildings when specifying objects existing inside each building can do.
【0017】さらに本発明によれば、被選択基準を持つ
3次元オブジェクトの入れ子構造を実現することもでき
る。例えば、ある建物オブジェクトの内部に部屋オブジ
ェクトが存在し、それぞれ「不透明オブジェクトの内部
オブジェクトは指定不可」、「不透明オブジェクトの内
部オブジェクトも指定可」という被選択基準がそれぞれ
対応しているとする。このとき、建物の内部で部屋の外
に存在するオブジェクトについては「不透明オブジェク
トの内部オブジェクトは指定不可」、部屋の内部に存在
するオブジェクトについては「不透明オブジェクトの内
部オブジェクトも指定可」が適用される。したがって、
建物の内部と外部とで各3次元オブジェクトを選択可能
または選択できないようにするといった異なるユーザイ
ンタフェースを実現することができる。すなわち、3次
元オブジェクト側が主導権を持って多様なユーザインタ
フェースを提供することができ、アプリケーション側で
は被選択基準で選択候補に挙がった3次元オブジェクト
のうち例えば最も視点側に近いオブジェクトを選択する
といった簡単なロジックを持たせるだけで済む。Further, according to the present invention, it is possible to realize a nested structure of a three-dimensional object having a criterion to be selected. For example, it is assumed that a room object exists inside a certain building object, and the selection criteria of “the internal object of the opaque object cannot be specified” and “the internal object of the opaque object can be specified” respectively correspond. At this time, "objects inside the opaque object cannot be specified" are applied to objects existing outside the room inside the building, and "objects inside the opaque object can also be specified" are applied to objects existing inside the room. . Therefore,
Different user interfaces can be realized such that each three-dimensional object is selectable or non-selectable inside and outside the building. That is, the three-dimensional object side can provide a variety of user interfaces with the initiative, and the application side selects, for example, the object closest to the viewpoint side from among the three-dimensional objects listed as selection candidates based on the selection criteria. You only need to have simple logic.
【0018】また、本発明によれば、現在他オブジェク
トに隠蔽され、見えていないオブジェクトを可視化する
ために、一旦全てのオブジェクトを例えば半透明化す
る。その後、選択対象のオブジェクトをハイライト表示
することにより、明示化する。その際、単にオブジェク
ト自身をハイライトするのみならず、当該オブジェクト
の有する特徴を他の付加的な表示形態により表現し、選
択対象のオブジェクトをさらに明確化し、ユーザが選択
オブジェクト決定操作を行うかどうかの意思決定が容易
になるように支援する。なお、本発明は、2次元のオブ
ジェクトおよび3次元のオブジェクトのいずれであって
も共通して適用することができる。Further, according to the present invention, in order to visualize an object which is currently hidden by another object and is not visible, all the objects are temporarily made, for example, semi-transparent. Thereafter, the object to be selected is highlighted to highlight the object. At this time, not only the object itself is highlighted, but also the features of the object are expressed in another additional display form, the object to be selected is further clarified, and whether or not the user performs the selected object determination operation is determined. Help make decisions easier. The present invention can be applied to both a two-dimensional object and a three-dimensional object in common.
【0019】[0019]
【発明の実施の形態】以下、本発明を実施する場合の一
形態を図面を参照して具体的に説明する。まず、本発明
に係るオブジェクトの生成方法について図1〜図5を参
照して説明する。なお、図1〜図5では、3次元オブジ
ェクトを生成する場合を代表して説明する。図1は、本
発明を適用した3次元オブジェクトの生成手順を示す概
略フロー図であり、まず、3次元オブジェクト10を生
成する(ステップS11)。この3次元オブジェクトの
生成処理は、例えば「対話型3Dソフトウェア構築シス
テム−IntelligentBox−」(岡田義弘、田中譲 著:コ
ンピュータソフトウェア別冊;Vol.12,No.4(1955),PP.8
4-94)で提案された技術を用いて生成する。生成された
3次元オブジェクト10は、共通の属性項目11とし
て、色、透明度、座標変換行列、形状の各データを備え
ている。このうち、色データはR,G,B値で構成さ
れ、透明度データは0(透明)〜255(不透明)の段階
値で構成されている。また、座標変換行列は、ローカル
座標系で表現された座標データをワールド座標系の座標
データに変換する行列式のデータで構成されている。ま
た、形状データは、3次元オブジェクトの各頂点の座標
データ(ローカル座標系またはワールド座標系)で構成
されている。なお、円筒などの曲面部分を持つ3次元オ
ブジェクトについては、多角形近似によって生成する場
合、その各頂点座標データで構成される。DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below in detail with reference to the drawings. First, an object generation method according to the present invention will be described with reference to FIGS. 1 to 5, a case where a three-dimensional object is generated will be described as a representative. FIG. 1 is a schematic flowchart showing a procedure for generating a three-dimensional object to which the present invention is applied. First, a three-dimensional object 10 is generated (step S11). The generation processing of the three-dimensional object is performed, for example, in "Interactive 3D software construction system -IntelligentBox-" (by Yoshihiro Okada and Joe Tanaka: separate volume of computer software; Vol. 12, No. 4 (1955), PP. 8).
It is generated using the technique proposed in 4-94). The generated three-dimensional object 10 includes color, transparency, coordinate conversion matrix, and shape data as common attribute items 11. The color data is composed of R, G, and B values, and the transparency data is composed of step values from 0 (transparent) to 255 (opaque). The coordinate conversion matrix is composed of determinant data for converting coordinate data expressed in the local coordinate system into coordinate data in the world coordinate system. Further, the shape data is constituted by coordinate data (local coordinate system or world coordinate system) of each vertex of the three-dimensional object. When a three-dimensional object having a curved surface portion such as a cylinder is generated by polygonal approximation, the three-dimensional object is configured by the respective vertex coordinate data.
【0020】ローカル座標系とは、図2の説明図に示す
ように、3次元オブジェクト10の形状を単独で表現す
る座標系であり、ワールド座標系とは3次元オブジェク
トを配置する3次元空間を定義する座標系である。ワー
ルド座標系で定義された3次元空間に配置された3次元
オブジェクト10は投影によって2次元図形に変換され
て表示装置画面に表示される。ワールド座標系に配置さ
れた3次元オブジェクト10を投影する投影面を定義す
るのが投影面座標系であり、投影面に投影される3次元
オブジェクト(2次元投影像)は注視点を原点とし、Z
軸を支軸方向とする視点座標系での支軸方向に応じて変
化する。The local coordinate system is a coordinate system that independently represents the shape of the three-dimensional object 10 as shown in the explanatory diagram of FIG. 2. The world coordinate system is a three-dimensional space in which the three-dimensional object is arranged. The coordinate system to define. The three-dimensional object 10 placed in the three-dimensional space defined by the world coordinate system is converted into a two-dimensional figure by projection and displayed on the display device screen. It is the projection plane coordinate system that defines the projection plane that projects the three-dimensional object 10 arranged in the world coordinate system. The three-dimensional object (two-dimensional projection image) projected on the projection plane has the point of gaze as the origin, Z
It changes according to the support axis direction in the viewpoint coordinate system whose axis is the support axis direction.
【0021】3次元オブジェクトを表示装置画面に表示
する際には、視点から見える視野を設定するが、視点か
ら見て投影面の手前側で見える範囲を前平面の位置で設
定し、奥行き方向に見える範囲を後平面の位置で設定す
る。前平面と後平面の間の四角錘形状の3次元空間が3
次元オブジェクトのビューボリュームである。本発明に
係る実施形態では、図3に示すように、視点位置を基準
として、投影面と後平面の位置D1,D2を設定し、ロ
ーカル座標系で定義された3次元オブジェクトをワール
ド座標系上の投影面座標系の2次元投影像に透視変換を
行って投影面に表示する。When displaying a three-dimensional object on the display device screen, a visual field seen from the viewpoint is set. A range seen from the viewpoint on the near side of the projection plane is set at the position of the front plane, and is set in the depth direction. Set the visible range at the position of the rear plane. A square pyramid-shaped three-dimensional space between the front plane and the rear plane is 3
This is the view volume of the dimensional object. In the embodiment according to the present invention, as shown in FIG. 3, the positions D1 and D2 of the projection plane and the rear plane are set based on the viewpoint position, and the three-dimensional object defined in the local coordinate system is defined on the world coordinate system. Of the two-dimensional projection image in the projection plane coordinate system is displayed on the projection plane.
【0022】次に、3次元オブジェクト10を生成した
ならば(必要に応じて3次元空間に配置したならば)、
マウス操作による選択操作イベントに対する被選択基準
を設定する(ステップS12)。この被選択基準は、後
述するように、各オブジェクトが自分自身で被選択権を
決める関数を用いたプログラムとして設定される。被選
択基準13とは、図4(a)の3次元オブジェクト10
をY軸方向から見た場合の平面図に示すように、マウス
カーソル位置P1を投影面(表示画面)DPの任意の位
置に位置付けた場合に、視点Eとマウスカーソル位置P
1とに基づいて、どの3次元オブジェクトを選択候補に
するかどうかを決めるための基準となる情報である。通
常においては、視点Eとマウスカーソル位置P1(ポイ
ンティング位置)とを結ぶ直線L1が通過(または透
過)する3次元オブジェクトが選択候補となり、その選
択候補の中から、最終的に操作対象となる3次元オブジ
ェクトが決定される。Next, if the three-dimensional object 10 is generated (if it is arranged in the three-dimensional space as required),
A selection criterion for a selection operation event by a mouse operation is set (step S12). This selection criterion is set as a program using a function for determining the right of selection by each object by itself, as described later. The selection criterion 13 is the three-dimensional object 10 shown in FIG.
As shown in a plan view when viewed from the Y-axis direction, when the mouse cursor position P1 is positioned at an arbitrary position on the projection plane (display screen) DP, the viewpoint E and the mouse cursor position P
1 is information serving as a reference for determining which three-dimensional object is to be selected as a selection candidate. Normally, a three-dimensional object passing (or transmitting) a straight line L1 connecting the viewpoint E and the mouse cursor position P1 (pointing position) is a selection candidate. A dimensional object is determined.
【0023】また、図4(b)の平面図に示すように、
視点Eとマウスカーソル位置P1とを結ぶ直線L1が透
過することはないが、3次元オブジェクトの外周から所
定距離Δdの範囲で透過する場合には選択候補として決
めるための基準となる情報である。図4(b)において
は、3次元オブジェクト10Bに、その外周から所定距
離Δdの範囲で直線L1が透過する場合でも選択対象に
なるような基準が設定されていることを示している。As shown in the plan view of FIG.
Although the straight line L1 connecting the viewpoint E and the mouse cursor position P1 does not transmit, but is transmitted within a predetermined distance Δd from the outer periphery of the three-dimensional object, this is information serving as a reference for determining as a selection candidate. FIG. 4B shows that a reference is set in the three-dimensional object 10B so that the three-dimensional object 10B can be selected even when the straight line L1 is transmitted within a range of a predetermined distance Δd from the outer periphery.
【0024】この場合、Δdは図4(c)に示すよう
に、3次元オブジェクト10Bの内側に向かって設定す
る(−Δd)こともある。この場合には、−Δdの範囲
内で直線L1が透過しても選択候補としないように利用
することができる。なお、直線L1が通過する3次元空
間の位置は、マウスカーソルの2次元座標位置(投影面
での2次元座標位置)を検出し、この検出座標値をワー
ルド座標値に変換し、視点E(ワールド座標値)とを結
ぶ直線L1を求めることによって判明するので、例え
ば、該直線L1が透過する3次元オブジェクトであるか
どうかは当該3次元オブジェクトが該直線L1の3次元
座標値を含む座標値を持っているかどうかによって判定
することができる。In this case, Δd may be set toward the inside of the three-dimensional object 10B (−Δd) as shown in FIG. 4C. In this case, even if the straight line L1 is transmitted within the range of -Δd, it can be used so as not to be a selection candidate. The position in the three-dimensional space through which the straight line L1 passes detects the two-dimensional coordinate position of the mouse cursor (two-dimensional coordinate position on the projection plane), converts the detected coordinate value into a world coordinate value, and converts the viewpoint E ( (A world coordinate value) is determined by obtaining a straight line L1. For example, whether the straight line L1 is a transparent three-dimensional object is determined by a coordinate value including the three-dimensional coordinate value of the straight line L1. Can be determined based on whether or not they have
【0025】本実施形態においては、直線L1が透過す
る3次元オブジェクトであった場合に、自オブジェクト
を選択対象にすることを許す(または許さない)ことを
示す基準A、優先選択オブジェクトである(または、な
い)ことを示す基準B、反応可能なオブジェクトである
(または、ない)ことを示す基準Cがある。これらの基
準A,B,Cは、本実施形態では、例えばC++言語で
定義したselect関数、preselect関数、respondent関数
で設定される。In the present embodiment, when the line L1 is a transparent three-dimensional object, the reference A indicates that the own object is permitted (or not permitted) to be selected, and the preferential selection object ( Or, there is a criterion B indicating that the object is a responsive object (or not). In the present embodiment, these criteria A, B, and C are set by, for example, a select function, a preselect function, and a respondent function defined in the C ++ language.
【0026】被選択基準13の設定が終了したならば、
当該3次元オブジェクトを記憶装置に保存する(ステッ
プS13)。保存された3次元オブジェクトのデータ部
14は、共通の属性項目のデータと被選択基準のデー
タ、その他のデータとで構成される。なお、3次元オブ
ジェクト10に設定されるselect関数、preselect関
数、respondent関数の他のデータとは、図5に示すよう
に、自オブジェクトの色の問い合わせがあった場合に、
自オブジェクトの色データをデータ部14から取得して
返却するgetColor関数などが必要に応じて付加される。
これらの関数としてどのようなものを保持しているかに
よって、3次元オブジェクトの性質が決定される。When the setting of the selection criterion 13 is completed,
The three-dimensional object is stored in the storage device (Step S13). The data part 14 of the stored three-dimensional object is composed of data of a common attribute item, data of a selected criterion, and other data. Note that the other data of the select function, preselect function, and respondent function set in the three-dimensional object 10 are, as shown in FIG.
A getColor function or the like for acquiring and returning the color data of the own object from the data unit 14 is added as necessary.
The properties of the three-dimensional object are determined depending on what these functions hold.
【0027】次に、以上のようにして各3次元オブジェ
クトに保持された被選択基準を用いて、マウス操作によ
る選択操作イベントに対し、複数の選択候補オブジェク
トの中からどの3次元オブジェクトを選択するかの選択
制御方法の概要について説明する。マウスカーソル位置
に応じて3次元オブジェクトの1つを操作対象として決
定する際、まず、画面上の全ての3次元オブジェクトに
対し、respondent関数を実行させることによって、当該
マウスカーソル位置に対して反応しうるオブジェクト群
(選択候補オブジェクト群)を求める。次に、求まった選
択候補オブジェクト群を視点Eに近い順に並べ替え、視
点Eに最も近いオブジェクトに対しpreselect関数を実
行させることによって、優先選択オブジェクトを抽出す
る。優先選択オブジェクトとは、選択候補オブジェクト
群内において、そのオブジェクトよりも奥行き方向に位
置する3次元オブジェクトが選ばれることはないように
機能するオブジェクトである。Next, using the selection criterion held in each three-dimensional object as described above, a three-dimensional object is selected from a plurality of selection candidate objects in response to a selection operation event by a mouse operation. An outline of the selection control method will be described. When determining one of the three-dimensional objects as an operation target according to the mouse cursor position, first, the responder function is executed for all the three-dimensional objects on the screen to react to the mouse cursor position. Objects
(Selection candidate object group). Next, the selected selection candidate objects are rearranged in the order closest to the viewpoint E, and the object closest to the viewpoint E is subjected to a preselect function, thereby extracting a priority selection object. The preferentially selected object is an object that functions so that a three-dimensional object located in the depth direction of the selected candidate object group is not selected.
【0028】次に、選択候補オブジェクト群の視点Eに
最も手前の3次元オブジェクトに対し、select関数を実
行させ、視点Eに最も近い選択対象許可オブジェクトを
抽出する。次に、本実施例では、優先選択オブジェクト
と選択対象許可オブジェクトとのうち、視点Eに最も近
いオブジェクトを選択対象のオブジェクトとして決定す
る。Next, the select function is executed for the three-dimensional object closest to the viewpoint E of the selection candidate object group, and the selection-permitted object closest to the viewpoint E is extracted. Next, in the present embodiment, an object closest to the viewpoint E is determined as an object to be selected among the preferentially selected objects and the selected objects to be selected.
【0029】以下、図面を用いて説明する。図6は、本
発明を適用した3次元オブジェクトの選択制御方法を実
現するシステムの一実施形態を示す全体構成図である。
図6において、600は本発明に係る3次元オブジェク
トの選択制御方法を実現する処理を行う計算機である。
この計算機600は、キーボード601とディスプレイ
602、CPU603、マウス604、プログラムメモ
リ605、データメモリ606とから構成される。計算
機600のプログラムメモリ605には、計算機全体を
制御するオペレーティングシステム605aと、ユーザ
によるマウス操作などのイベントを各種3次元オブジェ
クトに配送し、その応答によって操作対象となる3次元
オブジェクトを予め定めた選択条件に従って選択するイ
ベントディスパッチャ605b、各種3次元オブジェク
ト(1)606a〜(n)606cに対応する3次元オ
ブジェクト(1)プログラム605c、3次元オブジェ
クト(2)プログラム605d、3次元オブジェクト
(n)プログラム605eが格納されている。Hereinafter, description will be made with reference to the drawings. FIG. 6 is an overall configuration diagram showing an embodiment of a system for realizing a three-dimensional object selection control method to which the present invention is applied.
In FIG. 6, reference numeral 600 denotes a computer that performs processing for realizing the three-dimensional object selection control method according to the present invention.
The computer 600 includes a keyboard 601, a display 602, a CPU 603, a mouse 604, a program memory 605, and a data memory 606. In the program memory 605 of the computer 600, an operating system 605a for controlling the entire computer and events such as mouse operation by the user are delivered to various three-dimensional objects, and a three-dimensional object to be operated is selected by a response in advance. Event dispatcher 605b to be selected according to conditions, three-dimensional object (1) program 605c corresponding to various three-dimensional objects (1) 606a to (n) 606c, three-dimensional object (2) program 605d, three-dimensional object (n) program 605e Is stored.
【0030】データメモリ606には、3次元オブジェ
クト(1)606a、3次元オブジェクト(2)606
b、3次元オブジェクト(n)606cといった各種3
次元オブジェクト群が格納されている。これらの3次元
オブジェクト群は、図1で説明した共通の属性項目11
を保持すると共に、マウス操作による選択操作イベント
に対する被選択基準となるselect関数等の関数、および
getColor等のその他の関数(図5参照)を各オブジェクト
毎に保持している。The data memory 606 has a three-dimensional object (1) 606a and a three-dimensional object (2) 606
b, 3D object (n) 606c
A dimensional object group is stored. These three-dimensional object groups correspond to the common attribute item 11 described in FIG.
And a function such as a select function serving as a selection criterion for a selection operation event by a mouse operation, and
Other functions such as getColor (see FIG. 5) are held for each object.
【0031】3次元オブジェクトi(i=1〜n)プロ
グラムは、そのプログラムに対応する3次元オブジェク
トのそれぞれに定義された関数を実行するプログラムで
ある。なお、視線方向を変えた場合における3次元オブ
ジェクト(1)〜(3)の挙動や見え方を制御するプロ
グラムは、3次元オブジェクトi(i=1〜n)プログ
ラムとは別のプログラムとして実装されるが、本発明に
は直接関係しないので図示を省略している。The three-dimensional object i (i = 1 to n) program is a program for executing a function defined for each of the three-dimensional objects corresponding to the program. The program for controlling the behavior and appearance of the three-dimensional objects (1) to (3) when the viewing direction is changed is implemented as a program different from the three-dimensional object i (i = 1 to n) program. However, since they are not directly related to the present invention, they are not shown.
【0032】図7は、本発明で用いられるアプリケーシ
ョン例における3次元オブジェクトとイベントディスパ
ッチャの概念図である。図7において、701はシステ
ムのグローバルなメモリ領域を示し、702、703,
704はシステムが用意しているデフォルトのselect関
数、preselect関数、respondent関数である。デフォル
ト関数は、実行指示のあったselect関数等が実行を指示
されたオブジェクトに定義されていない場合等におい
て、実行指示のあった関数の代用関数として当該オブジ
ェクトが実行できる関数である。本実施例では、オブジ
ェクトに対してselect関数等の実行を指示する際は、指
示する関数に対応するデフォルト関数を引数として渡
す。705は、優先選択オブジェクトを保持しておく領
域である。706は、オブジェクト選択履歴テーブルで
あり、個々のオブジェクトに関して、最近選択された時
刻、これまでに選択された回数等を保持している。最近
選択されたものを選択するなど、選択履歴情報を選択条
件とする場合に参照される。707は、respondent関数
を実行させることによって得た選択候補オブジェクト群
を保持する領域である。FIG. 7 is a conceptual diagram of a three-dimensional object and an event dispatcher in an application example used in the present invention. In FIG. 7, reference numeral 701 denotes a global memory area of the system;
Reference numeral 704 denotes default select, preselect, and respondent functions provided by the system. The default function is a function that can be executed by the object as a substitute function of the function for which execution has been instructed, for example, when the select function or the like for which execution has been instructed is not defined in the object for which execution has been instructed. In this embodiment, when instructing an object to execute a select function or the like, a default function corresponding to the instructed function is passed as an argument. An area 705 holds the priority selection object. Reference numeral 706 denotes an object selection history table, which holds the time of recent selection, the number of times of selection, and the like for each object. It is referred to when selection history information is used as a selection condition, such as selecting a recently selected item. An area 707 holds a selection candidate object group obtained by executing the respondent function.
【0033】708a〜708cは、3次元オブジェク
トであり、図1で説明した共通の属性項目11を保持す
ると共に、マウス操作イベントに対する操作対象を決定
するためのselect関数、preselect関数、respondent関
数およびその他の関数を個別に保持している。これらの
select関数、preselect関数、respondent関数は、各オ
ブジェクト毎に定義可能である。この他に、図2で説明
したgetColor等の関数が保持されている。イベントディ
スパッチャ605bは、respondent関数を各3次元オブ
ジェクトに実行させることによって、選択操作イベント
に反応し得る選択候補オブジェクト群を取得するrespon
dent関数実行処理6051、preselect関数を各3次元
オブジェクトに実行させることによって、優先選択オブ
ジェクトを取得するpreselect関数実行処理6052、s
elect関数を各3次元オブジェクトに実行させることに
よって、選択対象として採用可能なオブジェクトを取得
するselect関数実行処理6053、これらの3つの関数
の実行結果に基づき、最終的に選択するオブジェクトを
決定する選択対象最終決定処理6054を備えている。Reference numerals 708a to 708c denote three-dimensional objects, which hold the common attribute item 11 described with reference to FIG. Function is held separately. these
The select function, preselect function, and respondent function can be defined for each object. In addition, functions such as getColor described in FIG. 2 are held. The event dispatcher 605b obtains a selection candidate object group that can respond to a selection operation event by causing each three-dimensional object to execute a response function.
dent function execution processing 6051, preselect function execution processing 6052, which causes each three-dimensional object to execute a preselect function, thereby acquiring a preferentially selected object
A select function execution process 6053 that obtains an object that can be adopted as a selection target by causing each of the three-dimensional objects to execute an elect function. A target final determination process 6054 is provided.
【0034】図8は、オペレーティングシステム605
aから起動されるイベントディスパッチャ605bの処
理を示すフローチャートである。図8のフローチャート
では、直線L1(図10参照)が透過する優先選択オブ
ジェクトおよび選択対象許可オブジェクトのうち、視点
Eに最も近い(最も手前)3次元オブジェクトを最終的
に選択する処理としている。FIG. 8 shows an operating system 605.
9 is a flowchart illustrating a process of an event dispatcher 605b started from a. In the flowchart of FIG. 8, a process of finally selecting the three-dimensional object closest to (the closest to) the viewpoint E from the priority selection objects and the selection-permitted objects through which the straight line L1 (see FIG. 10) passes.
【0035】以降、図8乃至図10を用いて本発明のオ
ブジェクト選択制御方法を具体的に説明する。図10
は、3次元オブジェクトの配置例を示す説明図であり、
表示画面1001内に存在する5個の3次元オブジェク
トx01〜x05を上方から見た平面図である。さら
に、これら5個の3次元オブジェクトx01〜x05に
定義されているrespondent,preselect,selectの各関
数は次に示す「定義例1」の通りであるとする。この状
態において、P1で示す位置でオブジェクト選択操作が
行われたものとする。Hereinafter, the object selection control method of the present invention will be described in detail with reference to FIGS. FIG.
Is an explanatory diagram showing an example of arrangement of a three-dimensional object;
FIG. 3 is a plan view of five three-dimensional objects x01 to x05 existing in a display screen 1001 as viewed from above. Further, it is assumed that the respective functions of respondent, preselect, and select defined in these five three-dimensional objects x01 to x05 are as shown in "Definition Example 1" below. In this state, it is assumed that the object selection operation has been performed at the position indicated by P1.
【0036】「定義例1」 x01: respondent関数:直線L1が自オブジェクトを透過すれ
ば戻り値「true」でコール元へ戻り、透過しなければ戻
り値「false」でコール元へ戻る。 preselect関数:自オブジェクトの後方に選択候補オブ
ジェクトが存在する場合は、直後に存在する選択候補オ
ブジェクトxに対してpreselect(e,pre)を実行させ、そ
の戻り値を自オブジェクトの戻り値としてコール元に戻
る。そのようなオブジェクトxが存在しない場合は、戻
り値「φ(φは空の意味)」でコール元に戻る。 select関数:無条件に戻り値「自オブジェクト名」でコ
ール元に戻る。 x02〜x05: respodent関数:オブジェクトx01と同一の定義 preselect関数:オブジェクトx01と同一の定義 select関数:オブジェクトx01と同一の定義"Definition example 1" x01: respondent function: Returns to the caller with a return value of "true" if the straight line L1 passes through the own object, and returns to the caller with a return value of "false" otherwise. preselect function: If a selection candidate object exists behind the own object, preselect (e, pre) is executed for the selection candidate object x that exists immediately after, and the return value is used as the return value of the own object as the call source. Return to If there is no such object x, the process returns to the call source with a return value “φ (φ means empty)”. select function: Unconditionally returns to the caller with the return value "local object name". x02 to x05: respodent function: same definition as object x01 preselect function: same definition as object x01 select function: same definition as object x01
【0037】ここで、図8以降の図で用いられている用
語等について説明しておく。1.フローチャートにおける用語等 出口点(コール元への戻り時点) ・return *0 「*0」を戻り値として、当該モジュールのコール元へ
戻る。 ・return *0 .*1(e,*2) 「*0」:「*0」をコールし、「*0」からの戻り時に
「*0」からの戻り値を当該モジュールの戻り値とし
て、当該モジュールのコール元に戻る。 「*1」:関数の種類(関数名) 「e」:引数 「*2」:引数 「*0 .*1(e,*2)」:「*0」をコールする時
に、「*0」に関数「*1」が定義されていない場合、
「*0」が当該未定義関数 「*1」の代用として利用できる関数(のアドレス)
「*2」と、当該代用関数「*2」を利用(実行)するの
に必要なマウスイベント関連情報「e」を意味する。 入口点(コール先への制御移行直後時点) ・*1(e,*2) 「*1」:コールされた当該モジュール(オブジェク
ト)が実行すべき関数の種類(関数名) 「e」:引数 「*2」:引数 「*1(e,*2)」:コールされた当該モジュール(オ
ブジェクト)に関数「*1」が定義されていない場合、
コールされた当該モジュール(オブジェクト)が当該未
定義関数「*1」の代用として利用できる関数(のアド
レス)「*2」と、当該代用関数「*2」を利用(実行)
するのに必要なマウスイベント関連情報「e」を意味す
る。 上記以外の部分(処理ボックス等) ・*0 .*1(e,*2) 「*0」:「*0」をコールする。 「*1」:コールされた「*0」が実行すべき関数の種類
(関数名) 「e」:引数 「*2」:引数 「*0 .*1(e,*2)」:コールされる「*0」に関
数「*1」が定義されていない場合、コールされる
「*0」が当該未定義関数「*1」の代用として利用でき
る関数(のアドレス)「*2」と、当該代用関数「*2」
を利用(実行)するのに必要なマウスイベント関連情報
「e」を意味する。Here, terms used in FIG. 8 and subsequent figures will be described. 1. Terminology exit point in flowchart (time of return to caller) return * 0 Return to the caller of the module with "* 0 " as the return value.・ Return * 0 . * 1 (e, * 2) "* 0": Call the "* 0", the return value from the "* 0" on return from the "* 0" as the return value of the module, caller of the module Return to "* 1 ": Function type (function name) "e": Argument "* 2 ": Argument "* 0. * 1 (e, * 2 )": "* 0 " when calling "* 0 " If the function "* 1 " is not defined for
"* 0 " is a function that can be used as a substitute for the undefined function "* 1 " (address of)
"* 2 " means the mouse event related information "e" required to use (execute) the substitute function "* 2 ". Entry point (immediately after control transfer to the call destination) * 1 (e, * 2 ) "* 1 ": Type of function to be executed by the called module (object) (function name) "e": Argument "* 2 ": Argument "* 1 (e, * 2 )": When the function "* 1 " is not defined in the called module (object),
Use (execute) the function (address) “* 2 ” and the substitute function “* 2 ” that can be used as a substitute for the undefined function “* 1 ” by the called module (object).
Means the mouse event related information "e" necessary to perform the operation. Parts other than the above (processing box etc.) * 0 . * 1 (e, * 2 ) "* 0 ": Call "* 0 ". "* 1 ": Type of function to be executed by the called "* 0 " (function name) "e": Argument "* 2 ": Argument "* 0. * 1 (e, * 2 )": Called that the "* 0" if the function "* 1" is not defined, is called "* 0" is a function that can be used as a substitute for the undefined function "* 1" (address) "* 2", The substitute function "* 2 "
Means the mouse event related information "e" required to use (execute).
【0038】まず、オブジェクト選択に関するマウスイ
ベントが発生した場合に、イベントディスパッチャ60
5bは、図10に示す画面に表示されている全オブジェ
クトすなわち3次元オブジェクトx01〜x05のそれ
ぞれに対し、respondent関数を実行するよう指示し、各
オブジェクトからの応答を得る。そして、応答(戻り
値)がtrueのオブジェクトを視点Eに近い順に並べ替え
る(ステップ801)。ステップ801の詳細を、図9に
示しているが、図9の説明は後述する。ステップ801
の処理状況を図示したのが、図11である。図11に示
すように、respondent関数の実行指示を受けた各オブジ
ェクトx01〜x05は、前記の「定義例1」に示すre
spondent関数の定義がなされている。すなわち、図10
での「直線L1が透過(○印)ならtrue、直線L1が非
透過(×印)ならfalseを戻り値とする」定義がなされ
ている。このため、オブジェクトx01はtrue、オブジ
ェクトx02はfalse、オブジェクトx03はtrue、オ
ブジェクトx04はfalse、オブジェクト05はtrueを
イベントディスパッチャ605bに返す。そこで、イベ
ントディスパッチャ605bは、戻り値がtrueのオブジ
ェクト群(3次元オブジェクトx01、x03、x0
5)を視点Eに近い順に並べ替える。これにより、イベ
ントディスパッチャ605bは、視点Eに近い順に並べ
替えられた3次元オブジェクトx01、x03、x05
を選択候補オブジェクト群として認識する。First, when a mouse event relating to object selection occurs, the event dispatcher 60
5b instructs all the objects displayed on the screen shown in FIG. 10, that is, each of the three-dimensional objects x01 to x05, to execute the respondent function, and obtains a response from each object. Then, the objects for which the response (return value) is true are rearranged in the order closer to the viewpoint E (step 801). The details of step 801 are shown in FIG. 9, and the description of FIG. 9 will be described later. Step 801
FIG. 11 shows the processing status of the processing. As shown in FIG. 11, each of the objects x01 to x05 that have received the instruction to execute the respondent function is the object x01 to x05 shown in the above “Definition Example 1”.
The spondent function has been defined. That is, FIG.
Is defined as "return value is true if the straight line L1 is transparent (marked by ○), false is returned if the straight line L1 is non-transparent (marked by x)". Therefore, the object x01 returns true, the object x02 is false, the object x03 is true, the object x04 is false, and the object 05 returns true to the event dispatcher 605b. Therefore, the event dispatcher 605b sends an object group (three-dimensional objects x01, x03, x0) for which the return value is true.
5) is rearranged in the order closer to the viewpoint E. As a result, the event dispatcher 605b outputs the three-dimensional objects x01, x03, and x05 rearranged in the order closest to the viewpoint E.
As a selection candidate object group.
【0039】次に、イベントディスパッチャ605b
は、選択候補オブジェクト群の中の視点Eに最も近いオ
ブジェクト(「定義例1」の場合は、オブジェクトx0
1)に対しpreselect関数を実行するよう指示し、その
応答(戻り値)「オブジェクト名」をxとする(ステッ
プ802)。Next, the event dispatcher 605b
Is the object closest to the viewpoint E in the selection candidate object group (in the case of “Definition Example 1”, the object x0
Instruct 1) to execute the preselect function, and set the response (return value) “object name” to x (step 802).
【0040】「定義例1」によると、オブジェクトx0
1のpreselect関数は、「視点Eから見て自オブジェク
トaの直後にrespondent関数の戻り値としてtrueを返し
たオブジェクトbが存在する場合は、次オブジェクトbに
対してpreselect(e,pre)を実行させ、オブジェクトbか
らの戻り値を自オブジェクトaの戻り値としてコール元
に戻る。そのようなオブジェクトbが存在しない場合
は、戻り値「φ」(φは空の意味)としてコール元に戻
る。」よう定義されている。したがって、この例の場
合、オブジェクトx01はオブジェクトx03に対しpr
eselect関数を実行するよう指示し、その応答を待つ。
そして、オブジェクトx03から得られた応答(戻り
値)をオブジェクトx01の応答(戻り値)としてコー
ル元であるイベントディスパッチャ605bに戻る。According to “Definition Example 1”, the object x0
The preselect function of 1 is that “if the object b that returns true as the return value of the respondent function exists immediately after the own object a from the viewpoint E, the preselect (e, pre) is executed for the next object b. Then, the return value from the object b is returned to the call source as the return value of the own object a.If no such object b exists, the return is made to the call source as a return value “φ” (φ means empty). Is defined as Therefore, in this example, the object x01 is pr
Instruct the eselect function to execute and wait for the response.
Then, the response (return value) obtained from the object x03 is returned to the event dispatcher 605b, which is the call source, as the response (return value) of the object x01.
【0041】オブジェクトx03のpreselect関数も
「定義例1」によると、オブジェクトx01と同一であ
るため、オブジェクトx03はオブジェクトx05に対
しpreselect関数を実行するよう指示し、その応答を待
つ。そして、オブジェクトx05から得られた応答(戻
り値)をオブジェクトx03の応答(戻り値)としてコ
ール元であるオブジェクトx01に戻る。オブジェクト
x05のpreselect関数もオブジェクトx01〜x03
と同一、すなわち「視点Eから見て自オブジェクトaの
直後にrespondent関数の戻り値としてtrueを返したオブ
ジェクトbが存在する場合は、次オブジェクトbに対して
preselect(e,pre)を実行させ、オブジェクトbからの戻
り値を自オブジェクトaの戻り値としてコール元に戻
る。そのようなオブジェクトbが存在しない場合は、戻
り値「φ」(φは空の意味)としてコール元に戻る。」
よう「定義例1」で定義されている。したがって、この
場合、オブジェクトx05の後方にはオブジェクトbが
存在しないため、オブジェクトx05は応答(戻り値)
を「φ」としてコール元であるオブジェクトx03に戻
る。結果として、オブジェクトx01に対しpreselect
関数を実行するよう指示したイベントディスパッチャ6
05bは、オブジェクトx01からの応答(戻り値)と
して「φ」を得ることができ、この応答(戻り値)をx
(φ)とする。Since the preselect function of the object x03 is also the same as the object x01 according to "Definition Example 1," the object x03 instructs the object x05 to execute the preselect function and waits for a response. Then, the response (return value) obtained from the object x05 is returned to the caller object x01 as the response (return value) of the object x03. The preselect function of the object x05 is also the objects x01 to x03
The same as above, that is, if there is an object b that returns true as a return value of the respondent function immediately after the own object a from the viewpoint E,
Preselect (e, pre) is executed, and the return value from the object b is returned to the caller as the return value of the object a. If there is no such object b, the process returns to the caller as a return value “φ” (φ means empty). "
This is defined in "Definition Example 1". Therefore, in this case, since object b does not exist behind object x05, object x05 responds (return value).
Is set to “φ”, and the process returns to the caller object x03. As a result, preselect for object x01
Event dispatcher 6 instructed to execute function
05b can obtain “φ” as a response (return value) from the object x01, and this response (return value) is x
(Φ).
【0042】次に、イベントディスパッチャ605b
は、選択候補オブジェクト群の中の視点Eに最も近いオ
ブジェクトに対しselect関数を実行するよう指示し、そ
の応答(戻り値)「オブジェクト名」をyとする(ステ
ップ803)。ステップ803を詳細に説明すると、
「定義例1」によってオブジェクトx01のselect関数
は、「無条件に戻り値を自オブジェクトとしてコール元
に戻る。」よう定義されているため、オブジェクトx0
1は応答(戻り値)を「オブジェクトx01」としてコ
ール元であるイベントディスパッチャ605bに戻るこ
とになる。そして、イベントディスパッチャ605b
は、応答(戻り値)の「オブジェクト名」をy(定義例
1の場合は、オブジェクトx01)とすることになる。
この場合、オブジェクトx03およびオブジェクトx0
5は、コールされないため、それぞれに定義されている
select関数は実行されない。Next, the event dispatcher 605b
Instructs to execute the select function for the object closest to the viewpoint E in the selection candidate object group, and sets the response (return value) “object name” to y (step 803). Step 803 will be described in detail.
Since the select function of the object x01 is defined by “Definition example 1” as “unconditionally returning the return value to the caller as its own object.”
No. 1 returns the response (return value) to the event dispatcher 605b, which is the call source, as “object x01”. Then, the event dispatcher 605b
Means that the "object name" of the response (return value) is y (object x01 in the case of the definition example 1).
In this case, object x03 and object x0
5 is defined separately because it is not called
select function is not executed.
【0043】次に、イベントディスパッチャ605b
は、オブジェクトxとオブジェクトyを比較し、より手
前(最も視点に近い)のオブジェクトを操作対象となる
オブジェクトとして決定する(ステップ804)。「定義
例1」の場合は、オブジェクトxは存在しないため、オ
ブジェクトx01が選択対象のオブジェクトとして決定
される。Next, the event dispatcher 605b
Compares the object x with the object y, and determines a nearer object (closest to the viewpoint) as an object to be operated (step 804). In the case of “Definition Example 1”, since the object x does not exist, the object x01 is determined as an object to be selected.
【0044】図9は、ステップ801の選択候補オブジ
ェクト群を取得する選択候補オブジェクト群取得処理の
詳細を示すフローチャートである。まず、選択候補オブ
ジェクト群保持領域707を空にする(ステップ90
1)。そして、ステップ902と906で形成される処
理すなわち、画面に表示されている全オブジェクトに対
して直線L1が自オブジェクトを透過するか否かの報告
を求める。これは、各オブジェクトに対してrespondent
関数の実行を指示することによって行われる(ステップ
903)。イベントディスパッチャ605bは、自オブ
ジェクトに対してrespondent関数を実行した各オブジェ
クトからの応答をチェックし(ステップ904)、true
応答をしたオブジェクトを選択候補オブジェクト群保持
領域707に追加する(ステップ905)。そして、最終
的に選択候補群保持領域707に保持された選択候補群
のオブジェクトを視点Eに最も近いものから並べ替える
ソート処理を行う(ステップ907)。FIG. 9 is a flow chart showing the details of the selection candidate object group acquisition processing for acquiring the selection candidate object group in step 801. First, the selection candidate object group holding area 707 is emptied (step 90).
1). Then, the process formed in steps 902 and 906, that is, a report as to whether or not the straight line L1 penetrates the own object for all the objects displayed on the screen is obtained. This is for each object
This is performed by instructing execution of a function (step 903). The event dispatcher 605b checks the response from each object that has executed the respondent function to the own object (step 904), and returns true
The responded object is added to the selection candidate object group holding area 707 (step 905). Then, a sorting process is performed to finally sort the objects of the selection candidate group held in the selection candidate group holding area 707 from those closest to the viewpoint E (step 907).
【0045】ちなみに、「定義例1」の定義(関数)を
図12にフローチャートで示す。図12(a)のresponde
nt関数の処理においては、視点Eとパラメータで受け取
ったマウス操作イベントeの発生位置を結ぶ直線L1が
3次元オブジェクトを透過するかどうかの判定を行い
(ステップ1202)、透過するならばtrue(ステップ1
203)を、通過しないならばfalseを返却する(ステッ
プ1204)ように定義されている。FIG. 12 is a flowchart showing the definition (function) of “Definition Example 1”. The response shown in FIG.
In the processing of the nt function, it is determined whether or not a straight line L1 connecting the viewpoint E and the occurrence position of the mouse operation event e received as a parameter is transmitted through the three-dimensional object.
(Step 1202) If true if transparent (Step 1)
203), and false if not passed (step 1204).
【0046】図12(b)のpreselect関数の処理におい
ては、選択候補オブジェクト群内に自分の次の候補オブ
ジェクトxが存在するかどうかの判定を行い(ステップ
1205)、存在するならばx.preselectを実行し、その
返却値を返却する(ステップ1206)。存在しないなら
ば、φ(存在しないことを示す値)を返却する(ステッ
プ1207)ように定義されている。図12(c)のselec
t関数の処理においては、無条件に自オブジェクトを選
択候補として返却する(ステップ1201)ように定義さ
れている。In the processing of the preselect function of FIG. 12B, it is determined whether or not the next candidate object x exists in the selected candidate object group (step 1205). Is executed, and the return value is returned (step 1206). If it does not exist, it is defined to return φ (a value indicating that it does not exist) (step 1207). Selec in FIG. 12 (c)
In the processing of the t function, it is defined that the self object is unconditionally returned as a selection candidate (step 1201).
【0047】ここで、オブジェクトaに対する関数*1
が定義されている場合と定義されていない場合とについ
ての最上位クラス定義関数とシステムでのデフォルト関
数との関係について、図13を用いて説明する。図13
(a)の例は、3次元オブジェクトa1301に関数*
1が定義されている場合の例である。この場合は、オブ
ジェクトa1301中の関数*1項目には、オブジェク
トa1301に対応するプログラムであるオブジェクト
aのプログラム1305中の関数*1処理部アドレスが
オブジェクト定義設定時に設定されている。図13
(b)の例は、3次元オブジェクトa1303に関数*
1が定義されていない場合の例である。この場合は、オ
ブジェクトa1303中の関数*1項目には、オブジェ
クトa1303の最上位クラスのオブジェクトA130
4(最上位クラスのオブジェクトには、全ての関数が必
ず定義されている)に対応するプログラムであるオブジ
ェクトAのプログラム1305中の関数*1処理部アド
レスがオブジェクト定義設定時に設定されている。した
がって、関数*1の実行を指示されたオブジェクトa1
303は、オブジェクトa1303中の関数*1項目に
設定されているアドレスの関数を実行することによっ
て、関数*1の実行を実現することができる。なお、3
次元オブジェクトa1303に関数*1が定義されてな
く、かつオブジェクトa1303の最上位クラスのオブ
ジェクトA1304(本実施例では、最上位クラスのオ
ブジェクトには、全ての関数が必ず定義されている)に
対応するプログラムであるオブジェクトAのプログラム
1305中の関数*1Aが「引数として渡された関数*2
を実行する。」ように定義されている場合、引数として
渡されたデフォルト関数*2が実行される。Here, the function * 1 for the object a
The relationship between the top-level class definition function and the system default function in the case where is defined and the case where is not defined will be described with reference to FIG. FIG.
In the example of (a), the function * is added to the three-dimensional object a1301.
This is an example when 1 is defined. In this case, in the function * 1 item in the object a1301, the function * 1 processing unit address in the program 1305 of the object a which is the program corresponding to the object a1301 is set when the object definition is set. FIG.
In the example of (b), the function * is added to the three-dimensional object a1303.
This is an example when 1 is not defined. In this case, the function * 1 item in the object a1303 includes the object A130 of the highest class of the object a1303.
4 (all functions are always defined in the top class object), the function * 1 processing unit address in the program 1305 of the object A, which is a program corresponding to the program, is set when the object definition is set. Therefore, the object a1 instructed to execute the function * 1
The function 303 can execute the function * 1 by executing the function of the address set in the function * 1 item in the object a1303. In addition, 3
The function * 1 is not defined in the dimension object a1303, and corresponds to the object A1304 of the highest class of the object a1303 (in the present embodiment, all functions are always defined in the object of the highest class). The function * 1 A in the program 1305 of the object A, which is a program, is a function * 2
Execute ", The default function * 2 passed as an argument is executed.
【0048】図14は、図10で示した3次元オブジェ
クト配置と同じ配置で、図10の定義とは各オブジェク
トの定義が異なる場合の例を示す説明図である。以下
に、図14を用いて、他の選択例を説明する。図14
は、透明および半透明の3次元オブジェクトを選択させ
ない定義が行われている場合のオブジェクトの例を示す
図であり、表示画面1401に表示されている各3次元
オブジェクトx01〜x05に定義されているresponde
nt,preselect,selectの各関数は次に示す「定義例
2」の通りであるとする。そして、x01、x05は透
明、x02、x03、x04は不透明オブジェクトであ
るものとする。FIG. 14 is an explanatory diagram showing an example in which the definition of each object is different from the definition of FIG. 10 in the same arrangement as the three-dimensional object arrangement shown in FIG. Hereinafter, another selection example will be described with reference to FIG. FIG.
Is a diagram illustrating an example of an object in a case where a definition that does not allow selection of transparent and translucent three-dimensional objects is performed, and is defined in each of the three-dimensional objects x01 to x05 displayed on the display screen 1401. responde
It is assumed that each function of nt, preselect, and select is as shown in "Definition example 2" below. It is assumed that x01 and x05 are transparent, and x02, x03 and x04 are opaque objects.
【0049】「定義例2」本定義例は、「定義例1」で
のselect関数の定義のみが異なっている例である。 x01: respodent関数:直線L1が自オブジェクトを透過すれ
ば戻り値「true」でコール元へ戻り、透過しなければ戻
り値「false」でコール元へ戻る。 preselect関数:自オブジェクトの後方に選択候補オブ
ジェクトが存在する場合は、直後に存在する選択候補オ
ブジェクトxに対してpreselect(e,pre)を実行させ、そ
の戻り値を自オブジェクトの戻り値としてコール元に戻
る。そのようなオブジェクトxが存在しない場合は、戻
り値「φ(φは空の意味)」をコール元に戻る。 select関数:自オブジェクトが透明または半透明であっ
て、かつ自オブジェクトの後方に選択候補オブジェクト
存在する場合は、直後に存在する選択候補オブジェクト
yに対してselect(e,sel)を実行させ、その戻り値を自
オブジェクトの戻り値としてコール元に戻る。そのよう
なオブジェクトyが存在しない場合は、戻り値「φ(φ
は空の意味)」をコール元に戻る。また、自オブジェク
トが透明または半透明でない場合(不透明の場合)は、
戻り値「自オブジェクト名」でコール元に戻る。 x02〜x05: respodent関数:オブジェクトx01と同一の定義 preselect関数:オブジェクトx01と同一の定義 select関数:オブジェクトx01と同一の定義"Definition Example 2" This definition example is an example in which only the definition of the select function in "Definition Example 1" is different. x01: respodent function: If the straight line L1 penetrates the own object, returns to the caller with a return value "true"; otherwise, returns to the caller with a return value "false". preselect function: If a selection candidate object exists behind the own object, preselect (e, pre) is executed for the selection candidate object x that exists immediately after, and the return value is used as the return value of the own object as the call source. Return to If no such object x exists, a return value “φ (φ means empty)” is returned to the caller. select function: if the self object is transparent or translucent and there is a selection candidate object behind the self object, select (e, sel) is executed for the selection candidate object y that exists immediately after, Returns the return value to the caller as the return value of the own object. If no such object y exists, the return value “φ (φ
Means empty) ”). Also, if your object is not transparent or translucent (opaque),
Returns to the caller with the return value "local object name". x02 to x05: respodent function: same definition as object x01 preselect function: same definition as object x01 select function: same definition as object x01
【0050】この状態において、P1で示す位置でオブ
ジェクト選択操作が行われたものとすると、3次元オブ
ジェクトx01、x03、x05が選択候補オブジェク
トとなるが、イベントディスパッチャ605bに返され
るpreselect関数の戻り値はφ、またイベントディスパ
ッチャ605bに返されるselect関数の戻り値は戻り値
は「オブジェクトx03」となり、結果としてオブジェ
クトx03が選択される。なお、この場合、オブジェク
トx05においては、オブジェクトx05定義のselect
関数は実行されないこととなる。In this state, if an object selection operation is performed at the position indicated by P1, the three-dimensional objects x01, x03, and x05 are selection candidate objects, but the return value of the preselect function returned to the event dispatcher 605b Is φ, and the return value of the select function returned to the event dispatcher 605b is “object x03”, and as a result, the object x03 is selected. In this case, in the object x05, select
The function will not be executed.
【0051】図15に、図14の例におけるselect関数
の定義をフローチャートで示している。まず、自オブジ
ェクトが不透明かどうかの判定を共通の属性項目11に
定義された透明度のデータに基づいて判定し(ステップ
1501)、不透明ならばその時点で、自オブジェクト
名を返却する(ステップ1502)。透明または半透明な
らば、選択候補オブジェクト群内に自分の次の候補オブ
ジェクトyが存在するかどうかの判定を行い(ステップ1
503)、存在しないならば、そのことを示す値φを返
却する(ステップ2505)。存在するならば、次の候補
オブジェクトyについてselect関数を実行させ、その返
却値を返却する(ステップ1505)。FIG. 15 is a flowchart showing the definition of the select function in the example of FIG. First, it is determined whether or not the own object is opaque based on the transparency data defined in the common attribute item 11 (step 1501). If the object is opaque, the own object name is returned at that time (step 1502). . If it is transparent or translucent, it is determined whether or not the next candidate object y exists in the selected candidate object group (step 1).
503) If not, a value φ indicating this is returned (step 2505). If there is, a select function is executed for the next candidate object y, and the return value is returned (step 1505).
【0052】次に、図14の3次元オブジェクトx01
〜x05において、各オブジェクトに独自のselect関数
が未定義となっている「定義例3」について説明する。な
お、ここでは、システムデフォルト関数(select関
数)、最上位クラスのオブジェクトの定義関数(select
関数)および各オブジェクトの定義関数を次の通り定義
しているものとする。Next, the three-dimensional object x01 shown in FIG.
A description will be given of “Definition Example 3” in which a unique select function is undefined for each object in X05. Here, the system default function (select function) and the definition function of the object of the top class (select function)
Function) and the definition function of each object are defined as follows.
【0053】「定義例3」本定義例は、「定義例2」で
のオブジェクトx01のselect関数が異なり、またシス
テムデフォルトのselect関数は次のように定義されてい
る。 システムデフォルトselect関数:自オブジェクトが透明
または半透明であって、かつ自オブジェクトの後方に選
択候補オブジェクトが存在する場合は、直後に存在する
選択候補オブジェクトyにselect(e,sel)を実行させ、
その戻り値を自オブジェクトの戻り値としてコール元に
戻る。そのようなオブジェクトyが存在しない場合は、
戻り値「φ(φは空の意味)」としてコール元に戻る。
また、自オブジェクトが透明または半透明でない場合
(不透明の場合)は、戻り値「自オブジェクト名」でコ
ール元に戻る。 オブジェクトx01の最上位クラスのオブジェクトのse
lect関数:引数として渡された関数を実行する。 x01: respodent関数:直線L1が自オブジェクトを透過すれ
ば戻り値「true」でコール元へ戻り、透過しなければ戻
り値「false」でコール元へ戻る。 preselect関数:自オブジェクトの後方に選択候補オブ
ジェクトが存在する場合は、直後に存在する選択候補オ
ブジェクトxに対してpreselect(e,pre)を実行させ、そ
の戻り値を自オブジェクトの戻り値としてコール元に戻
る。そのようなオブジェクトxが存在しない場合は、戻
り値「φ(φは空の意味)」としてコール元に戻る。 select関数:未定義 x02: respodent関数:オブジェクトx01と同一の定義 preselect関数:オブジェクトx01と同一の定義 select関数:無条件に戻り値「自オブジェクト名」でコ
ール元に戻る。 x03〜x05: respondent関数:オブジェクトx01と同一の定義 preselect関数:オブジェクトx01と同一の定義 select関数:オブジェクトx02と同一の定義"Definition Example 3" This definition example differs from the "definition example 2" in the select function of the object x01, and the system default select function is defined as follows. System default select function: If the self object is transparent or translucent and there is a selection candidate object behind the self object, select (e, sel) is executed for the selection candidate object y that exists immediately after,
The return value is returned to the caller as the return value of the own object. If no such object y exists,
Return to the caller as the return value "φ (φ means empty)".
If the own object is not transparent or translucent (opaque), the process returns to the caller with a return value “own object name”. Se of the object of the highest class of object x01
lect function: Executes the function passed as an argument. x01: respodent function: If the straight line L1 penetrates the own object, returns to the caller with a return value "true"; otherwise, returns to the caller with a return value "false". preselect function: If a selection candidate object exists behind the own object, preselect (e, pre) is executed for the selection candidate object x that exists immediately after, and the return value is used as the return value of the own object as the call source. Return to If there is no such object x, the process returns to the call source as a return value “φ (φ means empty)”. select function: undefined x02: respodent function: same definition as object x01 preselect function: same definition as object x01 select function: unconditionally returns to the caller with return value "self object name". x03 to x05: respondent function: same definition as object x01 preselect function: same definition as object x01 select function: same definition as object x02
【0054】このような定義状態において、P1で示す
位置でオブジェクト選択操作が行われたものとすると、
respodent関数、preselect関数を実行させることによっ
て、3次元オブジェクトx01、x03、x05が選択
候補オブジェクトとなる。しかし、この「定義例3」に
おいては、3次元オブジェクトx01のselect関数が未
定義であるので、x01はイベントディスパッチャ60
5bからselect関数の実行を指示された場合、当該オブ
ジェクトx01の最上位クラスのオブジェクトのselect
関数を実行する。オブジェクトx01の最上位クラスの
オブジェクトのselect関数には、「定義例3」において
は、「引数として渡された関数を実行する」ことが定義
されている。そこで、イベントディスパッチャ605b
からx01に渡されたselect関数の引数として、システ
ムデフォルトのselect関数を示していた場合、オブジェ
クトx01はシステムデフォルトのselect関数を実行す
る。In such a defined state, if an object selection operation is performed at the position indicated by P1,
By executing the respodent function and the preselect function, the three-dimensional objects x01, x03, and x05 become selection candidate objects. However, in the “Definition Example 3”, since the select function of the three-dimensional object x01 is undefined, x01 is the event dispatcher 60
5b, the execution of the select function is instructed, the select of the object of the top class of the object x01
Execute a function. In the "selection function" of the object of the top class of the object x01, "execute the function passed as an argument" is defined in "Definition Example 3". Therefore, the event dispatcher 605b
If the argument of the select function passed from to x01 indicates the system default select function, the object x01 executes the system default select function.
【0055】この「定義例3」において、システムデフォ
ルトのselect関数は、「自オブジェクトが透明または半
透明であって、かつ自オブジェクトの後方に選択候補オ
ブジェクトが存在する場合は、直後に存在する選択候補
オブジェクトyにselect(e,sel)を実行させ、その戻り
値を自オブジェクトの戻り値としてコール元に戻る。そ
のようなオブジェクトyが存在しない場合は、戻り値
「φ(φは空の意味)」としてコール元に戻る。また、
自オブジェクトが透明または半透明でない場合(不透明
の場合)は、戻り値「自オブジェクト名」でコール元に
戻る。」というものであるから、次の選択候補のオブジ
ェクトx03に対してselect関数の実行を指示する。3
次元オブジェクトx03では、「無条件で戻り値を自オ
ブジェクト名としてコール元に戻る」という定義が設定
されているので、コール元であるx01に戻る。そこ
で、x01はその戻り値「オブジェクトx03」をイベ
ントディスパッチャ605bへの戻り値として返す。こ
れにより、オブジェクトx03が選択対象のオブジェク
トとして決定される。In the "Definition Example 3", the system default select function is described as follows. Select (e, sel) is executed by the candidate object y, and the return value is returned to the caller as the return value of the own object.If no such object y exists, the return value “φ (φ means empty ) "And return to the caller. Also,
If the own object is not transparent or translucent (if opaque), the process returns to the caller with a return value “own object name”. , The execution of the select function is instructed for the next selection candidate object x03. 3
In the dimension object x03, since the definition of "return unconditionally to the caller with the return value as its own object name" is set, the process returns to the caller x01. Therefore, x01 returns the return value “object x03” as a return value to the event dispatcher 605b. Thereby, the object x03 is determined as an object to be selected.
【0056】図16(a),(b),(c)は、各3次
元オブジェクトの最上位クラスのオブジェクトに定義さ
れているselect関数、respondent関数、preselect関数
の定義例を示すフローチャートである。図16(a)の
select関数の定義例においては、自オブジェクトに対し
て第1引数として渡された情報に基づいて第2引数とし
て渡された関数を実行し、結果をyに代入し(ステップ
1601)、コール元に戻る(ステップ1602)。FIGS. 16A, 16B and 16C are flow charts showing examples of defining the select function, respondent function and preselect function defined in the object of the top class of each three-dimensional object. 16 (a)
In the definition example of the select function, the function passed as the second argument is executed on the own object based on the information passed as the first argument, and the result is substituted into y (step 1601). Return (step 1602).
【0057】図16(b)のrespondent関数の定義例にお
いては、自オブジェクトに対して第1引数として渡され
た情報に基づいて第2引数として渡された関数を実行
し、結果をyに代入し(ステップ1603)、コール元
に戻る(ステップ1604)。In the example of defining the respondent function in FIG. 16B, the function passed as the second argument is executed based on the information passed as the first argument to the own object, and the result is substituted into y. Then, the process returns to the call source (step 1604).
【0058】図16(c)のpreselect関数の定義例に
おいては、自オブジェクトに対して第1引数として渡さ
れた情報に基づいて第2引数として渡された関数を実行
し、結果をyに代入し(ステップ1605)、コール元
に戻る(ステップ1606)。前述の「定義例3」における
オブジェクトx01の最上位クラスのオブジェクトのse
lect関数は、図16(a)〜(c)で示した定義がなさ
れている。In the definition example of the preselect function shown in FIG. 16C, the function passed as the second argument is executed on the own object based on the information passed as the first argument, and the result is substituted into y. Then, the process returns to the call source (step 1606). The se of the object of the highest class of the object x01 in the above-mentioned “Definition Example 3”
The lect function is defined as shown in FIGS. 16 (a) to 16 (c).
【0059】ところで、上記の定義例では、自オブジェ
クトが不透明であれば後方に位置する他の選択候補オブ
ジェクトに対してselect関数の実行を指示しない場合を
説明したが、不透明および透明であるか否かに拘わら
ず、自オブジェクトの後方に存在する選択候補オブジェ
クトを選択させないようにする機能があれば、便利であ
る。例えば、特別な権限を与えられた管理者のみしか選
択することができないような操作パネルオブジェクトが
あった場合に、その内部に存在する各種のスイッチボタ
ンオブジェクトについては、管理者以外にも見えるが、
選択することはできないようにするという例である。By the way, in the above definition example, a case has been described where execution of the select function is not instructed to another selection candidate object located behind if the own object is opaque. Regardless, it is convenient if there is a function that prevents selection candidate objects existing behind the subject object from being selected. For example, when there is an operation panel object that can be selected only by an administrator who has special authority, various switch button objects existing inside the operation panel object are visible to other than the administrator,
This is an example in which selection cannot be made.
【0060】図17(a),(b)は、自オブジェクト
の後方に他の選択候補オブジェクトが存在するが、自オ
ブジェクトの色や透明度に関係なく、その後方の選択オ
ブジェクトを選択させないようにする機能を実現するブ
ロックオブジェクトにおけるselect関数、preselect関
数の定義例をフローチャートで示したものである。いず
れの場合も、選択操作イベントeが渡された場合には、
select関数、preselect関数を実行し、自オブジェクト
が操作対象であることを返却して終了する(ステップ1
701,1702)。この定義によれば、自オブジェク
トの色や透明度に関係なく、その後方の選択オブジェク
トに対してはpreselect関数およびselect関数の実行が
指示されないため、後方に存在する選択候補オブジェク
トを選択対象から強制的に除外することができる。FIGS. 17 (a) and 17 (b) show that although there is another selection candidate object behind the own object, the selected object behind that object is not selected regardless of the color or transparency of the own object. 9 is a flowchart illustrating an example of a definition of a select function and a preselect function in a block object that implements a function. In any case, when the selection operation event e is passed,
Execute the select function and preselect function, return that the own object is the operation target, and end (Step 1)
701, 1702). According to this definition, the execution of the preselect function and the select function is not instructed for the selected object behind it regardless of the color or transparency of the own object, so the selection candidate object existing behind is forcibly selected from the selection target. Can be excluded.
【0061】また、上記の説明では、マウスイベントの
発生位置P1と視点Eとを結ぶ直線L1と交叉するオブ
ジェクトを選択候補としているが、マウスイベント発生
位置に最も近い位置のオブジェクトを選択することがで
きれば、直感的に目的とするオブジェクトの近傍位置を
指定し、目的とするオブジェクトを選択することができ
る。In the above description, an object that intersects with a straight line L1 connecting the mouse event occurrence position P1 and the viewpoint E is set as a selection candidate. If possible, it is possible to intuitively specify the position near the target object and select the target object.
【0062】図18は、マウスイベント発生位置に最も
近い位置のオブジェクトを選択する機能を実現するsele
ct関数の定義例を示すフローチャートである。例えば、
このselect関数を各オブジェクトに定義することによっ
て上記を実現することができる。まず、選択候補オブジ
ェクト群内の自オブジェクトより奥行き方向に存在する
候補オブジェクトの各頂点と、パラメータとして渡され
た選択操作イベントeの発生位置P1との距離を求める
(ステップ1801)。そして、ここで最も距離が近い位
置にあると判定されたオブジェクトyを取得し(ステッ
プ1802)、返する(ステップ1803)。これによ
り、図19(a)の例で言えば、図19(b)に示すよ
うに、3次元オブジェクト(2)1902の頂点が3次
元オブジェクト(1)1901の頂点より選択操作イベ
ントeの発生位置P1に最も近いので、3次元オブジェ
クト(2)1902が最終的に操作対象のオブジェクト
として決定される。FIG. 18 shows a sele that realizes the function of selecting the object at the position closest to the mouse event occurrence position.
5 is a flowchart illustrating a definition example of a ct function. For example,
The above can be realized by defining this select function for each object. First, the distance between each vertex of the candidate object existing in the depth direction from the own object in the selection candidate object group and the occurrence position P1 of the selection operation event e passed as a parameter is obtained.
(Step 1801). Then, the object y determined to be located at the closest position is acquired (step 1802) and returned (step 1803). As a result, in the example of FIG. 19A, as shown in FIG. 19B, the vertex of the three-dimensional object (2) 1902 is generated from the vertex of the three-dimensional object (1) 1901 by the occurrence of the selection operation event e. Since it is closest to the position P1, the three-dimensional object (2) 1902 is finally determined as an object to be operated.
【0063】この定義によれば、直感的に目的とするオ
ブジェクトの近傍位置を指定するだけであるため、選択
操作が容易になる。したがって、以上のような被選択基
準の定義を利用すると、次のようなユーザインタフェー
スが実現可能になる。According to this definition, since only the position near the target object is intuitively specified, the selection operation becomes easy. Therefore, the following user interface can be realized by using the definition of the selection criteria as described above.
【0064】図20は、3次元オブジェクトが包含関係
にある場合の例を示す説明図である。2001はディス
プレイ画面、2002は建物オブジェクト、2003は
部屋オブジェクト、2004は内部にオブジェクト20
05を含むオブジェクト、2005はオブジェクト20
04に含まれるオブジェクトである。今、デフォルト関
数等が、例えば、次のように定義されているものとす
る。 §デフォルト関数: respondent関数:直線L1が自オブジェクトを透過すれ
ば戻り値「true」でコール元へ戻り、透過しなければ戻
り値「false」でコール元へ戻る。 preselect関数:自オブジェクトの後方に選択候補オブ
ジェクトが存在する場合は、直後に存在する選択候補オ
ブジェクトxに対してpreselect(e,pre)を実行させ、そ
の戻り値を自オブジェクトの戻り値としてコール元に戻
る。そのようなオブジェクトxが存在しない場合は、戻
り値を「φ(φは空の意味)」としてコール元に戻る。 select関数:自オブジェクトを戻り値としてコール元に
戻る。 §オブジェクト2002乃至オブジェクト2005共通
の最上位クラスでの定義 関数: respondent関数:引数として渡された関数の実行 preselect関数:引数として渡された関数の実行 select関数:引数として渡された関数の実行 §オブジェクト2002乃至オブジェクト2005での
共通定義 respondent関数:未定義 preselect関数:未定義 §建物オブジェクト2002: select関数:自オブジェクトの内部(後方)に存在する
直後のオブジェクトyに対してselect関数を実行させ、
その戻り値を自オブジェクトの戻り値としてコール元に
戻る。そのようなオブジェクトyが存在しない場合は、
戻り値を「φ(φは空の意味)」としてコール元に戻
る。 §部屋オブジェクト2003: select関数:自オブジェクトを含め、自オブジェクトの
内部(後方)に存在するオブジェクトのうち、マウスカ
ーソル位置に最も近い頂点を持つオブジェクト名を戻り
値としてコール元に戻る。 §オブジェクト2004: select関数:未定義 §オブジェクト2005: select関数:未定義FIG. 20 is an explanatory diagram showing an example in which three-dimensional objects are in an inclusion relationship. 2001 is a display screen, 2002 is a building object, 2003 is a room object, and 2004 is an object 20 inside.
05, object 20
04. Now, it is assumed that the default function and the like are defined as follows, for example. § Default function: respondent function: Returns to the caller with a return value of “true” if the straight line L1 passes through its own object, and returns to the caller with a return value of “false” if it does not pass. preselect function: If a selection candidate object exists behind the own object, preselect (e, pre) is executed for the selection candidate object x that exists immediately after, and the return value is used as the return value of the own object as the call source. Return to If there is no such object x, the return value is "φ (φ means empty)" and the process returns to the call source. select function: Returns to the caller with its own object as the return value. § Definition in the top-level class common to the objects 2002 to 2005 Function: respondent function: execution of a function passed as an argument preselect function: execution of a function passed as an argument select function: execution of a function passed as an argument § Common definition in objects 2002 to 2005 respondent function: undefined preselect function: undefined § building object 2002: select function: execute select function on object y immediately after it exists inside (behind) its own object,
The return value is returned to the caller as the return value of the own object. If no such object y exists,
Return the return value to “φ (φ means empty)” and return to the caller. §Room object 2003: select function: Among objects existing inside (behind) the own object including the own object, the object name having the vertex closest to the mouse cursor position is returned to the caller as a return value. §Object 2004: select function: undefined §Object 2005: select function: undefined
【0065】オブジェクト2004が建物オブジェク
ト2002の外部の場合 オブジェクト2004のselect関数が未定義であるた
め、結果としてデフォルトselect関数が実行される。デ
フォルトselect関数は「自オブジェクトを戻り値として
コール元に戻る。」と定義されているため、オブジェク
ト2004を戻り値としてコール元に戻る。したがっ
て、内部オブジェクト2005が選択されることはな
い。 オブジェクト2004が建物オブジェクト2002の
内部ではあるが部屋オブジェクト2003の外部の場合
(2004'の位置) 建物オブジェクト2002のselect関数は「自オブジェ
クトの内部(後方)に存在する直後のオブジェクトyに
対してselect関数を実行させ、その戻り値を自オブジェ
クトの戻り値としてコール元に戻る。そのようなオブジ
ェクトyが存在しない場合は、戻り値を「φ(φは空の
意味)」としてコール元に戻る。」と定義されている。
このため、オブジェクト2004’がオブジェクト20
04’のselect関数を実行する。ところが、オブジェク
ト2004’のselect関数は未定義であるので、結果と
してデフォルトselect関数が実行される。デフォルトse
lect関数は「自オブジェクトを戻り値としてコール元に
戻る。」と定義されているため、オブジェクト2004
を戻り値としてコール元に戻る。したがって、内部オブ
ジェクト2005が選択されることはない。 オブジェクト2004が建物オブジェクト2002の
内部、かつ部屋オブジェクト2003の内部の場合(2
004’'の位置) 建物オブジェクト2002のselect関数は「自オブジェ
クトの内部(後方)に存在する直後のオブジェクトyに
対してselect関数を実行させ、その戻り値を自オブジェ
クトの戻り値としてコール元に戻る。そのようなオブジ
ェクトyが存在しない場合は、戻り値を「φ」としてコ
ール元に戻る。」と定義されている。このため、部屋オ
ブジェクト2003は建物オブジェクト2002の指示
によって部屋オブジェクト2003のselect関数を実行
する。ところが、部屋オブジェクト2003のselect関
数は「自オブジェクトを含め、自オブジェクトの内部
(後方)に存在するオブジェクトのうち、マウスカーソ
ル位置に最も近い頂点を持つオブジェクト名を戻り値と
してコール元に戻る。」と定義されているため、オブジ
ェクト2005''を戻り値としてコール元に戻る。結果
として、この場合、内部オブジェクト2005’’が選
択される。このように、オブジェクトの存在環境によっ
て選択可能になったり、選択不可能になるといったイン
タフェースを実現することができる。When the Object 2004 is Outside the Building Object 2002 Since the select function of the object 2004 is undefined, the default select function is executed as a result. Since the default select function is defined as "return to the caller using the own object as a return value", the object 2004 returns to the caller as a return value. Therefore, the internal object 2005 is not selected. When the object 2004 is inside the building object 2002 but outside the room object 2003 (position of 2004 ′), the select function of the building object 2002 is “select for the object y immediately after it exists inside (behind) its own object. The function is executed and the return value is returned to the caller as the return value of the own object.If no such object y exists, the return value is returned to the caller as “φ (φ means empty)”. Is defined.
Therefore, the object 2004 ′ is
Execute the 04 'select function. However, since the select function of the object 2004 'is undefined, the default select function is executed as a result. Default se
Since the lect function is defined as “return to the caller with its own object as a return value”, the object 2004
And returns to the caller. Therefore, the internal object 2005 is not selected. When the object 2004 is inside the building object 2002 and inside the room object 2003 (2
(The position of 004 ″) The select function of the building object 2002 “executes the select function on the object y immediately after it exists inside (behind) the own object, and uses the return value as the return value of the own object to the caller. Return If no such object y exists, return to the caller with a return value of "φ". Is defined. Therefore, the room object 2003 executes the select function of the room object 2003 according to the instruction of the building object 2002. However, the select function of the room object 2003 "returns to the caller as a return value an object name having a vertex closest to the mouse cursor position among objects existing inside (behind) the own object including the own object". And returns to the caller with the object 2005 ″ as the return value. As a result, in this case, the internal object 2005 ″ is selected. In this way, it is possible to realize an interface that can be selected or cannot be selected depending on the existence environment of the object.
【0066】以上は典型的な被選択基準の例であるが、
その他に以下に説明するような被選択基準を定義するこ
とができる。図21は、respondent関数の他の定義例を
説明するための図であり、視点Eとイベント発生位置P
1とを結ぶ直線L1がオブジェクト2102,2103
の領域と交わらなくても透過しなくても、あるいは交わ
って透過してもこのオブジェクト2102,2103に
定義された反応領域2101、2104と交わること
で、選択候補オブジェクトとして抽出し、登録する例を
示している。ここで、反応領域2101は、3次元オブ
ジェクト(1)2101の大きさよりも「+10」という
値で表される距離だけ拡大した領域に定義され、また反
応領域2104は3次元オブジェクト(2)2103の
中心から「50」という半径の値で表される球状領域に
定義されている。この定義は図22、図23で示すresp
ondent関数の処理によって定義される。The above is an example of a typical selection criterion.
In addition, the selection criteria described below can be defined. FIG. 21 is a diagram for explaining another example of the definition of the respondent function.
1 are objects 2102 and 2103
An example of extracting and registering as a selection candidate object by intersecting with the reaction areas 2101 and 2104 defined in the objects 2102 and 2103 even if they do not intersect or transmit with the area of, or intersect and transmit with them. Is shown. Here, the reaction area 2101 is defined as an area which is larger than the size of the three-dimensional object (1) 2101 by a distance represented by a value of “+10”, and the reaction area 2104 is defined as the area of the three-dimensional object (2) 2103. It is defined as a spherical region represented by a radius value of “50” from the center. This definition is resp shown in FIGS. 22 and 23.
Defined by the processing of the ondent function.
【0067】図22は、図21の3次元オブジェクト
(1)2101に対して定義したrespondent関数の例を
示すフローチャートである。初めに、自オブジェクトの
領域に対して、その領域を例えば「+10」という値で
与えられる距離だけ外側に拡大した領域を反応領域とす
る(ステップ2201)。次に、視点Eと選択操作イベ
ントeの発生位置とを結ぶ直線L1が反応領域と交わっ
ているかどうかを判定し(ステップ2202)、交わっ
ている場合はtrueを返却し(ステップ2203)、交わ
らない場合はfalseを返却し(ステップ2204)、処
理を終了する。FIG. 22 is a flowchart showing an example of the respondent function defined for the three-dimensional object (1) 2101 in FIG. First, a region obtained by expanding the region outside the region of the own object by a distance given by, for example, a value of “+10” is set as a reaction region (step 2201). Next, it is determined whether or not a straight line L1 connecting the viewpoint E and the position where the selection operation event e has occurred intersects with the reaction area (step 2202). In this case, false is returned (step 2204), and the process ends.
【0068】図23は、図21の3次元オブジェクト
(2)2103に対して定義したrespondent関数の例を
示すフローチャートである。初めに、自オブジェクトの
領域の中心から例えば半径「50」という値で表される
球領域を反応領域とする(ステップ2301)。次に、
視点Eと選択操作イベントeの発生位置P1とを結ぶ直
線L1が反応領域と交わっているかどうかを判定し(ス
テップ2302)、交わっている場合はtrueを返却し
(ステップ2303)、交わらない場合はfalseを返却
し(ステップ2304)、処理を終了する。FIG. 23 is a flowchart showing an example of the respondent function defined for the three-dimensional object (2) 2103 in FIG. First, a sphere region represented by a value of, for example, a radius “50” from the center of the region of the own object is set as a reaction region (step 2301). next,
It is determined whether or not a straight line L1 connecting the viewpoint E and the generation position P1 of the selection operation event e intersects the reaction area (step 2302). If they intersect, true is returned (step 2303). False is returned (step 2304), and the process ends.
【0069】このようにして、3次元オブジェクトの選
択操作イベントに対し、自オブジェクトが反応するか否
かの領域を拡大または縮小方向に定義したrespondent関
数をあるオブジェクトに実行させることにより、視点E
と選択操作イベントeの発生位置とを結ぶ直線L1に交
差しない場合や、オブジェクト本体の中心近傍で交叉す
る場合についてのみ選択候補として抽出し、選択対象に
することができる。これは、直線L1に交差しない場合
であっても、定期的に膨張と収縮を繰り返して外形形状
が変化しているような3次元オブジェクトを選択候補と
して抽出する場合に適用することができる。また、中心
近傍部分のみが3次元オブジェクトとしての実効的な機
能を表している場合に、その3次元オブジェクトを選択
候補として抽出する場合に適用することができる。In this way, by causing a certain object to execute a respondent function that defines an area of whether or not the own object responds to a selection operation event of a three-dimensional object in the enlargement or reduction direction, the viewpoint E
Only when the line does not intersect with the straight line L1 connecting the position and the position where the selection operation event e occurs, or when the line intersects near the center of the object body, it can be extracted as a selection candidate and made a selection target. This can be applied to a case where a three-dimensional object whose outer shape changes by periodically repeating expansion and contraction is extracted as a selection candidate, even when the three-dimensional object does not intersect with the straight line L1. Further, the present invention can be applied to a case where only the vicinity of the center represents an effective function as a three-dimensional object, and the three-dimensional object is extracted as a selection candidate.
【0070】図24は、3次元オブジェクトの共通属性
項目中に選択可能フラグを付加し、この選択可能フラグ
がonになっているか、offになっているかどうかで
選択候補とするかを決める場合の3次元オブジェクトの
例を示すものであり、ここでは、3次元オブジェクト
(1)2401と3次元オブジェクト(3)2403の
選択可能フラグはoff,中間位置の3次元オブジェク
ト(2)2402の選択可能フラグはonになっている
ことを示している。FIG. 24 shows a case in which a selectable flag is added to the common attribute item of the three-dimensional object, and whether the selectable flag is turned on or off is determined as a selection candidate. This shows an example of a three-dimensional object. Here, the selectable flag of the three-dimensional object (1) 2401 and the three-dimensional object (3) 2403 is off, and the selectable flag of the three-dimensional object (2) 2402 at the intermediate position is shown. Indicates that it is on.
【0071】図25は、選択可能フラグがonになって
いるか、offになっているかどうかで選択候補とする
かを決める場合のrespondent関数を定義した例を示すフ
ローチャートである。まず、自オブジェクトの選択可能
フラグ(sensibleフラグ)がonになっているかどうか
を判定し(ステップ2501)、offならばfalseを
返す(ステップ2503)。しかし、onになっていた
場合は、視点Eと選択操作イベントeの発生位置P1と
を結ぶ直線が自オブジェクトと交わっているかどうかを
判定し(ステップ2502)、交わっている場合はtrue
を返却し(ステップ2504)、交わらない場合はfals
eを返却し(ステップ2503)、処理を終了する。こ
れにより、図24の例では、中間位置の3次元オブジェ
クト(2)2402が選択候補として抽出される。FIG. 25 is a flow chart showing an example in which a respondent function is defined for determining whether or not to be a selection candidate depending on whether the selectable flag is on or off. First, it is determined whether or not the selectable flag (sensible flag) of the own object is turned on (step 2501), and if it is off, false is returned (step 2503). However, if it is on, it is determined whether or not a straight line connecting the viewpoint E and the generation position P1 of the selection operation event e intersects with the own object (step 2502).
Is returned (step 2504).
e is returned (step 2503), and the process ends. Thus, in the example of FIG. 24, the three-dimensional object (2) 2402 at the intermediate position is extracted as a selection candidate.
【0072】以上のように本実施形態によれば、3次元
オブジェクト自体に、自オブジェクトが選択対象とされ
るか否かの被選択基準を関数として保持させ、マウス操
作による選択操作イベントの発生時に、この関数を実行
させ、その実行結果によって最終的に操作対象となるオ
ブジェクトを決定するようにしたため、建物の内部と外
部とで各3次元オブジェクトを選択可能または選択でき
ないようにするといった異なるユーザインタフェースを
実現することができる。すなわち、3次元オブジェクト
側が主導権を持って多様なユーザインタフェースを提供
することができ、アプリケーション側では被選択基準で
選択候補に挙がった3次元オブジェクトのうち例えば最
も視点側に近いオブジェクトを選択するといった簡単な
ロジックを持たせるだけで済むという効果が得られる。As described above, according to the present embodiment, the three-dimensional object itself holds the selection criterion as to whether or not the own object is to be selected as a function, and when the selection operation event by mouse operation occurs, Since this function is executed, and finally the object to be operated is determined based on the execution result, different user interfaces such that each 3D object can be selected or cannot be selected inside and outside the building. Can be realized. That is, the three-dimensional object side can provide a variety of user interfaces with the initiative, and the application side selects, for example, the object closest to the viewpoint side from among the three-dimensional objects listed as selection candidates based on the selection criteria. An effect is obtained that only simple logic is required.
【0073】なお、実施形態では、視点Eに最も近いオ
ブジェクトを選択候補群の中から選択するようにしてい
るが、手前から見て2番目、3番目といった選択条件に
したり、最も奥行きに存在するオブジェクトといった選
択条件にすることができることは言うまでもない。In the embodiment, the object closest to the viewpoint E is selected from the selection candidate group. It goes without saying that selection conditions such as objects can be used.
【0074】ところで、以上の実施例において、イベン
トディスパッチャ605bに対しては常に1つのオブジ
ェクト名が返却されるように構成しているが、複数のオ
ブジェクト名を返却し、イベントディスパッチャ605
bでの独自の選択条件にしたがって、操作対象とするオ
ブジェクトを決定するように構成することができる。以
下、この方法について説明する。In the above embodiment, one object name is always returned to the event dispatcher 605b, but a plurality of object names are returned and the event dispatcher 605b is returned.
An object to be operated can be determined according to the unique selection condition in b. Hereinafter, this method will be described.
【0075】図26(a),(b)は、視点Eとイベン
ト発生位置P1を通る直線と交点を持つオブジェクト群
の内、全ての選択候補オブジェクト群を最終的な選択オ
ブジェクト群とする場合のオブジェクトの例を示す図で
あり、図27(a),(b)は選択候補オブジェクト群
の中で不透明なオブジェクトのみを選択オブジェクト群
とする場合の例を示す図である。なお、図26(a)と
図27(a)は同じオブジェクト配置を表しており、3
次元オブジェクト(1)x01は不透明、3次元オブジ
ェクト(2)x02は透明、3次元オブジェクト(3)
x03は不透明、3次元オブジェクト(4)x04は不
透明、3次元オブジェクト(5)x05は透明、3次元
オブジェクト(6)x06は不透明である例を示してい
る。例えば図26(a)において、3次元オブジェクト
x01、x02、x03、x04、x05、x06が視
点Eとイベント発生位置P1を通る直線により交わると
する。この時、x01、x03、x04、x06は不透
明、x02、x05は透明であり、不透明であるx0
1、x03、x04、x06を選択オブジェクトとする
場合を考える。FIGS. 26 (a) and 26 (b) show the case where all the selection candidate objects among the objects having the intersection and the straight line passing through the viewpoint E and the event occurrence position P1 are the final selected objects. FIG. 27A is a diagram illustrating an example of an object, and FIGS. 27A and 27B are diagrams illustrating an example of a case where only an opaque object among a selection candidate object group is set as a selection object group. 26A and FIG. 27A show the same object arrangement.
3D object (1) x01 is opaque, 3D object (2) x02 is transparent, 3D object (3)
An example in which x03 is opaque, three-dimensional object (4) x04 is opaque, three-dimensional object (5) x05 is transparent, and three-dimensional object (6) x06 is opaque is shown. For example, in FIG. 26A, it is assumed that the three-dimensional objects x01, x02, x03, x04, x05, x06 intersect with a viewpoint E and a straight line passing through the event occurrence position P1. At this time, x01, x03, x04 and x06 are opaque, x02 and x05 are transparent and opaque x0
Consider a case where 1, x03, x04, and x06 are selected objects.
【0076】図28に示すイベントディスパッチャ60
5bは、複数のオブジェクトを選択オブジェクトとする
実施形態のイベントディスパッチャである。図8のイベ
ントディスパッチャ605bの処理においては、ステッ
プ803で最も手前の選択候補aについてa.select関
数を実行すると、選択候補群中の選択対象となり得るオ
ブジェクト群が取得、ステップ804において前記ステ
ップ802で取得された優先選択オブジェクトxとの位
置関係を比較するが、図28に示すイベントディスパッ
チャ605bは、ステップ2804に示すように、オブ
ジェクト群y中のオブジェクトの中で、xより手前のオ
ブジェクト群及びxの和集合を選択オブジェクト群とし
て返却するようにしている。なお、図28において、ス
テップ2801〜2802は、図8のステップ801〜
802に相当する。The event dispatcher 60 shown in FIG.
An event dispatcher 5b according to the embodiment uses a plurality of objects as selected objects. In the process of the event dispatcher 605b in FIG. 8, when the a.select function is executed for the foremost selection candidate a in step 803, a group of objects that can be selected from the selection candidate group is obtained. The positional relationship with the acquired preferentially selected object x is compared. The event dispatcher 605b shown in FIG. 28 determines, as shown in step 2804, among the objects in the object group y, the object group before x and x Is returned as a selected object group. 28, steps 2801 to 2802 correspond to steps 801 to 2801 in FIG.
802.
【0077】さらに、図26における各オブジェクトの
respondent関数、preselect関数、select関数は未定義
であり、システムデフォルトのrespondent関数、presel
ect関数、select関数は次のとおりとする。システムの
デフォルトrespondent関数は、図29(a)に示すよう
に、視点とイベントeの発生位置を結ぶ直線がオブジェ
クトを透過するかを判定し(ステップ2901)、透過
するならばtrueを戻り値としてコール元に戻り(ステッ
プ2902)、透過しないならばfalseを戻り値として
コール元に戻る(ステップ2903)。また、システム
のデフォルトpreselect関数は、図29(b)に示すよ
うに、選択候補オブジェクト群内に次の候補オブジェク
トyが存在するかを判定し(ステップ2904)、存在
するならばtrueを戻り値としてコール元に戻り(ステッ
プ2905)、存在しないならばφを戻り値としてコー
ル元に戻る(ステップ2906)。これにより、図2
6、図27の例では全てのオブジェクトが選択候補オブ
ジェクトとなってselect関数の実行に移る。Further, each object in FIG.
The respondent function, preselect function, and select function are undefined, and the system default respondent function, presel
The ect function and select function are as follows. As shown in FIG. 29A, the default response function of the system determines whether or not a straight line connecting the viewpoint and the occurrence position of the event e passes through the object (step 2901). Return to the caller (step 2902), and if not transparent, return to the caller with false as the return value (step 2903). The system default preselect function determines whether the next candidate object y exists in the selected candidate object group (step 2904) as shown in FIG. 29B, and returns true if it exists. Return to the call source (step 2905), and if not, return φ to the call source as a return value (step 2906). As a result, FIG.
6. In the example of FIG. 27, all the objects become selection candidate objects, and the process proceeds to the execution of the select function.
【0078】さらに、システムのデフォルトselect関数
を、図30に示すように、自オブジェクト及び自オブジ
ェクトより外後方にある全ての選択候補群オブジェクト
を返却するようにしておく。Further, as shown in FIG. 30, the default select function of the system returns the self object and all the selection candidate group objects located outside and behind the self object.
【0079】すなわち、図30のデフォルトselect関数
は、選択候補オブジェクト群内に自オブジェクトの次候
補オブジェクトyが存在する場合には(ステップ300
1)、次候補オブジェクトyのselect関数を実行させ
(ステップ3002)、その結果をlとする。そして、
lに自オブジェクト名を付加し(ステップ3004)、
lをコール元に戻す(ステップ3005)。しかし、自
オブジェクトの次候補がない(すなわち自分が一番奥)場
合には、集合lを空集合とする(ステップ3003)。
したがって、図26の例では、図26(b)に示すよう
に、最も奥側のオブジェクトx06がコール元に戻る際
に、l={x06}を戻り値として返し、その前のオブ
ジェクトx05がl={x05、x06}を返し、その
前のx04がl=が{x04、x05、x06}を返す
といった具合にして、各オブジェクトx06〜x01が
自オブジェクトの奥側に包含しているオブジェクト名を
順次返す。これにより、全ての選択候補オブジェクトx
01〜x06を選択対象オブジェクトとして取得するこ
とができる。That is, the default select function shown in FIG. 30 is used when the next candidate object y of the subject object exists in the selected candidate object group (step 300).
1), the select function of the next candidate object y is executed (step 3002), and the result is set to l. And
l, adding its own object name (step 3004)
1 is returned to the caller (step 3005). However, if there is no next candidate for the own object (that is, the user is the innermost), the set l is set as an empty set (step 3003).
Therefore, in the example of FIG. 26, as shown in FIG. 26B, when the innermost object x06 returns to the call source, l = {x06} is returned as a return value, and the object x05 before that returns = {X05, x06}, the previous x04 returns l = {x04, x05, x06}, and so on. Return sequentially. Thereby, all the selection candidate objects x
01 to x06 can be acquired as selection target objects.
【0080】さらに、図27における不透明オブジェク
ト群のみを選択対象オブジェクト群とする場合において
は、デフォルトselect関数を図31に示すとおりとし、
その他は図26と同一とすればよい。図31のデフォル
トselect関数は、選択候補オブジェクト群内に自オブジ
ェクトの次候補オブジェクトyが存在する場合には(ス
テップ3101)、次候補オブジェクトyのselect関数
を実行させ(ステップ3102)、その結果をlとす
る。そして、自オブジェクトが不透明オブジェクトであ
るかを判定し(ステップ3104)、不透明オブジェク
トであれば、lに自オブジェクト名を付加し(ステップ
3105)、lをコール元に戻す(ステップ310
6)。しかし、自オブジェクトの次候補がない(すなわ
ち自分が一番奥)の場合には、集合lを空集合とする(ス
テップ3103)。また、不透明オブジェクトでなけれ
ば、lに自オブジェクト命を付加せずにコール元へ戻
る。Further, when only the opaque objects in FIG. 27 are to be selected, the default select function is set as shown in FIG.
Others may be the same as those in FIG. When the next candidate object y of the own object exists in the selected candidate object group (step 3101), the default select function of FIG. 31 causes the select function of the next candidate object y to be executed (step 3102). l. Then, it is determined whether the own object is an opaque object (step 3104). If the object is an opaque object, the own object name is added to l (step 3105), and l is returned to the caller (step 310).
6). However, when there is no next candidate of the own object (that is, the user is the innermost), the set l is set as an empty set (step 3103). If the object is not an opaque object, the process returns to the call source without adding the own object life to l.
【0081】したがって、図27の例では、図27
(b)に示すように、最も奥側のオブジェクトx06が
コール元に戻る際に、l={x06}を戻り値としてx
05に返し、x05は自オブジェクト名を付加せずにl
={x06}をx04に返す。x04は不透明オブジェ
クトであるため、自オブジェクト名を付加し、l={x
04、x06}をx03に返す。また、x03も不透明
オブジェクトであるため、自オブジェクト名を付加し、
l={x03、x04、x06}をx02に返す。x0
2は透明オブジェクトであるため、自オブジェクト名を
付加せずにl={x03、x04、x06}をx01に
返す。x01は不透明オブジェクトであるため、自オブ
ジェクト名を付加し、l={x01、x03、x04、
x06}をイベントディスパッチャ605bに返す。こ
れにより、オブジェクトx01、x03、x04、x0
6を選択対象オブジェクトとして取得できる。このよう
に、イベントディスパッチャ605bでは、その選択候
補オブジェクト群の中のいずれか1つまたは複数をイベ
ントディスパッチャ605b独自の選択基準によって選
択することが可能になる。Therefore, in the example of FIG.
As shown in (b), when the innermost object x06 returns to the caller, l = {x06} is returned as x
05, and x05 is l without adding its own object name.
= {X06} is returned to x04. Since x04 is an opaque object, its own object name is added, and l = {x
04, x06} is returned to x03. Since x03 is also an opaque object, its own object name is added.
1 = {x03, x04, x06} is returned to x02. x0
Since 2 is a transparent object, l = {x03, x04, x06} is returned to x01 without adding its own object name. Since x01 is an opaque object, its own object name is added, and l = {x01, x03, x04,
x06} is returned to the event dispatcher 605b. Thereby, the objects x01, x03, x04, x0
6 can be obtained as a selection target object. As described above, in the event dispatcher 605b, one or more of the selection candidate objects can be selected based on the selection criteria unique to the event dispatcher 605b.
【0082】次に、以上のような被選択基準で選択する
際に、ユーザが目的とするオブジェクトを容易に指定で
きるように支援する本発明の第2の実施形態について説
明する。図32は、2次元/3次元グラフィックスアプ
リケーションにおけるオブジェクトの表示例を示す図で
あり、同図(a)は、3次元グラフィックスアプリケー
ションにおいて、立方体オブジェクト3201が球オブ
ジェクト3202を内包し、共に不透明である場合に
は、ユーザからは3201しか見ることが出来ない状態
を示すものである。また、同図(b)は、2次元グラフ
ィックスアプリケーションにおいて、テキストオブジェ
クト3203が、自分より小さな大きさの色台紙部品オ
ブジェクト3204の上に重なり、色つきの背景の上に
文字「ABCD」が書かれている様に見えている様子を
示すものであり、同図(c)はこれを立体的に見た図で
ある。このような例において、球オブジェクト3202
を操作対象に選択しようとした場合、この球オブジェク
ト3202が立方体オブジェクト3201の中に隠蔽さ
れているため、立方体オブジェクト3201が不透明で
ある限り、球オブジェクト3202を選択することがで
きない。また、テキストオブジェクト3203の背景色
を変えるために、色台紙部品オブジェクト3204を選
択しようとしても、色台紙部品オブジェクト3204の
上に自分より大きなサイズのテキストオブジェクト32
03が重なっているため、色台紙部品オブジェクト32
04を選択することができない。Next, a description will be given of a second embodiment of the present invention, which assists the user in easily selecting a target object when making a selection based on the above selection criteria. FIG. 32 is a diagram showing a display example of objects in a two-dimensional / three-dimensional graphics application. FIG. 32A shows a cubic object 3201 including a sphere object 3202 in a three-dimensional graphics application, and both are opaque. Indicates that the user can see only 3201. Also, FIG. 11B shows that in the two-dimensional graphics application, the text object 3203 overlaps the color mount part object 3204 having a size smaller than its own, and the character “ABCD” is written on a colored background. FIG. 3 (c) is a three-dimensional view of this. In such an example, the sphere object 3202
Is selected as the operation target, the sphere object 3202 cannot be selected as long as the cubic object 3201 is opaque because the sphere object 3202 is hidden in the cubic object 3201. Further, even if an attempt is made to select the color mount part object 3204 in order to change the background color of the text object 3203, the text object 32 of a size larger than the user is placed on the color mount part object 3204.
03 overlaps, the color mount part object 32
04 cannot be selected.
【0083】ちなみに従来においては、色台紙部品オブ
ジェクト3204の色を変える場合、まず、テキストオ
ブジェクト3203を色台紙部品オブジェクト3204
の一部が見えるような位置まで移動させた後、色台紙部
品オブジェクト3204を選択するという操作が行われ
ていた。しかし、このような手続きをその都度行うので
は目的とするオブジェクトを選択するまでの操作が極め
て煩雑になり、作業効率が低下する。本実施形態は、こ
のように場合におけるオブジェクトの選択操作を容易に
するための制御方法を提示するものである。Incidentally, conventionally, when changing the color of the color mount part object 3204, first, the text object 3203 is changed to the color mount part object 3204.
Has been moved to a position where a part of the color mount part can be seen, and then an operation of selecting the color mount part object 3204 has been performed. However, if such a procedure is performed each time, the operation until the target object is selected becomes extremely complicated, and the work efficiency is reduced. The present embodiment proposes a control method for facilitating the operation of selecting an object in such a case.
【0084】図33は、本実施形態におけるオブジェク
トの構成およびグローバルメモリ領域に予め保持される
各種の関数の例を示す図である。ここでは、オブジェク
トの選択操作を容易にするための制御方法を実現するの
に必要な要素のみを図示し、先の実施形態で説明した要
素は図示を省略している。また、ハードウェア構成につ
いては、図6の構成を前提とする。図33において、グ
ローバルメモリ領域701には、システムの選択操作支
援用関数であるselect関数、showCurrent関数、determi
ne関数、previous関数、next関数、highlight関数をそ
れぞれ保持する領域711〜716が設けられている。
なお、以降でいうselect関数とは、選択操作支援用関数
のselect関数である。また、showCurrent関数とは、選
択候補として着目しているオブジェクト(以下カレント
オブジェクト)の見え方(表示態様)を規定する関数で
ある。また、determine関数とは、カレントオブジェク
トを選択する確定操作が行われたかどうかを判定する関
数である。また、previous関数とは、現在注目している
カレントオブジェクトの前のカレントオブジェクトに選
択候補を戻すための操作が行われたかどうかを判定する
関数である。また、next関数とは、現在注目しているカ
レントオブジェクトの次のオブジェクトにカレントオブ
ジェクトを移すための操作が行われたかどうかを判定す
る関数である。また、highlight関数とは、カレントオ
ブジェクトを明示するために、ハイライト表示に切換え
る関数である。このhighlight関数はshowCurrent関数か
ら呼ばれて実行される。FIG. 33 is a diagram showing an example of an object configuration and various functions stored in the global memory area in this embodiment. Here, only the elements necessary for realizing the control method for facilitating the object selecting operation are illustrated, and the elements described in the above embodiment are not illustrated. The hardware configuration is based on the configuration shown in FIG. In FIG. 33, the global memory area 701 includes a select function, a showCurrent function, a determi
Areas 711 to 716 that respectively hold a ne function, a previous function, a next function, and a highlight function are provided.
Note that the select function referred to hereinafter is a select function of a function for supporting a selection operation. The showCurrent function is a function that defines the appearance (display mode) of an object of interest as a selection candidate (hereinafter, a current object). Further, the determine function is a function for determining whether or not a confirmation operation for selecting the current object has been performed. The previous function is a function for determining whether or not an operation for returning a selection candidate to the current object before the current object of interest is performed. The next function is a function for determining whether or not an operation for moving the current object to the object next to the current object of interest is performed. The highlight function is a function for switching to highlight display in order to specify the current object. This highlight function is called and executed from the showCurrent function.
【0085】図34は、オペレーティングシステム60
5aから起動されるイベントディスパッチャ605bの
処理を示すフローチャートである。まず、マウスイベン
トeが発生すると、図8で説明したのと同様にして、視
点Eとマウスカーソル位置P1とを結ぶ直線L1が透過
するオブジェクトを選択候補オブジェクト群を抽出する
(ステップ3401)。次に、見えているオブジェクトの
全てを半透明表示に切換える(ステップ3402)。こ
れにより、他のオブジェクトにより隠されていたオブジ
ェクトも全て明示される。次に、select関数を実行し、
選択候補オブジェクト群の中から最終的な選択オブジェ
クトを決定する(ステップ3403)。この決定の際に
は、showCurrent関数等によって目的とするオブジェク
トが選択しやすいようなユーザインタフェースが提供さ
れる。このことについては、後述する。次に、選択対象
のオブジェクトが決定されたならば、ステップ3402
で行った全ての選択候補オブジェクトの半透明表示を解
除して(ステップ3404)、終了する(ステップ340
5)。FIG. 34 shows the operating system 60.
It is a flowchart which shows the process of the event dispatcher 605b started from 5a. First, when the mouse event e occurs, an object through which a straight line L1 connecting the viewpoint E and the mouse cursor position P1 penetrates is extracted in the same manner as described with reference to FIG.
(Step 3401). Next, all visible objects are switched to translucent display (step 3402). Thereby, all objects hidden by other objects are also specified. Next, execute the select function,
A final selection object is determined from the selection candidate object group (step 3403). At the time of this determination, a user interface is provided such that a target object can be easily selected by a showCurrent function or the like. This will be described later. Next, if the object to be selected is determined, step 3402
The semi-transparent display of all the selection candidate objects performed in step 3 is canceled (step 3404), and the process ends (step 340).
5).
【0086】図35は、選択候補オブジェクト群を取得
する処理(ステップ3401)の詳細を示すフローチャ
ートである。まず、選択候補オブジェクト群保持領域7
07を空にする(ステップ3511)。そして、ステッ
プ3512と3516で形成される処理すなわち、画面
に表示されている全オブジェクトに対して直線L1が自
オブジェクトを透過するか否かの報告を求める。これ
は、各オブジェクトに対してrespondent関数の実行を指
示することによって行われる(ステップ3513)。イ
ベントディスパッチャ605bは、自オブジェクトに対
してrespondent関数を実行した各オブジェクトからの応
答をチェックし(ステップ3514)、true応答をした
オブジェクトを選択候補オブジェクト群保持領域707
に追加する(ステップ3515)。そして、最終的に選択
候補群保持領域707に保持された選択候補群のオブジ
ェクトを視点Eに最も近いものから並べ替えるソート処
理を行う(ステップ3517)。FIG. 35 is a flowchart showing the details of the process (step 3401) for acquiring a selection candidate object group. First, the selection candidate object group holding area 7
07 is emptied (step 3511). Then, the process formed in steps 3512 and 3516, that is, a report as to whether or not the straight line L1 penetrates the own object for all the objects displayed on the screen is requested. This is performed by instructing each object to execute the respondent function (step 3513). The event dispatcher 605b checks the response from each object that has executed the respondent function to its own object (step 3514), and selects the object that has given a true response to the selection candidate object group holding area 707.
(Step 3515). Then, finally, a sort process is performed to sort the objects of the selection candidate group held in the selection candidate group holding area 707 from those closest to the viewpoint E (step 3517).
【0087】図36は、select関数の処理手順を示すフ
ローチャートである。まず、変数pに最も手前の選択候
補オブジェクト名を代入する(ステップ3601)。次
に、カレントオブジェクトを明示するための関数showCu
rrent(p)を実行する(ステップ3602)。この関数sh
owCurrent(p)は、図37(a)に示すように、変数pを
引数として図37(b)に示すhighlight関数に処理を
渡す(ステップ3701)。highlight関数の処理で
は、変数pで与えられた選択候補オブジェクトのワイヤ
フレームをハイライト表示に切換えた後(ステップ37
02)、highlight関数に処理に戻るように定義されて
いる。ここで、ハイライト表示は、例えば、オブジェク
ト自身の色の補色でワイヤフレームを表示することによ
って他のオブジェクトと明瞭に区別可能なようにする。
したがって、最初の段階では選択候補オブジェクトとし
て抽出されたオブジェクトのうち最も手前の候補オブジ
ェクトがハイライト表示される。FIG. 36 is a flowchart showing the processing procedure of the select function. First, the foremost selection candidate object name is substituted for a variable p (step 3601). Next, the function showCu to specify the current object
Execute rrent (p) (step 3602). This function sh
As shown in FIG. 37A, owCurrent (p) passes the process to the highlight function shown in FIG. 37B using the variable p as an argument (step 3701). In the process of the highlight function, after the wire frame of the selection candidate object given by the variable p is switched to the highlight display (step 37).
02), it is defined to return to the highlight function. Here, for the highlight display, for example, a wire frame is displayed in a complementary color of the color of the object itself so that the object can be clearly distinguished from other objects.
Therefore, in the first stage, the foreground candidate object among the objects extracted as the selection candidate objects is highlighted.
【0088】次に、関数determineを実行し(ステップ
3603)、trueが返却されたかどうかを判定し(ステ
ップ3604)、trueが返却された場合、オブジェクト
pを選択オブジェクトとし、処理を終了する(ステップ
3605)。関数determineは、例えば、図38(a)
に示すように、入力キーがリターンキーであるかを判定
し(ステップ3801)、リターンキーであれば戻り値
としてtrueをコール元に返し、そうでない場合にはfals
eをコール元に返すように定義されている。したがっ
て、最も手前の候補オブジェクトがハイライト表示され
ている状態で、リターンキーが操作された場合には、最
も手前の候補オブジェクトが選択対象として決定され
る。リターンキーが操作されなかった場合、その後、関
数nextを実行する(ステップ3606)。Next, the function "determine" is executed (step 3603), and it is determined whether or not true is returned (step 3604). 3605). The function determine is, for example, as shown in FIG.
As shown in (3), it is determined whether the input key is a return key (step 3801). If the input key is a return key, true is returned to the caller as a return value.
e is defined to return to the caller. Therefore, when the return key is operated in a state where the foreground candidate object is highlighted, the foreground candidate object is determined to be selected. If the return key has not been operated, then the function next is executed (step 3606).
【0089】この関数nextは、例えば、図38(b)に
示すように、マウスボタンがクリックされたかを判定し
(ステップ3811)、クリックされたならば戻り値と
してtrueをコール元に返し(ステップ3812)、そう
でない場合にはfalseをコール元に返す(ステップ38
13)ように定義されている。select関数では、関数ne
xtの戻り値がtrueであるかどうかを判定し(ステップ3
607)、trueならば、選択候補オブジェクト群内に次
の候補オブジェクトyが存在するかどうかを判定し(ス
テップ3608)、存在するならば、変数pに次の候補
オブジェクトyのオブジェクト名を代入し(ステップ3
609)、関数showCurrent(p)を実行する(ステップ3
614)。したがって、最も手前の候補オブジェクトが
ハイライト表示されている状態で、マウスボタンがクリ
ック操作された場合には、最も手前の1つ奥側に存在す
る候補オブジェクトがハイライト表示される。For example, as shown in FIG. 38B, this function next determines whether the mouse button has been clicked (step 3811), and if so, returns true to the caller as a return value (step 3811). 3812) Otherwise, return false to the caller (step 38)
13). In the select function, the function ne
Determine whether the return value of xt is true (step 3
607) If true, it is determined whether or not the next candidate object y exists in the selected candidate object group (step 3608). If so, the object name of the next candidate object y is substituted for a variable p. (Step 3
609), execute the function showCurrent (p) (step 3)
614). Therefore, when the mouse button is clicked in a state where the foreground candidate object is highlighted, the nearest candidate object existing on the back side is highlighted.
【0090】一方、select関数では、関数nextの戻り値
がfalse であった場合には(ステップ3607)、関数
previousを実行する(ステップ3610)。この関数pr
eviousは、例えば、図38(c)に示すように、シフト
キーと同時にマウスボタンがクリックされたかを判定し
(ステップ3821)、同時操作ならば戻り値としてtr
ueをコール元に返し(ステップ3822)、そうでない
場合にはfalseをコール元に返す(ステップ3823)
ように定義されている。select関数では、関数previous
の戻り値がtrueであるかどうかを判定し(ステップ36
11、trueならば、選択候補オブジェクト群内に前の候
補オブジェクトz(前方に位置するオブジェクト)が存
在するかどうかを判定し(ステップ3612)、存在す
るならば、変数pに前候補オブジェクトzのオブジェク
ト名を代入し(ステップ3613)、関数showCurrent
(p)を実行する(ステップ3614)。したがって、視
点から見て例えば2番目に位置する候補オブジェクトが
ハイライト表示されている状態で、シフトキーとマウス
ボタンの同時操作が行われた場合には、最も手前の候補
オブジェクトがハイライト表示される。On the other hand, in the select function, if the return value of the function next is false (step 3607), the function
The previous is executed (step 3610). This function pr
For example, as shown in FIG. 38C, the evious determines whether the mouse button has been clicked at the same time as the shift key (step 3821).
Return ue to the caller (step 3822), otherwise return false to the caller (step 3823)
Is defined as In the select function, the function previous
It is determined whether the return value of is true (step 36).
11. If true, it is determined whether or not the previous candidate object z (the object located ahead) exists in the selected candidate object group (step 3612). The object name is substituted (step 3613), and the function showCurrent
(p) is executed (step 3614). Therefore, if the simultaneous operation of the shift key and the mouse button is performed in a state where, for example, the candidate object located second from the viewpoint is highlighted, the foreground candidate object is highlighted. .
【0091】図39は、選択候補オブジェクトが複数存
在する状態の例を示す図であり、同図(a)は3次元オ
ブジェクト、(b)は2次元オブジェクトのそれぞれ表
示例である。図39(a)の状態では、立方体オブジェ
クト3901の内部に円柱形オブジェクト3902が存
在し、さらにその内部に球形オブジェクト3903が存
在している例を示している。また、図39(b)の状態
では、外側の長方形オブジェクト3911の上に楕円形
オブジェクト3912が乗っており、さらにその上に内
側の長方形オブジェクト3913が乗っている状態を示
している。FIG. 39 is a diagram showing an example of a state in which a plurality of selection candidate objects are present. FIG. 39A shows a display example of a three-dimensional object, and FIG. 39B shows a display example of a two-dimensional object. FIG. 39A shows an example in which a cylindrical object 3902 exists inside a cubic object 3901, and a spherical object 3903 also exists inside it. FIG. 39B shows a state in which an elliptical object 3912 is mounted on the outer rectangular object 3911 and an inner rectangular object 3913 is further mounted thereon.
【0092】図40は、図39の各オブジェクトの奥行
き方向の位置関係を明らかにするために、各オブジェク
トを上方から見た状態を示す図である。このような例に
おいて、手前から見て2番目に位置する円柱形オブジェ
クト3902または楕円形オブジェクト3912を選択
したい場合、まず、図39(a)のP1または図39
(b)のP1で示す位置でマウスイベントeを発生させ
る。すると、図34の選択候補オブジェクトの取得処理
で図39(a)の各オブジェクト3901〜3903ま
たは3911〜3913が選択候補オブジェクトとして
取得される。次に、図34のステップ3402の処理で
選択候補オブジェクトの全てが半透明化される。これに
より、立方体オブジェクト3901が不透明であったと
しても、立方体オブジェクト3901の内部に隠蔽され
ていた円柱形オブジェクト3902が見えるようにな
る。さらに円柱形オブジェクト3902が不透明であっ
たとしても、円柱形オブジェクト3902の内部に隠蔽
されていた球形オブジェクト3903も見えるようにな
る。同様に、長方形オブジェクト3913が不透明であ
ったとしても、長方形オブジェクト3913の内部に隠
蔽されていた楕円形オブジェクト3912が見えるよう
になる。この時、最も手前に位置する立方体オブジェク
ト3901または長方形オブジェクト3913がカレン
トオブジェクトとしてハイライト表示される。FIG. 40 is a diagram showing the state of each object viewed from above in order to clarify the positional relationship in the depth direction of each object in FIG. In such an example, when it is desired to select the cylindrical object 3902 or the elliptical object 3912 located second from the front, first, P1 in FIG.
A mouse event e is generated at the position indicated by P1 in (b). Then, in the selection candidate object obtaining process in FIG. 34, each of the objects 3901 to 3903 or 3911 to 913 in FIG. 39A is obtained as a selection candidate object. Next, all of the selection candidate objects are made semi-transparent in the process of step 3402 in FIG. Thus, even if the cube object 3901 is opaque, the cylindrical object 3902 hidden inside the cube object 3901 becomes visible. Further, even if the cylindrical object 3902 is opaque, the spherical object 3903 hidden inside the cylindrical object 3902 becomes visible. Similarly, even if the rectangular object 3913 is opaque, the oval object 3912 hidden inside the rectangular object 3913 becomes visible. At this time, the foremost cubic object 3901 or rectangular object 3913 is highlighted as the current object.
【0093】この状態で、そこで、マウスボタンのクリ
ック操作を行うと、図36のステップ3606〜360
9,3614の処理により、図41に示すように、円柱
形オブジェクト3902または楕円形オブジェクト39
12がカレントオブジェクトとしてハイライト表示され
る。この状態で、さらにマウスボタンのクリック操作を
行うと、図36のステップ3606〜3609,361
4の処理により、球状オブジェクト3903または長方
形オブジェクト3911(最も下層のオブジェクト)が
カレントオブジェクトとしてハイライト表示される。In this state, when the mouse button is clicked, steps 3606 to 360 in FIG. 36 are performed.
9, 3614, as shown in FIG. 41, the cylindrical object 3902 or the elliptical object 39
12 is highlighted as the current object. In this state, when the mouse button is clicked further, steps 3606 to 3609 and 361 in FIG.
By the process of 4, the spherical object 3903 or the rectangular object 3911 (the lowest object) is highlighted as the current object.
【0094】最も奥側の球状オブジェクト3903また
は最も下層の長方形オブジェクト3911をハイライト
表示させている状態で、シフトキーとマウスクリック操
作を同時に行うと、図36のステップ3611〜361
4の処理により、カレントオブジェクトが円柱形オブジ
ェクト3902または楕円形オブジェクト3912とな
り、ハイライト表示される。この状態で、リターンキー
を操作すると、ステップ3604の処理により、円柱形
オブジェクト3902または楕円形オブジェクト391
2が選択対象のオブジェクトとして確定される。When the shift key and the mouse click operation are performed simultaneously while the innermost spherical object 3903 or the lowermost rectangular object 3911 is highlighted, steps 3611 to 361 in FIG. 36 are performed.
By the process of 4, the current object becomes the cylindrical object 3902 or the elliptical object 3912 and is highlighted. When the return key is operated in this state, the processing in step 3604 causes the columnar object 3902 or the oval object 391
2 is determined as an object to be selected.
【0095】選択対象のオブジェクトとして確定された
後は、図34のステップ3404の処理により、半透明
化されていた全てのオブジェクトはそれぞれ固有の透明
度による表示に戻る。After being determined as an object to be selected, all the objects which have been made semi-transparent are returned to the display with the inherent transparency by the processing of step 3404 in FIG.
【0096】図42は上記のようにして選択候補オブジ
ェクト群中のカレントオブジェクトを明示する場合のsh
owCurrent関数の他の定義例を示すフローチャートであ
る。ここでは、カレントオブジェクトを指定する変数p
が渡されると、マウスカーソル近辺にpの番号を表示す
る処理を行い(ステップ4201)、次にそのカレント
オブジェクトをハイライト表示し(ステップ420
2)、この後にコール元に戻る(ステップ4203)こ
とが定義されている。したがって、図39の例のオブジ
ェクトに対し、このように定義されたshowCurrent関数
を実行させた場合、カレントオブジェクトが円柱形オブ
ジェクト3902または楕円形オブジェクト3912と
なっていた状態では、図43(a),(b)に示すよう
に、マウスカーソル記号4301の近辺に手前から見て
2番目のオブジェクトがカレントオブジェクトであるこ
とを示す番号4302(この例では)が表示される。
これにより、奥行き方向の位置が不明の場合であって
も、奥行き方向の位置を明示することができる。FIG. 42 shows a case where the current object in the selection candidate object group is specified as described above.
11 is a flowchart illustrating another example of the definition of the owCurrent function. Here, a variable p that specifies the current object
Is passed, processing for displaying the number of p near the mouse cursor is performed (step 4201), and the current object is highlighted (step 420).
2) After that, it is defined to return to the caller (step 4203). Therefore, when the showCurrent function defined in this way is executed for the object in the example of FIG. 39, when the current object is the cylindrical object 3902 or the elliptical object 3912, the current As shown in (b), a number 4302 (in this example) indicating that the second object as viewed from the near side is the current object is displayed near the mouse cursor symbol 4301.
Thereby, even if the position in the depth direction is unknown, the position in the depth direction can be specified.
【0097】図44は選択候補オブジェクト群中のカレ
ントオブジェクトを明示する場合のshowCurrent関数の
他の定義例を示すフローチャートである。ここでは、カ
レントオブジェクトを指定する変数pが渡されると、マ
ウスカーソル近辺にpの形状を模式的に表示する処理を
行い(ステップ4401)、次にそのカレントオブジェ
クトをハイライト表示し(ステップ4402)、この後
にコール元に戻る(ステップ4403)ことが定義され
ている。したがって、図39の例のオブジェクトに対
し、このように定義されたshowCurrent関数を実行させ
た場合、カレントオブジェクトが円柱形オブジェクト3
902または楕円形オブジェクト3912となっていた
状態では、図45(a),(b)に示すように、マウス
カーソル記号4501の近辺に当該カレントオブジェク
トの形状4502が模式的に表示される。これにより、
全体的な形状が不明の場合であっても、カレントオブジ
ェクトがどのオブジェクトであるかの把握が容易とな
る。FIG. 44 is a flowchart showing another example of the definition of the showCurrent function when the current object in the group of selection candidate objects is specified. Here, when a variable p designating the current object is passed, a process of schematically displaying the shape of p near the mouse cursor is performed (step 4401), and the current object is highlighted (step 4402). After that, it is defined to return to the caller (step 4403). Therefore, when the showCurrent function defined in this way is executed for the object in the example of FIG.
In the state where the object 902 or the elliptical object 3912 is used, as shown in FIGS. 45A and 45B, the shape 4502 of the current object is displayed near the mouse cursor symbol 4501. This allows
Even when the overall shape is unknown, it is easy to grasp which object the current object is.
【0098】図46は選択候補オブジェクト群中のカレ
ントオブジェクトを明示する場合のshowCurrent関数の
他の定義例を示すフローチャートである。ここでは、カ
レントオブジェクトを指定する変数pが渡されると、マ
ウスカーソル近辺にpの色を模式的に表示する処理を行
い(ステップ4601)、次にそのカレントオブジェク
トをハイライト表示し(ステップ4602)、この後に
コール元に戻る(ステップ4603)ことが定義されて
いる。したがって、図39の例のオブジェクトに対し、
このように定義されたshowCurrent関数を実行させた場
合、カレントオブジェクトが円柱形オブジェクト390
2または楕円形オブジェクト3912となっていた状態
では、図47(a),(b)に示すように、マウスカー
ソル記号4701の近辺に当該カレントオブジェクトの
色4702が表示される。これにより、形状が小さすぎ
て色が不明の場合であっても、カレントオブジェクトが
どのオブジェクトであるかの把握が容易となる。FIG. 46 is a flowchart showing another example of the definition of the showCurrent function when the current object in the group of selection candidate objects is specified. Here, when a variable p designating the current object is passed, a process of schematically displaying the color of p near the mouse cursor is performed (step 4601), and the current object is highlighted (step 4602). After that, it is defined to return to the caller (step 4603). Therefore, for the object in the example of FIG.
When the showCurrent function defined in this way is executed, the current object becomes a cylindrical object 390.
In the state where the object is 2 or the elliptical object 3912, as shown in FIGS. 47A and 47B, the color 4702 of the current object is displayed near the mouse cursor symbol 4701. Thereby, even when the shape is too small and the color is unknown, it is easy to grasp which object the current object is.
【0099】図48は選択候補オブジェクト群中のカレ
ントオブジェクトを明示する場合のshowCurrent関数の
他の定義例を示すフローチャートである。ここでは、カ
レントオブジェクトを指定する変数pが渡されると、マ
ウスカーソルの形状そのものをpの形状に変化させる処
理を行い(ステップ4801)、次にそのカレントオブ
ジェクトをハイライト表示し(ステップ4802)、こ
の後にコール元に戻る(ステップ4803)ことが定義
されている。したがって、図39の例のオブジェクトに
対し、このように定義されたshowCurrent関数を実行さ
せた場合、カレントオブジェクトが円柱形オブジェクト
3902または楕円形オブジェクト3912となってい
た状態では、図49(a),(b)に示すように、マウ
スカーソル記号4901自体がカレントオブジェクトの
形状で表示される。これにより、カレントオブジェクト
がどのオブジェクトであるかの把握が容易となる。FIG. 48 is a flowchart showing another example of the definition of the showCurrent function when the current object in the group of selection candidate objects is specified. Here, when a variable p designating the current object is passed, a process of changing the shape of the mouse cursor itself to the shape of p is performed (step 4801), and the current object is highlighted (step 4802). After this, it is defined to return to the caller (step 4803). Therefore, when the showCurrent function defined in this way is executed for the object in the example of FIG. 39, in a state where the current object is the cylindrical object 3902 or the elliptical object 3912, the objects shown in FIGS. As shown in (b), the mouse cursor symbol 4901 itself is displayed in the shape of the current object. This makes it easy to grasp which object the current object is.
【0100】図50は選択候補オブジェクト群中のカレ
ントオブジェクトを明示する場合のshowCurrent関数の
他の定義例を示すフローチャートである。ここでは、カ
レントオブジェクトを指定する変数pが渡されると、マ
ウスカーソル自体の色をpの色に変化させ処理を行い
(ステップ5001)、次にそのカレントオブジェクト
をハイライト表示し(ステップ5002)、この後にコ
ール元に戻る(ステップ5003)ことが定義されてい
る。したがって、図39の例のオブジェクトに対し、こ
のように定義されたshowCurrent関数を実行させた場
合、カレントオブジェクトが円柱形オブジェクト390
2または楕円形オブジェクト3912となっていた状態
では、図51(a),(b)に示すように、マウスカー
ソル記号5101の色が当該カレントオブジェクトの色
で表示される。これにより、形状が小さすぎて色が不明
の場合であっても、カレントオブジェクトがどのオブジ
ェクトであるかの把握が容易となる。FIG. 50 is a flowchart showing another example of the definition of the showCurrent function when the current object in the group of selection candidate objects is specified. Here, when a variable p designating the current object is passed, the process changes the color of the mouse cursor itself to the color of p (step 5001), and then highlights the current object (step 5002). After this, it is defined to return to the caller (step 5003). Therefore, when the showCurrent function defined in this way is executed for the object in the example of FIG. 39, the current object becomes the cylindrical object 390.
In the state where the object is 2 or the elliptical object 3912, as shown in FIGS. 51A and 51B, the color of the mouse cursor symbol 5101 is displayed in the color of the current object. Thereby, even when the shape is too small and the color is unknown, it is easy to grasp which object the current object is.
【0101】図52は選択候補オブジェクト群中のカレ
ントオブジェクトを明示する場合のshowCurrent関数の
他の定義例を示すフローチャートである。ここでは、カ
レントオブジェクトを指定する変数pが渡されると、選
択候補オブジェクト群中におけるpに対応するカレント
オブジェクトより手前のオブジェクトを透明に変える処
理を行い(ステップ5201)、次にそのカレントオブ
ジェクトをハイライト表示し(ステップ5202)、こ
の後にコール元に戻る(ステップ5203)ことが定義
されている。したがって、図39の例のオブジェクトに
対し、このように定義されたshowCurrent関数を実行さ
せた場合、カレントオブジェクトが円柱形オブジェクト
3902または楕円形オブジェクト3912となってい
た状態では、図53(a),(b)に示すように、立方
体オブジェクト3901、長方形オブジェクト3913
が透明になって表示される。これにより、カレントオブ
ジェクトがさらに確認し易くなる。FIG. 52 is a flowchart showing another example of the definition of the showCurrent function in the case where the current object in the selection candidate object group is specified. Here, when a variable p designating the current object is passed, a process of changing the object in front of the current object corresponding to p in the selection candidate object group to transparent is performed (step 5201), and then the current object is set to high. It is defined that light display is performed (step 5202), and thereafter, the process returns to the caller (step 5203). Therefore, when the showCurrent function defined in this way is executed for the object in the example of FIG. 39, in the state where the current object is the cylindrical object 3902 or the elliptical object 3912, FIG. As shown in (b), a cubic object 3901 and a rectangular object 3913
Is displayed transparently. This makes it easier to confirm the current object.
【0102】図54は選択候補オブジェクト群中のカレ
ントオブジェクトを明示する場合のshowCurrent関数の
他の定義例を示すフローチャートである。ここでは、カ
レントオブジェクトを指定する変数pが渡されると、選
択候補オブジェクト群中におけるpに対応するカレント
オブジェクトより手前のオブジェクトをワイヤフレーム
表示に変える処理を行い(ステップ5401)、次にそ
のカレントオブジェクトをハイライト表示し(ステップ
5402)、この後にコール元に戻る(ステップ540
3)ことが定義されている。したがって、図39の例の
オブジェクトに対し、このように定義されたshowCurren
t関数を実行させた場合、カレントオブジェクトが円柱
形オブジェクト3902または楕円形オブジェクト39
12となっていた状態では、図55(a),(b)に示
すように、立方体オブジェクト3901、長方形オブジ
ェクト3913がワイヤフレーム形式で表示される。な
お、図55においては、ワイヤフレーム表示であること
を太実線で示している。これにより、カレントオブジェ
クトとその手前のオブジェクトがさらに確認し易くな
る。FIG. 54 is a flowchart showing another example of the definition of the showCurrent function when the current object in the group of selection candidate objects is specified. Here, when a variable p specifying the current object is passed, a process of changing an object in front of the current object corresponding to p in the selection candidate object group to a wire frame display is performed (step 5401), and then the current object Is highlighted (step 5402), and thereafter, the process returns to the caller (step 540).
3) is defined. Therefore, for the object in the example of FIG. 39, showCurren defined in this way
When the t function is executed, the current object becomes the cylindrical object 3902 or the elliptical object 39
In the state where it is 12, the cubic object 3901 and the rectangular object 3913 are displayed in a wire frame format as shown in FIGS. In FIG. 55, the fact that the display is a wire frame display is indicated by a bold solid line. This makes it easier to confirm the current object and the object in front of it.
【0103】図56は選択候補オブジェクト群中のカレ
ントオブジェクトを明示する場合のshowCurrent関数の
他の定義例を示すフローチャートである。ここでは、カ
レントオブジェクトを指定する変数pが渡されると、選
択候補オブジェクト群中におけるpに対応するカレント
オブジェクトを最も手前にあるかのように表示する処理
を行い(ステップ5601)、次にそのカレントオブジ
ェクトをハイライト表示し(ステップ5602)、この
後にコール元に戻る(ステップ5603)ことが定義さ
れている。したがって、図39の例のオブジェクトに対
し、このように定義されたshowCurrent関数を実行させ
た場合、カレントオブジェクトが円柱形オブジェクト3
902または楕円形オブジェクト3912となっていた
状態では、図57(a),(b)に示すように、円筒形
オブジェクト3903、楕円オブジェクト3912が太
実線で示すように最も手前にあるかのように表示され
る。この場合、最も手前にあるかのように表示するに
は、手前のオブジェクトによる当該オブジェクトのクリ
ッピング処理を省けばよい。これにより、カレントオブ
ジェクトがさらに確認し易くなる。FIG. 56 is a flowchart showing another example of the definition of the showCurrent function when the current object in the selection candidate object group is specified. Here, when a variable p designating the current object is passed, a process of displaying the current object corresponding to p in the selection candidate object group as if it is the foreground is performed (step 5601), and then the current It is defined that the object is highlighted (step 5602), and thereafter, the process returns to the caller (step 5603). Therefore, when the showCurrent function defined in this way is executed for the object in the example of FIG.
In the state in which the object 902 or the elliptical object 3912 is used, as shown in FIGS. Is displayed. In this case, clipping processing of the object by the object in front may be omitted in order to display the object as if it is the nearest object. This makes it easier to confirm the current object.
【0104】図59は選択候補オブジェクト群中のカレ
ントオブジェクトを明示する場合のshowCurrent関数の
他の定義例を示すフローチャートである。ここでは、カ
レントオブジェクトを指定する変数pが渡されると、図
58に示すように、選択候補オブジェクト群中における
pに対応するカレントオブジェクトの直前に視点Eを移
動させる処理を行い(ステップ5901)、次にそのカ
レントオブジェクトをハイライト表示し(ステップ59
02)、この後にコール元に戻る(ステップ5903)
ことが定義されている。したがって、図39の例のオブ
ジェクトに対し、このように定義されたshowCurrent関
数を実行させた場合、カレントオブジェクトが円柱形オ
ブジェクト3902または楕円形オブジェクト3912
となっていた状態では、図60(a),(b)に示すよ
うに、円筒形オブジェクト3903、楕円オブジェクト
3912の手前に存在した立方体オブジェクト3901
および長方形オブジェクト3912は視界から消えたよ
うに表示される。これにより、カレントオブジェクトを
さらに確認し易くなる。FIG. 59 is a flowchart showing another example of the definition of the showCurrent function when the current object in the group of selection candidate objects is specified. Here, when the variable p designating the current object is passed, as shown in FIG. 58, a process of moving the viewpoint E immediately before the current object corresponding to p in the selection candidate object group is performed (step 5901). Next, the current object is highlighted (step 59).
02), and then return to the caller (step 5903)
Is defined. Therefore, when the showCurrent function defined in this way is executed for the object in the example of FIG. 39, the current object becomes the cylindrical object 3902 or the elliptical object 3912.
In this state, as shown in FIGS. 60A and 60B, the cubic object 3901 existing before the cylindrical object 3903 and the ellipse object 3912
And the rectangular object 3912 are displayed as if they disappeared from view. This makes it easier to confirm the current object.
【0105】図61(a),(b),(c)はdetermin
e関数、next関数、previous関数の他の定義例を示すフ
ローチャートである。同図(a)のdetermine関数の処
理手順では、マウスボタンが離されたかどうかを判定し
(ステップ6101)、離されたならばtrueを返し(ス
テップ6102)、離されていなければfalseを返却す
る(ステップ6103)ことが定義されている。これに
より、マウスボタンを離した時点におけるカレントオブ
ジェクトを選択対象オブジェクトに決定することができ
る。FIGS. 61 (a), (b), and (c) are determinate.
15 is a flowchart illustrating another example of the definition of the e function, the next function, and the previous function. In the processing procedure of the determine function in FIG. 9A, it is determined whether or not the mouse button has been released (step 6101). If released, true is returned (step 6102), and if not, false is returned. (Step 6103) is defined. Thus, the current object at the time when the mouse button is released can be determined as the selection target object.
【0106】同図(b)のnext関数の処理手順では、マ
ウスボタンが押下されているかどうかを判定し(ステッ
プ6104)、押下されているならばtrueを返し(ステ
ップ6105)、押下されていなければfalseを返却す
る(ステップ6106)ことが定義されている。これに
より、マウスボタンを押下した時点におけるカレントオ
ブジェクトを次の候補オブジェクトに切換えることがで
きる。In the processing procedure of the next function in FIG. 13B, it is determined whether or not the mouse button is pressed (step 6104). If the mouse button is pressed, true is returned (step 6105). In this case, it is defined that false is returned (step 6106). As a result, the current object at the time when the mouse button is pressed can be switched to the next candidate object.
【0107】同図(c)のprevious関数の処理手順で
は、シフトキーと同時にマウスボタンが押下されたかど
うかを判定し(ステップ6107)、押下されているな
らばtrueを返し(ステップ6108)、押下されていな
ければfalseを返却する(ステップ6109)ことが定
義されている。これにより、マウスボタンを押下した時
点におけるカレントオブジェクトをその手前のオブジェ
クトに切換えることができる。In the processing procedure of the previous function shown in FIG. 13C, it is determined whether or not the mouse button has been pressed simultaneously with the shift key (step 6107). If not, it is defined to return false (step 6109). As a result, the current object at the time when the mouse button is pressed can be switched to the previous object.
【0108】図62(a),(b),(c)はdetermin
e関数、next関数、previous関数の他の定義例を示すフ
ローチャートである。同図(a)のdetermine関数の処
理手順では、マウスボタンがクリックされたかどうかを
判定し(ステップ6201)、クリックされたならばtr
ueを返し(ステップ6202)、クリックされなければ
falseを返却する(ステップ6203)ことが定義され
ている。これにより、マウスボタンをクリックたタイミ
ングのカレントオブジェクトを選択対象オブジェクトに
決定することができる。FIGS. 62 (a), (b), and (c) are determinate.
15 is a flowchart illustrating another example of the definition of the e function, the next function, and the previous function. In the processing procedure of the determine function shown in FIG. 9A, it is determined whether or not the mouse button has been clicked (step 6201).
Returns ue (step 6202), if not clicked
Returning false (step 6203) is defined. Thus, the current object at the timing when the mouse button is clicked can be determined as the selection target object.
【0109】同図(b)のnext関数の処理手順では、上
向き矢印キーが押下されたかどうかを判定し(ステップ
6204)、押下されたならばtrueを返し(ステップ6
205)、押下されなければfalseを返却する(ステッ
プ6206)ことが定義されている。これにより、上向
き矢印キーを押下したタイミングでカレントオブジェク
トを次の候補オブジェクトに切換えることができる。In the processing procedure of the next function shown in FIG. 13B, it is determined whether or not the up arrow key has been pressed (step 6204), and if so, true is returned (step 6).
205), it is defined that false is returned if the button is not pressed (step 6206). Thus, the current object can be switched to the next candidate object at the timing when the up arrow key is pressed.
【0110】同図(c)のprevious関数の処理手順で
は、下向き矢印キーが押下されたかどうかを判定し(ス
テップ6207)、押下されたならばtrueを返し(ステ
ップ6208)、押下されなければfalseを返却する
(ステップ6209)ことが定義されている。これによ
り、下向き矢印キーを押下したタイミングでカレントオ
ブジェクトをその手前のオブジェクトに切換えることが
できる。In the processing procedure of the previous function shown in FIG. 13C, it is determined whether or not the down arrow key has been pressed (step 6207), and if it has been pressed, true is returned (step 6208). (Step 6209) is defined. As a result, the current object can be switched to the previous object at the timing when the down arrow key is pressed.
【0111】なお、選択対象オブジェクトを決定する際
の契機となるキーあるいはマウス操作は、上記の例に限
定されるものではなく、ユーザの操作がさらにし易いキ
ーを採用することができる。また、ユーザ自身が独自の
キーを割当てるようにすることも可能である。Note that the key or mouse operation that triggers the determination of the selection target object is not limited to the above example, and a key that can be easily operated by the user can be adopted. It is also possible for the user to assign his own key.
【0112】[0112]
【発明の効果】以上説明したように、本発明によれば、
2次元または3次元オブジェクト自体に、自オブジェク
トが選択対象とされるか否かの被選択基準を保持させ、
ポインティング操作による選択操作イベントの発生時
に、この被選択基準に従って最終的に操作対象となるオ
ブジェクトを決定するようにしたため、オブジェクト側
が主導権を持って多様なユーザインタフェースを提供す
ることができ、建物の内部と外部とで各オブジェクトを
選択可能または選択できないようにするといった操作環
境を実現することができる。換言すれば、オブジェクト
対応に当該オブジェクトの選択属性を与えておき、当該
属性を変更することによって、イベントディスパッチャ
のプログラムロジックを変更しなくとも、当該オブジェ
クトに任意の選択属性を持たせることができる。また、
アプリケーション側では被選択基準で選択候補に挙がっ
たオブジェクトのうち例えば最も視点側に近いオブジェ
クトを選択するといった簡単なロジックを持たせるだけ
で済むという効果が得られる。さらに、選択候補オブジ
ェクト群の中から1つのオブジェクトを選択する際に、
選択候補オブジェクト自体の表示態様を変化させること
により、選択対象を容易に選択することができるように
なる。As described above, according to the present invention,
The two-dimensional or three-dimensional object itself holds a selection criterion as to whether or not the own object is to be selected,
When a selection operation event occurs due to a pointing operation, an object to be finally operated is determined in accordance with the selected criterion. An operation environment in which each object can be selected or cannot be selected inside and outside can be realized. In other words, by giving a selection attribute of the object corresponding to the object and changing the attribute, the object can have an arbitrary selection attribute without changing the program logic of the event dispatcher. Also,
On the application side, there is an effect that it is only necessary to provide a simple logic for selecting, for example, an object closest to the viewpoint side from objects selected as selection candidates on the basis of selection. Further, when selecting one object from the group of selection candidate objects,
By changing the display mode of the selection candidate object itself, the selection target can be easily selected.
【図1】本発明に係る3次元オブジェクトの生成手順を
示す概略フロー図である。FIG. 1 is a schematic flowchart showing a procedure for generating a three-dimensional object according to the present invention.
【図2】ローカル座標系、ワールド座標系、投影面座標
系の説明図である。FIG. 2 is an explanatory diagram of a local coordinate system, a world coordinate system, and a projection plane coordinate system.
【図3】3次元オブジェクトを表示装置画面に表示する
際に設定する投影面と後平面の位置D1,D2の説明図
である。FIG. 3 is an explanatory diagram of positions D1 and D2 of a projection plane and a rear plane set when displaying a three-dimensional object on a display device screen.
【図4】被選択基準の説明図である。FIG. 4 is an explanatory diagram of a selection criterion.
【図5】本発明における3次元オブジェクトに設定され
る関数の例を示す図である。FIG. 5 is a diagram illustrating an example of a function set for a three-dimensional object according to the present invention.
【図6】本発明に係る3次元オブジェクトの選択制御方
法を実現するシステムの一実施形態を示す全体構成図で
ある。FIG. 6 is an overall configuration diagram showing an embodiment of a system for realizing a three-dimensional object selection control method according to the present invention.
【図7】本発明で用いられるアプリケーション例におけ
る3次元オブジェクトの概念図である。FIG. 7 is a conceptual diagram of a three-dimensional object in an application example used in the present invention.
【図8】オペレーティングシステムから起動されるディ
スパッチャプログラムの処理を示すフローチャートであ
る。FIG. 8 is a flowchart showing processing of a dispatcher program started from the operating system.
【図9】図8におけるステップ801の選択候補群取得
関数を実行する処理の詳細を示すフローチャートであ
る。FIG. 9 is a flowchart illustrating details of processing for executing a selection candidate group acquisition function in step 801 in FIG. 8;
【図10】本発明のオブジェクト選択制御方法を説明す
るための3次元オブジェクトの配置例を示す説明図であ
る。FIG. 10 is an explanatory diagram showing an example of arrangement of three-dimensional objects for explaining the object selection control method of the present invention.
【図11】図10の各オブジェクトに保持されたrespon
dent関数の例とその実行結果の例を示す説明図である。FIG. 11 shows a response held in each object in FIG.
FIG. 4 is an explanatory diagram illustrating an example of a dent function and an example of an execution result thereof.
【図12】図10の各オブジェクトの最上位クラスのオ
ブジェクトに保持されたrespondent関数、preselect関
数、select関数の定義例を示すフローチャートである。12 is a flowchart illustrating an example of definition of a respondent function, a preselect function, and a select function held in an object of a top class of each object in FIG. 10;
【図13】各オブジェクトに関数が定義されている場合
と定義されていない場合に実行される処理の関係を示す
説明図である。FIG. 13 is an explanatory diagram illustrating a relationship between processing performed when a function is defined for each object and when the function is not defined.
【図14】透明または半透明オブジェクトを選択させな
い場合のオブジェクトの配置例を示す説明図である。FIG. 14 is an explanatory diagram illustrating an example of an arrangement of objects when a transparent or translucent object is not selected.
【図15】透明または半透明オブジェクトを選択させな
い場合のselect関数の定義例を示す説明図である。FIG. 15 is an explanatory diagram showing a definition example of a select function when a transparent or translucent object is not selected.
【図16】最上位クラスのselect関数、respondent関
数、preselect関数の定義例を示すフローチャートであ
る。FIG. 16 is a flowchart illustrating a definition example of a select function, a response function, and a preselect function of the top class.
【図17】自オブジェクトより後方のオブジェクトが選
択させないブロックオブジェクトにおけるselect関数、
preselect関数の定義例を示すフローチャートである。FIG. 17 shows a select function in a block object in which objects behind the own object are not selected;
9 is a flowchart illustrating a definition example of a preselect function.
【図18】選択候補オブジェクト群中でマウスイベント
発生位置に最も近いオブジェクトを選択する際のselect
関数の定義例を示すフローチャートである。FIG. 18 is a diagram illustrating a select in selecting an object closest to the mouse event occurrence position in a selection candidate object group.
6 is a flowchart illustrating a definition example of a function.
【図19】選択候補オブジェクト群中でマウスイベント
発生位置に最も近いオブジェクトを選択するselect関数
の適用例を示す説明図である。FIG. 19 is an explanatory diagram showing an application example of a select function for selecting an object closest to a mouse event occurrence position in a selection candidate object group.
【図20】オブジェクトが包含関係にある場合のオブジ
ェクトの配置例を示す図である。FIG. 20 is a diagram illustrating an example of an arrangement of objects when the objects have an inclusion relationship.
【図21】視点とイベント発生位置とを結ぶ直線がオブ
ジェクトの領域と交わらなくても、respondent関数で再
定義された反応領域と交わる場合は選択候補オブジェク
トとして抽出する例を示す説明図である。FIG. 21 is an explanatory diagram showing an example of extracting a selection candidate object when a straight line connecting a viewpoint and an event occurrence position does not intersect an object region, but intersects a reaction region redefined by a response function.
【図22】自オブジェクトの大きさよりも拡大した領域
を反応領域して定義するrespondent関数の定義例を示す
フローチャートである。FIG. 22 is a flowchart illustrating a definition example of a respondent function that defines a region that is larger than the size of its own object as a reaction region.
【図23】自オブジェクトの大きさよりも小さい領域を
反応領域として定義するrespondent関数の定義例を示す
フローチャートである。FIG. 23 is a flowchart illustrating a definition example of a respondent function that defines a region smaller than the size of its own object as a reaction region.
【図24】3次元オブジェクトに選択可能フラグを付加
し、この選択可能フラグがonになっているか、off
になっているかどうかで選択候補オブジェクトとするか
を決める場合のオブジェクトの配置例を示す説明図であ
る。FIG. 24 adds a selectable flag to the three-dimensional object, and checks whether the selectable flag is on or off.
FIG. 11 is an explanatory diagram showing an example of the arrangement of objects in a case where it is determined whether or not to be a selection candidate object based on whether or not the object is selected.
【図25】3次元オブジェクトに選択可能フラグを付加
し、この選択可能フラグがonになっているか、off
になっているかどうかで選択候補オブジェクトとするか
を決める場合のrespondent関数の定義例を示すフローチ
ャートである。FIG. 25 adds a selectable flag to the three-dimensional object, and checks whether the selectable flag is on or off.
11 is a flowchart illustrating a definition example of a respondent function in a case where a selection candidate object is determined based on whether or not the response function is set.
【図26】イベント発生位置を通る直線と交点を持つオ
ブジェクト群のうち全ての選択候補オブジェクト群を最
終的な選択オブジェクト群とする場合のオブジェクトの
例を示す図である。FIG. 26 is a diagram illustrating an example of an object in a case where all the selection candidate objects among a group of objects having a straight line and an intersection with an event occurrence position are set as a final selection object group.
【図27】選択候補オブジェクト群の中で不透明オブジ
ェクトのみを選択する例を示す図である。FIG. 27 is a diagram illustrating an example in which only an opaque object is selected from a selection candidate object group.
【図28】複数のオブジェクトを選択する場合のイベン
トディスパッチャの処理を示すフローチャートである。FIG. 28 is a flowchart showing a process of the event dispatcher when selecting a plurality of objects.
【図29】複数のオブジェクトをイベントディスパッチ
ャに返却する場合のrespondent関数およびpreselect関
数の定義例を示すフローチャートである。FIG. 29 is a flowchart illustrating a definition example of a respondent function and a preselect function when returning a plurality of objects to an event dispatcher.
【図30】複数のオブジェクトをイベントディスパッチ
ャに返却する場合のselect関数の定義例を示すフローチ
ャートである。FIG. 30 is a flowchart illustrating a definition example of a select function when a plurality of objects are returned to an event dispatcher.
【図31】複数のオブジェクトをイベントディスパッチ
ャに返却する場合のデフォルトのselect関数の他の定義
例を示すフローチャートである。FIG. 31 is a flowchart illustrating another definition example of a default select function when a plurality of objects are returned to the event dispatcher.
【図32】本発明の第2の実施形態において、複数のオ
ブジェクトのうち目的とするオブジェクトを選択する際
に必要となる操作の例を説明するための図である。FIG. 32 is a diagram for describing an example of an operation required when selecting a target object from a plurality of objects in the second embodiment of the present invention.
【図33】本発明の第2の実施形態においてグローバル
メモリ領域に保持される各種のデフォルト関数の例を示
す図である。FIG. 33 is a diagram illustrating an example of various default functions held in a global memory area in the second embodiment of the present invention.
【図34】本発明の第2の実施形態におけるイベントデ
ィスパッチャの処理を示すフローチャートである。FIG. 34 is a flowchart showing processing of an event dispatcher according to the second embodiment of the present invention.
【図35】図34におけるステップ3401の詳細を示
すフローチャートである。FIG. 35 is a flowchart showing details of step 3401 in FIG. 34.
【図36】select関数の定義例を示すフローチャートで
ある。FIG. 36 is a flowchart illustrating a definition example of a select function.
【図37】本発明の第2の実施形態におけるshowCurren
t関数およびhighlight関数の定義例を示すフローチャー
トである。FIG. 37 shows showCurren in the second embodiment of the present invention.
5 is a flowchart illustrating a definition example of a t function and a highlight function.
【図38】本発明の第2の実施形態におけるdetermine
関数、next関数、previous関数の定義例を示すフローチ
ャートである。FIG. 38 shows a result of the determination according to the second embodiment of the present invention.
6 is a flowchart illustrating a definition example of a function, a next function, and a previous function.
【図39】本発明の第2の実施形態において選択候補オ
ブジェクトが複数存在する状態の例を示す図である。FIG. 39 is a diagram illustrating an example of a state where a plurality of selection candidate objects exist in the second embodiment of the present invention.
【図40】図39の各オブジェクトの奥行き方向の位置
関係を明らかにするために、各オブジェクトを上方から
見た状態を示す図である。40 is a diagram showing a state where each object is viewed from above in order to clarify the positional relationship in the depth direction of each object in FIG. 39.
【図41】マウスボタンのクリック操作により手前から
2番目のオブジェクトがハイライト表示される例を示す
図である。FIG. 41 is a diagram illustrating an example in which a second object from the front is highlighted by a click operation of a mouse button.
【図42】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 42 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図43】図42のshowCurrent関数の定義を適用した
場合に選択候補オブジェクトの番号が表示される例を示
す図である。FIG. 43 is a diagram illustrating an example in which the number of a selection candidate object is displayed when the definition of the showCurrent function in FIG. 42 is applied;
【図44】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 44 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図45】図44のshowCurrent関数の定義を適用した
場合にマウスカーソル近辺に選択候補オブジェクトの形
状を表示する例を示す図である。FIG. 45 is a diagram illustrating an example in which the shape of a selection candidate object is displayed near the mouse cursor when the definition of the showCurrent function in FIG. 44 is applied.
【図46】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 46 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図47】図46のshowCurrent関数の定義を適用した
場合にマウスカーソル近辺に選択候補オブジェクトの色
を表示する例を示す図である。47 is a diagram illustrating an example in which the color of a selection candidate object is displayed near the mouse cursor when the definition of the showCurrent function in FIG. 46 is applied.
【図48】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 48 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図49】図48のshowCurrent関数の定義を適用した
場合にマウスカーソル記号が選択候補オブジェクトの形
状で表示される例を示す図である。FIG. 49 is a diagram illustrating an example in which a mouse cursor symbol is displayed in the shape of a selection candidate object when the definition of the showCurrent function in FIG. 48 is applied.
【図50】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 50 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図51】図50のshowCurrent関数の定義を適用した
場合にマウスカーソル記号が選択候補オブジェクトの色
で表示される例を示す図である。FIG. 51 is a diagram illustrating an example in which a mouse cursor symbol is displayed in the color of a selection candidate object when the definition of the showCurrent function in FIG. 50 is applied.
【図52】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 52 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図53】図52のshowCurrent関数の定義を適用した
場合に選択候補オブジェクトの手前のオブジェクトが透
明表示される例を示す図である。FIG. 53 is a diagram illustrating an example in which an object in front of a selection candidate object is transparently displayed when the definition of the showCurrent function in FIG. 52 is applied.
【図54】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 54 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図55】図54のshowCurrent関数の定義を適用した
場合に選択候補オブジェクトの手前のオブジェクトがワ
イヤフレーム表示される例を示す図である。FIG. 55 is a diagram illustrating an example in which the object in front of the selection candidate object is displayed in a wire frame when the definition of the showCurrent function in FIG. 54 is applied.
【図56】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 56 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図57】図56のshowCurrent関数の定義を適用した
場合に選択候補オブジェクトを最も手前に表示する例を
示す図である。57 is a diagram illustrating an example in which a selection candidate object is displayed on the foreground when the definition of the showCurrent function in FIG. 56 is applied.
【図58】視点をカレントオブジェクトの直前に移すこ
とを示す説明図である。FIG. 58 is an explanatory diagram showing that the viewpoint is shifted immediately before the current object.
【図59】本発明の第2の実施形態においてshowCurren
t関数の他の定義例を示すフローチャートである。FIG. 59 shows showCurren in the second embodiment of the present invention.
11 is a flowchart illustrating another example of the definition of the t function.
【図60】図59のshowCurrent関数の定義を適用した
場合に選択候補オブジェクトを最も手前に表示する例を
示す図である。60 is a diagram illustrating an example in which a selection candidate object is displayed on the foreground when the definition of the showCurrent function in FIG. 59 is applied.
【図61】determine関数、next関数、previous関数の
他の定義例を示すフローチャートである。FIG. 61 is a flowchart showing another definition example of the determine function, the next function, and the previous function.
【図62】determine関数、next関数、previous関数の
他の定義例を示すフローチャートである。FIG. 62 is a flowchart illustrating another definition example of the determine function, the next function, and the previous function.
10…3次元オブジェクト、11…共通の属性項目、1
3…被選択基準、14…データ部、600…計算機、6
01…キーボード、602…ディスプレイ、603…C
PU、604…マウス、605…プログラムメモリ、6
06…データメモリ、605a…オペレーティングシス
テム、605b…イベントディスパッチャ、605c…
3次元オブジェクト(1)プログラム、605d…3次
元オブジェクト(2)プログラム、605e…3次元オ
ブジェクト(n)プログラム、606a…3次元オブジ
ェクト(1)、606b…3次元オブジェクト(2)、
606c…3次元オブジェクト(n)、701…グロー
バルメモリ領域、707…選択候補群保持領域。10: three-dimensional object, 11: common attribute item, 1
3: Selected criteria, 14: Data part, 600: Computer, 6
01 ... keyboard, 602 ... display, 603 ... C
PU, 604: mouse, 605: program memory, 6
06 Data memory 605a Operating system 605b Event dispatcher 605c
Three-dimensional object (1) program, 605d three-dimensional object (2) program, 605e three-dimensional object (n) program, 606a three-dimensional object (1), 606b three-dimensional object (2),
606c: three-dimensional object (n), 701: global memory area, 707: selection candidate group holding area.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 若林 泰 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会 社内 (72)発明者 堀井 克敏 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会 社内 (72)発明者 戸塚 裕介 神奈川県横浜市中区尾上町6丁目90番地 日立ビジネスソリューション株式会社内 Fターム(参考) 5B050 EA11 5E501 AA01 AC10 BA05 CA02 CB02 DA12 EB05 EB06 FA14 FA27 FB29 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Yasushi Wakabayashi 6-81-Ouecho, Naka-ku, Yokohama-shi, Kanagawa Prefecture In-house Hitachi Software Engineering Co., Ltd. 81 Hitachi Software Engineering Co., Ltd. In-house (72) Inventor Yusuke Totsuka 6-90 Onoe-cho, Naka-ku, Yokohama-shi, Kanagawa Prefecture F-term within Hitachi Business Solutions Co., Ltd. 5B050 EA11 5E501 AA01 AC10 BA05 CA02 CB02 DA12 EB05 EB06 FA14 FA27 FB29
Claims (34)
元のオブジェクトを生成する方法であって、 任意の形状を有する複数のオブジェクトを生成した後、
表示装置に表示された状態における選択操作イベントに
対し各オブジェクトを操作対象に含めるかを決める被選
択基準をオブジェクト毎に個別にまたはまとめて設定し
保持させるステップを備えることを特徴とするオブジェ
クトの生成方法。1. A method for generating a two-dimensional or three-dimensional object to be displayed on a display device, comprising: generating a plurality of objects having an arbitrary shape;
A step of setting and holding individually or collectively a selection criterion for determining whether each object is included in an operation target for a selection operation event in a state displayed on the display device, and generating the object. Method.
に関連する他のオブジェクトを操作対象にするかを決め
る被選択基準を有することを特徴とする請求項1に記載
のオブジェクトの生成方法。2. The object generation method according to claim 1, further comprising a selection criterion for determining whether another object related to each object is to be operated as the selection criterion.
または他オブジェクトが優先して操作対象として選択さ
れるように決定する被選択基準を有することを特徴とす
る請求項1または2に記載のオブジェクトの生成方法。3. The object according to claim 1, wherein the selection criterion includes a selection criterion for determining that the own object or another object is preferentially selected as an operation target. Generation method.
トに対し反応するか否かを決める反応可否基準を有する
ことを特徴とする請求項1〜3のいずれか一項に記載の
オブジェクトの生成方法。4. The object generating method according to claim 1, wherein a criterion for determining whether or not to react to a selection operation event is provided as the criterion to be selected. .
させることを特徴とする請求項1〜4のいずれか一項に
記載のオブジェクトの生成方法。5. The method according to claim 1, wherein the selection criterion is set and held as a function.
元のオブジェクトを生成する方法であって、 任意の形状を有する複数のオブジェクトを生成した後、
表示装置に表示された状態における選択操作イベントに
対し各オブジェクトを操作対象に含めるかを決める被選
択権決定処理をオブジェクト毎に個別にまたはまとめて
設定し保持させるステップを備えることを特徴とするオ
ブジェクトの生成方法。6. A method for generating a two-dimensional or three-dimensional object to be displayed on a display device, comprising: generating a plurality of objects having an arbitrary shape;
An object comprising a step of setting and holding a selection right determination process for determining whether to include each object in an operation target for a selection operation event in a state displayed on a display device individually or collectively for each object. Generation method.
保持した複数の2次元または3次元のオブジェクトを表
示装置に表示させ、その表示されたオブジェクトへの選
択操作イベントに対しいずれのオブジェクトを選択する
かを制御するオブジェクトの選択制御方法であって、 表示画面上における選択操作イベントを、予め設定され
た規則によって当該選択操作イベントの位置に応じて決
定された選択候補オブジェクト群内に存在する全てのオ
ブジェクトに伝達するステップと、 伝達したオブジェクトからの応答を受け、その応答内容
のうち予め設定した選択条件を満たす1つまたは複数の
オブジェクトを操作対象として選択するステップとを備
えることを特徴とするオブジェクトの選択制御方法。7. A plurality of two-dimensional or three-dimensional objects holding selection criteria for a selection operation event are displayed on a display device, and which object is selected in response to a selection operation event for the displayed object. A selection control method for an object that controls a selection operation event on a display screen, wherein all objects existing in a selection candidate object group determined according to a position of the selection operation event according to a preset rule Transmitting a response from the transmitted object, and selecting, as an operation target, one or a plurality of objects satisfying a predetermined selection condition among the contents of the response. Selection control method.
最も視点側に位置するオブジェクトを選択する条件が設
定されていることを特徴とする請求項7に記載のオブジ
ェクトの選択制御方法。8. The object selection control method according to claim 7, wherein a condition for selecting an object whose display color is opaque and located closest to the viewpoint is set as the selection condition.
最も視点側に位置するオブジェクトを選択する条件が設
定されていることを特徴とする請求項7に記載のオブジ
ェクトの選択制御方法。9. The object selection control method according to claim 7, wherein a condition for selecting an object located closest to the viewpoint regardless of a display color is set as the selection condition.
トに対する反応可否基準として反応可が設定されている
オブジェクトのうち最も視点側に位置するオブジェクト
を選択する条件が設定されていることを特徴とする請求
項7に記載のオブジェクトの選択制御方法。10. A condition for selecting an object located closest to the viewpoint from among objects for which a response is set as a response criterion for a selection operation event is set as the selection condition. Item 7. The object selection control method according to Item 7.
次元のオブジェクトのデータ構造であって、 任意の形状を規定する第1のデータ部と、表示装置に表
示された状態における選択操作イベントに対し各オブジ
ェクトを操作対象に含めるかを決める被選択基準の第2
のデータ部を保持することを特徴とするオブジェクトの
データ構造。11. A two-dimensional or three-dimensional image to be displayed on a display device.
A first data part that defines an arbitrary shape; and a selection criterion that determines whether each object is included in an operation target in response to a selection operation event in a state displayed on a display device. Second
A data structure of an object, wherein the data structure of the object is held.
することを特徴とする請求項11に記載のオブジェクト
のデータ構造。12. The data structure of an object according to claim 11, wherein the second data part is held as a function.
させ、その表示されたオブジェクトへの選択操作イベン
トに対しいずれのオブジェクトを選択するかを制御する
オブジェクトの選択制御方法であって、画面上に表示さ
れたオブジェクトのうち、特定のひとつまたは複数を着
目オブジェクトとして認識する手段と、 特定の契機によって、前記着目オブジェクトを他のオブ
ジェクトに切替る手段と、 特定の告知態様によって、着目オブジェクトがいずれの
オブジェクトであるかをユーザに告知する手段と、 特定の契機によって、その時点での着目オブジェクトを
選択オブジェクトとして確定する手段とを備えることを
特徴とするオブジェクトの選択制御方法。13. An object selection control method for displaying a plurality of objects on a display device and controlling which object is selected in response to a selection operation event for the displayed object, comprising: Means for recognizing one or more specific objects as objects of interest, means for switching the object of interest to another object by a specific trigger, A means for notifying a user of whether or not the object of interest is selected, and a means for determining the object of interest at that time as a selected object at a specific opportunity.
して、ユーザの特定操作を契機とすることを特徴とする
請求項13に記載のオブジェクトの選択制御方法。14. The object selection control method according to claim 13, wherein a user's specific operation is used as a trigger for switching the focused object.
して、マウスクリック操作を契機とすることを特徴とす
る請求項13に記載のオブジェクトの選択制御方法。15. The object selection control method according to claim 13, wherein a mouse click operation is a trigger for switching the target object.
して、特定キーの押下を契機とすることを特徴とする請
求項13に記載のオブジェクトの選択制御方法。16. The object selection control method according to claim 13, wherein the switching of the target object is triggered by pressing a specific key.
して、一定周期の時間経過を契機とすることを特徴とす
る請求項13に記載のオブジェクトの選択制御方法。17. The object selection control method according to claim 13, wherein the switching of the focused object is triggered by a lapse of a predetermined period of time.
して、マウス押下操作を継続した状態における一定周期
の時間経過を契機とすることを特徴とする請求項13に
記載のオブジェクトの選択制御方法。18. The object selection control method according to claim 13, wherein the switching of the focused object is triggered by a lapse of a fixed period of time in a state where a mouse pressing operation is continued.
て、ユーザの特定操作を契機とすることを特徴とする請
求項13に記載のオブジェクトの選択制御方法。19. The object selection control method according to claim 13, wherein a user's specific operation is used as an opportunity to determine the selected object.
て、マウスクリック操作を契機とすることを特徴とする
請求項13に記載のオブジェクトの選択制御方法。20. The object selection control method according to claim 13, wherein a mouse click operation is used as an opportunity to determine the selected object.
て、特定キーの押下を契機とすることを特徴とする請求
項13に記載のオブジェクトの選択制御方法。21. The object selection control method according to claim 13, wherein the selection object is determined by pressing a specific key.
て、一定周期の時間経過を契機とすることを特徴とする
請求項13に記載のオブジェクトの選択制御方法。22. The object selection control method according to claim 13, wherein the predetermined object is determined by activating a predetermined period of time.
て、マウス押下操作を継続した状態における一定周期の
時間経過を契機とすることを特徴とする請求項13に記
載のオブジェクトの選択制御方法。23. The object selection control method according to claim 13, wherein the selection object determination is triggered by elapse of a certain period of time in a state where a mouse pressing operation is continued.
て、着目オブジェクトをハイライト表示することを特徴
とする請求項13に記載のオブジェクトの選択制御方
法。24. The object selection control method according to claim 13, wherein the object of interest is highlighted as a notification mode of the object of interest.
て、着目オブジェクトが視点側から何番目のオブジェク
トであるかを表す番号をマウスカーソル付近に表示する
こと特徴とする請求項13に記載のオブジェクトの選択
制御方法。25. The object selection control according to claim 13, wherein, as the notice mode of the target object, a number indicating the number of the target object from the viewpoint is displayed near a mouse cursor. Method.
て、着目オブジェクトの形状をマウスカーソル付近に表
示することを特徴とする請求項13に記載のオブジェク
トの選択制御方法。26. The object selection control method according to claim 13, wherein a shape of the object of interest is displayed near a mouse cursor as the notification mode of the object of interest.
て、着目オブジェクトの色をマウスカーソル付近に表示
することを特徴とする請求項13に記載のオブジェクト
の選択制御方法。27. The object selection control method according to claim 13, wherein a color of the object of interest is displayed near a mouse cursor as the notification mode of the object of interest.
て、マウスカーソルを、着目オブジェクトの形状に変化
させることを特徴とする請求項13に記載のオブジェク
トの選択制御方法。28. The object selection control method according to claim 13, wherein a mouse cursor is changed to a shape of the object of interest as a notice mode of the object of interest.
て、マウスカーソルの色を着目オブジェクトの色に変化
させることを特徴とする請求項13に記載のオブジェク
トの選択制御方法。29. The object selection control method according to claim 13, wherein a color of a mouse cursor is changed to a color of the object of interest as a notice mode of the object of interest.
て、着目オブジェクトの視点側にあるオブジェクトを透
明に変化させ、かつ着目オブジェクトをハイライト表示
することを特徴とする請求項13に記載のオブジェクト
の選択制御方法。30. The object selection control according to claim 13, wherein, as the notice mode of the target object, an object on the viewpoint side of the target object is changed to be transparent, and the target object is highlighted. Method.
て、着目オブジェクトの視点側にあるオブジェクトをワ
イヤフレーム表示に変化させ、かつ着目オブジェクトを
ハイライト表示することを特徴とする請求項13に記載
のオブジェクトの選択制御方法。31. The object according to claim 13, wherein, as the notification mode of the target object, an object on the viewpoint side of the target object is changed to a wire frame display, and the target object is highlighted. Selection control method.
て、着目オブジェクトをハイライト表示させ、かつ他の
オブジェクトからクリッピングされることなく画面に表
示することを特徴とする請求項13に記載のオブジェク
トの選択制御方法。32. The object selection control according to claim 13, wherein, as the notice mode of the target object, the target object is highlighted and displayed on the screen without clipping from another object. Method.
て、着目オブジェクトの直前位置に視点を移動させた状
態のオブジェクトを表示することを特徴とする請求項1
3に記載のオブジェクトの選択制御方法。33. An object in which a viewpoint is moved to a position immediately before the object of interest as a notice mode of the object of interest.
3. The method for controlling selection of an object according to item 3.
クトの全体または一部を半透明で表示することを特徴と
する請求項13に記載のオブジェクトの選択制御方法。34. The object selection control method according to claim 13, wherein the whole or a part of the object is displayed translucently before the decision trigger.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001172416A JP2002366973A (en) | 2001-06-07 | 2001-06-07 | Method for generating object, method for selecting and controlling generated object and object data structure |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001172416A JP2002366973A (en) | 2001-06-07 | 2001-06-07 | Method for generating object, method for selecting and controlling generated object and object data structure |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002366973A true JP2002366973A (en) | 2002-12-20 |
| JP2002366973A5 JP2002366973A5 (en) | 2005-04-07 |
Family
ID=19014037
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001172416A Pending JP2002366973A (en) | 2001-06-07 | 2001-06-07 | Method for generating object, method for selecting and controlling generated object and object data structure |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002366973A (en) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008077203A (en) * | 2006-09-19 | 2008-04-03 | Canon Software Inc | Information processor and method for controlling information processor and program and recording medium |
| KR100818920B1 (en) | 2006-02-10 | 2008-04-04 | 삼성전자주식회사 | Apparatus and method for controlling key events generated when processing graphical objects |
| JP2009078157A (en) * | 2008-11-04 | 2009-04-16 | Nintendo Co Ltd | Input processing program and input processing apparatus |
| JP2010198433A (en) * | 2009-02-26 | 2010-09-09 | Internatl Business Mach Corp <Ibm> | Method, device, and program for facilitating object selection |
| JP2011200720A (en) * | 2011-07-14 | 2011-10-13 | Nintendo Co Ltd | Game program and game device |
| US8120574B2 (en) | 2005-03-10 | 2012-02-21 | Nintendo Co., Ltd. | Storage medium storing game program and game apparatus |
| JP2012238310A (en) * | 2011-05-11 | 2012-12-06 | Dassault Systemes | Selection of manipulator of object among plurality of manipulators |
| JP2014079634A (en) * | 2013-12-10 | 2014-05-08 | Nintendo Co Ltd | Game program and game device |
| JP2015515075A (en) * | 2012-04-25 | 2015-05-21 | ノキア コーポレイション | 3D graphic user interface |
| JP2019159615A (en) * | 2018-03-09 | 2019-09-19 | 株式会社コナミデジタルエンタテインメント | Display system, display control device, and program |
| JP2019159614A (en) * | 2018-03-09 | 2019-09-19 | 株式会社コナミデジタルエンタテインメント | Display system, display control apparatus, and program |
| JP2019207574A (en) * | 2018-05-29 | 2019-12-05 | 富士ゼロックス株式会社 | Information processing device, information processing system, and program |
-
2001
- 2001-06-07 JP JP2001172416A patent/JP2002366973A/en active Pending
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8836639B2 (en) | 2005-03-10 | 2014-09-16 | Nintendo Co., Ltd. | Storage medium storing game program and game apparatus |
| US9849383B2 (en) | 2005-03-10 | 2017-12-26 | Nintendo Co., Ltd. | Storage medium storing game program and game apparatus |
| US8120574B2 (en) | 2005-03-10 | 2012-02-21 | Nintendo Co., Ltd. | Storage medium storing game program and game apparatus |
| US8139027B2 (en) | 2005-03-10 | 2012-03-20 | Nintendo Co., Ltd. | Storage medium storing input processing program and input processing apparatus |
| KR100818920B1 (en) | 2006-02-10 | 2008-04-04 | 삼성전자주식회사 | Apparatus and method for controlling key events generated when processing graphical objects |
| JP2008077203A (en) * | 2006-09-19 | 2008-04-03 | Canon Software Inc | Information processor and method for controlling information processor and program and recording medium |
| JP2009078157A (en) * | 2008-11-04 | 2009-04-16 | Nintendo Co Ltd | Input processing program and input processing apparatus |
| JP2010198433A (en) * | 2009-02-26 | 2010-09-09 | Internatl Business Mach Corp <Ibm> | Method, device, and program for facilitating object selection |
| JP2012238310A (en) * | 2011-05-11 | 2012-12-06 | Dassault Systemes | Selection of manipulator of object among plurality of manipulators |
| JP2011200720A (en) * | 2011-07-14 | 2011-10-13 | Nintendo Co Ltd | Game program and game device |
| JP2015515075A (en) * | 2012-04-25 | 2015-05-21 | ノキア コーポレイション | 3D graphic user interface |
| JP2014079634A (en) * | 2013-12-10 | 2014-05-08 | Nintendo Co Ltd | Game program and game device |
| JP2019159615A (en) * | 2018-03-09 | 2019-09-19 | 株式会社コナミデジタルエンタテインメント | Display system, display control device, and program |
| JP2019159614A (en) * | 2018-03-09 | 2019-09-19 | 株式会社コナミデジタルエンタテインメント | Display system, display control apparatus, and program |
| JP2019207574A (en) * | 2018-05-29 | 2019-12-05 | 富士ゼロックス株式会社 | Information processing device, information processing system, and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6119186A (en) | Computer system with environmental manager for detecting and responding to changing environmental conditions | |
| US6327623B2 (en) | Computer system with environmental detection | |
| US8819569B2 (en) | Single-handed approach for navigation of application tiles using panning and zooming | |
| US20040113915A1 (en) | Mobile terminal device and image display method | |
| US6909443B1 (en) | Method and apparatus for providing a three-dimensional task gallery computer interface | |
| JP4616424B2 (en) | Display method of menu items on computer display screen | |
| JP2679637B2 (en) | Image display device | |
| AU2006225172B2 (en) | Electronic conference system, electronic conference support method, electronic conference support device, and conference server | |
| US20050044500A1 (en) | Agent display device and agent display method | |
| EP0752640A1 (en) | Representation of inter-relationships between graphical objects in a computer display device | |
| JP2002366973A (en) | Method for generating object, method for selecting and controlling generated object and object data structure | |
| JPH07210357A (en) | Remote highlighting of objects in a conference system | |
| JPH10143347A (en) | How to view and operate data transfer | |
| JPH11185058A (en) | Method and system for selecting object | |
| JP5448576B2 (en) | Display control apparatus, display control method, and program | |
| JPH09218780A (en) | Job ticket program device of document processing system and its method | |
| JP2000181608A (en) | Virtual input device | |
| JP2001060134A (en) | Multi-window control system | |
| US20020038387A1 (en) | Computer system environmental messaging structure | |
| JP2002366974A (en) | Method for selecting and controlling object | |
| JP2656429B2 (en) | Display system and display method | |
| JP2000089886A (en) | Desk top management system/method using virtual polyhedron | |
| US6392662B1 (en) | Draw order preservation in a computer-implemented graphics system | |
| JP2005056389A (en) | Agent display device and agent display method | |
| JP2002352272A (en) | Method for generating three-dimensional object, method for selectively controlling generated three-dimensional object, and data structure of three-dimensional object |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040518 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040518 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061218 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070427 |