`
`(12)
`
`Europaisches Patentamt
`
`European Patent Office
`
`Office européen des brevets
`
`LNAI
`(11)
`EP 0 856 786 A2
`
`EUROPEAN PATENT APPLICATION
`
`(43) Date of publication:
`05.08.1998 Bulletin 1998/32
`
`(21) Application number: 98300128.0
`
`(22) Date offiling: 08.01.1998
`
`(84) Designated Contracting States:
`AT BE CH DE DK ES FI FRGBGRIEITLILU MC
`NL PT SE
`
`Designated Extension States:
`AL LT LV MK RO SI
`
`(30) Priority: 04.02.1997 JP 21452/97
`03.06.1997 JP 144818/97
`
`(71) Applicant: FUJITSU LIMITED
`Kawasaki-shi, Kanagawa 211-8588 (JP)
`
`(51) intcl.&: GO6F 3/023
`
`
`
`(72) Inventors:
`* Negishi, Hisashi
`1405, Oaza Omaru, Inagi-shi, Tokyo 206 (JP)
`* Tsuchi, Yasuhiko
`1405, Oaza Omaru, Inagi-shi, Tokyo 206 (JP)
`* Nakagaki, Yoshihiro
`1405, Oaza Omaru, Inagi-shi, Tokyo 206 (JP)
`
`(74) Representative: Stebbing, Timothy Charlesetal
`Haseltine Lake & Co.,
`Imperial House,
`15-19 Kingsway
`London WC2B 6UD (GB)
`
`(54)
`
`WindowDisplaying apparatus and method
`
`‘In the window system, patterns of windows,
`(57)
`icons, buttons, and so forth are defined in a body coor-
`dinate system. The window system has definition data
`for a process corresponding to a button and so forth.
`The definition data has a displaying portion including a
`display command for displaying a window and soforth.
`The displaying portion causes a window (30,31,32) and
`so forth to be displayed on a display unit (40) corre-
`sponding to designated coordinate values. The display-
`ing portion has a three-dimensional displaying portion
`that rearranges each object from the body coordinate
`system to the world coordinate system corresponding
`to designated coordinate values and projects the result-
`ant object (30,31,32) on a screen at a designated view
`point. The three-dimensional displaying portion supplies
`coordinate values for three-dimensionally displaying the
`object to the displaying portion.
`
`
`
`SCREEN 40
`f
`
`
`WINDOW32
`
`WINDOW
`31
`
`WINDOW
`30
`
`
`
`SOE
`
`EP0856786A2
`
`5
`TOOL ICON 41
`
`FIG. 5
`
`Printed by Jouve, 75001 PARIS (FR)
`
`1
`
`APPLE 1015
`
`1
`
`APPLE 1015
`
`
`
`Description
`
`EP 0 856 786 A2
`
`The present invention relates to a system for displaying windows of a window system in a virtual space (e.g. three-
`dimensional space) and to a methodthereof.
`As process performance of information processing units has been improved, various window systems have been
`used.
`|n particular, as the processing power of personal computers has been improved, graphics-based operating
`environments have been provided as window systemsfor personal computers used by end users. Thus, a user-friendly
`interface is provided for novice users who are not familiar with operating systems.
`Figs. 1A and 1B are schematic diagrams showing examples of windows displayed on screens, In a conventional
`window system, windows are two-dimensionally displayed on a screen 110 of a display unit. In Fig. 1A, windows 111,
`112, and 113 are opened on the screen 110. However, the windows 111, 112, and 113 overlap with each other. The
`window 111 that the user is currently using is displayed as the top windowonthe screen 110. The other windows 112
`and 113 are placed behind the window 111. When the user wants to use the window 112 or 113, he or she should click
`it or perform a predetermined operation so as to cause the window 112 or 113 to be displayed as the top window on
`the screen 110.
`Whenthe user wants to move aniconor the like from window 111 to another window, he or she should movethe
`window 112 or 113 so that it does not overlap with window 111. Thereafter, the user causes the icon or the like to be
`displayed and movesit between the windows.
`Thus, when windowsare two-dimensionally displayed on the screen 110, they tend to overlap with each other. To
`display a window hidden behind another window, the hidden window should be moved.In particular, when the top
`window 111 is displayed in a large size, even if the windows 112 and 113 are moved, it is impossible to display all the
`icons in the windows 112 and 113 at the same time. Thus, in a window operating system with a multi-tasking environ-
`ment, unnecessary windows that are not currently being used should be reduced to an icon so that the necessary
`window can be displayed in the full screen size. Thus, windows should be operated one after the other.
`On the other hand, a system that displays unnecessary windowsas inclined windows has been proposed. This
`system suppresses windows from overlapping with each other so that many windowsare displayed at the same time.
`Fig. 1B shows an example of a display screen of such a system.
`Referring to Fig. 1B, three windows 114, 115, and 116 are displayed on the screen 110. The window 114 is displayed
`on the screen 110 in the same manner as the window 111 shownin Fig. 1A. However, the windows 115 and 116 are
`inclined so that they do not overlap with each other. Thus, these windows 115 and 116 are displayed asif they were
`placedin a three-dimensional space. In addition, the overlappedportion of the windows can be minimized. Thus, icons
`and so forth displayed on individual windows can be operated at the sametime.
`As well as window definition data with which the window 114 is displayed, this system has window definition data
`with which the inclined windows 115 and 116 are displayed. When necessary, the windowdefinition data with which
`the inclined windowsare displayed is used,
`This system has been disclosed as Japanese Patent Laid-Open Publication No. 6-186948.
`In the window system as shown in Fig. 1A, when many windows overlap with each other or a large window is
`displayed above another window,it is difficult to select a file in the hidden window.In addition, it is difficult to observe
`the content of the hidden window.
`
`10
`
`1S
`
`20
`
`25
`
`30
`
`35
`
`40
`
`IB, although windows are apparently displayed three-
`in the window system shown in Fig.
`On the other hand,
`dimensionally, they are only inclined windows. Thus, when inclined windows overlap with each other, there are the
`same drawbacks as those with the system shown in Fig. 1A.
`An embodiment of the present invention may provide a three-dimensional windowdisplaying system that allows
`the user to observe an overlappedportion of windows from a different view point.
`45
`A first aspect of the presentinvention is a window displaying apparatus for displaying a window onadisplay means,
`comprising a window placing meansfor placing the windowdisplayed on the display means in a virtual space, and an
`image generating means for generating an image of the window viewed from a view point freely designated, wherein
`the image generated by the image generating means is displayed on the display means.
`A second aspect of the present invention is a window displaying apparatus for displaying a window on a display
`means, comprising a virtual distance defining meansfor defining a virtual distance to the window displayed on the
`display means, and an image generating means for generating an image of the window whose virtual distance has
`been defined by the virtual distance defining means, the image being viewed from a view point freely designated,
`wherein the image generated by the image generating meansIs displayed on the display means.
`According to an embodiment of the present invention, a plurality of windows with an operation button can be
`displayed. When an overlappedportion of the windows hides a portion of a particular window, the user can observe
`the window from a different view point and operate an operation button in the window.
`A third aspectof the present invention is a windowdisplaying methodfor displaying a window on a display means,
`comprising the steps of placing the windowdisplayed on the display meansin a virtual space, generating an image of
`
`50
`
`5S
`
`
`
`EP 0 856 786 A2
`
`the window placed at the windowplacing step, the image being viewed from a view point freely designated, and dis-
`playing the image generated at the image generating step on the display means.
`A fourth aspectof the presentinvention is a window displaying method for displaying a window ona display means,
`comprising the steps of defining a virtual distance to the window displayed on the display means, and generating an
`image of the window whose virtual distance has been defined at the virtual distance defining step, the image being
`viewed from a view point freely designated.
`A fifth aspect of the present invention is a method for displaying a window on a display means anddisplaying an
`operation button on the window, comprising the steps of defining a virtual distance to the window displayed on the
`display means, and generating an imageof the window whosevirtual distance has been definedatthe virtual distance
`defining step, and an image of the operation button.
`According to the methodof the present invention, a plurality of windows with an operation button can be displayed.
`When an overlapped portion of the windows hides a portion of a particular window, the user can observe the window
`from a different view point and operate an operation button on the window.
`A sixth aspect of the present invention is a storage medium from which a computer that displays a window on a
`display means reads data that causes the computer to perform the functions of placing the window displayed on the
`display means in a virtual space, generating an image of the windowplaced by the window placing function, the image
`being viewed from a view point freely designated, and displaying the image generated by the image generating function
`on the display means.
`A seventh aspect of the present invention is a storage medium from which a computer that displays a window on
`a display means reads data that causes the computer to perform the functions of defining a virtual distance to the
`window displayed on the display means, and generating an image of the window whosevirtual distance has been
`defined by the virtual distance defining function, the image being viewed from a view point freely designated.
`An eighth aspect of the present invention is a storage medium from which a computer that displays a window on
`a display means and displays an operation button on the window reads data that causes the computer to perform the
`functions of defining a virtual distance to the window displayed on the display means, and generating an imageof the
`window whosevirtual distance has been definedbythe virtual distance defining function, and an imageof the operation
`button.
`
`10
`
`1S
`
`20
`
`25
`
`According to the computer that reads data causing the computer to perform such functions, a plurality of windows
`with an operation button can be displayed. When an overlappedportion of the windows hidesa portion of a particular
`30
`window, the user can observe the windowfromadifferent view point and operate an operation button on the window.
`According to the present invention, windows and other objects that are conventionally defined on a plane are
`arranged in a virtual space (n-dimensional space)and projected on a plane. Thus, windowscan be three-dimensionally
`displayed, for example.
`In particular, when the position of a view point from which windows and other objects are projected in a virtual
`three-dimensional space is determined, the windowsandthe other objects can be displayed as if the user observes
`them from a different view angle.
`Thus, the user can observe a particular window hidden behind other windows by changing his or her view point. Although
`the windowsandother objects are three-dimensionally displayed, methods for processes corresponding to operations
`are not changed. Thus, operations that are performed in the conventional window system can be performed on three-
`dimensional windows.
`
`35
`
`40
`
`Reference is made, by way of example, to the accompanying drawings in which:-
`
`45
`
`50
`
`5S
`
`Figs. 1A and 1B are schematic diagrams showing examples of windows displayed on screens of conventional
`window systems;
`Fig. 2 is a schematic diagram showing the structure of hardware of a system embodying the present invention;
`Fig. 3 is a schematic diagram showing the concept of a system embodying the present invention;
`Fig. 4 is a schematic diagram showing an example of an arrangement of windowsin a virtual three-dimensional
`space;
`Fig. 5 is a schematic diagram showing an example of a screen that three-dimensionally displays windowsin the
`case that the user can observe a portion hidden behind windows by changing his or her view point;
`Fig. 6 is a flowchart showing a process for placing a clicked window as the top window;
`Figs. 7A to 7C are schematic diagrams showing data changed corresponding to the process shownin Fig. 8;
`Figs. 8A and 8B are schematic diagrams showing definition and data structure of a window in body coordinate
`system;
`Fig. 9 is a schematic diagram showing an example of an arrangement of windowsin world coordinate system;
`Figs. 10A and 10B are schematic diagrams for explaining a methodfor obtaining projected images of windows on
`a screen in the case that the user observes the windowsfrom a particular view point;
`Figs. 11A and 11B are schematic diagrams for explaining a real example of the method described with reference
`
`
`
`EP 0 856 786 A2
`
`to Figs. 8A to 10B; and
`Fig. 12 is a flowchart showing a process for three-dimensionally displaying windows described with reference to
`Figs. 8A to 10B.
`
`Fig. 2 is a schematic diagram showing the structure of hardware of a system embodying the present invention. It
`should be noted that as long as the system is an information terminal unit (for example, a personal computer) that has
`hardware to which a window system can beinstalled, the system according to the present invention is notlimited to
`the structure shownin Fig. 2.
`As the structure of the hardware, the system has a CPU 10 that performs various calculations. A bus 18 is connected
`to the CPU 10. In addition, an inputting/outputting unit 11, a ROM 12, a RAM 13, a storing unit 14, a communication
`port 16, and a storage medium reading unit 15 are connected to the bus 18.
`The inputting/outputting unit 11 is composed of, for example, a keyboard and a display unit. In particular, to use
`the window system, the inputting/outputting unit 11 normally includes a mouse.
`The ROM 12 stores a basic input/output system such as BIOS. When operation of the system shownin Fig. 2 is
`started, the CPU 10 reads the BIOS from the ROM 12 and executesit. Thus, the CPU 10 can input/output information
`from/to the inputting/outputting unit 11. The BIOS causes commandsto be sent to the GPU 10 and calculated results
`from the CPU 10 to be exchanged with the inputting/outputting unit 11 as a user interface. If the BIOS is destroyed,
`the user cannot normally use the apparatus. To prevent the BIOS from being destroyed and over-written, it is stored
`in the ROM 12.
`
`10
`
`1S
`
`Various application prograrns such as the window system are read to the RAM 13. When the CPU 10 executes
`the application programs, the user can use them. When the application programs are not used, they are stored in the
`storing unit 14 or the storage medium 17. When necessary, the application programs are read to the RAM 13 and
`executed by the CPU 10.
`The storing unit 14 is composedof, for example, a hard disk drive and a hard disk. The storing unit 14 is normally
`disposedin the apparatus. The storing unit 14 stores the operating system and various application programs. As de-
`scribed above, when the operating system and various application programs are executed, they are read to the RAM
`13 and executed by the CPU 10.
`The storage medium reading unit 15 is a unit that reads data from the storage medium 17 that is removable and
`portable. The storage medium reading unit 15 is, for example, a floppy disk drive or a CD-ROM drive. The storage
`medium 17 is, for example, a floppy disk or a CD-ROM. As with the storing unit 14, the storage medium 17 stores an
`operating system and various application programs. However, unlike with the storing unit 14, the storage medium 17
`can be removed from the storage medium reading unit 15 and is portable. An operating system and an application
`program can betransferred (sold) with a storage medium 17. Thus, the system according to the present invention can
`be stored on a storage medium 17 and supplied toathird party.
`35
`The communication port 16 connects various peripheral units so as to expandthe functions of the apparatus. For
`example, a printer, ascanner, and/orasimilar unit can be connected to the communication port 16. Adocument created
`by an application program can be printed by the printer. The scanner converts an image and/or a text read from a
`printed item into digital data as an electronic document. The digital document can be edited by a word-processing
`program. A modem can be connected to the communication port 16 so that the user can use a network such as the
`Internet.
`In this case, various application programs can be downloaded from a network such as the Internet. The
`application programs can be stored in the storing unit 14 and then executed. Thus, the system according to the present
`invention can be suppliedto individual users through a network.
`Fig. 3 is a schematic diagram showing the concept of a system embodying the present invention.
`A window system (in particular, a window operating system) is composed of various objects. Windowsdisplayed
`on the screen are composed as objects. Ilcons and buttons are also composed as objects and displayed on the screen.
`Patterns and so forth of such objects are defined on a two-dimensional plane termed a body coordinate system. Each
`objectincludes a display commandfor displaying the object on the screen. With the display command, a pattern defined
`in the body coordinate system is displayed in a display coordinate system of the screen.
`A pattern defined in the body coordinate system is treated as a block. In the body coordinate system, for example,
`the center of gravity of a pattern is defined as the origin. Any position on the pattern in the body coordinate system is
`defined with relative coordinates to the center of gravity. When the coordinates of the center of gravity are designated,
`the coordinates of each point of the pattern are automatically converted and the pattern is displayed at a predetermined
`position on the screen.
`Ina preferred embodiment, so as to three-dimensionally display windows, icons thereon, and so forth, before they
`are displayed on the screen of the display unit, patterns thereof defined in the body coordinate system are placed in
`the three-dimensional world coordinate system by a predetermined method. With a view point designated, the coordi-
`nates of the patterns are geometrically converted in such a manner that the patterns at the view point are projected to
`a screen plane defined in the world coordinate system. Thus, the windows and other objects placedin the world co-
`
`20
`
`25
`
`30
`
`40
`
`45
`
`50
`
`5S
`
`
`
`EP 0 856 786 A2
`
`10
`
`1S
`
`ordinate system are three-dimensionally displayed. Consequently, when the user changes the view point, he or she
`can observe a portion hidden behind another window.
`To do that, the window system is composed of a window system main body and a displaying portion. The window
`system main body has definition data for various patterns and definition data for processes corresponding to individual
`buttons. The displaying portion has display commands for displaying the patterns on the screen. The displaying portion
`converts patterns of windowsand soforth into the coordinates on the display unit so as to display them on the screen.
`In a preferred embodiment, the displaying portion has a three-dimensional display unit that converts two-dimen-
`sional coordinates into three-dimensional coordinates so as to three-dimensionally display windows and soforth.
`As described above, since windowsare three-dimensionally displayed by geometrically converting coordinate val-
`ues supplied to the displaying portion of the window system, methods and soforth of objects defined in the window
`system main body are not changed. Thus, even if windows and icons are three-dimensionally displayed, the icons can
`be operated in the same manner asthoseof the conventional window system.
`Fig. 4 shows an example of an arrangementof windowsin a virtual three-dimensional space.
`As shownin Fig. 4, windows 30, 31, and 32 overlap with each other. Parts of the rear windowsare hidden behind
`front windows. At this point, patterns of the windows30, 31, and 32 are defined in the two-dimensional body coordinate
`system. By applying the present invention, the patterns in the body coordinate system are not directly displayed on
`the screen, but temporarily re-defined in a virtual space, in this case a 3-D co-ordinate system. At this point, individual
`windowsare defined at respective positions with a predetermined distance between each of them.
`In other words, windows 30 and 31 are defined at respective positions that are a distance d apart in a virtual three-
`dimensional space. Likewise, windows 31 and 32 are defined at respective positions that are the distance d apart. To
`be concrete, the patterns of the windows 30, 31, and 32 are defined on respective xy planesthat are the distance d
`apart in the z axis direction of the three-dimensional coordinate system.
`Whenthe windows 30, 31, and 32 are placed at the distance d apart from each other, by changing the position of
`the view point of the windows30, 31, and 32, the user can observepart of the window 31 hidden behind the top window
`30 or part of the window 32 hidden behind the window 31.
`The user can freely set the position of the view point. For example, an indication that represents the position of
`the view point is displayed on the screen of the display unit. By a suitable operation, the user can change the position
`of the view point. Alternatively, when the user drags the mouse cursor in a predetermined direction, the position of the
`view point is moved in the draggeddirection or the reverse direction thereof. Thus, the windowscan be displayed from
`the view point position that the user has set. At this point, the position of the view point can be movedin various
`directions (such asleft, right, up, down, and diagonaldirections).
`Likewise, icons displayed on windowsare definedinavirtual three-dimensional space. At this point, the icons are
`defined at the same positions on the z axis as those of the windows. !n other words, three-dimensional coordinates of
`icons displayed on the window 30 are defined so that the icons have the same z coordinate as the window 30. The z
`coordinate of the icons displayed on the window 31 are defined at a position the distance d apart along the z axis from
`the window 30. Likewise, the icons displayed on the window 32 are defined at positions the distance d apart along the
`Z axis.
`
`20
`
`25
`
`30
`
`35
`
`When patterns such as windowsand icons defined in the body coordinate system are temporarily re-defined to a
`virtual three-dimensional coordinate system (world coordinate system), they can be displayed as three-dimensional
`windows.
`
`40
`
`45
`
`Fig. 5 shows an example of a screen that three-dimensionally displays windows of which the user can observe a
`portion hidden behind upper windows by changing the position of the view point.
`In Fig. 5, a window 30 is placed at the top plane (closest to the view point). Windows 31 and 32 are placed on
`planes farther away than the window 30. The view point of the windows30, 31, and 32 is designated at a left diagonal
`position thereof rather than the front position thereof.
`A tool icon portion 41 is displayed at a lower portion of a screen 40. The tool icon portion 41 has buttons for
`controlling windows and soforth. Although the tool icon portion 41 composes the window system, since the tool icon
`portion 41 does not overlap with other objects, it is not necessary to three-dimensionally display the tool icon portion
`41. Thus, the tool icon portion 41 is normally displayed, not re-defined in the virtual three-dimensional space (world
`coordinate system).
`On the other hand, since the windows30, 31, and 32 are opened onthe screen 40in sizes that the user can easily
`handle, they tend to overlap with each other. In addition, the user should operate icons displayed on the windows 30,
`31, and 32. Thus, it is useful to decrease the overlapped portion of the windows 30, 31, and 32 and displayall data on
`the windows 30, 31, and 32 at the same time. Consequently, with a system embodying the present invention, the
`windows 30, 31, and 32 are three-dimensionally displayed.
`By means of the present invention, the position of the view point of the windows 30, 31, and 32 can befreely set.
`Thus, the windows 30, 31, and 32 can be observed fromaright diagonal position of the screen, an upper position
`thereof, or a lower position thereof. However, since the windows can be moved onthe planeof the screen, itis sufficient
`
`50
`
`5S
`
`
`
`EP 0 856 786 A2
`
`10
`
`1S
`
`20
`
`25
`
`to designate only the left and right directions as necessary directions of the view point.
`To display windows and icons thereonthat -the user observesin a diagonal direction, it is necessary to modifybit
`mapsof the individual patterns. Thus, based on the position of the center of gravity of each pattern developed witha
`bit map, the relative position of the pattern should be calculated for each bit and converted in the world coordinate
`system.
`Fig. 6 is a flowchart showing a process for moving a clicked windowto the front of the screen as a top window.
`Whenthe user clicks a window, the system determines whether or not the clicked window is the top window (at
`step S1). When the determined result at step $1 is Yes, the flow advancesto step S4. At step S4, the system re-draws
`the window and completes the process.
`When the determined result at step S1 is No, the system substitutes (swaps) position information of the clicked
`windowwith that of the immediately upper window(at step S2). When the position information is substituted, the clicked
`window is placed on the upper plane. Next, the system determines whether or not the clicked window is the top window
`(at step S3).
`When the determined result at step S3 is No, the flow returns to step S2. The system substitutes the position
`information of the clicked window withthatof the immediately upper window. Thereafter, the system determines whether
`the clicked window is the top window. These steps are repeated until the clicked window becomes the top window.
`Whenthe determined result at step S3 is Yes, the system re-draws the window and completes the process.
`Figs. 7Ato 7C are schematic diagrams showing position information that is changedin the process shownin Fig. 6.
`In Fig. 7A, the top windowonthe screen is referred to as window 1. Windows behind the window 1 are successively
`referred to as window 2, window 3, and so forth. Data that represents the positions of windowsis defined in the world
`coordinate system. The data includes "depth" that represents the depth of a particular window to the top window.
`"Depth" is, for example, a z coordinate value in the world coordinate system.
`The data that represents the position of a window is composed of an x coordinate value, a y coordinate value,
`width, and height. The x coordinate value and the y coordinate value of the data represent the position of the upper
`left corner of the window. The width of the data represents the length in the horizontal direction of the window. The
`height of the data represents the length in the vertical direction of the window.
`Whenthe position information of windowsis substituted at step S2 of the process shown in Fig. 6, the x coordinate
`value, y coordinate value, width, and height of a windoware substituted with those of another window in Figs. 7A to
`7C. However, the "depth" of the windows are not substituted.
`Now,it is assumed that there is position information as shownin Fig. 7A and that a window 1 with data "x1, y1,
`w1, h1, depth1" is placed as the top window. Whenthe user clicks a window 3 with data "x3, y3, w3, h3, depth3," the
`position information excluding "depth" of the window 3 is substituted with that of the window 2 thatis the immediately
`upper window.
`Thus, as shownin Fig. 7B, the position of the window 3 is substituted with the position of the window 2. In other
`35
`words, the window3 is placedat the position of “depth2." whereas the window2is placedatthe position of "depth3."
`Thus, the window3is placed behind the window 1 and in front of the window 2.
`Since the clicked window that is the window 3 has not been placed at the top of the screen, the window 3 is
`substituted with the window 1. In other words, the position information excluding "depth1" of the window 1 is substituted
`with the position information excluding “depth2" of the window 3. Thus, as shownin Fig. 7C, the window3is placed
`40
`at the top of the screen. In other words, the window 3 has "depthl" that represents the depth of the window 1 that was
`placedat the top of the screen. Thus, the windows 1 and 2 are placed behind the window 3.
`Figs. 8A to 10B are schematic diagramsfor explaining a method for three-dimensionally displaying windows.
`Figs. 8A and 8B are schematic diagrams showing a definition of a window in the body coordinate system and a
`data structure thereof, respectively.
`Fig. 8A is a schematic diagram showing a method for defining a window in the body coordinate system. In Fig. 8A,
`based on the upper left corner of the window asthe origin, the width W andthe height H thereof are defined as a basic
`scale. In addition, characters and buttons displayed on the window are defined. Although characters and buttons are
`defined as objects, for simplicity, only parameters that define the outer shape of the window will be described.
`Thus, a window can bedefined with the width W and the height H thereof in the body coordinate system.
`Fig. 8B is a schematic diagram showing a normal data structure of a window.
`As data of a window, Fig. 8B showsthe x coordinate value at the upper left corner thereof, the y coordinate value
`at the upper left corner thereof, the width W thereof, the height H thereof, and the depth thereof. The x coordinate
`value, the y coordinate value, and the depth are values defined in the world coordinate system that will be described
`later. The width W and the height H are defined in the above-described body coordinate system. In addition, the data
`includes buttons displayed on windows and pointers of fixed objects (such as characters) that are not moved from one
`window to another window.
`
`45
`
`30
`
`50
`
`5S
`
`Fig. 9 is a schematic diagram showing an example of an arrangement of windowsin the world coordinate system.
`The world coordinate system is a virtual three-dimensional space in which windows and other objects are tempo-
`
`
`
`EP 0 856 786 A2
`
`rarily arranged to display them three-dimensionally. For example, in Fig. 9, a window1is placed on the xy plane whose
`z coordinate value is 0. A window 2 is placed behind the window 1. The window2 is placed on the xy plane whose z
`coordinate value is -d. It should be noted that the windows 1 and 2 may be placed in any arrangementother than the
`example shownin Fig. 9. However, for simplicity, the windows 1 and 2 are arranged as shownin Fig. 9.
`In other words, when a windowis placed in the world coordinate system, the coordinates of the upper left corner
`of the window are designated. Whenthe coordinates of the upper left corner are (x1, y1), coordinates of points nec-
`essary for a pattern of the window are designated.
`In this case, objects and so forth displayed on the window are
`ignored and only the outer shape of the window are considered. Thus, only coordinates of four corners of the window
`are required. They can be obtained from the coordinates at the upper left corner of the window and the width W and
`the height H defined in the body coordinate system. In other words, the coordinates of the four corners of the window
`are expressedasfollows.
`
`10
`
`1S
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`5S
`
`(x7, y7)
`(x1 + W, y7)
`(x1, y1 +H)
`(x1 + W, y1 +H)
`
`Thus, the positions on the xy plane of the windoware obtained. Next, the z coordinate value corresponding to the
`depth of the windowis designated. The depth of the windowis defined in the range of z < 0. As the negative value of
`the z coordinate increases, the windowis placed on a lower plane. Thus, the top window is placed onthe plane of
`which z = 0. In addition, the z coordinate of the view point is defined in the range of z > 0.
`In Fig. 9, the depth z of the window 1
`is 0. The depth z of the window2 is -d.
`It is preferred that windows are
`arranged a predetermined distance apart from each other in the negative direction of the z coordinate. In this case,
`the z coordinate of a window i is expressed as z = -(i- 1) x d. Thus, the coordinates of the four corners of the window
`rearranged in the world coordinate system are