JPH03211686A - Computer control display method and apparatus - Google Patents

Computer control display method and apparatus

Info

Publication number
JPH03211686A
JPH03211686A JP2304237A JP30423790A JPH03211686A JP H03211686 A JPH03211686 A JP H03211686A JP 2304237 A JP2304237 A JP 2304237A JP 30423790 A JP30423790 A JP 30423790A JP H03211686 A JPH03211686 A JP H03211686A
Authority
JP
Japan
Prior art keywords
cursor
shadow
display screen
dimensional
edge
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
Application number
JP2304237A
Other languages
Japanese (ja)
Inventor
Daniel S Venolia
ダニエル・エス・ヴエノリア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of JPH03211686A publication Critical patent/JPH03211686A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/08Cursor circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PURPOSE: To facilitate the three-dimensional movement of an object on a display screen by displaying a shadow area relating to a cursor. CONSTITUTION: In an interactive computer controlled display device, the cursor 2 provided with a, position corresponding to the three-dimensional movement of a cursor controller and provided with at least one edge is displayed on a data display screen 1. Then, the shadow 3 provided with the edge corresponding to the edge of the cursor 2 projected on a two-dimensional shadow plane 4 along a light vector and provided with the position corresponding to the three- dimensional movement of the cursor controller is displayed on the display screen 1. Thus, a user is helped to discriminate the movement and position of the object in a space.

Description

【発明の詳細な説明】 [発明の利用分野] 本発明は、コンピュータ制御ディスプレイ装置にディス
プレイされる3次元カーソルを有するコンピュータ・シ
ステムに関する。更に詳しくは、本発明は、カーソルが
ディスプレイやスクリーン上で移動する3次元運動を表
すことができるカーソルを有する対話形コンピュータ・
システムに関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a computer system having a three-dimensional cursor displayed on a computer-controlled display device. More particularly, the present invention provides an interactive computer system having a cursor capable of representing three-dimensional motion as the cursor moves across a display or screen.
Regarding the system.

[発明の背景] コンピュータ制御ディスプレイ装置は、3次元空間的関
係で3次元(3D)オブジェクトを画像ディスプレイす
るのに有効的である。このことは、ディスプレイされる
オブジェクトがカーソル制御装置を用いて3D空間を動
きまわれるようにした場合に特に当てはまる。しかし、
スクリーンは2次元平面でしかない で、3D空間をデ
ィスプレイ・スクリーン(たとえば、CRTコンピュー
タψモニタ)にモデリングすることは困難である。
BACKGROUND OF THE INVENTION Computer-controlled display devices are useful for graphically displaying three-dimensional (3D) objects in three-dimensional spatial relationships. This is particularly true when the displayed object is moved around in 3D space using a cursor control device. but,
Since a screen is only a two-dimensional plane, it is difficult to model 3D space onto a display screen (eg, a CRT computer ψ monitor).

従来技術では、この2次元スクリーンという制限のため
、ユーザが3D空間でカーソルを移動しようとする際、
ディスプレイ画像に混乱を生じていた。したがって、い
(つかの基準点なしには、オブジェクトの奥行きと高さ
を確定することは容易ではなかった。1つのオブジェク
トと他のオブジェクトとの関係もまた、特にオブジェク
トが空間を動きまわる場合には判断が難しい。従来の3
次元モデリング技術は、ユーザが空間におけるオブジェ
クトの運動および位置を見分けるのを助ける手段として
、関連シャドウ領域を有する、カーソルに関するオブジ
ェクトのシャドウィングを用いていない。これら問題に
より、3次元空間やそこにおけるカーソルのマニビjレ
ージロンをディスプレイする手段として、コンピュータ
・ディスプレイ装置が飛躍的に生産されることはなかっ
た。
In the conventional technology, due to the limitation of this two-dimensional screen, when the user attempts to move the cursor in 3D space,
The display image was confusing. Therefore, it was not easy to determine the depth and height of an object without some reference point. It is difficult to judge.The conventional 3
Dimensional modeling techniques do not use shadowing of an object with respect to a cursor, with an associated shadow region, as a means to help a user discern the object's motion and position in space. Due to these problems, computer display devices have not been rapidly produced as a means for displaying a three-dimensional space and a cursor display therein.

[発明の概要] 本発明は、カーソルに関連したシャドウ領域をディスプ
レイすることにより、ディスプレイ・スクリーンにおけ
るオブジェクトの3次元運動を容易にする装置および方
法を提供する。シャドウ領域は、ユーザが3D空間にお
けるオブジェクトの相対的位置や運動を配向するのを助
ける。本実施例におけるシャドウ領域はデイスプレイe
スクリーンの下方に配置されたシャドウ平面にディスプ
レイされるので、シャドウ領域はドロップ・シャドウと
して示される。
SUMMARY OF THE INVENTION The present invention provides an apparatus and method for facilitating three-dimensional movement of objects in a display screen by displaying a shadow region associated with a cursor. The shadow area helps the user orient the relative position and movement of objects in 3D space. In this embodiment, the shadow area is the display e.
The shadow area is shown as a drop shadow because it is displayed on a shadow plane located below the screen.

本発明は、システムの構成装置、すなわちプロセッサ、
ランダム−アクセス−メモリ、読出し専用メモリ、デー
タを記憶するデータ記憶装置、ディスプレイ・スクリー
ンを含んでいるデータ・ディスプレイ装置、欧数字入力
装置、”ディスプレイ・スクリーン上にカーソルを対話
的に配置するカーソル制御装置、および信号発生装置を
相互接続するバスを含んでいる対話形コンピュータ制御
ディスプレイ装置から成る。また、本発明は、3次元カ
ーソルに関連したシャドウ領域ディスプレイする装置お
よび方法を提供し、それによってカーソル装置の3D運
動に応じてシャドウの形(大きさを含む)および配向を
考えることができる。
The present invention is directed to a system component device, that is, a processor,
Random-access memory, read-only memory, data storage device for storing data, data display device including a display screen, European numeral input device, cursor control for interactively positioning a cursor on a display screen The present invention also provides an apparatus and method for displaying a shadow area associated with a three-dimensional cursor, thereby providing an apparatus and method for displaying a shadow area associated with a three-dimensional cursor. The shape (including size) and orientation of the shadow can be considered depending on the 3D movement of the device.

以下、添付の図面に基ずいて、本発明の実施例に関し説
明する。
Embodiments of the present invention will be described below with reference to the accompanying drawings.

[実施例] 本発明は、ディスプレイ装置にディスプレイされる3次
元カーソルに関連したシャドウ領域を発生しかつディス
プレイする装置および方法を提供する。このツヤドウ領
域は、3Dカーソルのシャドウを表し、かつカーソルが
ディスプレイ装置上を移動する時カーソルと一緒に移動
する。
Embodiments The present invention provides an apparatus and method for generating and displaying a shadow area associated with a three-dimensional cursor displayed on a display device. This glossy area represents the shadow of the 3D cursor and moves with the cursor as it moves across the display device.

本発明の実施例は、アップル−マツキントラシュT′′
  ・コンピュータ・システムにおいて具体化されてい
る。しかし、他のシステムを用いてもよいことは番当亀
者には明白であろう。一般に、このようなシステムは、
第10図に示されているように情報を通信するバス10
0と、上記バスに接続し、情報を処理するプロセッサ1
01と、上記バス100に接続し、上記プロセッサ10
1の情報と命令を記憶するランダム・アクセス・メモリ
102と、上記バス100に接続し、上記プロセッサ1
01の静的情報と命令を記憶する読出し専用メモリ10
3と、上記バス100に接続し、情報と命令を記憶する
磁気ディスクおよびディスク・ドライブのようなデータ
記憶装置104と、上記バス100に接続し、コンピュ
ータのユーザに情報をディスプレイするディスプレイ装
置105と、上記バス100に接続し、上記プロセッサ
101に情報およびコマンド選択を通信する欧数字およ
びファンクシ1ン・キーを含んでいる欧数字領域装置1
06と、上記バスに接続し、上記プロセッサ101に情
報およびコマンド選択を通信するカーソル制御装置10
7と、上記バス100に接続し、上記プロセッサ101
にコマンド選択を通信する信号発生装置108とから成
っている。
An embodiment of the present invention is an Apple-Matsukintrasch T''
-Embodied in computer systems. However, it will be obvious to the watchman that other systems may be used. Generally, such systems
A bus 10 for communicating information as shown in FIG.
0 and a processor 1 connected to the bus and processing information.
01 and the bus 100, and the processor 10
a random access memory 102 for storing information and instructions for the processor 1;
Read-only memory 10 for storing static information and instructions for 01
3, a data storage device 104, such as a magnetic disk and disk drive, connected to the bus 100 and for storing information and instructions; and a display device 105, connected to the bus 100, for displaying information to a computer user. , a European numeral domain device 1 connected to said bus 100 and including European numerals and function keys for communicating information and command selections to said processor 101.
06, and a cursor control device 10 connected to the bus and communicating information and command selections to the processor 101.
7, connected to the bus 100, and connected to the processor 101.
and a signal generator 108 for communicating command selections.

ディスプレイ装置は、液晶装置、陰極線管、または他の
適当なディスプレイ装置のいずれでもよい。ディスプレ
イ装置は、ディスプレイ・スクリーン上に少な(とも離
散的点とベクトルをディスプレイすることができなけれ
ばならない。さらに高度なディスプレイ装置ならば、デ
ィスプレイ−スクリーンにいろいろな色またはグレイの
シャドウで領域をディスプレイすることができる。
The display device may be a liquid crystal device, a cathode ray tube, or any other suitable display device. A display device must be able to display a small number of discrete points and vectors on the display screen. More advanced display devices must be able to display areas on the display screen in various colors or shades of gray. can do.

カーソル制御装置107は、コンピュータのユーザが、
ディスプレイ・スクリーンに3次元で見えるオブジェク
トの運動を動的に信号することができる対話形装置であ
る。3軸機械的装置(たとえば、トラックボール)や3
次元磁界検出および位置決め装置を含んでいる多(の3
Dカーソル制御装置が、当分野においてよ(知られてい
る。他の種類のカーソル制御装置は2次元でしか運動を
信号することができない。これら2次元カーソル制御装
置は、別の信号手段に関連して使用される場合、3次元
信号を供給するのに使用することができる。他の信号手
段は、欧数字キーボード106または信号発生装置10
8により発生される。
The cursor control device 107 allows the computer user to
It is an interactive device that can dynamically signal the movement of objects visible in three dimensions on a display screen. 3-axis mechanical device (e.g. trackball) or 3-axis mechanical device (e.g. trackball)
Multi-dimensional magnetic field sensing and positioning device
D-cursor control devices are well known in the art. Other types of cursor control devices are only capable of signaling movement in two dimensions. Other signaling means can be used to provide a three-dimensional signal when used as a
8.

欧数字キーボード106は、3次元信号を発生するのに
単独で使用することもできる。3次元の各次元における
運動を信号するのに、キーボードの特定のキーを指定す
ることができる。これらカーソル制御装置は、X、  
Y、  Z方向におけるカーソルの運動によって、プロ
セッサにデータを供給する。
The European numeric keyboard 106 can also be used alone to generate three-dimensional signals. Particular keys on the keyboard can be designated to signal movement in each of the three dimensions. These cursor control devices are
Movement of the cursor in the Y, Z directions provides data to the processor.

本実施例において、x、  y、  z方向は、次のよ
うに定義されている。スクリーンのオリジンは、ディス
プレイ・スクリーンの左下コーナーと定義され、Xは、
ディスプレイ・スクリーンの左側からスクリーンの右側
に直角にスクリーンの面に平行して延びている軸で、Y
軸は、X軸に垂直で、スクリーンの面に平行にディスプ
レイφスクリーンの下からスクリーンの上に直角に延び
ている軸で、Z軸は、XおよびY軸に垂直で、スクリー
ンの面からスクリーンを見ているユーザに向かってまっ
すぐ外側にディスプレイ・スクリーンに垂直に延びてい
る。
In this example, the x, y, and z directions are defined as follows. The screen origin is defined as the lower left corner of the display screen, and X is
Y is the axis that runs from the left side of the display screen to the right side of the screen and parallel to the plane of the screen.
The axis is perpendicular to the Extending perpendicular to the display screen straight outward toward the viewing user.

本発明の3次元カーソルのシャドウの特徴およヒフロセ
スについて以下に説明する。カーソル制御装置またはデ
ィスプレイ装置の一般的な動作については、当分野にお
いて周知であるので、本発明を十分理解するのに必要な
部分につ〜1てのみ説明する。
The shadow characteristics and hyphrocess of the three-dimensional cursor of the present invention will be explained below. Since the general operation of cursor control or display devices is well known in the art, only that portion necessary for a thorough understanding of the present invention will be described.

本発明の動作 第1図に示したカーソル・シャドウ3は、カーソル制御
装置1107とともに移動する3Dカーソルに関連した
ディスプレイされた画像である。シャドウの2次元形状
は、カーソル2の3次元形状に対応している。本発明に
おいて、カーソル2は、3Dオブジエクトとしてディス
プレイされる。3Dオブジエクトは、直線のエツジによ
り結合された3次元空間に位置する頂点を用いて規定さ
れたソリッドである。これらエツジは、ソリッドの面を
規定する多角形を作るよう結合している。各多角形の面
に関して、面を構成しているエツジは同一平面にあり、
したがって、各面は、面とそこにおける各エツジに垂直
な関連法線ベクトルを有している。各エツジと各面は、
関連したカラー グレイのシェイド、またはディスプレ
イ照度を有している。各面の表面は、不透明でも透明で
もよい。
OPERATION OF THE INVENTION Cursor shadow 3 shown in FIG. 1 is a displayed image associated with a 3D cursor that moves with cursor control device 1107. The two-dimensional shape of the shadow corresponds to the three-dimensional shape of the cursor 2. In the present invention, cursor 2 is displayed as a 3D object. A 3D object is a solid defined with vertices located in three-dimensional space connected by straight edges. These edges are connected to form polygons that define the faces of the solid. For each polygon face, the edges that make up the face are in the same plane,
Therefore, each face has an associated normal vector that is perpendicular to the face and each edge therein. Each edge and each side is
Has an associated color shade of gray, or display illumination. The surface of each side may be opaque or transparent.

第2図に示すように、不透明な面2で構成されたオブジ
ェクトは、光源7(第5図示)に露出された各不透明な
面に関する均質なシャドウ3を作っている。透明な面3
2で作られたオブジェクトは、そのエツジのみのシャド
ウ34を形成して〜する。
As shown in Figure 2, an object composed of opaque surfaces 2 casts a homogeneous shadow 3 for each opaque surface exposed to a light source 7 (shown in Figure 5). transparent side 3
The object created in step 2 forms a shadow 34 of only its edges.

この種のオブジェクトは、第3図に示すようにワイヤ・
フレーム・ソリッド32として表される。
This type of object can be created using wires as shown in Figure 3.
Represented as a frame solid 32.

3Dカーソル・オブジェクトは、3D非ソリツド・オブ
ジェクト31としてディスプレイすることもできる。す
なわち、オブジェクトは面または内部領域を有していな
い。この種のオブジェクトは、ベクトル群としてディス
プレイされる。ソリッド書オブジェクトと同様に、ベク
トル群はカーソル制御装置107の運動に応じて移動す
る。第3図に示すように、クロスヘヤ31は、非ソリッ
ド形のカーソル・オブジェクトの例を示している。
A 3D cursor object can also be displayed as a 3D non-solid object 31. That is, the object has no faces or internal areas. Objects of this type are displayed as vectors. Similar to solid calligraphy objects, vectors move in response to movement of cursor control device 107. As shown in FIG. 3, crosshair 31 illustrates an example of a non-solid cursor object.

非ソリッド・カーソル・オブジェクトは、本発明におい
てはベクトルにより結合された一部の3Dポイントとし
て示されている。ここには、関連した多角形または面は
ない。クロスヘヤ・カーソル31の場合、オブジェクト
を4つのポイントにより表すことができる。各ベクトル
に関する2つがクロスヘヤを形成している。ポイントが
頂点として示されかつベクトルがエツジとして示されて
いる場合、面を処理する必要のない場合を除いて、非ソ
リッド・オブジェクトをソリッド・オブジェクトと同じ
方法で表すことができる。ソリッド・オブジェクトの場
合と同様に、各エツジ(ベクトル)は、関連したカラー
や、グレイのシエイドまたは照度を有している。非ソリ
ッド・オブジェクトは、そのエツジについてのみのシャ
ドウ33を形成する。
Non-solid cursor objects are shown in the present invention as some 3D points connected by vectors. There are no associated polygons or faces here. In the case of crosshair cursor 31, an object can be represented by four points. Two for each vector form a crosshair. When points are shown as vertices and vectors are shown as edges, non-solid objects can be represented in the same way as solid objects, except that there is no need to handle faces. As with solid objects, each edge (vector) has an associated color, shade of gray, or illumination. Non-solid objects form shadows 33 only about their edges.

本発明の3Dオブジエクトは、いずれも頂点、面および
エツジの集合としてデータ構造で表される。データ構造
は、コンピュータ・メモリ102、磁気記憶手段104
、または他の適当なデータ記憶装置に記憶される。オブ
ジェクトの各頂点に関し、頂点のx、  y、  z位
置はデータ構造に格納される。オブジェクトの各面に関
し、オブジェクト・データ構造に保持されているデータ
は、面における頂点の数、各関連頂点のポインタ、面の
色、面に直角なベクトルの大きさおよび方向を含んでい
るが、これに限定されているわけではない。また、各エ
ツジに関して、格納されたデータは、エツジの開始およ
び終了頂点のポインタ、このエツジを一部とする面のポ
インタ、およびエツジの色または照度を含んでいるが、
これに限定されているわけではない。非ソリッド−オブ
ジェクトに関し、同じオブジェクトのデータ構造を使用
することができるが、オブジェクトは面は有しておらず
、頂点とエツジしかない。カーソルはオブジェクトであ
るので、カーソルに関連したオブジェクト−データ(カ
ーソル−データ)も、オブジェクトφデータ構造に記憶
される。
All 3D objects of the present invention are represented in a data structure as a collection of vertices, faces, and edges. The data structure is stored in computer memory 102, magnetic storage means 104
, or other suitable data storage device. For each vertex of the object, the x, y, z position of the vertex is stored in a data structure. For each face of the object, the data held in the object data structure includes the number of vertices in the face, a pointer to each associated vertex, the color of the face, the magnitude and direction of the vector perpendicular to the face, It is not limited to this. Also, for each edge, the stored data includes pointers to the start and end vertices of the edge, pointers to the faces of which this edge is part, and the color or illumination of the edge.
It is not limited to this. For non-solid objects, the same object data structure can be used, but the objects do not have faces, only vertices and edges. Since the cursor is an object, object-data associated with the cursor (cursor-data) is also stored in the object φ data structure.

各オブジェクトおよび各オブジェクトのシャドウは、ア
イeボジシlン6に関してディスプレイ・スクリーン1
にディスプレイされる。第4図および第5図に示されて
いるアイ・ボジシVン6は、ディスプレイ・スクリーン
の正面の空間の既知のポイントである。アイ・ボジシ1
ン6は、ユーザがディスプレイされた画像を見るポイン
トである。
Each object and each object's shadow are displayed on the display screen 1 with respect to the eye body 6.
will be displayed on. The eye position 6 shown in FIGS. 4 and 5 is a known point in space in front of the display screen. Ai Bojishi 1
Point 6 is the point at which the user views the displayed image.

本発明の実施例において、この位置は、第4図および第
5図に示されているようにi (x+  y+  z、
)で表された3D空間におけるポイントとして定義され
ている。アイ嗜ボジシeン6は、必ずしも固定的でなく
てもよい。また、アイ・ボジシ1ン6は、第4図および
第5図に示されている位置とは興なる位置であってもよ
い。ここに示されているVitIlは、可変アイ・ボリ
ン1ンを用いている実施例にも使用できる。
In an embodiment of the invention, this position is i (x+ y+ z,
) is defined as a point in 3D space. The eye preference position e6 does not necessarily have to be fixed. Furthermore, the eye position 1 pin 6 may be in a different position from that shown in FIGS. 4 and 5. The VitII shown here can also be used in embodiments using variable eyeballs.

各画像は、3次元空間から2次元スクリーン平11ii
5への投影としてユーザにディスプレイされる。
Each image is transferred from a three-dimensional space to a two-dimensional screen
displayed to the user as a projection onto 5.

代表的には、CRTディスプレイ装置のスクリーンであ
るスクリーン平面5は、第4図および第5図に示されて
いるようなZ軸に垂直である。各オブジェクトの頂点を
アイ・ボジシ1ン6に結合するラインと交差するスクリ
ーン平面5のポイントを決定するのに投影が使用される
。たとえば、第5図に示すように、ポイントpは、スク
リーン平面5とラインAiの交点である。ラインAh5
3は、オブジェクトの頂点を座標空間オリジン(h)に
結合する。ベクトルN8は、スクリーン平面5に垂直な
法線ベクトルである。法線Nは、周知の技術であるスク
リーン平面の2つの別個の単位ベクトルとのクロス乗積
を用いて計算される。スクリーン平面の交差ポイントp
の位置は、最初、スクリーンの法線ベクトルNとのベク
トルAh53の点乗積を計算することにより得られる。
Typically, the screen plane 5 of a CRT display device is perpendicular to the Z axis as shown in FIGS. 4 and 5. The projection is used to determine the point in the screen plane 5 that intersects the line joining the vertices of each object to the eye position 1 6. For example, as shown in FIG. 5, point p is the intersection of screen plane 5 and line Ai. Line Ah5
3 connects the object's vertices to the coordinate space origin (h). Vector N8 is a normal vector perpendicular to screen plane 5. The normal N is calculated using a cross product of the screen plane with two separate unit vectors, a well-known technique. Intersection point p of screen plane
The position of is obtained by first calculating the dot product of the vector Ah53 and the normal vector N of the screen.

次に、スクリーンの法線ベクトルNとのベクトルA15
1の天乗積が計算される。Aiに関する点乗積でAiに
関する点乗積でAhに関する点乗積を割った量に、A+
ベクトルのX、  Y成分を掛けて、オブジェクトの頂
点の座標成分に加える。その結果は、オブジェクトの頂
点からアイ・ボジシ、ン6へのラインと交差するスクリ
ーン平面5におけるポイントpとなる。各オブジェクト
の頂点の投影は、カーソルの頂点Aに関する次の式に示
されているように計算される。
Next, the vector A15 with the normal vector N of the screen
The heavenly product of 1 is calculated. A +
Multiply the X and Y components of the vector and add it to the coordinate components of the object's vertices. The result is a point p in the screen plane 5 that intersects the line from the object's vertex to the eye position 6. The projection of each object's vertex is calculated as shown in the following equation for the cursor's vertex A.

p (x) = (点乗積(N、Ah)/点乗積(N。p (x) = (dot product (N, Ah) / dot product (N.

Ai) ・Ai  (x)+A (x)p (y) =
 (点乗積(N、Ah)/点乗積(N。
Ai) ・Ai (x)+A (x)p (y) =
(Dot product (N, Ah)/Dot product (N.

Ai)/At (y) +A (y) p (z) =スクリーン平面(z) スクリーン平面5に投影される場合他の各オブジェクト
の頂点の位置は、同様に計算され、オブジェクト・デー
タ構造に記憶される。頂点を平面に投影する手段は他に
もあるが、前述の手段が、本発明の実施例において使用
されている唯一満足のいく方法である。
Ai)/At (y) +A (y) p (z) = Screen plane (z) The positions of the vertices of each other object when projected onto the screen plane 5 are similarly calculated and stored in the object data structure. be done. Although there are other means of projecting vertices onto a plane, the above-mentioned means are the only satisfactory methods used in the embodiment of the present invention.

カーソル2は、カーソル制御装置107の3次元運動に
応じて、ディスプレイ・スクリーンlにおける位置と配
向を変化する。第10図に示すようにバス100を介し
てプロセッサ101に接続したカーソル制御装置107
は、3つの各軸X。
The cursor 2 changes its position and orientation on the display screen l in response to the three-dimensional movement of the cursor control device 107. Cursor control device 107 connected to processor 101 via bus 100 as shown in FIG.
are each of the three axes X.

Y、zに沿ったカーソル2の運動を示すプロセッサ10
1に信号を供給する。前述したように、カーソル2の3
D運動は、他の方法を用いても信号することもできる。
Processor 10 showing movement of cursor 2 along Y, z
1. As mentioned above, cursor 2 3
D-motion can also be signaled using other methods.

他の信号手段に関して用いられている2次元カーソル制
御装置を、3D信号を発生するのに使用してもよい。同
様に、3Dカーソル制御装置として、欧数字キーボード
106だけを使用してもよい。後述するように、プロセ
ッサ論理装置は、カーソル2を構成している頂点、面、
エツジに3次元運動を与え、各カーソルの頂点に関しス
クリーン平面5への新しい投影を計算し、カーソル2に
関連したシャドウ3を発生し、各シャドウの頂点に関し
スクリーン平面5への新しい投影を計算する。
Two-dimensional cursor control devices used with other signal means may also be used to generate the 3D signal. Similarly, only the European numeric keyboard 106 may be used as the 3D cursor control device. As will be described later, the processor logic unit determines the vertices, faces, and
Give the edges three-dimensional motion, compute a new projection onto the screen plane 5 for each cursor vertex, generate a shadow 3 associated with cursor 2, and compute a new projection onto the screen plane 5 for each shadow vertex. .

シャドウ3自身は、多角形群(シャドウ領域)として、
またはエツジ群(シャドウ・エツジ)としてディスプレ
イすることができる2次元形状である。シャドウ多角形
3は、オブジェクトの不透明な面により形成される。エ
ツジ・シャドウ(33,34)は、透明な面のオブジェ
クト32または非ソリッド・オブジェクト31により形
成される。シャドウ3は、オブジェクト・データ構造に
記憶された3次元カーソル2のオブジェクト頂点の位置
により決定されるように、カーソル拳オブジェクト2に
関連している。カーソル2の頂点は、2次元シャドウ平
面4にトランスレートされ、シャドウ頂点を生じる。本
実施例におけるシャドウ平面4は、Y軸に垂直で、かつ
第1図に示すようにディスプレイ・スクリーン1の下方
に配置されている。シャドウ平面4は、無限に大きい平
面の平行光源をシェミレートするように限定されている
。光源は、Y軸に垂直で、その光線はY軸に平行に下方
に進行する。シャドウ頂点は、シャドウ3の位置とカー
ソル2の位置の間の関係を規定する。本実施例における
シャドウの計算は、カーソル頂点Aに関する次の式によ
り行われる。
Shadow 3 itself is a polygon group (shadow area),
Or it is a two-dimensional shape that can be displayed as a group of edges (shadow edges). Shadow polygon 3 is formed by the opaque surface of the object. Edge shadows (33, 34) are formed by transparent surface objects 32 or non-solid objects 31. Shadow 3 is related to cursor fist object 2 as determined by the position of the object vertex of three-dimensional cursor 2 stored in the object data structure. The vertices of the cursor 2 are translated to a two-dimensional shadow plane 4, resulting in shadow vertices. The shadow plane 4 in this embodiment is perpendicular to the Y axis and located below the display screen 1 as shown in FIG. The shadow plane 4 is limited to simulating an infinitely large plane of parallel light sources. The light source is perpendicular to the Y-axis and its light beam travels downward parallel to the Y-axis. The shadow vertices define the relationship between the position of shadow 3 and the position of cursor 2. Shadow calculation in this embodiment is performed using the following equation regarding cursor vertex A.

a (x) ”A (x) a (y) =ンヤドウ平面(y) a (z) =A (z) ンヤドウ頂点(たとえば、a (x、  y+  z)
 )は、カーソル・オブジェクト頂点(たとえば、A(
X+  y、z) )に基いて発生されるので、カーソ
ルが移動する時シャドウ頂点も移動する。各シャドウ頂
点の位置は、カーソルの運動に関して計算されかつオブ
ジェクト・データ構造に記憶される。ソリッド・オブジ
ェクトに関し、各面に関連したシャドウ頂点のポインタ
も、オブジェクト争データ構造に保持される。
a (x) ”A (x) a (y) = Nyadou plane (y) a (z) = A (z) Nyadou vertex (for example, a (x, y+ z)
) is the cursor object vertex (for example, A(
X+y,z)), so when the cursor moves, the shadow vertex also moves. The position of each shadow vertex is computed with respect to cursor movement and stored in an object data structure. For solid objects, pointers to the shadow vertices associated with each face are also maintained in the object data structure.

オブジェクトと同様に、ユーザは、第4図および第5図
に示すようにスクリーン平面5に投影された画像として
シャドウを見ることができる。この計算は、前述したよ
うにスクリーン平面5にオブジェクト頂点を投影する際
に行われる計算と同じである。各シャドウの頂点をアイ
・ボジシIン6に結合するラインと交差する、スクリー
ン平面5におけるポイントを決定するのに、投影が使用
される。たとえば、第5図に示すように、ポイントqは
、ラインaiとスクリーン平面5の交差点である。ライ
ンahは、オブジェクトの頂点を座標空間のオリジン(
h)に結合する。ベクトルN8は、スクリーン平面5に
垂直な法線ベクトルである。スクリーン平面の交差点q
の位置は、最初、スクリーンの法線ベクトルNとのベク
トルahの点乗積を計算することにより得られる。次に
、スクリーンの法線ベクトルNとのベクトルaiの点乗
積が計算される。aiに関する点乗積で割ったahに関
する点乗積の置に、aiベクトルのX。
Similar to objects, shadows can be seen by the user as images projected onto the screen plane 5 as shown in FIGS. 4 and 5. This calculation is the same as the calculation performed when projecting the object vertices onto the screen plane 5 as described above. Projection is used to determine the point in the screen plane 5 that intersects the line joining each shadow vertex to the eye position I6. For example, as shown in FIG. 5, point q is the intersection of line ai and screen plane 5. The line ah connects the object's vertices to the coordinate space origin (
h). Vector N8 is a normal vector perpendicular to screen plane 5. Intersection q of screen plane
The position of is first obtained by calculating the dot product of the vector ah with the screen normal vector N. Next, the dot product of the vector ai and the normal vector N of the screen is calculated. X of the ai vector at the dot product of ah divided by the dot product of ai.

Y成分が掛けられ、シャドウ頂点の座標成分に加えられ
る。その結果は、シャドウ頂点(a)からアイ・ポジシ
ーン6へのラインと交差するスクリーン平面5における
点qとなる。各シャドウ頂点の投影は、シャドウ頂点(
a)に関する次の式に示すように計算される。
The Y component is multiplied and added to the coordinate component of the shadow vertex. The result is a point q in the screen plane 5 that intersects the line from the shadow vertex (a) to the eye-posiscene 6. The projection of each shadow vertex is the shadow vertex (
It is calculated as shown in the following formula regarding a).

q (x) = (点乗積(N、ah)/点乗積(N。q (x) = (dot product (N, ah) / dot product (N.

ai)・a i  (x) +a (x)q (y) 
= (点乗積(N、ah)/点乗積(N。
ai)・a i (x) +a (x)q (y)
= (Dot product (N, ah)/Dot product (N.

ai)・a i  (y) +a (y)q (z) 
=スクリーン平面(z) スクリーン平面5に投影される他の各シャドウ頂点の位
置は、同様に計算されオブジェクト・データ構造に記憶
される。
ai)・a i (y) +a (y)q (z)
=screen plane (z) The position of each other shadow vertex projected onto the screen plane 5 is similarly calculated and stored in the object data structure.

カーソルの運動は、それに対応したシャドウ頂点のスク
リーン平面投影点の運動を生じる。非ソリッド管オブジ
ェクトに関しては、シャドウの発生は、単なる、シャド
ウ頂点のスクリーン平面への投影およびスクリーン平面
の投影点の間のベクトル作成の問題である。
Movement of the cursor results in a corresponding movement of the screen plane projection point of the shadow vertex. For non-solid tube objects, shadow generation is simply a matter of projecting the shadow vertices onto the screen plane and creating vectors between the projection points of the screen plane.

不透明または透明な面を備えたオブジェクトを含むソリ
ッド・オブジェクトに関し、シャドウの発生は、そのま
ま行われるわけではない。すなわち、ソリッド−オブジ
ェクトの全ての面がシャドウを発生するわけではない。
For solid objects, including objects with opaque or transparent surfaces, shadow generation is not straightforward. That is, not all faces of a solid object produce shadows.

また、各面のエツジが、必ずしも明確なシャドウを生じ
るわけではない。本発明は、ソリッド・オブジェクトの
どの面がシャドウを形成し、どの面が陰にならないのか
を決定する処理論理装置を提供して+1する。陰になら
ない面はシャドウを生じないので、これら面に関しては
ディスプレイ・スクリーンにシャドウ画像を描く必要は
ない。陰になる面に関してシャドウが描かれる。
Furthermore, the edges of each surface do not necessarily produce clear shadows. The present invention provides processing logic to determine which faces of a solid object form shadows and which do not. Since unshaded surfaces do not cast shadows, there is no need to draw a shadow image on the display screen for these surfaces. Shadows are drawn on shadowed surfaces.

面が陰になっているかどうかを決定するのに、各面に関
連した法線ベクトルが使用される。光源7をまっすぐに
示すベクトルと面の法線ベクトルの点乗積が計算される
。点乗積が正の場合、面はシャドウを形成する。点乗積
がゼロの場合には、面は光源7に平行している。点乗積
が負の場合には、面は他の面により光源から隠されてい
て(閉じたソリッドに関してのみ当てはまる)、シャド
ウは形成されない。
The normal vector associated with each face is used to determine whether the face is shaded. The dot product of the vector pointing straight at the light source 7 and the normal vector of the surface is calculated. If the dot product is positive, the surface forms a shadow. If the dot product is zero, the surface is parallel to the light source 7. If the dot product is negative, the face is hidden from the light source by other faces (only true for closed solids) and no shadow is formed.

面の法線ベクトルは、第5図の面CADに関する例に示
すように、面の2つのエツジのクロス乗積を行うことに
より計算することができる。
The normal vector of a surface can be calculated by performing a cross product of the two edges of the surface, as shown in the example for surface CAD in FIG.

所定のベクトル: vl=ベクトル(AC) v2=ベクトル(AD) 面CADに関する法線ベクトル二クロス乗積(v 1+
  v 2 )ソリッドの各面に関し、法線ベクトルが
計算されかつ前述したような光ベクトルに関して計算さ
れた点乗積に対してテストされる。
Predetermined vectors: vl = vector (AC) v2 = vector (AD) Normal vector two cross product (v 1+
v 2 ) For each face of the solid, the normal vector is calculated and tested against the dot product calculated for the light vector as described above.

面が陰になっている場合(点乗積が正であるので)、後
述するようにシャドウ画像がスクリーン平面に描かれる
If the surface is in shadow (because the dot product is positive), a shadow image is drawn on the screen plane, as described below.

面は、不透明または透明のいずれでもよいので、シャド
ウ画像の作図を最適化するのに、2つの処理方法が考え
られる。不透明な陰になる面2の場合、不透明なシャド
ウ領域3が生じる。このシャドウ領域は、この面に関連
した投影されたシャドウ頂点を用いてスクリーン平面に
不透明な多角形を描(ことによりディスプレイされる。
Since the surface can be either opaque or transparent, two processing methods are possible to optimize the drawing of the shadow image. In the case of an opaque shadowing surface 2, an opaque shadow area 3 results. This shadow region is displayed by drawing an opaque polygon in the screen plane using the projected shadow vertices associated with this surface.

投影されたシャドウ頂点の位置は、前述したように計算
されかつオブジェクト・データ構造に記憶される。
The positions of the projected shadow vertices are calculated and stored in the object data structure as described above.

これら頂点は、スクリーン平面におけるシャドウ領域の
コーナになる。このようにディスプレイ・スクリーンに
フィル領域をディスプレイするコンピュータ・グラフィ
ックスの分野には、現在、多くの方法がある。
These vertices become the corners of the shadow area in the screen plane. There are currently many methods in the field of computer graphics for displaying fill areas on a display screen in this manner.

透明な陰になる面2の場合、透明なシャドウ領域34が
形成される。この領域は、面のエツジを描くことにより
ディスプレイ・スクリーンに線形酸される。この面に関
連した投影シャドウ頂点を用いて、エンド拳ポイントと
して投影されたシャドウ頂点を用いているベクトルとし
てエツジがスクリーン平面に描かれる。各エツジが1つ
以上の面の成分であるので、各エツジが1回以上描かれ
るという可能性がある。本発明は、この可能性について
テストし、かつ同じエツジが1回以上描かれないように
する。各エツジが描かれるとき、(各エツジに関しオブ
ジェクト・データ構造に配置されている)プール・フラ
ッグは真の値に設定され、同じエツジがその後作図され
るのを妨げる。
In the case of a transparent shadowing surface 2, a transparent shadow area 34 is formed. This area is linearly acidified onto the display screen by drawing the edges of the surface. Using the projected shadow vertices associated with this face, edges are drawn in the screen plane as vectors using the projected shadow vertices as end fist points. Since each edge is a component of more than one face, it is possible that each edge is drawn more than once. The present invention tests for this possibility and ensures that the same edge is not drawn more than once. When each edge is drawn, the pool flag (located in the object data structure for each edge) is set to a true value, preventing the same edge from being drawn subsequently.

本発明のカーソル2は、3次元カーソルに関連するファ
ンクシロン・キーまたは信号発生装置108を用いて活
性化される。シャドウ3は、  3Dカーソル2のディ
スプレイに関して自動的にディスプレイされる。ファン
クシ、ン活性化には、欧数字キーボード106からの特
殊コードまたはコマンド・シーケンスのエントリまたは
アイコン選択など他にも多くの手段を使用することがで
きる。
The cursor 2 of the present invention is activated using a funxilon key or signal generator 108 associated with a three-dimensional cursor. Shadow 3 is automatically displayed with respect to the 3D cursor 2 display. Many other means of function activation may be used, such as entry of special codes or command sequences from the European numeric keyboard 106 or icon selection.

アイコンは、ユーザにディスプレイされる小さいグラフ
ィック・シンボルで、選択された時どの機能を行ってい
るのかを確認し得る。本発明は、コンビエータのオペレ
ーティング・システムのソフトウェアまたは他のアプリ
ケージ画ン・ソフトウェアとのソフトウェア・インタフ
ェイスによっても活性化できる。この方法を使用するこ
とにより、3Dカーソルおよび関連シャドウの活性化は
、直接的なユーザの動作とは無関係になる。
An icon may be a small graphic symbol displayed to the user to identify what function it is performing when selected. The present invention can also be activated by a software interface with the combiator's operating system software or other application planning software. Using this method, the activation of the 3D cursor and associated shadow becomes independent of direct user action.

活性化されると、3Dカーソル2は第2図に示すように
ディスプレイ・スクリーン1上でユーザに示される。カ
ーソル2は、その関連シャドウ3のディスプレイととも
に、シャドウ平面4にディスプレイされる。シャドウ3
の形および配向は、a述したような方法で3Dカーソル
2の形および配向に対応している。カーソル制御装置1
07が移動する時、3Dカーソル2とシャドウ3はそれ
に対応して移動する。3Dカーソル2により、ディスプ
レイ・スクリーン1の見える部分を越えて移動すること
ができる。カーソル2がディスプレイ・スクリーン1の
上部境界の上に移動した場合、カーソル2は消えるが、
シャドウ3は、依然としてディスプレイされている。カ
ーソル2がディスプレイ・スクリーン1における他のオ
ブジェクトの後に隠れても、シャドウ3はまだ見える。
Once activated, the 3D cursor 2 is shown to the user on the display screen 1 as shown in FIG. The cursor 2 is displayed on the shadow plane 4 along with the display of its associated shadow 3. shadow 3
The shape and orientation of corresponds to the shape and orientation of the 3D cursor 2 in the manner described in a. Cursor control device 1
When 07 moves, 3D cursor 2 and shadow 3 move correspondingly. The 3D cursor 2 allows movement beyond the visible part of the display screen 1. If cursor 2 is moved over the top border of display screen 1, cursor 2 disappears, but
Shadow 3 is still displayed. Even if the cursor 2 is hidden behind other objects on the display screen 1, the shadow 3 is still visible.

カーソル2がシャドウ平面4の下に移動した場合、カー
ソル2はディスプレイされるが、シャドウ3はもはやデ
ィスプレイされない。
If cursor 2 moves below shadow plane 4, cursor 2 is displayed, but shadow 3 is no longer displayed.

シャドウ3自身は、3次元空間におけるカーソル2の運
動を容易にするようディスプレイされる。
The shadow 3 itself is displayed to facilitate movement of the cursor 2 in three-dimensional space.

ユーザは、シャドウ3に関してカーソルを見る場合、高
さと距離をより正確に判断することができる。本実施例
において、シャドウ3は、カーソル2のすぐ下に形成さ
れているように見える(これは、カーソル頂点のXおよ
びZ座標からシャドウ頂点のXおよびZ座標に直接的に
得られる)。別の実施例では、シャドウが、そのすぐ下
ではなくカーソルに対して角度111(第11図示)で
形成されているので、シャドウ頂点は、カーソル頂点か
ら直接的には形成されない。角度は、XおよびY軸のい
ずれかまたは両方に与えられる。例えば、光源7が第1
1図に示すように平行光線110(光ベクトル)で照射
している場合、シャドウの頂点は、光線がシャドウ平面
4と交差するまで、カーソル頂点を通って光源の光線1
10の1つを延長することにより計算される。
When the user looks at the cursor with respect to shadow 3, he can judge height and distance more accurately. In this example, shadow 3 appears to be formed directly below cursor 2 (which is derived directly from the X and Z coordinates of the cursor vertex to the X and Z coordinates of the shadow vertex). In another embodiment, the shadow vertices are not formed directly from the cursor vertices because the shadow is formed at an angle 111 (shown in Figure 11) to the cursor rather than directly below it. Angles are given in either or both of the X and Y axes. For example, the light source 7
When illuminating with a parallel ray 110 (light vector) as shown in Figure 1, the shadow vertex passes through the cursor vertex and the light source ray 1 passes through the cursor vertex until the ray intersects the shadow plane 4.
Calculated by extending one of 10.

本発明の処理論理装置 本発明は、3Dカーソルとそれに対応するシャドウの動
作に関するコンピュータ・プログラム論理装置を含んで
いる。プロセッサ101により具体化されたこの論理方
法は、第6〜9図に関して説明されている。前述したコ
ンピュータ・リソースの他、本発明は、ディスプレイ装
置105にベクトルをディスプレイすることができるオ
ペレーティング・システムとシステム・ファンクシ縦ン
の有用性を用いている。カーソル制御袋mi 07とイ
ンタフェイスするシステム・ファンクシぎンも望ましい
が、必ずしも必要ではない。これらリソースは、コンピ
ュータ技術においては周知の標準的処理コンポーネント
である。
Processing Logic of the Invention The present invention includes computer program logic for the operation of a 3D cursor and its corresponding shadow. This logical method embodied by processor 101 is described with respect to FIGS. 6-9. In addition to the computer resources discussed above, the present invention utilizes the availability of an operating system and system functions that can display vectors on display device 105. A system funxigin that interfaces with the cursor control bag mi 07 is also desirable, but not necessary. These resources are standard processing components well known in computer technology.

本発明のシステム昏コンポーネントが、最初にパワー・
アップされる時、(代表的には、読出し専用メモリ10
3にありかつプロセッサ101により具体化された)オ
ペレーティング・システムの論理装置は、制御を行〜)
、かつ読出し/書込みメモリ102、ディスプレイ装W
105、カーソル制御装置1107のような他のシステ
ム・コンポーネントを初期化する。その初期化サイクル
の終了において、またはユーザのコマンドに応じて、オ
ペレーティング・システムは3Dカーソルの機能を初期
化する。ユーザによるファンクシジン・キーの活性化に
より初期化される場合、3Dカーソルのプログラム論理
装置は、適当なファンクシ1ンΦキーが活性化される時
、実行を開始する。
The system components of the present invention are initially
(Typically, read-only memory 10
3 and embodied by processor 101), the operating system logic unit (located at 3 and embodied by processor 101) performs control.
, and read/write memory 102, display device W
105, initializing other system components such as cursor control device 1107; At the end of its initialization cycle, or in response to a user command, the operating system initializes the functionality of the 3D cursor. When initialized by activation of a funxisine key by the user, the 3D cursor's program logic begins execution when the appropriate funxisine Φ key is activated.

前述したように、3Dカーソルを活性化する他の装置を
使用してもよい。
As mentioned above, other devices for activating the 3D cursor may be used.

3Dカーソルのプログラム論理装置が一旦活性化される
と、処理の流れが、第6図に示すように“3Dカーソル
およびシャドウ・システムの開始″601において開始
する。最初にディスプレイ装置のハードウェアが初期化
される602゜プログラム論理装置により実行される次
の動作は、オブジェクト・データ構造における定義済み
の全オブジェクトをディスプレイすることである。この
データ構造は、3次元空間において現在ディスプレイさ
れ得る全オブジェクトのデータ定義(頂点、面およびエ
ツジ)を保持する。これらオブジェクトの1つがカーソ
ルである。
Once the 3D cursor program logic is activated, the process flow begins at ``Start 3D Cursor and Shadow System'' 601 as shown in FIG. First, the display device hardware is initialized 602. The next operation performed by the program logic is to display all defined objects in the object data structure. This data structure holds data definitions (vertices, faces, and edges) of all objects that can currently be displayed in three-dimensional space. One of these objects is a cursor.

プログラム論理装置は、第6図におけるブロック603
でループを開始する。このループは、新しい画像メモリ
を初期化し、オブジェクト−データ構造におけるオブジ
ェクトの位置を更新し、カーソル11御装置が移動する
時、各オブジェクトのシャドウをディスプレイする。先
ず、新しい画像メモリが603において消去される。新
しい画像メモリは、新しいディスプレイ舎スクリーンの
画像が構成される一時的バッファである。ディスプレイ
・スクリーンにディスプレイされる各オブジェクトは、
処理されているオブジェクトがそのオブジェクトに関し
て完成される時、新し〜1画像メモリに加えられる。新
しい画像が完全に確立された時、新しい画像メモリはデ
ィスプレイ醗スクリーン0メモリにコピーされ、ディス
プレイ・スクリーンは新し〜)画像をディスプレイする
。新しい画像メモリが消去された後603、シャドウ平
面が新しい画像メモリに描かれる6100 シャドウ平
面4は第2図に示されている。次に、ポインタが初期化
され、オブジェクト・データ構造の上部が示される81
1.各オブジェクトは、処理されるオブジェクトがな(
なるまで605、オブジェクト・データ構造から検索さ
れる604゜全オブジェクトが新しい画像メモリに加え
られた場合607、プログラム制御が第6図におけるD
に転送される。、Dにおいて、新しい画像メモリはデイ
スブレイースクリーン・メモリにコピーされる613゜
その後、ディスプレイ・スクリーン・メモリにおける画
像は、ディスプレイ・スクリーン樟ディスプレイされ6
12、オブジェクトをディスプレイするループはブロッ
クにおいて再び開始する603゜他のオブジェクトがオ
ブジェクト赤データ構造において見つかると606、オ
ブジェクトは検索され604、かつプロセッサ制御は第
7図のAに転送される。
The program logic unit is block 603 in FIG.
Start the loop with . This loop initializes a new image memory, updates the object's position in the object-data structure, and displays each object's shadow as the cursor 11 controller moves. First, the new image memory is erased at 603. The new image memory is a temporary buffer in which the new display screen image is constructed. Each object displayed on the display screen is
When the object being processed is completed for that object, a new ~1 image is added to the memory. When the new image is fully established, the new image memory is copied to the display screen 0 memory and the display screen displays the new image. After the new image memory is erased 603, a shadow plane is drawn 6100 in the new image memory.The shadow plane 4 is shown in FIG. Next, the pointer is initialized and the top of the object data structure is indicated 81
1. Each object has no object to be processed (
605, retrieved from the object data structure 604. If all objects have been added to the new image memory 607, program control returns to D in FIG.
will be forwarded to. , D, the new image memory is copied to the display screen memory 613; then the image in the display screen memory is copied to the display screen memory 613;
12. The loop for displaying objects begins again at block 603. If another object is found in the object red data structure 606, the object is retrieved 604 and processor control is transferred to A in FIG.

第7図のAにおける開始、すなわちシIつ・シャドウ(
Show Shadow)フラッグと呼ばれているブー
ル・フラッグは、最初、誤りに設定される719゜シ四
つ・ンヤドウ・フラッグは、現在のオブジェクトのシャ
ドウをディスプレイすべきか否かを表示する。次に、新
しい変換マトリックスが発生される7010 変換マト
リックスの発生は周知の従来技術である。変換マトリッ
クスは3つの各軸x、  y、  zに沿ったカーソル
制御装置の運動を定義する。この運動は、次に処理ブロ
ック702においてオブジェクト−データ構造の各頂点
に供給される。各頂点の新しい3D位置が計算される時
、位置のY成分は、シャドウ平面のY位置に対して検査
される。オブジェクトのへ1ずれかの頂点がシャドウ平
面の上に配置されている場合703、オブジェクトのシ
ャドウは、プール・シ1つ・シャドウ・フラッグを真に
設定することによりディスプレイするよう信号を送る7
04゜そうでなければ、シャドウはディスプレイされな
い(シ冒つ・シャドウ働フラッグは誤りのままである7
11)。
The start at A in Figure 7, i.e. the shadow (
A Boolean flag called the Show Shadow flag is initially set to false.The Boolean flag indicates whether the current object's shadow should be displayed. Next, a new transformation matrix is generated 7010. Generation of transformation matrices is well known in the art. The transformation matrix defines the movement of the cursor control device along each of the three axes x, y, z. This motion is then provided to each vertex of the object-data structure in processing block 702. When the new 3D position of each vertex is calculated, the Y component of the position is checked against the Y position of the shadow plane. If any vertex of the object is placed above the shadow plane 703, the object's shadow is signaled to be displayed by setting the pool shadow flag to true.
04゜Otherwise, the shadow will not be displayed (the shadow activation flag remains false7)
11).

各頂点に関し、頂点の3D位置は、シャドウ平面にトラ
ンスレートされ705、かつディスプレイするためスク
リーン平面に投影される706゜シャドウ平面へのトラ
ンスレート705は、第5図の点線Aa+  Bb、C
c、Dd (35)に示すように頂点位置のY座標の値
をシャドウ平面のY座標の値に設定することにより実施
される。必要ならば、第11r!!Jに示すように配置
された光源を考慮して角度がつけられている111.ス
クリーン平面への投影706は、前述したようにオブジ
ェクトの頂点とアイ・ポジシーン6を結合するベクトル
とのスクリーン平面5の交差点の位置を計算することに
より実施される。スクリーン平面への各頂点の投影は、
オブジェクト自身(各オブジェクトの頂点)706と、
オブジェクトのシャドウ707(各シャドウの頂点)に
関して計算される。
For each vertex, the 3D position of the vertex is translated 705 to the shadow plane and projected 706 to the screen plane for display.
c, Dd This is carried out by setting the Y coordinate value of the vertex position to the Y coordinate value of the shadow plane, as shown in (35). If necessary, the 11th r! ! 111. which is angled considering the light source arranged as shown in J. The projection 706 onto the screen plane is performed by calculating the position of the intersection of the screen plane 5 with the vector joining the vertices of the object and the eye-posiscene 6, as described above. The projection of each vertex onto the screen plane is
The object itself (the vertex of each object) 706,
It is calculated for the object's shadow 707 (each shadow vertex).

第5図において、カーソル頂点のスクリーン投影点はN
  m、n+  OT  pとして示されている。カー
ソルのシャドウ頂点に関するスクリーン投影点はQ+ 
 1’+  81  jである。スクリーン平面へのオ
ブジェクトおよびシャドウ頂点の投影後、プログラム実
行ループは、オブジェクトに関する全頂点が処理される
まで708、次のオブジェクトの頂点を処理するように
戻る。アイ争ポジシ1ン6がシャドウ平面の下にある場
合709、シャドウはシャドウ平面の下のアイ・ボジシ
1ンからは見えないので、シロウーシャドウーフラッグ
は誤りに設定される717゜アイ・ボジシ、ンがシャド
ウ平面の上にある場合716、シ冒つ・シャドウ−フラ
ッグは前に設定されたままである。処理は、第8図のB
におけるオブジェクト面およびエツジに関して継続され
る。
In Figure 5, the screen projection point of the cursor vertex is N
Denoted as m, n+ OT p. The screen projection point regarding the shadow vertex of the cursor is Q+
1'+81j. After projecting the object and shadow vertices onto the screen plane, the program execution loop returns to processing 708 the next object's vertices until all vertices for the object have been processed. If the eye position 1 is below the shadow plane, the shadow is not visible from the eye position 1 below the shadow plane, so the shadow shadow flag is set to 717°. , 716 is above the shadow plane, the shadow flag remains previously set. The process is shown in B in Figure 8.
continues for object faces and edges in .

各オブジェクトの面は、第8図に示すように処理される
。オブジェクが非ソリッドである場合805、面はな(
、処理課程は第9図のCに進行する。オブジェクトの各
面がシャドウを形成しなくてもいいので、BからCへの
処理ループはオブジェクト会データ構造において規定さ
れた各オブジェクト面に関して実行される。このループ
は、アイ・ポジシロンから面が見えるかどうか、および
面がシャドウ平面にシャドウ領域を形成するかどうかを
決定するのに使用される。最初、現在のオブジェクトの
各面は、オブジェクト会データ構造から検索される80
1゜法線ベクトルがその面に関して計算される802゜
法線ベクトルは、前述したように面の2つのエツジのク
ロス乗積を行うことにより計算される。クロス乗積は、
面に垂直な法線ベクトルを生じる。最初、面の法線ベク
トルは、アイーボジシlンから面が見えるかどうかを決
定するのに使用される810゜面のこの法線ベクトルは
、アイ・ボジシ菖ン6からまっすぐに離れる方向を示し
ている負のベクトルと面の法線ベクトルの点乗積を計算
するのに使用される。この点乗積がゼロより大きい場合
8111 面を見ることができる。この場合には、新し
い画像に面が描かれる813゜面が見えない場合812
、新しい画像には面が描かれない。
The faces of each object are processed as shown in FIG. If the object is non-solid 805, the surface is (
, the process proceeds to step C in FIG. Since each face of the object does not have to form a shadow, the processing loop from B to C is performed for each object face defined in the object group data structure. This loop is used to determine whether the surface is visible from the eye positilon and whether the surface forms a shadow region in the shadow plane. Initially, each facet of the current object is retrieved from the object group data structure 80
A 1° normal vector is calculated for the surface.The 802° normal vector is calculated by performing a cross product of the two edges of the surface as described above. The cross product is
yields a normal vector perpendicular to the surface. Initially, the normal vector of the surface is 810°, which is used to determine whether the surface is visible from the eye surface. This normal vector of the surface points straight away from the eye surface 6. It is used to calculate the dot product of a negative vector and a surface normal vector. If this dot product is greater than zero, 8111 planes can be seen. In this case, if the 813° surface is not visible in the new image, 812
, no faces are drawn in the new image.

次に、面シャドウが処理される。ン1つ・シャドウ−フ
ラッグが真の場合815、面に関するシャドウ処理は第
8図のEに示すように継続される。
Next, surface shadows are processed. If the one shadow flag is true 815, shadow processing for the surface continues as shown in FIG. 8E.

シ鍍つ・シャドウ−フラッグが誤りの場合816、制御
は第8図のBにおける次の面に関する処理課程に進行す
る。第8図のEにおけるシャドウ処理に関し、光源11
0からまっすぐ離れる方向を示す負のベクトルと面の法
線ベクトルの点乗積を計算するのに813、面の法線ベ
クトルが使用される。この点乗積がゼロより大きい場合
807、面は陰をつける。この場合、シャドウ領域は、
前に計算されたこの面に関するスクリーンに投影された
シャドウ頂点を用いて描かれる。シャドウ領域の色また
は照度は、オブジェクト・データ構造において定義済み
である。前に計算されたように、ゼロまたは負の点乗積
806を有する面のシャドウ領域は描かれない。各面が
処理される場合809、第9図のCにおいてエツジ処理
課程が開始される。
If the image shadow flag is incorrect 816, control passes to the next plane at FIG. 8B. Regarding the shadow processing at E in FIG. 8, the light source 11
The surface normal vector is used to calculate 813 the dot product of a negative vector pointing straight away from zero and the surface normal vector. If this dot product is greater than zero 807, the surface is shaded. In this case, the shadow area is
It is drawn using the previously calculated shadow vertices projected onto the screen for this face. The color or illumination of the shadow area is predefined in the object data structure. As previously calculated, shadow areas of surfaces with zero or negative dot product 806 are not drawn. If each side is to be processed 809, the edge processing process begins at C in FIG.

各オブジェクトのエツジは第9図に示すような別の処理
課程を必要とする。前述したように、少なくとも2N類
、すなわちソリッドと非ソリッドのオブジェクトがある
。また、ソリッドφオブジェクトには少なくとも2種類
、すなわち不透明な面のオブジェクトと透明な面のオブ
ジェクトがある。不透明な面のソリッドΦオブジェクト
の場合、シャドウが着色または陰をつけたシャドウ領域
により描かれるので、エツジのシャドウは描かれな(で
もいい。この場合906、プログラムの実行は第6図の
Dに戻る。非ソリッドまたは透明な面のソリッド・オブ
ジェクトの場合、オブジェクトOシャドウが見えないの
で、エツジのシャドウが描かれなければならない907
゜したがって、第9図に示すようにオブジェクトのデー
タ構造に定義されたオブジェクトの各エツジがオブジェ
クト・データ構造から検索される場合、新しいディスプ
レイ画像にエツジが描かれる912゜シeつ・シャドウ
・フラッグが真の場合909、エツジのシャドウがディ
スプレイ画像に描かれる904゜前に計算された投影さ
れたシャドウ頂点を用いて、エツジのシャドウが描かれ
る。各エツジが処理された場合9101 プログラムの
実行は、オブジェクトの処理課程が新しいカーソル位置
に関して再び開始する第6図のDに戻る。
Each object edge requires a separate processing step as shown in FIG. As mentioned above, there are at least 2N classes, ie, solid and non-solid objects. Furthermore, there are at least two types of solid φ objects: objects with opaque surfaces and objects with transparent surfaces. For solid Φ objects with opaque surfaces, shadows are drawn by colored or shaded shadow areas, so edge shadows are not drawn (which is fine; in this case, 906, the program runs in Figure 6D) Back. For solid objects with non-solid or transparent faces, the object O shadow is not visible, so edge shadows must be drawn 907
Therefore, if each edge of an object defined in the object data structure is retrieved from the object data structure as shown in FIG. If is true 909, then the edge's shadow is drawn using the projected shadow vertices calculated 904° before the edge's shadow is drawn on the display image. Once each edge has been processed 9101, program execution returns to FIG. 6D where the processing of the object begins again with respect to the new cursor position.

以上のように、本発明について実施例に基ずいて述べて
きたが、本発明はこれら実施例に限定されないことは明
白であろう。
As mentioned above, although the present invention has been described based on examples, it is clear that the present invention is not limited to these examples.

【図面の簡単な説明】[Brief explanation of drawings]

jFIIiliffは活性化後ディスプレイ・スクリー
ンにディスプレイされたシャドウを伴う3次元カーソル
を示し、第2図は規定された頂点および軸を有する3次
元カーソルおよびシャドウを示し、第3図はワイヤOフ
レーム・オブジェクトとして描かれた3次元カーソルお
よびシャドウを示し、第4図はx−2平面におけるシャ
ドウを示し、第5図はY−2におけるシャドウとカーソ
ルを示し、第6図乃至第9図は本発明を実現した代表的
なコンピュータ・プログラムのフローチャートを示し、
第10図はコンピュータ・システムのアーキテクチェア
を示し、第11図はY軸に対しである角度で配置された
光源を伴うY−Z平面におけるシャドウとカーソルを示
している。 2・会・・カーソル、3拳・・・カーソル・シャドウ、
4・・・・シャドウ平面、5・・・・スクリーン平面、
6II @ @ @アイ・ポジシロン、100・・・拳
バス、 101・・@−プロセッサ、102・・・・ラ
ンダム・アクセス・メモリ、103・・・・読出し専用
メモ1ハ 104・・−・データ記憶装置、105・―
・・ディスプレイ装置、106IIIIll・欧数字入
力装置、107・@Q・カーソル制御装置、108・・
Φ・信号発生装置。
jFIIiliff shows a three-dimensional cursor with shadow displayed on the display screen after activation, FIG. 2 shows a three-dimensional cursor and shadow with defined vertices and axes, and FIG. 3 shows a wire O-frame object. 4 shows a shadow in the x-2 plane, FIG. 5 shows a shadow and a cursor in Y-2, and FIGS. 6 to 9 illustrate the present invention. A flowchart of a typical computer program realized is shown,
FIG. 10 shows the architecture of the computer system, and FIG. 11 shows the shadow and cursor in the Y-Z plane with a light source positioned at an angle to the Y-axis. 2. Meeting...Cursor, 3 fists...Cursor shadow,
4...Shadow plane, 5...Screen plane,
6II @ @ @ Eye Posisilon, 100...Fist bus, 101...@-Processor, 102...Random access memory, 103...Read-only memo 1c 104...Data storage Device, 105.-
・・Display device, 106IIIll・European numeral input device, 107・@Q・Cursor control device, 108・・
Φ・Signal generator.

Claims (3)

【特許請求の範囲】[Claims] (1)プロセッサと、上記プロセッサに接続したデータ
・ディスプレイ・スクリーンと、上記プロセッサに接続
し、上記ディスプレイ・スクリーンにおいてカーソルを
対話的に配置するカーソル制御装置とを有する対話形コ
ンピュータ制御ディスプレイ装置における、上記カーソ
ルに関連したシャドウのディスプレイを制御する方法に
おいて、 上記カーソル制御装置の3次元運動に応じた位置を有し
かつ少なくとも1つのエッジを有するカーソルを、上記
データ・ディスプレイ・スクリーン上に発生しかつディ
スプレイする過程と、光ベクトルに沿って2次元シャド
ウ平面に投影された上記カーソルのエッジに対応するエ
ッジを有しかつ上記カーソル制御装置の3次元運動に応
じた位置を有している、上記カーソルに関連したシャド
ウを、上記ディスプレイ・スクリーン上に発生しかつデ
ィスプレイする課程と、 から成ることを特徴とするカーソルに関連したシャドウ
のディスプレイを制御する方法。
(1) An interactive computer-controlled display device having a processor, a data display screen connected to the processor, and a cursor control device connected to the processor for interactively positioning a cursor on the display screen, The method of controlling the display of a shadow associated with the cursor includes generating on the data display screen a cursor having a position responsive to three-dimensional movement of the cursor control device and having at least one edge; displaying the cursor, the cursor having an edge corresponding to an edge of the cursor projected onto a two-dimensional shadow plane along a light vector and having a position responsive to three-dimensional movement of the cursor control device; generating and displaying a shadow associated with a cursor on the display screen;
(2)プロセッサと、上記プロセッサに接続したデータ
・ディスプレイ・スクリーンと、上記プロセッサに接続
し、少なくとも1つのエッジを有するカーソルを上記デ
ィスプレイ・スクリーンにおいて対話的に配置するカー
ソル制御装置とを有する対話形コンピュータ制御ディス
プレイ装置において、 上記プロセッサに接続し、上記カーソル制御装置の3次
元運動に応じた位置を有するカーソルを上記データ・デ
ィスプレイ・スクリーン上に発生しかつディスプレイす
る装置と、 上記プロセッサに接続し、光ベクトルに沿って2次元シ
ャドウ平面に投影された上記カーソルのエッジに対応す
るエッジを有しかつ上記カーソル制御装置の3次元運動
に応じた位置を有している、上記カーソルに関連したシ
ャドウを、上記ディスプレイ・スクリーン上に発生しか
つディスプレイする装置と、 からなることを特徴とする対話形コンピュータ制御ディ
スプレイ装置。
(2) an interactive device having a processor, a data display screen connected to the processor, and a cursor control device connected to the processor for interactively positioning a cursor having at least one edge on the display screen; a computer-controlled display device connected to the processor for generating and displaying a cursor on the data display screen having a position responsive to three-dimensional movement of the cursor control device; a shadow associated with said cursor having an edge corresponding to an edge of said cursor projected onto a two-dimensional shadow plane along a light vector and having a position responsive to three-dimensional movement of said cursor control device; , and a device for generating and displaying on said display screen.
(3)プロセッサと、上記プロセッサに接続したデータ
・ディスプレイ・スクリーンとを有する対話形コンピュ
ータ制御ディスプレイ装置における、オブジェクトに関
連したシャドウのディスプレイを制御する方法において
、 少なくとも1つのエッジを有するオブジェクトを、上記
データ・ディスプレイ・スクリーン上に発生しかつディ
スプレイする課程と、 光ベクトルに沿って2次元シャドウ平面に投影された上
記オブジェクトのエッジに対応するエッジを有している
、上記オブジェクトに関連したシャドウを、上記ディス
プレイ・スクリーン上に発生しかつディスプレイする課
程と、 から成ることを特徴とする、オブジェクトに関連したシ
ャドウのディスプレイを制御する方法。
(3) A method for controlling the display of a shadow associated with an object in an interactive computer-controlled display device having a processor and a data display screen connected to the processor, comprising: generating and displaying a shadow associated with said object on a data display screen, having an edge corresponding to an edge of said object projected onto a two-dimensional shadow plane along a light vector; A method for controlling the display of a shadow associated with an object, comprising the steps of: generating and displaying on said display screen.
JP2304237A 1989-11-13 1990-11-13 Computer control display method and apparatus Pending JPH03211686A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43555389A 1989-11-13 1989-11-13
US435.553 1989-11-13

Publications (1)

Publication Number Publication Date
JPH03211686A true JPH03211686A (en) 1991-09-17

Family

ID=23728856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2304237A Pending JPH03211686A (en) 1989-11-13 1990-11-13 Computer control display method and apparatus

Country Status (5)

Country Link
JP (1) JPH03211686A (en)
AU (1) AU632628B2 (en)
CA (1) CA2028902A1 (en)
FR (1) FR2654530B1 (en)
GB (1) GB2238215B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816137A (en) * 1994-06-29 1996-01-19 Nec Corp Three-dimensional coordinate input device and cursor display control system
JP2010505175A (en) * 2006-09-29 2010-02-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 3D linked shadow mouse pointer

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2558984B2 (en) * 1991-03-12 1996-11-27 松下電器産業株式会社 3D information conversation system
SE519661C2 (en) * 1996-02-23 2003-03-25 Immersion Corp Pointing devices and method for marking graphic details on a display with sensory feedback upon finding said detail
US6166718A (en) * 1996-06-18 2000-12-26 Konami Co., Ltd. Video game system with vertical array of cursor images
JP4612031B2 (en) * 2007-09-28 2011-01-12 株式会社コナミデジタルエンタテインメント Image generating apparatus, image generating method, and program
US9324183B2 (en) 2011-11-29 2016-04-26 Apple Inc. Dynamic graphical interface shadows
US9372593B2 (en) 2011-11-29 2016-06-21 Apple Inc. Using a three-dimensional model to render a cursor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897806A (en) * 1985-06-19 1990-01-30 Pixar Pseudo-random point sampling techniques in computer graphics
CA1317041C (en) * 1987-12-24 1993-04-27 Ncr Corporation Apparatus for creating a cursor pattern by strips related to individual scan lines
GB2220826A (en) * 1988-07-06 1990-01-17 British Aerospace A force/torque display for robotic arm
GB2223384B (en) * 1988-07-14 1992-05-06 Daikin Ind Ltd Method and apparatus for applying shadowing operation to figures to be drawn for displaying on crt-display
JPH0727581B2 (en) * 1988-09-09 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション Graphic processing device
WO1990005356A1 (en) * 1988-11-04 1990-05-17 Wang Laboratories, Inc. Computer input device using an orientation sensor
JPH03161792A (en) * 1989-11-20 1991-07-11 Fanuc Ltd Three-dimensional cursor and offline programming system using this cursor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816137A (en) * 1994-06-29 1996-01-19 Nec Corp Three-dimensional coordinate input device and cursor display control system
JP2010505175A (en) * 2006-09-29 2010-02-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 3D linked shadow mouse pointer

Also Published As

Publication number Publication date
FR2654530A1 (en) 1991-05-17
AU6455390A (en) 1991-05-16
GB9023830D0 (en) 1990-12-12
AU632628B2 (en) 1993-01-07
GB2238215A (en) 1991-05-22
FR2654530B1 (en) 1995-06-30
GB2238215B (en) 1994-05-11
CA2028902A1 (en) 1991-05-14

Similar Documents

Publication Publication Date Title
US5583977A (en) Object-oriented curve manipulation system
US6229542B1 (en) Method and apparatus for managing windows in three dimensions in a two dimensional windowing system
JP3240157B2 (en) Method of operating a system for generating a control perception of movement of an object in a three-dimensional working area
US7382374B2 (en) Computerized method and computer system for positioning a pointer
JPH10283158A (en) Stereoscopic display device for window and method therefor
JP2000322172A (en) Three-dimensional display of two-dimensional window on computer screen
Himperich Applications in augmented reality in the automotive industry
JP3981431B2 (en) Method and apparatus for controlling shadow shape on a computer display screen
JP4756899B2 (en) Information processing apparatus and information processing method
JP2012190428A (en) Stereoscopic image visual effect processing method
JPH11328441A (en) Graphics display control method and computer graphics
JPH02183384A (en) Clipping of object displayed on computer display device
US6828962B1 (en) Method and system for altering object views in three dimensions
JPH03211686A (en) Computer control display method and apparatus
JP2003115055A (en) Image generator
US20020012013A1 (en) 3-dimensional model-processing apparatus, 3-dimensional model-processing method and program-providing medium
US6144382A (en) Three-dimensional arrow for computer graphics
Wu et al. Picking and snapping for 3d input devices
JPH06215150A (en) Three-dimensional image display device
US6377256B1 (en) Assisted camera orientation and positioning during object manipulation in a three-dimensional scene
JP2001266175A (en) Device/method for processing three-dimensional model and program providing method
WO1995011482A1 (en) Object-oriented surface manipulation system
JP3356617B2 (en) Moving view in three-dimensional space
JPH02150975A (en) Drawing display system
WO1995011480A1 (en) Object-oriented graphic manipulation system