3D VIRTUAL LANDSCAPE DATABASE
TECHNICAL FIELD
The present invention concerns generally the graphical display of data and the handling of the displayed data. In particular the display of data happens under the form of a three- dimensional animated landscape where the data are presented as recognizable three- dimensional objects. The handling with the displayed data happens by interacting with the 3D landscape.
BACKGROUND ART
Three-dimensional data visualization and three-dimensional animation of virtual landscapes are commonly available in charting tools for numeric data presentation, in virtual reality simulators or in three-dimensional landscapes generators for design tools or video/computer games.
The actual use of the display techniques for three-dimensional virtual landscapes could be subdivided in two categories:
A. Presentation of numeric data inquiries B. Simulation of virtual reality in controllable 3D spaces
A. The presentation of numeric data inquiry:
An inquiry performed by a user in a data retrieval system produces usually a result consisting in rows and columns of text and numbers (like in Figure 2a). The exploration of this result consists in the scrolling of these rows of data and in the construction of aggregations of these data.
The meaning, the context, the quality and in general all the characteristics of the data resulted from the inquiry must be deducted from the user, by reading the data contain.
To increase the comprehension of numeric data, an existing approach is data visualization, like two-dimensional plots into an x-y coordinate system. Furthermore, the same principle of data visualization is applied to map data into a 3D space. Many attempts for the increasing of the comprehension of related data were: - Data visualization through 3D mapping in CAM Tree development by Xerox PARC, described by M. Clarkson in "An Easier Interface", Byte Magazine (Feb 1991) ...
Visualization techniques as described in "The Ultimate User Interface" by Bob
Jacobson, Byte Magazine (Apr. 1992) In these and other similar cases, the presentation do not transform the data in virtual, leaving objects, but intended to create graphical effect to emphasize the quantitative meaning of data and the relationships between data. In these cases the user knows the data, but the resulting presentation ensures a 3D view of the data, without transformation of the data in animated components of a controllable 3D landscape ensuring a virtual reality effect and without translation of data handling functions in movement in the x,y,z space components or in the time component.
B. Simulation of virtual reality in controllable 3D spaces:
In these cases the purpose is to ensure to the user an immersion in a three-dimensional animated virtual space and to provide to the user navigation functions allowing the exploration of the 3D virtual space itself and the most real reproduction of the effects of movement and views through a 3D space.
Today's computer technology allows creating virtual animated three-dimensional worlds easily. Computer games distributed on large scale show amazing examples of this technology. Following examples are a few cases between a huge numbers of commercial applications of 3D space simulation, sold on large scale:
The game "Tomb Raider" of 3DO, available in any electronic game-shop for play- stations or personal computers, is one of the most famous and significant examples of navigation in a virtual 3D space.
Different types of flight simulators ensure perfectly the virtual reality effect of the movement in the x,y,z coordinates.
In these and other similar cases, the user does not know the data behind the 3D space. The "topology data" have only a mapping purpose and are necessary to define the 3D virtual
space. The virtual topology is the data itself and do not correspond to data known by a user and directly queried and handled by the user.
Animations and movement in these virtual spaces are only means to obtain virtual reality effect and are not corresponding to data handling functions performed by a user.
Furthermore, the development of Internet allows the distribution of any kind of services, in particular the e-commerce, into consumer's houses, by using standard communication technologies.
Computer inquiries for any kind of information are consequently performed from an always larger and growing population. These users do not possess specific knowledge of data structures and computer functions.
There is consequently a need for a method allowing to present data resulting from an inquiry in the most comprehensible manner, where the user do not need to read text to completely understand the received answer, but only need to look at a three-dimensional animated landscape containing the complete answer in graphical form.
This is a need to present known data selected by an user under the form of a virtual world simulating a form appropriate to the signification of the data selected type and presenting these data like virtual objects with a simulated real form also appropriated to the data contains. Figure 2b shows how the same data selected as in Figure 2a could be presented in order to ensure a visual immediate understanding of the result (look instead read) and an easier and more natural handling manner (movement instead scroll).
This is also a need to ensure to the user, who performed a data inquiry, the feeling of the meaning of the requested data through the nearest to reality appearance of the selected objects. An example: Query on an animal database. The user performs the request for African carnivore animals: the conventional data answer is a list of rows containing animal name and some characteristics of each animal. An answer visually comprehensible to the user is a Savanna 3D landscape containing figures of the selected animals, with navigation facilities allowing the scrolling into the animal list, by exploring the landscape.
DISCLOSURE OF THE INVENTION
The invention concerns a method for displaying and handling data resulting from an inquiry performed from an user, by transforming the lists of data (produced by the inquiry) in a controllable (by the user) and animated image of a simulated virtual three-dimensional space.
The handling of the selected data happens by interacting with the 3D virtual landscape: exploring, scrolling, selecting of the data are translated to correspondent movement in the 3D virtual landscape. Figure 2b shows how the same data selected as in Figure 2a could be presented in order to ensure a visual immediate understanding of the result of the data selected and an easier and more natural handling manner.
Each data selected corresponds to an object (in this case a building) in the virtual landscape.
Record 001 becomes the first building, record 002 becomes the next building etc. Scroll of the data happens by walking forward in the road.
The data belonging to a record are presented inside the object representing the record (in this case in the windows of the building).
The method allows to synthesize the 3D image of the virtual space by using the characteristics and the selected data contain, in such a manner that the user feels the relation between his formulated inquiry and the resulting 3D space.
The method allows presenting the results of an inquiry performed by a user of any kind of data, which meaning is understandable by the user, under the form of the mentioned 3D animated virtual landscape.
Any form of scroll necessary to the user for the exploration of the selected data is translated to an equivalent virtual movement in the virtual space corresponding to the data. Figure 4 shows the effect of a scroll command translated to the movement along a road. The starting image contains in the foreground the virtual object corresponding to the first data row selected. Forward movement allows bringing in the foreground the object corresponding to the second data row, where also the following objects become nearer. The aspect of the virtual space and of the object presented in the space are customized depending on characteristics of user, type of data, selection criteria and data contain.
Figure 1 shows three different aspects presented for the same data selected. This different presentation happens while at least one of the parameters influencing the aspect was different.
The method allows displaying different 3D landscapes in order to help the user to visually recognize the contain of his request.
The application of this method consequently allows to a user a dialog with a database by using natural movement and exploration functions of a 3D virtual world.
Following example illustrates the method applied on the search of product in a shop/product information retrieval system:
A user performs an inquiry searching all shops selling fish and located in a given country.
The user knows the data he wants to receive: a list of shops meeting the requested criteria.
Each shop possesses conventional data like the name, the logo, the owner, the address, a photo, an offer of a day etc. Instead to receive a written list, the user receives the three-dimensional image of a virtual seashore road where are lying small houses with doors, panels, windows etc.
The trees along the seashore road are palms (because the selected country is tropical); the panels of the shops have the form of a fish (because the product selected is fish).
Each small house represents a single shop. The main panel contains the logo of the shop, the small panel contains the name of the owner, the front window contains the photo of the shop, on the door are written the opening hours.
The scroll of the selected data (list of shops) happens through a simulation of movement along the seashore road.
Moreover, if the user requires looking the list of the product offered by the shop, also the result of this request is handled in the similar way. In this case the data inquiry of the user looks like "select all the products sold by a given shop". In the 3D animated translation of this new request, the user enters the door of the shop and the virtual simulation presents a shop inside where are lying baskets. Each basket contains the photo of the sold fish, with a panel with a name and another panel with the price. The scroll of the selected data (list of sold fishes) happens through a simulation of movement along the aligned basket.
A further example:
The user performs a query on an Internet site searching for sailboats to rent during the month of March on Mediterranean Sea.
The conventional data answer is a list of rows containing sailboats and some other data of each boat like price, dimension or price. The answer visually comprehensible to the user is, provided by applying the invented method is a 3D landscape of a harbor with blue water (because the selected location was Mediterranean) containing figures of the selected boats, anchored to the piers. The houses around the harbor are white and blue (because the available boats are only in Greece) and the sky contains clouds, because the weather in Greece during the month of March is rainy. The boat's name is written on the boat, like in reality, on the pier before each boat stays a panel containing price and other data. To look this data the user needs to move near to the panel. To look the other boats selected, the user requires "walking" along the pier to the next boat. The visit inside a selected boat helps to better understand the difference between usual 3D view and the application of the invented method.
In a usual view, the visit inside the boat could be a picture or a film activated by moving into the boat. In this case the inside view is only an attribute of the boat's database and isn't resulting from the application of the present method. However, if boat's inside characteristics, the furniture and the equipment of the boat belong to a database accessed with the invented method, the inside's visit results from the query of the inside data of the boat. If the boat contains three bed-rooms, a dining room, a kitchen and a toilet, the inside visits happens by moving (scrolling) through the available rooms, where the aspect is constructed applying other boat's characteristics. Room's dimensions and walls furniture are presented depending on boats parameters.
The similitude degree with reality could be different, .going from a complete similitude of reality, through a cartoon scenario, until the reproduction of a totally alien virtual landscape. The aspect of the 3D virtual landscape is only a detail provided by the presentation parameters and generated by the specific aspect resolution modules developed for the application of this method.
BRIEF DESCRIPTION OF DRAWINGS
Fig. 1 shows how the same data could be presented under different aspects of the three- dimensional virtual landscape, depending on external factors like user characteristics, selected data, selection criteria, data contain.
Fig. 2a shows the conventional approach to presents data: data collections are presented as columns and rows of numbers and text.
Fig. 2b shows how a data collection could be transformed in a 3D virtual landscape presenting the roads of a town.
Fig. 3 shows the effect of the aspect parameter table on two types of data ("cub" and "cyl") in the customized aspect construction of the 3D virtual world
Fig. 4 shows the translation of data handling functions translated in movement functions applied on the virtual 3d landscape corresponding to the selected data
Fig. 5 shows the flow diagram of the landscape generation process containing the three main logical steps necessaries to translate the selected data to their three-dimensional equivalent image
Fig. 5. a shows the flow diagram of the first step of the landscape generation process dedicated to receiving and resolving user inquiry of data
Fig. 5.b shows the flow diagram of the second step of the landscape generation process dedicated to the construction of the appropriate virtual aspect
Fig. 5.c shows the flow diagram of the third step of the landscape generation process dedicated to the displaying of 3D virtual landscape
Fig. 6 shows the general functional architecture of a software solution applying the invented method
Fig. 7 shows the architecture of a software solution applying the invented method with the most appropriate splitting of functions between Client and Server. This could be the case of Internet applications.
Fig. 8 shows different possible forms of aspect parameters tables, allowing different levels of aspect determination resolution or display capability
BEST MODE FOR CARRYING OUT THE INVENTION
The following description is presented solely for the purpose of disclosing how the present invention may be made and used. The scope of the invention is defined by the claims.
The best mode to carry out the Invention is to develop any form of software able to synthesize the 3D image of the virtual space by using the characteristics and the contain of the selected data, in such a manner that the user feels the relation between his formulated inquiry and the resulting 3D space.
The software form, the programming language, the operating system, the standard user interface, the development technique and tools of this computer programs aren't important because the invented method concerns only the form of dialog between a user and a database: The user formulates an inquiry and the software (developed applying the invention) translates the list of data resulted from the inquiry in an animated and controllable 3D image of a simulated virtual space. The user needs any form of scroll in the data resulted from the inquiry and the software performs an appropriate movement in the 3D space. Software is rapidly obsolete, must continuously be maintained and must frequently be rewritten. Consequently the object of present application is the method of data display and handling and not software. Examples of program code contained hereby have only the purpose to show possible embodiments of single components in a software solution applying the invented method.
The logical process of the software functions necessaries to generate the image of a 3D landscape is described in the main flow diagram of Figure 5 The three step of figure 5 are break down in Figures 5a, 5b and 5c.
After the resolution of the data inquiry (step 1), all elements are available to determine the aspect parameters for the construction of the virtual landscape. Figure 5a shows the steps necessaries to collect all the aspect recognition factors. The construction of the virtual aspect parameters (step 2) happens by using the following aspect determination function: aspect = f ( user characteristics, selected data, selection criteria, data contain)
The aspects parameters contain all the logical and graphical information necessary to customize a virtual landscape. Figure 3 shows an example of aspect parameters database and the relative effect on the presentation of two different types of data (type CUB and type CYL), by customizing two aspect components (object form and object color). The aspect construction happens by generating a two-dimensional logical map by locating each selected row of data as a single object in the x,y coordinate system. The aspect parameters provide, for example, the relative dimension of the x,y projection of a single virtual object in order to fit them contiguously in the 2D virtual map. Other parameters provides information of the manner to populate the x,y map, the relative distance between the objects, the presence of fixed position dedicated to general virtual components or the populating sequence method.
In the visual examples of figure 1, the selected data could be shops. The x,y projection of the corresponding objects in the 2D landscape could be a square for all aspect A, B and C. The aspect parameter concerning relative distance of the objects could be zero in aspect C (total contiguity) and higher for aspect A and B (separating roads).
The population parameter of aspect B does not allow populating in the positive x coordinate (space reserved to the sea). Moreover, the parameter table contains coordinates of fixed object belonging to aspect B, which indicate the location of sails on the sea.
The display function (step 3 of figure 5 which is break down in figure 5c) transforms the 2D map in a three-dimensional view by using other parameters like z coordinate of point of view, high of the objects, backgrounds etc.
Forms, colors, appearance, textures are other aspect parameters belonging to the three scenarios. The customization of the single objects happens in the same manner. The detail and the graphical capability of a software solution applying the invented method depends on the construction and on the aspect parameter tables contain. The aspect customization capability and the adaptability of a software solution depend from the granularity of the aspect parameter tables. Figure 8 illustrate examples of different aspect parameter tables pragmatically constructed on the level of implementation desired for the aspect determination function which allows as maximum level: aspect = f ( user characteristics, selected data type, selection criteria, data contain)
In the same manner as the aspect determination resolution, the construction of the aspect parameter table allows more or less reality in the 3D landscape display.
The computation of the three-dimensional topology happens with conventional mathematical functions. Animation and movement happen in the same manner. Following example of software embodiment is a single small component dedicated to the topology animation. It translates the scroll effect in one of the available movements (turn left in this example): public void paint(Graphics g) { intj; float ciclo; ifffdestra == 0) && (smistra^ O) && (avanti==0)) { g.seiColor(new Color(255, 255, 255)); g.fillRect(ipjargPX(fly)); g.setColo ew Color(190, 190, 190)); g.fillRect , iX(fly), larg, 450); cιώil(g); ctώi2(g); ;
// for 0 = l;j < 15 ;j++) { // double ran = Math. random ();
// if (ran < 0.33) {
// avanti = 1; // }
// else {
// if (ran < 0.63) {
// destra = 1;
// ; // else {
// si isfra = 7;
// ; //
// a sinistra if (sinistra == 1) { for (i = 1; i < ((dist/2) + 1) ; i++) { pllx =pllx + 2; qllx = qllx + 2;
ix -fix + 4; x -fix + 4; x -fix + 4; if(qllx >= larg) { g.setColor(mw Color(255, 255, 255)); gfillRect(iX(f2x), 1, larg, iX(fly)); g.setColoφew Color(190, 190, 190)); g.fillRect(iX(f2x), iX(fly), larg, 450);
} if(qllx > larg) { qllx = pllx; pllx — qllx - dist; fix -fix; fix —fix - dist - dist; fix -fix + dist + di t;
} if(f2x < 0) {
} else { cιιbil(g); axptl — v3x;
} if (fix > larg) {
} else { cιιbi2(g); axpt2 — v3x;
} g.setColoφew Color(190, 190, 190)); axpt.2 = axp(2 - axptl; g.fillRect(iX(axptl), iX(fly), iX(axpt2), iX(fh+fh));
Figure 6 shows a possible functional structure with the relationship between database and software components of a stand-alone implementation of the present display method. Figure 7 shows a possible splitting of this functions between a client and a server how could be implemented in a typical Internet solution.
While examples of preferred embodiments have been shown, the above description intends to be exemplary of the manner to apply the invented method and is not intended to limit the scope of the claimed invention.
INDUSTRIAL APPLICABILITY
The primary commercial application of this method is software able to synthesize Virtual Shopping Centers for the e-commerce in Internet.
A data collection corresponding to a shopping center is a list of shops with the same real or virtual location.
The Virtual Shopping Center is an animated, visit able and controllable 3D image of a simulated virtual space resulted from the inquiry of all online shops belonging to the same virtual location (transformation of list of data into 3D image). The scroll of the list of selected shops is transformed into a movement trough the animated 3D image of the shopping center.
Any user action is transformed in correspondent movement in the 3D virtual world.
For example, select a shop is translated in the movement to open and to enter the door of the shop. The inquiry of the list of products sold by the shop is translated in the internal visit inside the virtual shop, where the virtual image of each product is aligned and presented in virtual cases.
The customized aspect of the 3D landscape presenting the inquiry results is generated depending on characteristics of user, type of data, selection criteria and data contain.
Figure 1 illustrates how the same results of data inquiries (select shops performed by user A) could be presented differently (user B or user C) in order to ensure different views for different users.
Under the strict application of the invented method, an inquiry in a database containing shops grouped on multiple different shopping centers could be presented differently for each
shopping center (select shops where center=X). In the same manner, also the inquiry in a database containing products sold by multiple different shops allows to present differently the interior of each shop (select products where shop = Y).
In the first case (shopping center), the aspect parameter table would contain parameters bound to the type of data (shop) and the selection criteria (centeiAX) for the aspect customization of the 3D landscape representing the virtual shopping center X. In the second case (shop), the aspect parameter table would contain parameters bound to the type of data (product) and the selection criteria (shop=Y) for the aspect customization of the 3D landscape representing the virtual inside of shop Y. For further example, the search of products of a given category is translated into the presentation of a filtered view of the 3D shopping center inside, presenting only shops selling products compatible with the user criteria. The filtering process itself produces changing in the 3D landscape aspect of the center and in the single object presentation (shops).
Other sector of applicability could be software for didactic purposes. The easiest 3D presentation of data allows creating query tools for children allowing presenting data under the form of the mentioned 3D virtual space.
While examples of industrial applicability have been shown, the above description intends to be exemplary of the use of the invention and is not intended to limit the scope of the claimed invention.