WO2010150768A1 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
WO2010150768A1
WO2010150768A1 PCT/JP2010/060523 JP2010060523W WO2010150768A1 WO 2010150768 A1 WO2010150768 A1 WO 2010150768A1 JP 2010060523 W JP2010060523 W JP 2010060523W WO 2010150768 A1 WO2010150768 A1 WO 2010150768A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
unit
arrangement
data
dimensional object
Prior art date
Application number
PCT/JP2010/060523
Other languages
English (en)
French (fr)
Inventor
植野 博
Original Assignee
株式会社プロフィールド
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
Priority claimed from JP2009151472A external-priority patent/JP5566632B2/ja
Priority claimed from JP2009245756A external-priority patent/JP5513071B2/ja
Priority claimed from JP2009250100A external-priority patent/JP5427551B2/ja
Application filed by 株式会社プロフィールド filed Critical 株式会社プロフィールド
Publication of WO2010150768A1 publication Critical patent/WO2010150768A1/ja

Links

Images

Classifications

    • 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
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/048023D-info-object: information is displayed on the internal or external surface of a three dimensional manipulable object, e.g. on the faces of a cube that can be rotated by the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Definitions

  • the present invention relates to an information processing apparatus that outputs a three-dimensional image in which information is arranged.
  • a menu item is assigned to each area of a three-dimensional figure, a display step for displaying the three-dimensional figure, a movement step for moving the three-dimensional figure according to an instruction command to be input, and an assignment to the three-dimensional figure
  • a three-dimensional menu selection method comprising: a selection step for selecting a required menu from a given menu item; and a selection processing execution step for executing processing corresponding to the selected menu.
  • JP-A-7-114451 (first page, FIG. 1 etc.)
  • the conventional information processing apparatus has a problem that it cannot provide a three-dimensional object with excellent operability.
  • the conventional information processing apparatus has a problem that operability when operating a plurality of three-dimensional objects is poor.
  • the back surface, bottom surface, side surface, etc. of a solid object overlap with the front part of the solid object and are hidden. For this reason, in order to view an image such as the back of the three-dimensional object, it is necessary to rotate the three-dimensional object. However, in order to view images such as the backs of a plurality of objects, the plurality of three-dimensional objects must be rotated, and there is a problem that the operation takes time and effort.
  • a plurality of three-dimensional objects are three-dimensional objects associated with different products, and information about products that correspond to the three-dimensional objects on the side surface and the back surface of each three-dimensional object, for example, products
  • the information about the specifications and prices of each is arranged.
  • the surface on which the information to be compared among the surfaces of the respective three-dimensional objects is placed is easy to see, for example, in front.
  • each three-dimensional object has to be rotated, and there is a problem that the operation takes time and effort.
  • the conventional information processing apparatus has a problem that image information of a three-dimensional object in which hierarchical data is arranged cannot be output appropriately.
  • the conventional information processing apparatus has a problem that security cannot be easily maintained for information output using a three-dimensional object.
  • the information processing apparatus of the present invention is arranged on a shape information storage unit that can store shape information that is information specifying the shape of two or more solid objects, and one or more surfaces that constitute each of the two or more solid objects.
  • An arrangement information storage unit that can store arrangement information that is one or more pieces of information
  • an object arrangement information storage unit that can store object arrangement information that is information that specifies the arrangement of two or more three-dimensional objects, and a three-dimensional object Shape information, arrangement information arranged on one or more surfaces indicated by the shape information, and object arrangement information corresponding to the three-dimensional object, and corresponding to one or more surfaces indicated by the read shape information Image information configuration that constitutes image information in which the three-dimensional object in which the arrangement information is arranged is indicated by the object arrangement information
  • An output unit that outputs image information configured by the image information configuration unit, a change instruction reception unit that receives a change instruction for the arrangement of one or more solid objects, and a change instruction received by the change instruction reception unit is one or more solids
  • An object updating unit that updates the
  • the object update unit when the object update unit receives a change instruction to rotate the three-dimensional object, the three-dimensional object other than the three-dimensional object and the three-dimensional object that are the target of the change instruction are displayed.
  • a first rotation mode for updating the arrangement information of the three-dimensional object to rotate, and a second rotation mode for updating the arrangement information of the three-dimensional object so that only the three-dimensional object to be changed is rotated.
  • a switching instruction receiving unit that receives a switching instruction that is an instruction to switch between the first rotation mode and the second rotation mode, and the object updating unit includes the first rotation mode and the second rotation mode that are designated by the switching instruction.
  • the output information of the three-dimensional object is updated in any one rotation mode of the rotation mode, and the output unit Is an information processing apparatus that updates the output using the image information constituting said image information forming section using the object arrangement information the object update unit has updated.
  • the three-dimensional objects are grouped into one or more groups, and the switching instruction information includes the first rotation mode and the second rotation information for the group of three-dimensional objects.
  • the object update unit receives the change instruction to rotate one or more solid objects included in the group in which the first rotation mode is specified by the switching instruction.
  • the arrangement information is updated in the first rotation mode only for the three-dimensional objects in the same group, and the output unit is configured by the image information configuration unit using the object arrangement information updated by the object update unit.
  • the plurality of three-dimensional objects have surfaces corresponding to each other, and the change instruction receiving unit instructs to align the directions with respect to the plurality of three-dimensional objects.
  • the object updating unit may cause one of the mutually corresponding surfaces of the plurality of three-dimensional objects to face the same direction.
  • the object arrangement information is updated, and the output unit is an information processing apparatus that uses the object arrangement information updated by the object update unit to update the output using the image information configured by the image information configuration unit.
  • Such a configuration makes it possible to easily align the surfaces of a plurality of three-dimensional objects and improve the operability of the three-dimensional objects.
  • the information processing apparatus further includes a sort instruction receiving unit that receives a sort instruction that is an instruction to sort a plurality of three-dimensional objects in the information processing apparatus. Update the object arrangement information of a plurality of three-dimensional objects so that the three-dimensional objects are arranged and arranged in the order determined by the arrangement information arranged in each of the three-dimensional objects, and the object updating unit updates the output unit The information processing apparatus updates the output using the image information configured by the image information configuration unit using the object placement information.
  • the object updating unit is arranged to arrange each of the plurality of three-dimensional objects arranged on the surface facing the output screen according to the sort instruction. Updating the object arrangement information of a plurality of three-dimensional objects so that the three-dimensional objects are arranged and arranged in the order determined by the output information, the output unit uses the object arrangement information updated by the object updating unit Is an information processing apparatus that updates an output by using image information configured by.
  • a search condition information receiving unit that receives search condition information that is information indicating a search condition for a solid object, and the search condition information are used to match the search condition.
  • the output unit is an information processing apparatus that updates an output using image information configured by the image information configuration unit using the object arrangement information created by the search result arrangement information creation unit.
  • the information processing apparatus includes a hierarchical structure data storage unit that can store hierarchical structure data including one or more layered data, and a shape that is information indicating the shape of a three-dimensional object having two or more surfaces
  • the shape information indicates a shape information storage unit that can store information, an arrangement data acquisition unit that acquires one or more data subordinate to one node from the hierarchical structure data, and data acquired by the arrangement data acquisition unit
  • An image information configuration unit that configures image information of the 3D object arranged on a surface facing the first specified direction, which is a predetermined direction of the 3D object, and an output unit that outputs image information configured by the image information configuration unit;
  • a rotation instruction receiving unit that receives a rotation instruction that is an instruction to rotate the three-dimensional object, and the arrangement data acquiring unit outputs the three-dimensional object output by the output unit
  • One or more data having a predetermined dependency relationship with one or more of the one or more data arranged on the surface facing the first designated direction is acquired, and the image information configuration unit rotates in
  • the three-dimensional object that is the image information of the three-dimensional object that has been arranged, and on which one or more data having a predetermined dependency acquired by the arrangement data acquisition unit is arranged on the surface that has turned to the first designated direction after rotation
  • the output unit is an information processing apparatus that outputs the image information configured by the image information configuration unit in response to a rotation instruction.
  • the information processing apparatus of this invention receives the designation
  • the arrangement data acquisition unit further includes a designation reception unit, and the arrangement data acquisition unit has one or more data subordinate to the data designated by the designation received by the designation reception unit as a hierarchical structure as one or more data having a predetermined dependency relationship. It is an information processing apparatus acquired from data.
  • the arrangement data acquisition unit is a subordinate of one or more pieces of data arranged on a surface facing the first designated direction of the three-dimensional object output by the output unit.
  • This is an information processing apparatus that acquires one or more data subordinate to a different node in the same hierarchy as the node to be obtained as one or more data having a predetermined subordinate relationship.
  • the arrangement data acquisition unit is a subordinate of one or more pieces of data arranged on a surface facing the first designated direction of the three-dimensional object output by the output unit.
  • One or more data subordinate to a different node in the same hierarchy as the node to be acquired is further acquired as one or more data having a predetermined subordinate relationship, and the rotation instruction receiving unit rotates the three-dimensional object in the first rotation direction.
  • the instruction accepting unit accepts the first rotation instruction, the image information of the three-dimensional object rotated in the first rotation direction indicated by the first rotation instruction, the surface facing the first specified direction after the rotation
  • the second rotation instruction is received, the image information of the three-dimensional object rotated in the second rotation direction indicated by the second rotation instruction, the surface that has turned to the first specified direction after the rotation,
  • the information processing apparatus of the present invention is the information processing apparatus, wherein the hierarchical structure data is XML data.
  • the information processing apparatus is arranged on a shape information storage unit that can store shape information that is information specifying the shape of one or more solid objects, and one or more surfaces constituting each of the one or more solid objects.
  • shape information that is information specifying the shape of one or more solid objects, and one or more surfaces constituting each of the one or more solid objects.
  • the arrangement information storage unit that can store arrangement information that is one or more pieces of information.
  • Lock surface designation information that is information for designating a lock surface, which is a surface for locking the operation, among an execution unit that executes processing for each of the above three-dimensional objects and a surface that constitutes the solid object indicated by the shape information Is stored on one or more surfaces of the three-dimensional object indicated by the shape information and the shape information of the three-dimensional object.
  • the image information configuration unit that configures the image information of the three-dimensional object in which the corresponding layout information is arranged on one or more surfaces indicated by the read shape information, and the image information configuration unit is configured.
  • An output unit that outputs image information, a direction determination unit that determines whether or not the lock surface specified by the lock surface specification information of the three-dimensional object is in a predetermined direction, and the direction determination unit include a lock surface
  • the information processing apparatus includes: an operation restriction unit that restricts an operation on the three-dimensional object when it is determined that the lock surface designated by the designation information faces a direction designated in advance.
  • the information processing apparatus is an information processing apparatus in which, in the information processing apparatus, the operation restriction unit releases the restriction on the operation when an operation for releasing the restriction on the operation on the three-dimensional object is received. .
  • a user who has an access right to information output using a three-dimensional object can release the restriction on the operation as appropriate and access information output using the three-dimensional object.
  • the information processing apparatus further includes an operation availability information storage unit in which operation availability information that is information indicating whether or not to restrict an operation on the three-dimensional object indicated by the shape information in the information processing apparatus can be stored.
  • the direction determining unit when determining that the lock surface designated by the lock surface designation information of the three-dimensional object is facing the direction designated in advance, indicates the operation availability information indicating that the operation is restricted.
  • the operation restriction unit is an information processing device that restricts operations on a three-dimensional object when operation availability information for restricting operations is stored in the operation availability information storage unit.
  • the operation accepted by the operation accepting unit is the operation availability information that restricts the operation stored in the operation availability information storage unit, and the operation availability information that does not restrict the operation.
  • the operation restriction unit converts the operation availability information stored in the operation availability information storage unit into the operation availability information that does not restrict the operation. An information processing apparatus to be changed.
  • the direction determination unit determines whether or not the lock surface specified by the lock surface designation information is the front, and the operation restriction unit includes the direction determination unit.
  • the information processing apparatus restricts operations on the three-dimensional object.
  • the information processing apparatus includes a lock surface designation information receiving unit that receives lock surface designation information for one solid object stored in the shape information storage unit, and a shape information storage unit. For each of the one or more three-dimensional objects, the lock plane designation information for designating the same plane as the plane designated by the lock plane designation information received by the lock plane designation information receiving unit is acquired, and the acquired lock plane designation information is obtained.
  • the information processing apparatus includes a lock surface designation information storage unit stored in a lock surface designation information storage unit in association with each solid object.
  • the information processing apparatus of the present invention has a shape information storage unit that can store shape information, which is information specifying the shape of one or more solid objects, and one or more surfaces constituting each of the one or more solid objects.
  • shape information which is information specifying the shape of one or more solid objects, and one or more surfaces constituting each of the one or more solid objects.
  • the operation accepting unit that accepts an operation including an operation on one or more three-dimensional objects
  • the placement information storing unit that can store the placement information that is one or more pieces of information to be placed
  • An execution unit that executes processing for one or more solid objects, an operation information acquisition unit that acquires operation information that is information indicating an operation received by the operation reception unit, and the latest two or more acquired by the operation information acquisition unit
  • the appearance pattern determination unit that determines whether the appearance pattern of the operation information matches the appearance pattern of the operation information specified in advance, and the appearance pattern determination unit When it is determined that the patterns match, an operation restriction unit that restricts operations on the three-dimensional object, shape information of the three-dimensional object,
  • the information processing apparatus further includes an operation history information storage unit that can store operation history information, which is information indicating a history of operations received by the operation receiving unit, in the information processing apparatus. Stores the operation history information including the acquired operation information in the operation history information storage unit, and the appearance pattern determination unit displays the appearance pattern of the operation information included in the latest two or more operation history information stored by the operation information acquisition unit. Is an information processing apparatus that determines whether or not the appearance pattern of operation information designated in advance matches.
  • the information processing apparatus is an information processing apparatus in which, in the information processing apparatus, the operation restriction unit releases the restriction on the operation when an operation for releasing the restriction on the operation on the three-dimensional object is received. .
  • a user who has an access right to information output using a three-dimensional object can release the restriction on the operation as appropriate and access information output using the three-dimensional object.
  • the information processing apparatus further includes an operation availability information storage unit in which operation availability information that is information indicating whether or not to restrict an operation on the three-dimensional object indicated by the shape information in the information processing apparatus can be stored.
  • operation availability information that is information indicating whether or not to restrict an operation on the three-dimensional object indicated by the shape information in the information processing apparatus can be stored.
  • the operation received by the operation receiving unit is the operation availability information that restricts the operation stored in the operation availability information storage unit, and the operation availability information that does not restrict the operation.
  • the operation restriction unit changes the operation availability information stored in the operation availability information storage unit to operation availability information that does not restrict the operation when the operation acceptance unit accepts an operation to be changed.
  • the information processing apparatus is an information processing apparatus further comprising an operation pattern definition information storage unit capable of storing operation pattern definition information that is information indicating an appearance pattern of operation information in the information processing apparatus. is there.
  • the information processing apparatus further includes an object arrangement information storage unit that can store object arrangement information that is information for designating arrangement of one or more three-dimensional objects.
  • object arrangement information that is information for designating arrangement of one or more three-dimensional objects.
  • the shape information of the three-dimensional object, the arrangement information arranged on one or more surfaces of the three-dimensional object indicated by the shape information, and the object arrangement information corresponding to the three-dimensional object are read, and the one or more surfaces indicated by the read shape information
  • it is an information processing apparatus that constitutes image information in which a solid object in which arrangement information corresponding to each is arranged as indicated by the object arrangement information.
  • security can be easily maintained for information output using a three-dimensional object.
  • FIG. 1 is a block diagram of an information processing apparatus according to a first embodiment of the present invention.
  • Flow chart for explaining the operation of the information processing apparatus The figure which shows the shape information management table for demonstrating operation
  • movement of the information processing apparatus The figure which shows the solid object for demonstrating operation
  • movement of the information processing apparatus The figure which shows the information management table for arrangement
  • movement of the information processing apparatus The figure which shows the window management table for demonstrating operation
  • movement of the information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • movement of the information processing apparatus The figure which shows the object arrangement information management table for demonstrating operation
  • the figure which shows the example of a display of the same information processing apparatus The figure which shows the object arrangement information management table for demonstrating operation
  • movement of the information processing apparatus The figure which shows the example of a display of the same information processing apparatus.
  • movement of the information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • movement of the information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • the block diagram of the information processing apparatus in Embodiment 2 of this invention Flow chart for explaining the operation of the information processing apparatus Flow chart for explaining the operation of the information processing apparatus Flow chart for explaining the operation of the information processing apparatus
  • movement of the information processing apparatus Schematic diagram for explaining the operation of the information processing apparatus
  • movement of the information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • movement of the information processing apparatus The figure which shows the output example of the information processing apparatus
  • movement of the information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • the figure which shows the example of a display of the same information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • the figure which shows the example of a display of the same information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • the figure which shows the example of a display of the same information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • the figure which shows the example of a display of the same information processing apparatus The figure which shows the example of a display of the same information processing apparatus
  • the figure which shows the example of a display of the same information processing apparatus The figure which shows the
  • FIG. 1 Flow chart for explaining the operation of the information processing apparatus
  • movement of the information processing apparatus Schematic diagram of a three-dimensional object for explaining the operation of the information processing apparatus
  • movement of the information processing apparatus The figure which shows the information for arrangement
  • movement of the information processing apparatus The figure which shows the figure which shows the example of a display of image information for demonstrating operation
  • movement of the information processing apparatus The figure which shows the operation availability information for demonstrating operation
  • movement of the information processing apparatus The figure which shows the lock name designation
  • movement of the information processing apparatus The figure which shows the newest operation information for demonstrating operation
  • FIG. 1 is a block diagram of an information processing apparatus 1 in the present embodiment.
  • the information processing apparatus 1 includes a shape information storage unit 101, an arrangement information storage unit 103, an object arrangement information storage unit 102, a change instruction reception unit 104, an object update unit 105, a switching instruction reception unit 106, a sort instruction reception unit 107, a search A condition information reception unit 108, a search unit 109, a search result arrangement information creation unit 110, an image information configuration unit 111, and an output unit 112 are provided.
  • the shape information storage unit 101 can store shape information that is information specifying the shapes of two or more solid objects.
  • the shape information is information that defines the shape or the like of an object arranged in the virtual three-dimensional space.
  • the shape information is so-called modeling information of a three-dimensional object, for example.
  • the three-dimensional object described here includes, for example, what is called a 3D object, a 3D model, or a three-dimensional model.
  • the shape information is information on the coordinates of the vertices of the three-dimensional object, information on parameters of equations that express boundary lines, surfaces, and the like.
  • a solid object usually has information that defines a surface or information that can define a surface, and is composed of one or more surfaces.
  • the three-dimensional object can be classified into polygon modeling, modeling using a free-form surface, and the like, for example, depending on the method of constructing the surface.
  • the shape information may include information on setting items such as the color of the 3D object, transparency, reflection, refractive index, and bump when the 3D object is output.
  • the shape information storage unit 101 can store shape information of one or more solid objects.
  • the shape of the three-dimensional object may be any shape such as a sphere, a cylinder, a polyhedron such as a hexahedron or an octahedron, a cube, a cone, or a pyramid.
  • it is preferable that two or more solid objects have the same shape and size.
  • a unit such as a size of the shape information may be an absolute unit or a relative unit. Further, in a plurality of three-dimensional objects, sharable shape information or the like may be mutually used by referring to the link information or the like. That is, the shape information of two or more solid objects may be one shape information shared by two or more solid objects. That is, the shape information of two or more solid objects may be considered as shape information corresponding to two or more solid objects.
  • the shape information storage unit 101 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the object arrangement information storage unit 102 can store object arrangement information that is information for specifying the arrangement of two or more three-dimensional objects.
  • the two or more solid objects described here are solid objects indicated by the shape information stored in the shape information storage unit 101.
  • the object arrangement information may be considered as information specifying the arrangement of the shape information of the three-dimensional object.
  • the arrangement described here is, for example, an arrangement in a virtual three-dimensional space.
  • position information such as two-dimensional coordinate information indicating a position where an image configured using a three-dimensional object is arranged may be used.
  • This arrangement is a concept having a combination of the position and direction of a three-dimensional object, for example.
  • the information specifying the arrangement may be only information indicating the direction.
  • the object arrangement information may be information that can specify the arrangement of the three-dimensional object as a result.
  • the object arrangement information is information that specifies the coordinates of the position where the three-dimensional object is arranged and the direction of the three-dimensional object.
  • Information specifying the direction may be information that can indicate the direction as a result.
  • the information may be information such as vector information or a rotation angle about a predetermined axis in the virtual three-dimensional space. . Or you may think that it is the information which shows the positional relationship of the coordinate axis in virtual three-dimensional space, and the coordinate axis set to a solid object.
  • each coordinate axis set in the three-dimensional object may be represented by a vector with reference to the coordinate axis in the virtual three-dimensional space.
  • the information indicating the position is also information indicating the direction. You may think that it also serves.
  • the object arrangement information may be information that specifies the size of the three-dimensional object.
  • the coordinates that specify the position of the three-dimensional object may be absolute coordinates set in the virtual three-dimensional space, or may be relative coordinates set for other three-dimensional objects. .
  • the coordinates for designating the position of the three-dimensional object may be the coordinates of the vertex where the sides constituting the three-dimensional object gather, or the coordinates of the position such as the center of the three-dimensional object.
  • the image information configuration unit 111 described later reads this object arrangement information, and an image in which a three-dimensional object is arranged at a position in the virtual three-dimensional space indicated by the object arrangement information so as to be in the direction indicated by the object arrangement information. Make up information.
  • the shape information storage unit 101 and the object arrangement information storage unit 102 are configured as one storage unit, and the object arrangement information May be included in the shape information.
  • the vertex information of the shape information to, for example, absolute coordinates
  • the position of the object is placed.
  • the information may be two-dimensional information, for example, coordinate information such as xy coordinates.
  • the object arrangement information may include information for managing a grouping situation such as whether or not a plurality of three-dimensional objects are grouped.
  • Information for managing the status of grouping includes, for example, associating group identification information for identifying a group to which a solid object constituting one group is associated, or identifying identification information of a solid object included in the same group. It may be a database managed by a plurality of items of records.
  • the object arrangement information storage unit 102 may store window management information that is information for managing the window in which the object is arranged.
  • the window is an output area for arranging and outputting a three-dimensional object or the like.
  • the window is used, for example, to represent a group of three-dimensional objects, a hierarchy, a node relationship, or the like.
  • the window management information is information such as the size and position of a window for displaying one window, for example. In addition to this, information for managing the correspondence between one window and a three-dimensional object arranged in the window may be included.
  • an image of the window is configured by the image information configuration unit 111 described later.
  • the group in this Embodiment is not necessarily restricted only to the group of the solid object managed by the information which manages a grouping condition as mentioned above, As a result, one or more solid objects are made into a group, For example, it may be in a state that can be determined by an object updater described later.
  • the group of solid objects may be a group that can be determined according to the arrangement of the solid objects. Specifically, as described above, one or more solid objects arranged in one window may be considered as one group. Further, when the three-dimensional object is managed in a hierarchical manner, a three-dimensional object belonging to one hierarchy or a three-dimensional object subordinate to one solid object may be considered as one group.
  • the object arrangement information storage unit 102 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the placement information storage unit 103 can store placement information that is one or more pieces of information that are placed on one or more faces that constitute each of two or more solid objects. Specifically, two or more solid objects each have one or more surfaces, and the arrangement information storage unit 103 stores arrangement information arranged on one or more surfaces of each three-dimensional object. obtain. The placement information may be placed on one or more faces of each solid object, and may not be placed on all faces.
  • the arrangement information may be any information such as image information such as still images and moving images, text information, and the like as long as it is information that can be arranged and output on a surface constituting the three-dimensional object, for example, display.
  • the image information may be information as long as image information for output can be configured as a result.
  • the image information may be vector data or raster data.
  • the arrangement described here may be considered as mapping of image information or the like on the surface of a so-called solid object.
  • the arrangement information may be considered as information to be mapped, for example, texture information.
  • the data structure of the placement information is not limited.
  • the placement information may be tagged information such as an XML format.
  • the placement information may be information managed in association with, for example, items or attributes by a table or database. Further, the placement information may be grouped in advance.
  • the arrangement information may be associated with the surface of the three-dimensional object on which the arrangement information is arranged.
  • management information or the like that manages a set of placement information or its identification information and a surface of the solid object associated with the placement information or its identification information as a plurality of items of one record May be.
  • This management information may be stored in a storage unit (not shown), for example.
  • the shape information storage unit 101 and the placement information storage unit 103 are configured as a single storage unit, and the information indicating the surface of the three-dimensional object indicated by the shape information corresponds to the placement information placed on the surface. It may be attached and stored.
  • the surface of the solid object indicated by the shape information is associated with acquisition condition information, which is information indicating conditions for acquiring the placement information arranged on the surface, and the shape information storage unit 101 and the like. May be stored.
  • the acquisition condition information is, for example, information indicating a search condition such as a search expression for searching for placement information arranged on a surface. In this case, by performing a search using information such as a search expression associated with each surface, it is possible to acquire the placement information placed on the surface.
  • the acquisition condition information may be any information as long as it is information that can eventually designate one or more pieces of placement information arranged on the surface of one or more solid objects.
  • the acquisition condition information may be information specifying the item.
  • the placement information has an attribute, it may be information specifying the attribute.
  • the placement information is tagged, it may be information specifying a tag name.
  • index information is added to the placement information, information for designating the index may be used.
  • it may be information designating the location, file name, directory, etc. of the placement information such as link information.
  • it may be a search expression or an arithmetic expression for searching the arrangement information.
  • the search formula does not necessarily have to be shown in the form of a formula, and may be a keyword that can be used for the search.
  • the acquisition condition information indicated by this search expression is a combination of “select”, “from”, “where”, and the like. Note that “select” is an item of information for arrangement to be acquired, “from” is information for specifying a plurality of pieces of information for arrangement to be searched, and “where” is information indicating conditions for search (SQL specification) See).
  • the acquisition condition information indicated by the arithmetic expression is, for example, an arithmetic expression performed on one or more pieces of arrangement information, for example, information specifying two pieces of arrangement information represented by numerical values, and these Are expressed by an arithmetic expression for calculating the average of the above, an arithmetic expression for adding / subtracting a predetermined time to / from a current time, and the like.
  • the acquisition condition information may be individually specified for all solid objects that can be output, or may be specified for all solid objects. Further, it may be specified in common for some solid objects. When an attribute or the like is set for a solid object, a common acquisition condition may be specified for a solid object that matches the attribute.
  • the acquisition condition information may be specified in advance for each surface of the three-dimensional object, or may be specified randomly for each surface.
  • the placement information storage unit 103 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • shape information, object arrangement information, and arrangement information are accumulated in the shape information storage unit 101, the object arrangement information storage unit 102, and the arrangement information storage unit 103
  • shape information, object arrangement information, and arrangement information may be accumulated in the shape information storage unit 101, the object arrangement information storage unit 102, and the arrangement information storage unit 103, respectively, via a recording medium.
  • Shape information, object placement information, and placement information transmitted via a line or the like may be accumulated in the shape information storage unit 101, the object placement information storage unit 102, and the placement information storage unit 103, respectively.
  • Shape information, object placement information, and placement information input via the input device may be accumulated in the shape information storage unit 101, the object placement information storage unit 102, and the placement information storage unit 103, respectively.
  • the shape information, the object arrangement information, and the arrangement information stored in the shape information storage unit 101, the object arrangement information storage unit 102, and the arrangement information storage unit 103 are received by, for example, a reception unit (not shown). It may be appropriately updated according to the shape information, the object arrangement information, and the arrangement information.
  • the change instruction receiving unit 104 receives a change instruction for the arrangement of one or more solid objects.
  • the arrangement described here is a coordinate position in a virtual three-dimensional space, a direction of a three-dimensional object, or the like.
  • the change instruction may be, for example, a command for changing the arrangement of the three-dimensional object, for example, a command such as “move 50 pixels in parallel to the y axis” or “rotate 90 ° about the x axis as a rotation axis”.
  • the coordinates and orientation information for specifying the arrangement of the three-dimensional object after the change may be used.
  • the change instruction is usually information including information specifying a three-dimensional object to be changed.
  • the change instruction input means may be anything such as a numeric keypad, a keyboard, a mouse, or a menu screen.
  • An instruction to change for example, rotate the three-dimensional object in the virtual three-dimensional space may be received.
  • an arrangement change instruction may be received so that the surface faces the front.
  • the change instruction accepting unit 104 may be capable of further accepting instructions for aligning directions with respect to a plurality of three-dimensional objects. “Align the direction” may be considered to mean that a plurality of three-dimensional objects are directed in the same direction.
  • the direction of the three-dimensional object is, for example, one or more surfaces specified in advance of each three-dimensional object, a perpendicular to one or more surfaces, or a direction of one or more sides. Instead of the face and side designated in advance, the direction of the face and side designated by the user may be considered as the direction of the solid object.
  • the change instruction may include information specifying a surface, a side, or the like that serves as a reference for the direction of the three-dimensional object.
  • the orientation may be a reference direction specified in advance in the shape information of each solid object, or may be the orientation of coordinate axes in the solid object set in the shape information of a plurality of solid objects. good.
  • the direction in which the directions of the three-dimensional objects are aligned according to the instruction for aligning the directions does not matter.
  • it may be a direction designated in advance, for example, a direction directly facing the output screen in the finally output stereoscopic object image.
  • the direction specified by the user may be used.
  • the change instruction may include information for designating the alignment direction.
  • the reception described here refers to reception of information input from an input device such as a keyboard, mouse, touch panel, reception of information transmitted via a wired or wireless communication line, recording on an optical disk, magnetic disk, semiconductor memory, or the like. It is a concept including reception of information read from a medium.
  • the change instruction receiving unit 104 can be realized by a device driver of an input unit such as a numeric keypad or a keyboard, control software for a menu screen, or the like.
  • the object updating unit 105 updates the object arrangement information of the three-dimensional object that is the target of the change instruction stored in the object arrangement information storage unit 102 in accordance with the change instruction received by the change instruction receiving unit 104.
  • the object update unit 105 is a target for a change instruction in accordance with the change instruction when the change instruction received by the change instruction receiving unit 104 is an instruction to rotate one or more solid objects.
  • the object arrangement information of the 3D object is updated so that the 3D object and the 3D object other than the 3D object rotate.
  • the object updating unit 105 updates the object arrangement information with the coordinate information and orientation information after the change.
  • the change instruction is a command or the like for instructing a change in arrangement
  • information on the coordinates and direction after the change are calculated from the command and the current object arrangement information, and the object is calculated using the calculated information.
  • the arrangement information may be updated. If the object placement information is included in the shape information as described above, for example, changing the shape information in response to the change instruction substantially updates the object placement information. Become.
  • the change instruction is an instruction to rotate one or more solid objects (hereinafter referred to as a rotation instruction)
  • the rotation object is rotated according to the change instruction, and the rotation instruction target is rotated.
  • the three-dimensional object other than the three-dimensional object is also rotated in the same manner as the three-dimensional object that is the target of the rotation instruction. That is, the object arrangement information of each three-dimensional object is updated so that a three-dimensional object other than the three-dimensional object that is the target of rotation instruction also rotates in conjunction with the three-dimensional object that is the target of rotation instruction.
  • the objects other than the three-dimensional object that is the target of the rotation instruction are also rotated in the same manner as when the same rotation instruction as the rotation instruction received by the three-dimensional object that is the target of the rotation instruction is received.
  • a three-dimensional object that is a target of rotation instruction receives an instruction to rotate a predetermined angle in a predetermined direction
  • objects other than the three-dimensional object that is a target of rotation instruction also indicate the rotation instruction in the direction indicated by the rotation instruction. Rotate at an angle.
  • the change instruction is an instruction to rotate one solid object by 90 degrees about the y-axis set in the solid object as the rotation axis
  • the object update unit 105 causes the solid object to move to the solid object.
  • the object arrangement information obtained by rotating 90 degrees about the y axis set in the object as a rotation axis is acquired, and other 3D objects other than the 3D object also use the y axis set in the 3D object as the rotation axis.
  • the object arrangement information rotated 90 degrees is acquired.
  • the rotation instruction described here is, for example, a rotation instruction for a three-dimensional object. Further, it may be considered as an instruction to change the direction of the three-dimensional object. Specifically, the rotation described here is to rotate a three-dimensional object without changing its position.
  • the rotation that is, the rotation at this time is performed using, for example, an axis or point set in advance in each solid object as the rotation axis or the center of rotation.
  • rotation is performed by using a reference point for determining the position of a solid object specified in advance in the shape information of each solid object, the center, the center of gravity, the origin of coordinates set for the solid object, and the like.
  • the rotation may be performed using the axis passing through the reference point, center, center of gravity, or origin of the three-dimensional object, or the x axis, y axis, z axis, or the like set for each three-dimensional object.
  • the rotation may be performed with a point or axis designated by the user as the center of rotation or the rotation axis.
  • the rotation instruction may include information specifying the rotation center and axis.
  • the object updating unit 105 may update the object arrangement information of any three-dimensional object other than the three-dimensional object that is the target of the rotation instruction in accordance with the rotation instruction so that the three-dimensional object rotates.
  • the object arrangement information of all the three-dimensional objects whose arrangement is designated by the object arrangement information may be updated so that the three-dimensional object rotates, or the object arrangement information of only the object designated in advance by the user or the like May be updated to rotate.
  • the target of the rotation instruction in the group that includes the three-dimensional object that is the target of the rotation instruction when the three-dimensional object that is the target of the rotation instruction is one of the grouped three-dimensional objects as described above, the target of the rotation instruction in the group that includes the three-dimensional object that is the target of the rotation instruction.
  • the object arrangement information of the three-dimensional object other than the three-dimensional object may be updated so that the three-dimensional object rotates. For example, if an object to be rotated is placed in one window, all the 3D objects placed in that window are determined as grouped 3D objects and placed in that window.
  • the three-dimensional object arrangement information of the three-dimensional object other than the object to be rotated may be updated so that the three-dimensional object rotates.
  • the object update unit 105 updates the three-dimensional object arrangement information so that the three-dimensional object to be changed and the three-dimensional object other than the three-dimensional object rotate.
  • the two rotation modes can be switched. May be.
  • the rotation mode may be switched to the rotation mode indicated by the switching instruction received by the switching instruction receiving unit 106 described later.
  • the object update unit 105 updates the arrangement information of the three-dimensional object in one of the first rotation mode and the second rotation mode specified by the switching instruction.
  • the object update unit 105 when a rotation instruction is received when the first rotation mode is specified by switching the rotation mode, the object update unit 105 performs the same operation as described above.
  • the arrangement information of the three-dimensional object is updated so that only the three-dimensional object that is the target of the rotation instruction rotates.
  • the object update unit 105 operates in, for example, the default rotation mode or the rotation mode switched immediately before until the rotation mode is switched. Note that information indicating which rotation mode is currently set is stored in, for example, a storage medium (not shown), and this information is referred to when rotation is performed.
  • switching between the first rotation mode and the second rotation mode may be performed in units of groups of solid objects.
  • the object updating unit 105 updates the arrangement information in the first rotation mode only for the three-dimensional object in the same group as the three-dimensional object that is the target of the change instruction.
  • the object update unit 105 when receiving a change instruction to rotate one or more of the one or more solid objects included in the group that has been switched to the second rotation mode by the switching instruction, the object update unit 105 The arrangement information is updated in the second rotation mode only for the three-dimensional object in the same group as the three-dimensional object to be changed. That is, the object rotates so that the object arrangement information of only the three-dimensional object that is the target of the change instruction. Update.
  • the rotation mode may be designated on a group basis.
  • the information specifying the rotation mode may be associated, and the information specifying the rotation mode may be changed by a switching instruction to be described later.
  • Information specifying the rotation mode may be managed in association with, for example, window management information for managing windows.
  • the information for managing the group and the information for designating the rotation mode are managed in association with each other, and the information for designating the rotation mode. May be changed by a switching instruction to be described later. For each group, for example, a default rotation mode or a rotation mode switched immediately before is designated.
  • a switching instruction receiving unit 106 described later receives a switching instruction for switching the rotation mode to the first rotation mode for one window managed by the window management information stored in the object arrangement information storage unit 102.
  • the switching instruction receiving unit 106 switches the window rotation mode to the first rotation mode.
  • the object update unit 105 determines that the three-dimensional object in this window is a grouped three-dimensional object, The object arrangement information of the three-dimensional object in this window is updated in the first rotation mode.
  • the object arrangement information of the three-dimensional object that is the target of the rotation instruction is updated so that the three-dimensional object rotates, and the objects in the same window are determined to be the same group of three-dimensional objects, Also, the object arrangement information is updated so that the three-dimensional object rotates.
  • a switching instruction receiving unit 106 described later issues a switching instruction to switch the rotation mode to the second rotation mode for one window managed by the window management information stored in the object arrangement information storage unit 102. If accepted, the switching instruction accepting unit 106 switches the window rotation mode to the second rotation mode.
  • the object update unit 105 determines that the three-dimensional object in this window is a grouped three-dimensional object, The object arrangement information of the three-dimensional object in this window is updated in the second rotation mode. That is, only the object arrangement information of the three-dimensional object that is the target of the rotation instruction is updated so that the three-dimensional object rotates.
  • the object updating unit 105 sets the object arrangement information so that one of the mutually corresponding surfaces of the plurality of three-dimensional objects faces the same direction in response to the instruction for aligning the orientations received by the change instruction receiving unit 104.
  • the mutually corresponding surfaces may be, for example, surfaces specified in advance in the shape information, for example, the first surface, the second surface, and the like, and the attributes of the arrangement information to be arranged are common. It may be a surface.
  • the attributes described here are, for example, item names of placement information, tag names, data types, character strings included in data, and the like. Which surface is to be aligned may be designated in advance by default or the like for the change instruction, or may be specified by the change instruction.
  • the direction described here may be a direction designated in advance with respect to the change instruction, or may be a direction designated by a user or the like according to the change instruction.
  • the same direction is preferably such that one of the mutually corresponding surfaces faces the output screen.
  • the output screen is a surface on which image information of the solid object configured by the image information configuration unit 111 is displayed.
  • the direction facing the output screen may be considered as the direction facing the position serving as the viewpoint when the image information configuration unit 111 configures the image of the three-dimensional object.
  • the object updating unit 105 arranges the three-dimensional objects in the order determined by the arrangement information arranged in each of the plurality of three-dimensional objects according to the sort instruction received by the sort instruction receiving unit 107 described later.
  • the object arrangement information of a plurality of solid objects is updated.
  • the object updating unit 105 updates the object arrangement information of each three-dimensional object so that a plurality of three-dimensional objects are arranged in a predetermined direction according to the ascending order or descending order of the order determined by the arrangement information.
  • the arrangement direction may be designated in advance or may be designated by the user or the like. In this case, information for designating the direction of arrangement in the sort instruction may be included.
  • the three-dimensional objects may be arranged by being attracted to a so-called grid or the like. Further, the three-dimensional objects may be arranged on a straight line, or may be arranged in a matrix.
  • the order determined by the placement information is, for example, the order determined by the attributes of the placement information arranged on a predetermined surface of a plurality of three-dimensional objects. For example, it is the order determined by the alphabetical order or the numerical order of the first character string of the data of the arranged character string. Further, it may be in the order of the data size of the arrangement data arranged. The arrangement data may be arranged in the vertical or horizontal size order. Further, it may be in the data type order of the arrangement data. Which attribute of what kind of arrangement information determines the order may be designated in advance as a default or may be designated by a user or the like. In this case, the sort instruction may include information designating sorting conditions such as what kind of attribute of the arrangement information is used to determine the order.
  • the surface on which the arrangement information for determining the order is arranged may be any surface of the plurality of three-dimensional objects.
  • it may be a predesignated surface such as a first surface or a second surface.
  • positioned may be common. This surface may be designated in advance by default or the like, or may be designated by a user or the like. In this case, information for designating the surface may be included in the sort instruction.
  • the surface on which the arrangement information used when determining the order is arranged is arranged in a predetermined direction, for example, a direction facing the output screen. The object arrangement information may be updated.
  • the object update unit 105 arranges the three-dimensional objects in the order determined by the arrangement information arranged on the surface of the plurality of three-dimensional objects facing the output screen according to the sort instruction.
  • the object arrangement information of a plurality of three-dimensional objects may be updated.
  • the object update unit 105 determines the order based on the placement information that is placed on the surface facing the output screen when a sort instruction is received for a plurality of three-dimensional objects.
  • the object arrangement information may be updated so that the three-dimensional objects are arranged side by side.
  • the object update unit 105 can usually be realized by an MPU, a memory, or the like.
  • the processing procedure of the object update unit 105 is usually realized by software, and the software is recorded in a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the switching instruction receiving unit 106 receives a switching instruction that is an instruction to switch between the first rotation mode and the second rotation mode.
  • the switching instruction receiving unit 106 switches, for example, the currently set rotation mode to another rotation mode in response to the reception of the switching instruction.
  • the current rotation mode setting may be replaced with the rotation mode specified by the switching instruction.
  • Information for setting the rotation mode is accumulated in, for example, a storage medium (not shown).
  • the switching instruction may include information specifying a group of three-dimensional objects to be switched.
  • the information for designating the group may be information for designating group identification information or the like, or information for designating the window in which the three-dimensional object is arranged.
  • the information specifying the group is associated with, for example, information for setting the rotation mode, and is stored in, for example, a storage medium (not shown).
  • the switching instruction may be an instruction that can switch the rotation mode as a result, and may be, for example, an instruction to set the first rotation mode, an instruction to set the second rotation mode, or the like. .
  • the instructions described here may be considered commands.
  • the input means for the switching instruction may be anything such as a numeric keypad, keyboard, mouse, or menu screen.
  • the switching instruction receiving unit 106 can be realized by a device driver for input means such as a numeric keypad or a keyboard, control software for a menu screen, and the like.
  • the sort instruction receiving unit 107 receives a sort instruction that is an instruction to sort a plurality of three-dimensional objects.
  • the sort instruction includes the sort object such as the surface of the solid object to be sorted, the information for specifying the placement information used for determining the order, and the attribute of the placement information to determine the order. Information for specifying a condition may be included.
  • the instructions described here may be considered commands.
  • the sort instruction input means may be anything such as a numeric keypad, a keyboard, a mouse, or a menu screen.
  • the sort instruction receiving unit 107 can be realized by a device driver of an input unit such as a numeric keypad or a keyboard, menu screen control software, or the like.
  • the search condition information receiving unit 108 receives search condition information that is information indicating a search condition for a three-dimensional object.
  • the search condition only needs to be a condition that can be used as a search key in information search, and is, for example, a character string that serves as a search key. Alternatively, it may be information specifying an attribute such as a character string.
  • the search condition information may include information for specifying a solid object to be searched, information for specifying a surface to be searched for each solid object, and information for specifying arrangement information to be searched. But it ’s okay. Further, it may be information specifying whether the search target is the placement information itself, the identification information given to the placement information, the tag name, the file name, or the like.
  • the search condition information may be anything such as a numeric keypad, a keyboard, a mouse, or a menu screen.
  • the search condition information receiving unit 108 can be realized by a device driver for input means such as a numeric keypad or a keyboard, control software for a menu screen, and the like.
  • the search unit 109 uses the search condition information to search for a solid object that matches the search condition. For example, the search unit 109 searches for placement information that matches the search condition indicated by the search condition information, and detects a solid object having the matching placement information. The search unit 109 searches for the placement information that matches the search condition from among the solid object specified as the search target, the surface of the solid object, and the placement information arranged on the solid object. Also good.
  • the objects to be searched by the search unit 109 may be, for example, all the three-dimensional objects arranged according to the object arrangement information or some of the three-dimensional objects. Further, it may be a three-dimensional object belonging to one or more groups. The three-dimensional object to be searched by the search unit 109 may be specified in any way.
  • a default or the like may be specified in advance, or a three-dimensional object to be searched may be specified by search condition information.
  • search condition information there is no need to specify the surface to be searched for the three-dimensional object to be searched, or only a part of the surfaces may be specified as the search target. Which surface is to be searched may be designated by default or the like in advance, or the surface to be searched may be specified by the search condition information.
  • the placement information to be searched may be specified in advance, or the placement information to be searched may be specified by the search condition information.
  • the search unit 109 can usually be realized by an MPU, a memory, or the like.
  • the processing procedure of the search unit 109 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the search result arrangement information creation unit 110 creates object arrangement information for designating the arrangement of the three-dimensional object detected by the search unit 109 and stores it in the object arrangement information storage unit 102. Specifically, the search result arrangement information creation unit 110 creates object arrangement information for designating the arrangement of the three-dimensional object detected by the search unit 109.
  • the arrangement of the three-dimensional object may be considered as the arrangement of the shape information of the three-dimensional object detected by the search.
  • the created object arrangement information is stored in the object arrangement information storage unit 102 in association with the solid object detected by the search unit 109 or the shape information and arrangement information of the solid object.
  • a solid object in which the same arrangement information using one shape information is arranged may exist at a plurality of positions.
  • the object arrangement information created from the search result is object arrangement information for displaying the search result.
  • the created object arrangement information may be updated by overwriting the object arrangement information of the detected solid object.
  • the shape information and arrangement information of the solid object detected by the search may be duplicated and accumulated in the shape information storage unit 101 and the arrangement information storage unit 103.
  • the object arrangement information created here is assumed to be temporary for displaying the search result, or the change instruction receiving unit 104 or the like receives an instruction to end the display of the search result.
  • This object arrangement information, shape information, and arrangement information may be deleted.
  • the object placement information created by the search result placement information creation unit 110 may be information for placing the solid object detected by the search at any position.
  • object placement information for placing a solid object detected by a search may be created in a window that displays a position designated in advance by default or a search result designated in advance.
  • the search result arrangement information creation unit 110 may create information on a window for displaying such a search result.
  • the search result arrangement information creation unit 110 can usually be realized by an MPU, a memory, or the like.
  • the processing procedure of the search result arrangement information creation unit 110 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the image information configuration unit 111 reads the shape information of the three-dimensional object, the arrangement information arranged on one or more surfaces indicated by the shape information, and the object arrangement information corresponding to the three-dimensional object, and the read shape
  • the image information is configured such that the corresponding object arrangement information indicates a three-dimensional object in which arrangement information corresponding to each of the one or more surfaces of the information is arranged.
  • the image information configuration unit 111 includes shape information about two or more solid objects, arrangement information arranged on one or more surfaces of the three-dimensional objects associated with these three-dimensional objects,
  • the object arrangement information associated with the three-dimensional object is read from the shape information storage unit 101, the arrangement information storage unit 103, and the object arrangement information storage unit 102.
  • positioning information corresponding to each is arrange
  • positioned this solid object in the position which object arrangement information designates in the position which the object arrangement information corresponding to this solid object designates is comprised.
  • the image information configuration unit 111 generates a two-dimensional image created by rendering each object in the orientation indicated by the object arrangement information as described below. It may be arranged at a position on the background image to create a final output image. For example, the image information configuration unit 111 displays the direction of the shape information of each solid object, the placement information placed on one or more surfaces indicated by the shape information, and the object placement information corresponding to the solid object. The information shown is read out, the solid object indicated by the read shape information is in the state indicated by the object arrangement information, and the corresponding arrangement information is arranged on one or more surfaces of the solid object.
  • the two-dimensional image information of the three-dimensional object is created by so-called rendering.
  • the created two-dimensional image may be arranged at a position on the two-dimensional coordinates indicated by the object arrangement information, such as a two-dimensional background image prepared in advance, and image information that is finally output may be configured. Good.
  • the two-dimensional background image or the like may be stored in advance in a storage medium (not shown), for example.
  • the image information configuration unit 111 stores the configured image information in a storage medium such as a VRAM (not shown).
  • the output unit 112 described later reads out and outputs image information stored in the VRAM or the like, for example.
  • the processing for configuring the image information described here may be considered as processing until image information to be displayed on a monitor or the like is configured and written to a VRAM or the like.
  • the image information configuration unit 111 may configure the image information according to timings or triggers specified in advance, and update the image information configured immediately before with the configured image information.
  • the image information configuration unit 111 configures image information using the object arrangement information updated by the object update unit 105.
  • the image information is configured using the object arrangement information created by the search result arrangement information creating unit 110.
  • the shape information of one solid object, the arrangement information of the solid object, and the object arrangement information of the solid object may be associated in any manner.
  • identification information of a three-dimensional object, shape information corresponding to the three-dimensional object, arrangement information, and object arrangement information may be individually associated with each other.
  • the identification information of the three-dimensional object and the shape information are associated with each other, and the shape information corresponding to the same three-dimensional object, the arrangement information, and the object arrangement information may be associated with each other.
  • the image information configured here is, for example, image information used when an output such as a display is finally performed.
  • the image information configured by the image information configuration unit 111 is, for example, image information when a three-dimensional object placed in a virtual three-dimensional space is viewed from a virtual viewpoint specified in advance.
  • This image information is, for example, bitmap data.
  • composing display image information such as bitmap data from text information is also included in the process of composing the image information.
  • the process of arranging information such as image information and text information on the surface of a three-dimensional object to form a two-dimensional image is a process called a so-called rendering process, and is a well-known technique. To do.
  • rendering may be performed using information of setting items such as the color of the three-dimensional object included in the shape information and the like, transparency, reflection, refractive index, and bump.
  • the image information configuration unit 111 can usually be realized by an MPU, a GPU (Graphics Processing Unit), a memory, or the like.
  • the processing procedure of the image information configuration unit 111 is usually realized by software, and the software is recorded in a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the output unit 112 outputs the image information configured by the image information configuration unit 111. Further, the output unit 112 updates the output using the image information configured by the image information configuration unit 111 using the object arrangement information updated by the object update unit 105, for example. Further, the output unit 112 updates the output using the image information configured by the image information configuration unit 111 using the object layout information created by the search result layout information creation unit 110, for example.
  • the output described here is a concept including display on a display, projection using a projector, transmission to an external device, accumulation in a recording medium, delivery of a processing result to another processing device or another program, etc. It is.
  • the output unit 112 may or may not include an output device such as a display.
  • the output unit 112 can be realized by output device driver software, or output device driver software and an output device.
  • Step S ⁇ b> 201 The image information configuration unit 111 acquires shape information about two or more solid objects from the shape information storage unit 101.
  • Step S202 the image information configuration unit 111 acquires placement information corresponding to the solid object from which the shape information has been read.
  • Step S203 the image information configuration unit 111 reads out object arrangement information corresponding to the solid object from which the shape information has been read out.
  • the image information configuration unit 111 configures the image information of the three-dimensional object by using the shape information, the arrangement information, and the object arrangement information read in steps S201 to S203 for each three-dimensional object.
  • the object placement information is placed at the position indicated by the object placement information corresponding to each solid object, with the solid object in which the placement information corresponding to the solid object is placed on the surface indicated by the shape information corresponding to each solid object.
  • the image information arranged in the direction shown is configured. When information indicating a window or the like is included, image information including a window image or the like may be created.
  • Step S205 The output unit 112 outputs the image information configured in step S204.
  • Step S206 The change instruction receiving unit 104 determines whether or not a change instruction has been received. If accepted, the process proceeds to step S207. If not accepted, the process proceeds to step S219.
  • Step S207 The object update unit 105 determines whether or not the change instruction received in step S206 is an instruction to align the orientation of the three-dimensional object according to an operation such as a menu, for example. If it is an instruction to align, the process proceeds to step S219, and if it is not an instruction to align, the process proceeds to step S208.
  • Step S208 The object update unit 105 determines whether the change instruction received in Step S206 is a rotation instruction for one or more solid objects. If it is a rotation instruction, the process proceeds to step S209, and if it is not a rotation instruction, the process proceeds to step S220.
  • Step S209 The object update unit 105 detects a group including one or more solid objects whose change instruction is the target of the instruction, and whether the rotation mode specified for the group is the first rotation mode. Judge whether or not.
  • Step S210 The object update unit 105 detects a three-dimensional object other than the three-dimensional object that constitutes a group including the three-dimensional object for which the change instruction is directed.
  • step S206 the object update unit 105 accepts, in step S206, the solid object specified by the change instruction and the solid object other than the solid object that belongs to the same group as the solid object detected in step S209. Change according to the change instruction. That is, the object arrangement information of each three-dimensional object is updated so that each three-dimensional object rotates in accordance with the rotation instruction received in step S206. Then, the process returns to step S201.
  • Step S212 The switching instruction receiving unit 106 determines whether or not an instruction for switching the rotation mode has been received.
  • the switching instruction accepted here may or may not include designation of a group. If accepted, the process proceeds to step S213, and if not accepted, the process proceeds to step S214.
  • Step S213 The switching instruction receiving unit 106 switches the rotation mode in accordance with the switching instruction received in Step S212. For example, if the switching instruction includes designation of a group, the rotation mode is switched in units of groups. When there is no designation, for example, the entire rotation mode is switched. Then, the process returns to step S206.
  • the sort instruction receiving unit 107 receives a sort instruction.
  • the sort instruction may or may not include a group designation.
  • Step S215) The object update unit 105 updates the object arrangement information so as to sort a plurality of solid objects according to the sort instruction received in step S214.
  • the sort instruction includes designation of a group
  • the object arrangement information is updated so that the sorting is performed only on the solid objects constituting the designated group. If there is no designation, for example, the object arrangement information is updated so as to sort all the solid objects. Then, the process returns to step S201.
  • Step S216 The search condition information receiving unit 108 determines whether search condition information has been received. If accepted, the process proceeds to step S217. If not accepted, the process returns to step S206.
  • Step S21-7 The search unit 109 searches for a solid object that matches the search condition received in step S216.
  • the search result arrangement information creating unit 110 creates object arrangement information for arranging the solid objects detected in Step S217 as a search result, and accumulates them in the object arrangement information storage unit 102.
  • information for displaying the window is created or obtained from a storage medium (not shown), and the object arrangement information You may make it accumulate
  • Step S219) The object update unit 105 updates the object arrangement information of each solid object stored in the object arrangement information storage unit 102 so that the directions of the solid objects are aligned. Then, the process returns to step S201.
  • Step S220 The object update unit 105 updates information related to the three-dimensional object to be instructed in response to the change instruction received in Step S206. For example, in response to an instruction to change the position of the three-dimensional object, the object arrangement information of the three-dimensional object that is the instruction target is updated. In addition, for example, in accordance with an instruction to change the size of the three-dimensional object, the shape information of the three-dimensional object to be instructed may be updated. Further, in response to an instruction to end the output of the search result of the three-dimensional object, a process of deleting the object arrangement information of the search result created in step S110 may be performed. Then, the process returns to step S201.
  • the information acquired in the processing from step S201 to step S203 is temporarily stored in a storage medium such as a memory (not shown), and in step S211, step S219, step S220, and the like.
  • a storage medium such as a memory (not shown)
  • step S211, step S219, step S220, and the like are temporarily stored in the memory etc.
  • the updated image information may be configured by reading and using the information as it is.
  • a window stored in the object arrangement information storage unit 102 or a storage medium (not shown) is output. You may make it output the image of a window using information. Note that window management and output are well known in window systems and the like used in operating systems such as so-called computers, and thus detailed description thereof is omitted here.
  • the process is terminated by turning off the power or interrupting the termination of the process.
  • FIG. 3 is a shape information management table for managing the shape information stored in the shape information storage unit 101.
  • the shape information management table has items of “object ID”, “size x”, “size y”, and “size z”.
  • Object ID is identification information for identifying a three-dimensional object.
  • Size x is the length of the three-dimensional object in the x-axis direction, that is, the width.
  • Size y is the length of the three-dimensional object in the y-axis direction, that is, the height.
  • Size z is the length of the three-dimensional object in the z-axis direction, that is, the depth.
  • the x-axis, y-axis, and z-axis described here are the x-axis, y-axis, and z-axis set in the solid object itself, and the absolute X-axis, Y-axis, set in the virtual three-dimensional space, Different from the Z axis.
  • the origin of the x-axis, y-axis, and z-axis set for the 3D object itself is set, for example, at the center or the center of gravity of the 3D object.
  • the unit of each size may be any unit such as a pixel.
  • the shape information of the five three-dimensional objects is managed by the shape information management table.
  • FIG. 4 is an object arrangement information management table for managing the object arrangement information stored in the object arrangement information storage unit 102.
  • the object arrangement information is created and accumulated in advance by a user or the like.
  • the object arrangement information includes items of “object ID”, “coordinate (X, Y, Z)”, and “rotation angle (x, y, z)”.
  • the “object ID” is identification information for identifying a three-dimensional object, and corresponds to the “object ID” of the shape information described above.
  • Coordinats (X, Y, Z)” is information indicating the coordinates in the virtual three-dimensional space where the solid object indicated by the “object ID” of the same record is arranged.
  • the coordinates are the coordinates of the center of the solid object.
  • the value of this coordinate is an absolute coordinate in the virtual three-dimensional space.
  • the horizontal direction (width direction) in the virtual three-dimensional space is the X axis
  • the vertical direction (height direction) is the Y axis
  • the depth direction is the Z axis.
  • “Rotation angle (x, y, z)” indicates a rotation angle with the x-axis, y-axis, and z-axis of the three-dimensional object as rotation axes.
  • the rotation angle may be considered as information indicating the direction in which the three-dimensional object is arranged.
  • the coordinate axis set for the solid object is also rotated in the virtual three-dimensional space.
  • the x-axis and y-axis of the three-dimensional object are respectively orthogonal to the X-axis and Y-axis of the virtual three-dimensional space.
  • the x-axis, y-axis, and z-axis of the solid object are arranged in parallel to the X-axis, Y-axis, and Z-axis in the virtual three-dimensional space, respectively.
  • the value of the Z coordinate may be omitted when there is no need to change the depth of the position where the three-dimensional object is arranged, for example, when the rendered three-dimensional object image is arranged on a two-dimensional plane. .
  • the shape information described above includes information specifying the first to third surfaces of the three-dimensional object.
  • the information for designating the first to third surfaces is, for example, information for designating a surface defined using the coordinates of the three-dimensional object.
  • the first surface is a front surface of a three-dimensional object that is a cube when the object arrangement information has a value as shown in FIG.
  • the surface is perpendicular to the z-axis of the three-dimensional object and is positioned closest to the front by default.
  • the second surface is assumed to be the left side surface of the three-dimensional object as seen from the three-dimensional object itself.
  • the third surface is assumed to be the upper surface of the three-dimensional object.
  • the information for designating the first to third surfaces is information for designating coordinates of three or more vertices of the surface of the solid object corresponding to each surface.
  • information specifying the coordinates of the center of the surface corresponding to the first to third surfaces among the surfaces constituting the three-dimensional object may be used.
  • the coordinates are coordinates expressed using coordinate axes set in the three-dimensional object. For this reason, even if the orientation of the three-dimensional object is changed, the information for designating the first to third surfaces does not change. That is, the first to third surfaces may be considered as surfaces that are fixed in advance with respect to the three-dimensional object.
  • FIG. 5 is a diagram for illustrating the relationship between the solid object and the first to third surfaces.
  • the first surface 61 is the front of the three-dimensional object.
  • the second surface 62 is the left side surface of the three-dimensional object.
  • the third surface 63 is the upper surface of the three-dimensional object.
  • the coordinate axes shown in the figure indicate coordinate axes set for the three-dimensional object.
  • FIG. 6 is a diagram showing the placement information stored in the placement information storage unit 103.
  • arrangement information constitutes information in XML format.
  • the arrangement information may not be information in the XML format, and may be data in a format in which the information can be referred to by item or attribute.
  • each placement information is considered to be information including a start tag, an end tag, and information directly surrounded by these tags. “Directly enclosed” indicates that no other tag is inserted between the tag and the element that is the information sandwiched between the tags.
  • the tagged information in the range delimited by “ ⁇ product name>” and “ ⁇ / product name>” is the placement information indicating the product name of one product.
  • the tagged information in the range delimited by “ ⁇ genre name>” and “ ⁇ / genre name>” is the placement information indicating the genre name of one genre.
  • the placement information is information about a mobile phone, and the genre name is “mobile phone”.
  • the tagged information in the range delimited by “ ⁇ price>” and “ ⁇ / price>” is the placement information indicating the price among the information indicating the details of one product.
  • the placement information When information for specifying a file or the like, for example, link information, is included as the placement information, the information on the file specified thereby becomes the placement information.
  • the information on the link destination is appropriately read when an image is constructed.
  • the placement information is created and accumulated in advance by a user or the like.
  • the arrangement information indicating the products is classified according to the genre of the products.
  • tagged information which is information indicating the details of each product, is prepared in advance as the placement information below the placement information indicating each product.
  • FIG. 7 shows an arrangement information management table for managing the relationship between the arrangement information, the three-dimensional object in which the arrangement information is arranged, and the arrangement plane, which are stored in the arrangement information storage unit 103.
  • FIG. The placement information is managed in association with the solid object.
  • the arrangement designation information management table has an item “object ID”, an item “product ID”, and an item “arrangement surface”.
  • the “arrangement surface” further has items of “first surface”, “second surface”, and “third surface”.
  • the “object ID” corresponds to the object ID shown in FIG.
  • “Product ID” is information for designating placement information associated with the three-dimensional object indicated by “Object ID”, and here, it is information indicating a product ID tag in the placement information shown in FIG. is there.
  • the placement information associated with the product ID tag having an element that matches the value of the “product ID” is the placement information designated by the “placement information”.
  • “Arrangement plane” is information for designating tags of arrangement information arranged on each plane of the three-dimensional object.
  • “First plane”, “Second plane”, and “Third plane” are respectively three-dimensional objects. This is information for designating the tags of the placement information arranged on the first surface, the second surface, and the third surface.
  • information to which a tag indicated by “arrangement plane” is assigned is arranged on each plane of the three-dimensional object.
  • the tag that is the value of the item “placement surface” may be considered as information indicating a condition for obtaining placement information.
  • the image information configuration unit 111 of the information processing apparatus 1 first displays the “object ID” illustrated in FIG. "Reads out the shape information from” OBJ1 "to” OBJ5 "and temporarily stores it in a memory or the like.
  • the image information configuration unit 111 reads the solid information from which the image information configuration unit 111 has read the shape information, that is, each of the three-dimensional objects whose “object IDs” are “OBJ1” to “OBJ5” (hereinafter, the three-dimensional object “OBJ1”). (Referred to as “OBJ5”) is acquired using the arrangement information management table shown in FIG. 7 as follows.
  • the placement information tags arranged on the respective surfaces constituting the solid object “OBJ1”, here the first surface to the third surface are read out from the placement information management table shown in FIG. Specifically, the value “SER1345” of the item “product ID” of the record whose “object ID” is “OBJ1” in the arrangement information management table shown in FIG. 7 is read. Then, from the arrangement information shown in FIG. 6, information on a product having a product ID tag whose element is “SER1345”, that is, “ ⁇ product> tag” having a product ID tag whose element is “SER1345”. The information surrounded by “ ⁇ / product> tag” is specified.
  • the tags which are the values of the items of “first side” to “third side” of the records whose “object ID” is “OBJ1” in the arrangement information management table shown in FIG.
  • the tag having the tag name that matches each tag is detected from the product information specified above in the arrangement information shown in FIG. 5 and the detected tag elements are sequentially acquired.
  • the acquired tag elements are arrangement information arranged from the first surface to the third surface of the solid object whose “object ID” is “OBJ1”.
  • the element shown in FIG. 7 is detected from the placement information including the product ID tag whose “SER1345” is “SER1345”, and “BS602” which is an element of this product name tag is acquired as placement information to be placed on the first surface.
  • the arrangement information is acquired for each of the three-dimensional objects “OBJ2” to “OBJ5”.
  • the acquired information is temporarily stored in a storage medium such as a memory (not shown) in association with the identification information of the three-dimensional object, for example.
  • the image information configuration unit 111 converts the object placement information corresponding to each of the solid objects from which the image information construction unit 111 has read out the shape information, that is, the solid objects “OBJ1” to “OBJ5”, into the object placement shown in FIG. Acquired using the information management table. Specifically, the image information configuration unit 111 detects a record in which the value of “object ID” matches the object ID of each solid object from the object arrangement information management table, and is included in the detected record. Object placement information, for example, values of items of “coordinates (X, Y, Z)” and “rotation angles (x, y, z)” are read. The read information is temporarily stored in a storage medium (not shown) in association with each object ID or the like.
  • the image information configuration unit 111 configures the image information of the three-dimensional objects “OBJ1” to “OBJ5”.
  • the three-dimensional objects “OBJ1” to “OBJ5” are placed on the first to third surfaces of the three-dimensional objects indicated by the shape information of the three-dimensional objects “OBJ1” to “OBJ5” acquired by the image information configuration unit 111.
  • the information for arrangement acquired by the image information configuration unit 111 is arranged corresponding to the first surface to the third surface, and these three-dimensional objects are arranged in correspondence with the three-dimensional objects “OBJ1” to “OBJ5”.
  • the image information arranged at the position and orientation indicated by the arrangement information acquired by the unit 111 is configured. Specifically, so-called rendering processing is performed.
  • rendering processing is performed.
  • parameters such as the coordinate axes and the angle of view at the time of rendering are set in advance so that a projection view of each three-dimensional object is configured.
  • FIG. 8 is a diagram showing a window management table for managing window information, which is information for displaying windows stored in the object arrangement information storage unit 102.
  • the window management table has items of “window ID”, “height”, “width”, “upper left coordinate”, and “object ID”.
  • Window ID is window identification information.
  • Height and “width” are the height and width of the window.
  • “Upper left coordinates” are the coordinates of the upper left corner of the window.
  • Object ID is an object ID of a solid object placed in the window.
  • the image information configuration unit 111 reads the window information whose “window ID” is “w01” and the window information whose “w02” are managed by the window management table shown in FIG. The image information is configured.
  • the image information configuration unit 111 synthesizes the image information of the configured three-dimensional objects “OBJ1” to “OBJ5”, images of two windows, a background image (not shown), and the like.
  • the image of the solid object arranged in one window according to the window management table is arranged in front of the image of the window including the solid object. Thereby, it can be displayed as if the three-dimensional object is arranged in the window.
  • the output unit 112 outputs the image information synthesized by the image information configuration unit 111.
  • the output unit 112 is connected to the monitor 504 and displays the image information of the three-dimensional object synthesized on the monitor.
  • Figure 9 shows a display example.
  • the solid object 801 is a solid object “OBJ1”
  • the solid object 802 is a solid object “OBJ2”
  • the solid object 803 is a solid object “OBJ3”
  • the solid object 804 is a solid object “OBJ4”
  • the solid object 805. Is a solid object “OBJ5”.
  • the three-dimensional objects “OBJ1” to “OBJ3” are arranged in the window 810 whose “window ID” is “w01”, and the three-dimensional objects “OBJ4” and “OBJ5” have the “window ID” “w02”. In the window 811.
  • each solid object corresponds to a product
  • the product name, product image, specification, price, etc. of each product are displayed on the surface of each solid object.
  • the correspondence between the product and information such as specifications related to the product can be easily grasped.
  • FIG. 10 is a rotation mode management table for managing the rotation modes associated with the windows.
  • the rotation mode management table has items of “window ID” and “rotation mode”. “Window ID” corresponds to the window ID shown in FIG.
  • the “rotation mode” is a rotation mode designated for the window.
  • the first rotation mode is a mode in which only the three-dimensional object specified by the rotation instruction is rotated
  • the second rotation mode is a mode in which other three-dimensional objects are rotated in addition to the three-dimensional object specified by the rotation instruction.
  • the rotation mode of each window is set to the first rotation mode as a default.
  • the user operates the menu screen, the mouse, and the like to rotate 90 degrees to the right about the three-dimensional object “OBJ1” with the y axis as the rotation axis (90 degrees to the left as viewed from the user side).
  • an instruction is input.
  • such an instruction is input by designating an image of the three-dimensional object 801 with a pointer or the like and selecting a menu item to be rotated 90 degrees rightward.
  • the change instruction accepting unit 104 accepts an instruction to rotate the solid object “OBJ1” by 90 degrees in the right direction about the y axis as a rotation axis according to the operation.
  • the object update unit 105 detects a group to which the three-dimensional object “OBJ1” belongs, here, a window in which the three-dimensional object “OBJ1” is arranged. Specifically, in the window management table shown in FIG. 8, a record including “OBJ1” as a value of “object ID” is detected by search, and the value of “window ID” of the record is acquired. Here, the object updating unit 105 acquires “w01” as the “window ID”.
  • the object update unit 105 detects a record in which the value of the “object ID” matches the acquired “w01” in the rotation mode management table shown in FIG. 10, and the value of the “rotation mode” of the record To get.
  • the “first rotation mode” is acquired.
  • the object update unit 105 detects a solid object in the same window from the window management table shown in FIG. That is, all the object IDs including the object ID of the solid object “OBJ1” are acquired from the value of the “object ID” of the record whose “window ID” is “w01”. Specifically, the object IDs “OBJ1”, “OBJ2”, and “OBJ3” are acquired. Then, the three-dimensional objects corresponding to the acquired object IDs are managed by the object arrangement information management table shown in FIG. 4 so as to rotate 90 degrees rightward about the set y-axis as the rotation axis. The object arrangement information corresponding to the object IDs “OBJ1”, “OBJ2”, and “OBJ3” is updated.
  • FIG. 11 shows the updated object arrangement information management table.
  • the image information configuration unit 111 configures the image information of the three-dimensional object again using the updated object arrangement information in the same manner as described above. Then, the output unit 112 outputs the configured image information to the monitor 504.
  • FIG. 12 is a diagram illustrating an output example of the three-dimensional object after rotation.
  • switching instruction receiving unit 106 receives an instruction to change the rotation mode associated with window 810.
  • This switching instruction is, for example, an instruction to switch the rotation mode to the second rotation mode.
  • the object update unit 105 overwrites the value of “rotation mode” in the rotation mode management table shown in FIG. 10 with “second rotation mode” in response to the switching instruction to switch to the accepted second rotation mode.
  • FIG. 13 is a diagram showing a rotation mode management table in which the rotation mode is changed.
  • the window 810 in which the solid object “OBJ2” is arranged is set to “ Since the “rotation mode” is the “second rotation mode” from the rotation mode management table shown in FIG. Is changed to rotate 90 degrees counterclockwise about the rotation axis. Then, an image of the three-dimensional object is output using the object arrangement information updated in this way.
  • FIG. 14 is a diagram illustrating a display example of the three-dimensional object after rotation.
  • the change instruction receiving unit 104 receives an instruction to align the direction of the three-dimensional object.
  • the object update unit 105 updates the object arrangement information so that the directions of all the three-dimensional objects are aligned in accordance with the instruction for aligning the directions.
  • the object arrangement information of each solid object is updated so that the first surface of each solid object faces the screen of the monitor 504. Then, an image of the three-dimensional object is output using the object arrangement information updated in this way.
  • FIG. 15 is an updated object arrangement information management table.
  • FIG. 16 is a diagram showing a display example of the updated three-dimensional object.
  • orientation in which the three-dimensional objects are aligned may be specified in advance, for example, by default, or the user inputs information specifying the orientation of the three-dimensional object together with an instruction to align the orientation.
  • the orientation of the three-dimensional object may be aligned so that this orientation is obtained.
  • the orientations of all the solid objects are aligned, but only the orientations of the solid objects of the group specified by the user, for example, the solid objects arranged in the window specified by the user are aligned. May be.
  • the object update unit 105 detects the three-dimensional objects “OBJ1”, “OBJ2”, and “OBJ3” arranged in the window 810 in the same manner as described above. Then, the surface that faces the display screen of each three-dimensional object is detected. Specifically, here, from the shape information corresponding to each solid object and the value of “rotation angle (x, y, z)”, the surface orthogonal to the Z-axis of the virtual three-dimensional space, the image information The surface on the viewpoint side when constructing is detected. Here, the first surfaces of the three-dimensional objects “OBJ1”, “OBJ2”, and “OBJ3” are detected.
  • the object updating unit 105 acquires “product name”, which is a tag of the placement information placed on the first surface of each solid object, from the placement information management table shown in FIG.
  • the object updating unit 105 obtains information with the tag “product name” associated with the three-dimensional objects “OBJ1”, “OBJ2”, and “OBJ3” from the placement information shown in FIG. get. That is, from each information delimited by the “product” tag including information whose “product ID” tag is “SER1345”, “SER2268”, and “SER3425”, an element of “product name” tag, that is, “BS602”, Information on character strings “AW801” and “TM555” is acquired. Then, from these pieces of acquired information, the first sound of the first character string is detected in order from the earliest in alphabetical order. Here, information is detected in the order of “AW801”, “BS602”, and “TM555”.
  • the object update unit 105 updates the object arrangement information for the three-dimensional object in which each piece of information is arranged in the order in which the information is detected. Specifically, from the left side of the window 810, the three-dimensional objects “OBJ2” and “BS602” in which “AW801” is arranged on the first surface are “OBJ1” and “TM555” in which the first surface is arranged. The object placement information of each solid object is updated so that the solid objects are arranged in the order of the solid object “OBJ3” arranged on the first surface. Each object is preferably arranged at a predetermined interval along a grid (not shown). Then, an image of the three-dimensional object is output using the object arrangement information updated in this way.
  • FIG. 17 is an updated object arrangement information management table.
  • FIG. 18 is a diagram showing a display example of the updated three-dimensional object.
  • the search condition information accepting unit 108 instructs to perform a search for a three-dimensional object using a search condition that information for placement with a “price” tag having a value of “30,000 yen or less” is placed. Accept condition information.
  • the search unit 109 first searches for placement information that satisfies the search condition indicated by the search condition information received by the search condition information receiving unit 108. Specifically, in the arrangement information management table shown in FIG. 7, the value of “product ID” is acquired from each record, and the acquired product ID in the arrangement information shown in FIG. In each piece of placement information delimited by the “product tag”, an element whose “price” tag satisfies the condition of “30,000 yen or less” is detected. Here, it is determined that the arrangement information whose elements of the “product ID” tag are “SER2268” and “SER3661” satisfies the condition. For this reason, the search unit 109 obtains “OBJ2”, which is the “object ID” of the record whose “product ID” is “SER2268”, “SER3661” in the arrangement information management table shown in FIG. Acquire “OBJ4”.
  • the search result arrangement information creating unit 110 creates object arrangement information for arranging the solid objects whose “object ID” is “OBJ2” and “OBJ4” acquired by the search unit 109 as the search result. Further, here, information (not shown) for displaying a window for displaying the search result is created, and object arrangement information for arranging the three-dimensional objects “OBJ2” and “OBJ4” in this window. Are newly created and stored in the object arrangement information storage unit 102 in association with the object IDs “OBJ2” and “OBJ4”. It is assumed here that the position, size, and the like at which the window indicating the search result is displayed are designated in advance.
  • the three-dimensional object of the search result is specified to be arranged at a predetermined interval along a grid or the like (not shown).
  • the information of the solid object originally arranged is also used as the shape information used for the solid object of the search result, the arrangement information, and the like. Then, an image of the three-dimensional object is output using the object arrangement information updated in this way.
  • FIG. 19 is an updated object arrangement information management table.
  • FIG. 20 is a diagram showing a display example of the updated three-dimensional object.
  • a window 830 is a window in which a search result solid object is displayed, and a solid object 806 and a solid object 807 are search result solid objects having object IDs “OBJ2” and “OBJ4” respectively. .
  • the other three-dimensional objects are also rotated in conjunction with each other, so that operability when operating a plurality of three-dimensional objects is improved. be able to.
  • the present embodiment it is possible to set whether or not the three-dimensional object rotates in association with each other in units of groups. It becomes possible. As a result, the user can appropriately set whether or not the three-dimensional object operates in conjunction with information arranged in the three-dimensional object, and can customize the operation of the three-dimensional object.
  • a three-dimensional object when a three-dimensional object is managed so as to have a hierarchical relationship, another three-dimensional object that rotates in conjunction with the one three-dimensional object in response to an instruction to rotate the one three-dimensional object. May be only a three-dimensional object in the same hierarchy.
  • the three-dimensional object in the same hierarchy is, for example, a three-dimensional object having no inclusion relationship or dependency relationship between the three-dimensional objects.
  • a solid object managed in the same hierarchy is often a solid object in which information for arrangement of a similar product or a product in the same category is arranged. Only three-dimensional objects for similar products or products in the same category can be operated in conjunction, and it is possible to improve operability by not operating three-dimensional objects of products that are not subject to comparison etc. Become.
  • you may consider the solid object of the same hierarchy as an example of the solid object which belongs to the same group as mentioned above.
  • each processing may be realized by centralized processing by a single device (system), or by distributed processing by a plurality of devices. May be.
  • two or more communication means (information transmission unit, etc.) existing in one apparatus may be physically realized by one medium.
  • information related to processing executed by each component for example, information received, acquired, selected, generated, transmitted, and received by each component.
  • information such as threshold values, mathematical formulas, addresses, etc. used by each component in processing is retained temporarily or over a long period of time on a recording medium (not shown) even when not explicitly stated in the above description. It may be.
  • the storage of information in the recording medium (not shown) may be performed by each component or a storage unit (not shown).
  • reading of information from the recording medium (not shown) may be performed by each component or a reading unit (not shown).
  • the information processing apparatus may be a stand-alone apparatus or a server apparatus in a server / client system.
  • the output unit or the reception unit receives an input or outputs a screen via a communication line.
  • each component may be configured by dedicated hardware, or a component that can be realized by software may be realized by executing a program.
  • each component can be realized by a program execution unit such as a CPU reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the software that realizes the information processing apparatus in the above embodiment is the following program. That is, this program configures each of the shape information stored in the shape information storage unit in which shape information, which is information for designating the shape of two or more solid objects, and two or more solid objects can be stored in the computer.
  • the object arrangement information corresponding to the three-dimensional object stored in the object arrangement information storage unit that can store the object arrangement information, which is information for designating the arrangement of two or more three-dimensional objects, is read, and one or more indicated by the read shape information
  • a solid object with corresponding placement information for each surface is arranged as indicated by the object placement information.
  • An image information composing step that constitutes the image information, an output step for outputting the image information composed at the image information composing step, a change instruction accepting step for accepting a change instruction for the arrangement of one or more solid objects, and a change instruction accepting step If the change instruction received in step 1 is an instruction to rotate one or more three-dimensional objects, the three-dimensional object to be changed and a three-dimensional object other than the three-dimensional object are rotated in accordance with the change instruction.
  • the functions realized by the program do not include functions that can only be realized by hardware.
  • functions that can be realized only by hardware such as a modem and an interface card in an acquisition unit that acquires information, an output unit that outputs information, and the like are not included in the functions realized by the program.
  • the computer that executes this program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
  • Embodiment 2 of the present invention will be described below with reference to the drawings.
  • definitions of terms between the description of Embodiment 1 and the description of Embodiment 2 In the case where the description of the processing content is different, the description in the second embodiment is given priority.
  • FIG. 21 is a block diagram of the information processing apparatus 21 in the present embodiment.
  • the information processing apparatus 21 includes a shape information storage unit 2101, an object arrangement information storage unit 2102, a hierarchical structure data storage unit 2103, a rotation instruction reception unit 2104, an arrangement data acquisition unit 2105, a designation reception unit 2106, an image information configuration unit 2107, And an output unit 2108.
  • the shape information storage unit 2101 can store shape information that is information indicating the shape of a three-dimensional object having two or more surfaces.
  • shape information for example, shape information of one or more three-dimensional objects may be stored.
  • the shape information is information that defines, for example, the shape of an object arranged in the virtual three-dimensional space.
  • the shape information is so-called modeling information of a three-dimensional object, for example.
  • the shape information may be information indicating the shape of a two-dimensional object for displaying a three-dimensional object in a pseudo manner.
  • the three-dimensional object described here includes, for example, what is called a 3D object, a 3D model, or a three-dimensional model.
  • the shape information includes information on the coordinates of the vertices of the three-dimensional object, information on equations that express boundary lines, surfaces, and the like, information on parameters thereof, and the like.
  • the coordinates described here may be, for example, a coordinate system set based on the three-dimensional object itself, a coordinate of a so-called object coordinate system, a coordinate system of a virtual three-dimensional space where one or more three-dimensional objects are arranged, Coordinates in the so-called world coordinate system may be used.
  • the shape information includes information that defines two or more surfaces constituting the solid object, or information that can define the surfaces.
  • the information that defines a surface is, for example, a combination of coordinates of vertices that the surface forms with other surfaces, coordinates on sides around the surface, and the like.
  • the information which can define a surface is the information which shows the normal of a surface, for example, a normal vector etc.
  • One or more surfaces of the three-dimensional object indicated by the shape information may be associated with identification information for identifying each surface, for example. Such surface identification information is referred to herein as surface identification information.
  • the surface identification information may be associated with a combination of coordinates of vertices that specify a surface, and the surface identification information may be associated with information indicating a normal line that identifies the surface, for example. .
  • the arrangement of the orientation, position, etc. of the solid object is limited to a certain number of patterns such that each surface constituting the solid object is in front, each pattern and the front of the pattern May be associated with the surface identification information of the surface.
  • the surface identification information may be included in the shape information, or may be accumulated in another storage unit such as a storage medium (not shown).
  • the 3D objects can be classified into various modeling such as polygon modeling and modeling using a free-form surface, for example, depending on the method of constructing the surface.
  • the shape information may include information on setting items such as the color of the 3D object, transparency, reflection, refractive index, and bump when the 3D object is output.
  • the shape information may be shape information of a three-dimensional object having a movement whose size, shape, color, transparency, etc. change over time.
  • the shape information of the three-dimensional object may be information in any format.
  • the shape information may be a file in the FLASH (registered trademark) format.
  • the shape of the three-dimensional object may be any shape such as a sphere, a cylinder, a polyhedron such as a hexahedron or an octahedron, a cube, a cone, or a pyramid.
  • the sphere may be considered as a polyhedron.
  • a planar object arranged in the virtual three-dimensional space may be considered as one of the three-dimensional objects.
  • the shape information stored in the shape information storage unit 2101 may be associated with information indicating the direction in which the solid object indicated by the shape information can rotate. For example, this information may be included in the shape information.
  • a rotation instruction receiving unit 2104 which will be described later, receives a rotation instruction, the three-dimensional object may be rotated only in the direction indicated by the information specifying the rotatable direction.
  • the shape information storage unit 2101 can store shape information of one or more solid objects.
  • Two or more solid objects may have the same shape and size, or may have different shapes and sizes.
  • the three-dimensional object may be associated with three-dimensional object identification information that is identification information for identifying the three-dimensional object.
  • the unit of the size of the shape information may be an absolute unit or a relative unit.
  • sharable shape information or the like may be mutually used by referring to the link information or the like. That is, the shape information of two or more solid objects may be one shape information shared by two or more solid objects. That is, the shape information of two or more solid objects may be considered as shape information corresponding to two or more solid objects.
  • the shape information storage unit 2101 may store in advance shape information indicating the shape of a three-dimensional object for arranging one or more grouped three-dimensional objects therein.
  • a three-dimensional object for arranging one or more grouped three-dimensional objects is called a group three-dimensional object.
  • the shape information of the three-dimensional object for arranging one or more grouped three-dimensional objects therein is appropriately configured by a shape information configuration unit (not shown) and stored in the shape information storage unit 2101. You may make it.
  • the shape information storage unit 2101 is preferably a nonvolatile recording medium, but can also be realized by a volatile recording medium.
  • the object arrangement information storage unit 2102 can store object arrangement information that is information for designating the arrangement of one or more three-dimensional objects.
  • the one or more solid objects described here are solid objects indicated by the shape information stored in the shape information storage unit 2101.
  • the object arrangement information may be considered as information specifying the arrangement of the shape information of the three-dimensional object.
  • the arrangement described here is, for example, an arrangement in a virtual three-dimensional space. However, it may be position information such as a two-dimensional image configured using a three-dimensional object or two-dimensional coordinate information indicating a position where a pseudo three-dimensional image indicating a three-dimensional object is arranged. This arrangement is a concept having a combination of the position and direction of a three-dimensional object, for example.
  • the three-dimensional object and the object arrangement information may be associated in advance or may not be associated.
  • one object arrangement information is designated in advance, and when one solid object of one or more three-dimensional objects is arranged, no matter what the object is, the above-mentioned pre-designation is performed.
  • An object may be arranged using the single object arrangement information.
  • the object arrangement information may be information that can specify the arrangement of the three-dimensional object as a result.
  • the object arrangement information is information that specifies the coordinates of the position where the three-dimensional object is arranged and the direction of the three-dimensional object.
  • Information specifying the direction is, for example, information such as vector information or a rotation angle with a predetermined axis in the virtual three-dimensional space as a rotation axis. Or you may think that it is the information which shows the positional relationship of the coordinate axis in a virtual three-dimensional space, and the coordinate axis set to a solid object. For example, it may be information in which each coordinate axis set in the three-dimensional object is represented by a vector with reference to the coordinate axis in the virtual three-dimensional space.
  • the object arrangement information may include information for designating the size of the three-dimensional object.
  • the coordinates that specify the position of the three-dimensional object may be absolute coordinates set in the virtual three-dimensional space, or may be relative coordinates set for other three-dimensional objects.
  • the coordinates for designating the position of the three-dimensional object may be the coordinates of the vertex where the sides constituting the three-dimensional object gather, or the coordinates of the position such as the center of the three-dimensional object.
  • the object arrangement information may be object arrangement information for moving images in which the arrangement of the three-dimensional object changes with time.
  • the object arrangement information may include information on a plurality of frames, and the arrangement of the three-dimensional object may be designated for each frame.
  • the shape information storage unit 2101 and the object arrangement information storage unit 2102 are configured as one storage unit, and the object arrangement information May be included in the shape information.
  • the shape information can also be used as the object arrangement information, and the arrangement of the three-dimensional object can also be specified Also good.
  • the position of the object is placed.
  • the information may be two-dimensional information, for example, coordinate information such as xy coordinates.
  • the object arrangement information may include information for managing a grouping situation such as whether or not a plurality of three-dimensional objects are grouped.
  • Information for managing the status of grouping includes, for example, associating group identification information for identifying a group to which a three-dimensional object constituting one group is associated, or identifying identification information of a three-dimensional object included in the same group.
  • a database managed by a plurality of items of records may be used.
  • the group in this Embodiment is not necessarily restricted only to the group of the solid object managed by the information which manages a grouping condition as mentioned above, As a result, one or more solid objects are made into a group, For example, it may be in a state that can be determined by an object update unit 105 described later.
  • the group of solid objects may be a group that can be determined according to the arrangement of the solid objects. Specifically, as described above, one or more solid objects arranged in one window may be considered as one group. Further, when the three-dimensional object is managed in a hierarchical manner, a three-dimensional object belonging to one hierarchy or a three-dimensional object subordinate to one solid object may be considered as one group.
  • a solid object arranged in a predesignated area may be considered as one group of solid objects.
  • Information for designating such a predesignated area is stored in, for example, a storage medium (not shown).
  • the area designated in advance is, for example, an area in which a three-dimensional object for a purchase object is arranged.
  • solid objects having the same attribute or associated with the same attribute may be considered as a group of solid objects.
  • a case where the solid object is a solid object in which information about a product is arranged will be described as an example.
  • the objects may be considered as a group of solid objects.
  • a solid object registered in the product list to be purchased may be considered as a group of solid objects.
  • the object arrangement information may be changed by the image information configuration unit 2107 or the like when changing the arrangement of the three-dimensional object, for example.
  • the object arrangement information storage unit 2102 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the object placement information storage unit 2102 can temporarily store default object placement information read from, for example, a storage unit (not shown) in which object placement information prepared by default is stored in advance. It may be considered as a temporary storage unit or the like.
  • the hierarchical structure data storage unit 2103 can store hierarchical structure data composed of one or more layered data.
  • Hierarchical structure data is, for example, data hierarchized in a tree structure or nested data.
  • the data having a hierarchical structure may be, for example, data marked up with a tag or the like, that is, data with a tag.
  • the hierarchical relationship of each data can be specified by using the inclusion relationship between the tags.
  • the hierarchical structure data is HTML data, SGML data, XML (extensible markup language) data, or the like. Since the versatility is high, the hierarchical structure data is preferably described using XML data. However, other data may be used as long as it has a hierarchical structure.
  • the hierarchical structure data includes, for example, data to be output and data indicating the structure of the data to be output, specifically, data indicating a hierarchical structure.
  • the data indicating the structure is, for example, a tag.
  • the data to be output is, for example, data with a tag, which is a so-called element. That is, the tagged hierarchical structure data includes, for example, a tag and a tagged element. However, a tag that does not have a direct element may be included.
  • a character string or a numerical value in the tag is referred to as an attribute name or an element name.
  • Data whose structure is specified by a tag is called an element.
  • the one or more layered data is arranged on the surface constituting the three-dimensional object and can be output, for example, any information such as image information such as still images and moving images, text information, etc. There may be.
  • the image information may be information as long as image information for output can be configured as a result.
  • the image information may be vector data or raster data.
  • the arrangement described here may be considered as mapping of image information or the like on the surface of a so-called solid object.
  • the one or more data layered is, for example, so-called content.
  • information indicating the storage location and file name of data such as actual image data, so-called link information, etc. may be stored in the hierarchical structure data as one or more hierarchical data.
  • one or more hierarchized data may be considered as information to be mapped, for example, texture information.
  • the data structure of hierarchical structure data does not matter.
  • Hierarchical structure data has, for example, a structure that branches at a plurality of branch points from an upper hierarchy to a lower hierarchy. Such a branch point is called a node.
  • a branch point is called a node.
  • one or more lower layer data is usually directly subordinate to one upper layer data.
  • a branching point that branches toward one or more pieces of data in a subordinate lower hierarchy is called a node.
  • one piece of data in a higher hierarchy may be considered as a node.
  • a branch point of data managed in a tree structure is often called a node, but here, a node corresponding to a branch point when hierarchical structure data is expressed in a tree structure is also considered.
  • the one tag when the tagged data exists below the one tag, the one tag may be considered as a node.
  • Each node may be associated with identification information for identifying the node.
  • the identification information for identifying the node may be a tag attached to data of each layer, tag identification information, or the like.
  • the node identification information may be identification information such as a menu item or menu screen for displaying data subordinate to the node, such as a menu screen name. Note that the highest hierarchy (so-called root hierarchy, root directory, etc.) of the entire hierarchical structure data may be considered as one node.
  • the hierarchical structure data and the shape information of the three-dimensional object in which the data constituting the hierarchical structure data is arranged may be associated in advance or may not be associated.
  • information associating hierarchical structure data with shape information is accumulated in a storage unit such as a storage medium (not shown), for example. If they are not associated with each other, the image information configuration unit 2107, which will be described later, may acquire shape information designated in advance regardless of the hierarchical structure data, or depending on the data structure and contents of the hierarchical structure data. The shape information may be acquired.
  • shape information, the object arrangement information, and the hierarchical structure data may be accumulated in the shape information storage unit 2101, the object arrangement information storage unit 2102, and the hierarchical structure data storage unit 2103.
  • shape information, object arrangement information, and hierarchical structure data may be accumulated in the shape information storage unit 2101, object arrangement information storage unit 2102, and hierarchical structure data storage unit 2103, respectively, via a recording medium.
  • Shape information, object placement information, and hierarchical structure data transmitted via a line or the like may be accumulated in the shape information storage unit 2101, object placement information storage unit 2102, and hierarchical structure data storage unit 2103, respectively.
  • Shape information, object placement information, and hierarchical structure data input via the input device may be accumulated in the shape information storage unit 2101, object placement information storage unit 2102, and hierarchical structure data storage unit 2103, respectively.
  • shape information, object arrangement information, and hierarchical structure data stored in the shape information storage unit 2101, the object arrangement information storage unit 2102, and the hierarchical structure data storage unit 2103 are received by, for example, a reception unit (not shown). It may be updated as appropriate according to the shape information, object arrangement information, and hierarchical structure data.
  • a combination of shape information and object arrangement information for one or more three-dimensional objects, or a combination of shape information, object arrangement information, and hierarchical structure data, etc. is a file such as a file in FLASH (registered trademark) format. You may make it store in.
  • a combination of the shape information storage unit 2101 and the object arrangement information storage unit 2102 and a combination of the shape information storage unit 2101, the object arrangement information storage unit 2102 and the hierarchical structure data storage unit 2103 are realized by one storage unit. You may do it.
  • the hierarchical structure data storage unit 2103 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the rotation instruction receiving unit 2104 receives a rotation instruction that is an instruction to rotate the three-dimensional object. Specifically, a rotation instruction for a three-dimensional object output by an output unit 2108 described later is received.
  • the rotation instruction is information instructing to rotate at least a three-dimensional object.
  • the rotation instruction may include information for specifying the rotation direction.
  • the rotation instruction may be information specifying whether to rotate the three-dimensional object in a predetermined direction in the horizontal direction or in a predetermined direction in the vertical direction. Further, it may be an instruction for designating whether the three-dimensional object is to be rotated counterclockwise or clockwise, and information for specifying whether the solid object is to be rotated forward or backward in the vertical direction.
  • the rotation instruction may be information specifying whether to rotate clockwise around the rotation axis designated in advance, or may be an instruction including information specifying the rotation axis. .
  • the rotation axis may be specified in advance regardless of the 3D object, or may be specified for each 3D object. Or you may enable it to specify freely by a user.
  • the rotation instruction may or may not include information specifying the rotation angle or the like.
  • the rotation instruction may be an instruction including information specifying which surface of the three-dimensional object is directed to which direction, for example, which surface is the front surface by rotation.
  • the rotation instruction received by the rotation instruction receiving unit 2104 may be a rotation instruction with a limited rotation angle.
  • a rotation instruction in which the rotation angle is limited to a predetermined angle unit such as a unit of 90 degrees may be used.
  • the limitation on the rotation angle may be changed according to a three-dimensional object that is rotationally symmetric. For example, if the three-dimensional object is a cube, the rotation angle is set in units of 90 degrees, and the three-dimensional object is a hexagonal prism. If so, the rotation angle may be set in units of 30 degrees.
  • the rotation instruction receiving unit 2104 receives a first rotation instruction that is an instruction to rotate the three-dimensional object in the first rotation direction, and an instruction to rotate the three-dimensional object in a second rotation direction that is different from the first rotation direction.
  • a second rotation instruction may be received.
  • the first rotation direction and the second rotation direction are preferably orthogonal directions, for example.
  • the first rotational direction is a clockwise or counterclockwise rotational direction in the horizontal direction
  • the second rotational direction is a forward or backward rotational direction in the vertical direction.
  • the rotation instruction receiving unit 2104 reverses the third rotation instruction, which is an instruction to rotate the three-dimensional object in the third rotation direction opposite to the first rotation direction, and the third object in the second rotation direction.
  • a fourth rotation instruction that is an instruction to rotate in the fourth rotation direction may be received. For example, if the first rotation direction is a counterclockwise rotation direction in the horizontal direction, the third rotation direction is a clockwise rotation direction in the horizontal direction. Further, for example, if the second rotation direction is the forward rotation direction in the vertical direction, the fourth rotation direction is the backward rotation direction in the vertical direction.
  • Rotation instruction accepting unit 2104 may accept any rotation instruction.
  • a rotation instruction may be received when a menu item indicating rotation of a three-dimensional object is selected.
  • a rotation instruction that specifies the direction of dragging or flicking as the rotation direction may be received.
  • a rotation instruction for rotating the three-dimensional object in a predetermined direction may be received by single-clicking or single-tapping the three-dimensional object.
  • a rotation instruction for rotating the three-dimensional object in a predetermined direction may be received by double-clicking or single-tapping the three-dimensional object. Or, by clicking or tapping the side of the solid object or by clicking on the side, an instruction to rotate in the rotation direction so that the clicked side or the clicked side of the side is located on the front side may be received. good.
  • “Receiving a rotation instruction” is a concept including receiving information input from an input device such as a keyboard, a mouse, or a touch panel.
  • the input means may be anything such as a numeric keypad, a keyboard, a mouse, a touch pad, or a menu screen.
  • the rotation instruction receiving unit 2104 can be realized by a device driver for input means such as a numeric keypad, a keyboard, a mouse, and a touch pad, control software for a menu screen, and the like.
  • the arrangement data acquisition unit 2105 acquires one or more data subordinate to one node from the hierarchical structure data.
  • the placement data acquisition unit 2105 may acquire one or more data subordinate to a node designated in advance by a user, default, or the like, or may depend on data designated by a user, default, etc. subordinate to one node Data designated in advance may be acquired. Alternatively, in the hierarchical structure data, data having the same node as the subordinate destination may be acquired from the data specified by the user or default. Further, one or more data subordinate to a node selected randomly by the placement data acquisition unit 2105 or the like may be acquired.
  • the node designated in advance is a node designated by the user or a node set by default or the like. The node may be specified in any way.
  • the node may be specified by specifying the node data.
  • the node may be specified using a node data tag, a tag indicating the node, or the like.
  • the node may be specified using identification information associated with the node or the node hierarchy.
  • a node that is a subordinate destination of the designated data may be designated.
  • the node designated in advance by default or the like is a node in the highest hierarchy (specifically, the root hierarchy).
  • the arrangement data acquisition unit 2105 has a predetermined dependency on one or more of one or more pieces of data arranged on a surface facing a predetermined direction of the solid object output by the output unit 2108. Get one or more data.
  • the arrangement data acquisition unit 2105 detects a surface of a three-dimensional object facing a predetermined direction, and acquires data having a predetermined dependency on the data arranged on the detected surface.
  • the arrangement data acquisition unit 2105 acquires data having a predetermined dependency from the hierarchical structure data stored in the hierarchical structure data storage unit 2103.
  • the direction designated in advance is, for example, a direction designated by the user or a direction designated by default.
  • the direction designated in advance is referred to as a first designated direction.
  • the surface facing the first designated direction is, for example, a surface in which a normal vector of the surface is parallel to a vector indicating the first designated direction.
  • the normal vector indicates a normal vector that goes to the outside of the three-dimensional object.
  • the first designated direction is a direction in which, for example, when the image information of the three-dimensional object is output, the surface facing the first designated direction is most easily seen from the user as compared to the other surfaces.
  • the surface facing the first designated direction is the direction in which the surface is positioned at the forefront with respect to the other surfaces.
  • the surface facing the first designated direction of the three-dimensional object is, for example, the front.
  • the front surface is a surface that can be seen on the front side when viewed from the user side, for example, when a solid object is output on a monitor or the like. Or you may think that a front is a surface which faced the user side direction.
  • a first designated direction for example, the Z-axis When the solid object is viewed in the direction toward the origin
  • the surface of the solid object positioned in front may be considered as the front.
  • the front surface of the three-dimensional object may be a surface inclined with respect to a screen or the like on which a three-dimensional object image is displayed.
  • the arrangement data acquisition unit 2105 may detect the front surface of the three-dimensional object in any way. For example, a surface having a normal vector parallel to the vector indicating the first designated direction may be detected.
  • the solid object has a fixed angle formed by adjacent surfaces in the rotation direction, and the solid object is rotated, the solid object is adjacent in the rotation direction to the surface that is directed in a predetermined direction before the rotation.
  • the rotation angle is limited so that the surface is a surface facing the first designated direction
  • information such as a flag indicating the front is assigned or deleted in association with the surface. You may make it go.
  • it is possible to detect that the surface associated with the information indicating the front is the surface facing the currently designated direction.
  • arrangement data acquisition unit 2105 treats one or more data subordinate to the data designated by the designation received by the designation accepting unit 2106 described later as hierarchical structure data as one or more data having a predetermined subordination relationship. Get from.
  • the one or more subordinate data described here means data subordinate to one level below the designated data.
  • the arrangement data acquisition unit 2105 has the same hierarchy as the node that is a subordinate destination of one or more data arranged on the surface facing the first designated direction of the solid object output by the output unit 2108.
  • One or more data subordinate to different nodes is acquired from the hierarchical structure data as one or more data having a predetermined subordinate relationship.
  • the arrangement data acquisition unit 2105 displays the one or more data subordinate to the data specified by the designation received by the designation receiving unit 2106, which will be described later, and the first designated direction of the three-dimensional object output by the output unit 2108.
  • One or more data subordinate to a different node in the same hierarchy as the node to which one or more data arranged on the facing surface is subordinate is acquired from the hierarchical structure data as one or more data having a predetermined subordination relationship .
  • the timing at which the arrangement data acquisition unit 2105 acquires data having a predetermined dependency relationship does not matter. For example, when a designation receiving unit 2106, which will be described later, receives designation of data, data subordinate to this data may be acquired. In addition, when a rotation instruction for a three-dimensional object is received, data subordinate to a different node in the same hierarchy as a node that is a subordinate of data arranged on a surface that faces a predetermined direction by the rotation instruction is displayed. You may get it.
  • the arrangement data acquisition unit 2105 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the arrangement data acquisition unit 2105 is usually realized by software, and the software is recorded in a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the designation receiving unit 2106 receives a designation for one of the one or more pieces of data arranged on the surface facing the above-described first designated direction of the solid object output by the output unit 2108 described later. For example, when an area for accepting designation of each data is set on the area where each data on the solid object output by the output unit 2108 is arranged, and one of these areas is clicked with the mouse, The specification of data corresponding to this area is accepted.
  • the designation receiving unit 2106 accumulates information indicating which data is designated, for example, in a storage unit (not shown).
  • the input means for designating data may be anything such as a numeric keypad, a keyboard, a mouse, a touch pad, or a menu screen.
  • the designation receiving unit 2106 can be realized by a device driver for input means such as a numeric keypad or a keyboard, control software for a menu screen, and the like.
  • the image information configuration unit 2107 configures the image information of the three-dimensional object in which the data acquired by the arrangement data acquisition unit 2105 is arranged on the surface facing the above-described first designated direction of the three-dimensional object indicated by the shape information. For example, the shape information of the three-dimensional object and the default object arrangement information stored in advance in the object arrangement information storage unit 2102 are acquired, and the three-dimensional object indicated by the shape information in the direction and position indicated by the object arrangement information. The image information in which is arranged is configured. At this time, the image information of the three-dimensional object in which one or more data subordinate to one node is acquired, which is acquired by the arrangement data acquisition unit 2105, is configured on the surface of the three-dimensional object that faces the first designated direction described above.
  • positions For example, if the initial setting of the object placement information is to place a predetermined surface of the solid object indicated by the shape information so as to face a predetermined direction, this one surface of the solid object May be detected as a surface facing the first designated direction. Or you may detect using the normal vector etc. which were mentioned above.
  • the image information configuration unit 2107 may determine the shape information of the three-dimensional object used for the configuration of the image information from one or more pieces of shape information stored in the shape information storage unit 2101. For example, shape information designated in advance by default or the like may be acquired. Further, shape information associated with the hierarchical structure data may be acquired by a user or the like. In addition, the shape information corresponding to the data structure or data content of the hierarchical structure data stored in the hierarchical structure data storage unit 2103 may be acquired.
  • the image information configuration unit 2107 sequentially counts the number of data directly subordinate to each node of the hierarchical structure data, for example, detects the maximum value of the data subordinate to the node, and rotates corresponding to the shape information or the like Shape information in which the number of surfaces in the rotatable direction of the solid object specified by the information specifying the direction is the same as the maximum value is acquired.
  • a lower limit value, an upper limit value, etc. are set for the maximum value of the data depending on the node. You may make it acquire the shape information designated according to the upper limit. For example, when the maximum value is 3 or less, the shape information of the tetrahedral solid object may always be acquired.
  • the range of the maximum value may be associated with the shape information, and the shape information of the three-dimensional object may be acquired according to which value range the maximum value of the node falls into. For example, if the maximum value of the node is from 1 to 8, the cube shape information is acquired. If the maximum value of the node is from 9 to 11, the hexagonal column shape information is acquired, and the maximum value of the node is After 12, the shape information of the octagonal prism may be acquired. Further, the shape information of the solid object having different display attributes such as color and transparency may be acquired according to the maximum value of the data on which the node depends. For example, if the maximum value of the node is 1 to 8, red shape information may be acquired, and if the maximum value of the node is 9 to 11, blue shape information may be acquired.
  • the image information configuration unit 2107 obtains the maximum number of hierarchies that is the number of hierarchies of the deepest hierarchy, for example, by counting the depth of the hierarchy data while tracing the nodes of the hierarchy structure in order. . Then, shape information may be acquired according to the maximum number of hierarchies. For example, the shape information whose maximum number of layers is the same as the maximum number of layers is acquired. In addition, a lower limit and an upper limit are set for the maximum number of hierarchies, and when the maximum value falls below the lower limit or exceeds the upper limit, etc., depending on these lower limit and upper limit You may make it acquire the designated shape information.
  • the shape information of the tetrahedral solid object may always be acquired.
  • the range of the value of the maximum hierarchy number may be associated with the shape information, and the shape information of the three-dimensional object may be acquired according to which value range the maximum hierarchy number falls. For example, if the maximum number of hierarchies is from 1 to 8, cube shape information is obtained. If the maximum number of hierarchies is from 9 to 11, hexagonal column shape information is obtained. The shape information of the octagonal prism may be acquired. Further, the shape information of the three-dimensional object having different display attributes such as color and transparency may be acquired according to the maximum number of hierarchies of data on which the node depends. For example, if the maximum number of layers is 1 to 8, red shape information may be acquired, and if the maximum number of layers is 9 to 11, blue shape information may be acquired.
  • the image information configuration unit 2107 may acquire shape information according to the contents of the hierarchical structure data.
  • the data content here may be, for example, a data type such as image data or text data. Further, it may be whether or not the text data includes a character string (keyword) designated in advance, the number of characters, the amount of data, and the like.
  • the image information configuration unit 2107 determines whether or not data including a predetermined data type exists in part or all of the hierarchical structure data. Shape information may be acquired. Or you may make it acquire the shape information of a different three-dimensional object depending on whether the text data containing the character string designated beforehand exist.
  • the image information configuration unit 2107 is image information of the three-dimensional object rotated in accordance with the rotation instruction, and becomes a surface facing the first specified direction after the rotation.
  • the image information of the three-dimensional object in which one or more pieces of data having a predetermined dependency acquired by the arrangement data acquisition unit 2105 are arranged on the surface is configured.
  • the image information of the three-dimensional object rotated in accordance with the rotation instruction is image information of a moving image including an image indicating a state in which the three-dimensional object is being rotated.
  • a rotating image is created, for example, by interpolating an arrangement in the middle of rotation, for example, orientation information, from the object arrangement information of the three-dimensional object at the start and end of rotation, and using the interpolated information. It can be created by constructing an image of a moving image frame. Alternatively, from the start of rotation, the 3D object is sequentially changed to the direction indicated by the rotation instruction in the direction indicated by the rotation instruction at a predetermined speed while changing the direction of the 3D object at any time. By constructing an object image, an image of each frame of the moving image can be constructed. Alternatively, a moving image may be configured by composing a rotation start image and a rotation end image and interpolating the configured image or adding a transition effect to switching.
  • a rotating image of a three-dimensional object for example, a frame image may be configured by rendering a three-dimensional object or the like, but shows a state in which a three-dimensional object prepared in advance according to shape information or the like is rotating.
  • the image may be read out from a storage unit or the like (not shown) and used.
  • the one or more pieces of data having a predetermined dependency acquired by the arrangement data acquisition unit 2105 are the first designation of the solid object acquired by the arrangement data acquisition unit 2105 and before being rotated according to the rotation instruction.
  • One or more pieces of data having a predetermined dependency relationship with the data arranged on the surface facing the direction are the first designation of the solid object acquired by the arrangement data acquisition unit 2105 and before being rotated according to the rotation instruction.
  • One or more pieces of data having a predetermined dependency acquired by the arrangement data acquisition unit 2105 may be arranged on a three-dimensional object even when a rotating image is configured by rendering or the like. Only the finally obtained three-dimensional object image may be an image formed by rendering an image in which the data acquired by the arrangement data acquisition unit 2105 is arranged. Further, the image information configuration unit 2107 may configure an image in which the three-dimensional object is rotating while data already arranged on the surface of another three-dimensional object is also arranged on the surface.
  • the arrangement data acquisition unit 2105 is a plane that turns the acquired data into the first designated direction after rotation when the arrangement data acquisition unit 2105 acquires one or more pieces of data having a predetermined dependency.
  • an image of a three-dimensional object arranged on the screen may be configured.
  • the arrangement data in which the arranged surface becomes a surface that does not face the previously specified direction as a result of the rotation of the three-dimensional object is appropriately deleted from the three-dimensional object. It may be left as it is. If left as is, The rotation direction of the 3D object as a result of rotating the 3D object when the maximum number of layers of the hierarchical structure data or the maximum number of data dependent on the node is larger than the number of faces in the rotation direction of the 3D object. If the data is arranged on all the surfaces in, and there is no surface to arrange the data in the next rotation operation, the data acquisition unit for arrangement is provided on the surface facing the direction specified in advance in the next rotation operation. The new data acquired by 2105 may be arranged, and the data already arranged on this surface may be discarded from the three-dimensional object.
  • the image information configuration unit 2107 changes the data to be arranged on the three-dimensional object as follows when the rotation instruction reception unit 2104 receives the first rotation instruction and when the rotation instruction reception unit 2104 receives the second rotation instruction. May be.
  • the image information configuration unit 2107 is the image information of the three-dimensional object rotated in the first rotation direction indicated by the first rotation instruction.
  • a solid object in which one or more data subordinate to the data designated by the designation received by the designation receiving unit 2106 acquired by the arrangement data acquiring unit 2105 is arranged on the surface that is directed to the first specified direction.
  • the image information is configured.
  • the rotation instruction receiving unit 2104 receives the second rotation instruction
  • the image information of the three-dimensional object rotated in the second rotation direction indicated by the second rotation instruction is directed to the first specified direction after the rotation.
  • a node in the same hierarchy as a node to which one or more data arranged on the surface facing the first specified direction of the three-dimensional object before rotation acquired by the arrangement data acquisition unit 2105 is located
  • the image information of the three-dimensional object in which one or more data subordinate to a node different from the subordinate node is arranged.
  • the lower layer data of the pre-rotation data is arranged on the surface of the three-dimensional object facing in a predetermined direction.
  • data that is in the same hierarchy as the data before rotation and is subordinate to a different node is placed on the surface of the three-dimensional object facing in a predetermined direction. It becomes. As a result, it is possible to browse the hierarchical structure data efficiently and intuitively by rotating the three-dimensional object.
  • the rotation instruction receiving unit 2104 receives a third rotation instruction that is an instruction to rotate the three-dimensional object in the third rotation direction opposite to the first rotation direction
  • the third rotation instruction indicates the third rotation instruction.
  • the image information of the three-dimensional object rotated in the direction of rotation of the three-dimensional object is arranged on the surface that faces the first designated direction after the rotation, on the surface that faces the first designated direction of the three-dimensional object before rotation.
  • the image information of a three-dimensional object in which higher-order data of the data and data subordinate to the same node as the data are arranged may be configured.
  • the arrangement data acquisition unit 2105 may appropriately acquire the data arranged here as in the case of the data arranged on the surface facing the other first designated direction as described above.
  • the history of data arranged on the surface facing the direction designated in advance when the image is rotated in the first direction in the past is stored in a storage unit (not shown), and the arrangement data acquisition unit 2105 Data managed in the history may be read and acquired in the reverse order of time series.
  • the fourth rotation instruction indicates the fourth rotation instruction.
  • the image information of the three-dimensional object rotated in the direction of rotation of the three-dimensional object is arranged on the surface facing the first specified direction after rotation, on the surface facing the first specified direction of the three-dimensional object before rotation.
  • the image information of the three-dimensional object in which one or more data subordinate to a node different from the subordinate node among the nodes of the same hierarchy as the subordinate destination node of the one or more data is configured. May be.
  • the arrangement data acquisition unit 2105 may acquire the data arranged here as appropriate, similarly to the data arranged on the surface facing the other first designated direction as described above.
  • the node on which the data arranged here depends is different from the data arranged on the surface facing the first designated direction when the second rotation instruction is received next time. It is preferable. For example, when the image is rotated in the second direction in the past, the history of data arranged on the surface facing the direction specified in advance is saved in a storage unit (not shown) and the data managed by this history May be read and arranged in the reverse order of time series.
  • an acquisition order or the like is designated in advance in a node that is a subordinate destination of the data acquired by the arrangement data acquisition unit 2105, and the data is rotated in the second rotation direction.
  • the node data is acquired and arranged in the order of acquisition, and when rotated in the fourth rotation direction, the node data is acquired and arranged in the reverse order of the acquisition order.
  • the image information configuration unit 2107 may appropriately update the object arrangement information or the shape information so that the direction of the three-dimensional object changes according to the rotation instruction.
  • the shape information may be updated when a rotation instruction is received, or the rotated image information may be updated after the configuration.
  • the object shape information may be updated at any time during the rotation of the three-dimensional object so that the direction of the three-dimensional object becomes the direction during the rotation.
  • the updated object arrangement information or shape information is the object arrangement information or shape information used for the configuration of the image information of the rotated three-dimensional object.
  • a processing unit that updates object arrangement information in response to a rotation instruction may be provided independently of the image information configuration unit 2107.
  • the process in which the image information configuration unit 2107 configures image information is a process called rendering, for example, and is a known technique, and thus detailed description thereof is omitted.
  • the configured image information is temporarily stored in, for example, a VRAM.
  • the image information configuration unit 2107 can usually be realized by an MPU, GPU, memory, or the like.
  • the processing procedure of the image information configuration unit 2107 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the output unit 2108 outputs the image information configured by the image information configuration unit 2107. Also, the image information configured by the image information configuration unit 2107 is output in response to the rotation instruction.
  • the output unit 2108 may be considered as including or not including an output device such as a display.
  • the output unit 2108 can be realized by driver software for an output device or driver software for an output device and an output device.
  • the arrangement data acquisition unit 2105 acquires one or more data subordinate to one node from the hierarchical structure data.
  • One node may be a node specified in advance by default or the like, or may be a node specified by a user or the like.
  • the acquired data is temporarily stored in a storage unit such as a storage medium (not shown).
  • Step S2202 The image information configuration unit 2107 acquires shape information from the shape information storage unit 2101.
  • the image information configuration unit 2107 acquires shape information designated in advance will be described.
  • the image information configuration unit 2107 may acquire shape information corresponding to the hierarchical structure data to be placed on the three-dimensional object.
  • the acquired shape information is temporarily stored in a storage unit such as a storage medium (not shown).
  • Step S2203 The image information configuration unit 2107 acquires object arrangement information from the object arrangement information storage unit 2102. For example, the object arrangement information associated with the shape information acquired in step S2204 is acquired.
  • the acquired object arrangement information is temporarily stored in a storage unit such as a storage medium (not shown).
  • Step S2204 The image information configuration unit 2107 arranges the three-dimensional object indicated by the shape information acquired in Step S2204 at the position and orientation indicated by the object arrangement information acquired at Step S2205, and arranges it in the direction indicated by the object arrangement information.
  • the image information of the three-dimensional object in which the data acquired in step S2201 is arranged on the surface facing the first designated direction in the state is configured.
  • Step S2205 The output unit 2108 outputs the output configured by the image information configuration unit.
  • Step S2206 The designation receiving unit 2106 determines whether or not designation for one of the data arranged on the surface facing the first designated direction of the solid object output in Step S2206 has been accepted. If accepted, the process proceeds to step S2207. If not accepted, the process proceeds to step S2208.
  • the designation receiving unit 2106 stores the designated data in association with the designated data.
  • the data indicating that it is designated is flag data, for example.
  • the information indicating that it has been specified may be managed by management information stored in a storage unit (not shown), for example, or is not shown in association with the specified data among the data acquired in step S2201 or the like. It may be accumulated in the storage unit.
  • the designation for the already designated data may be canceled, for example, by deleting information indicating the designation.
  • an instruction to cancel all designations may be received. In this case, all designations may be canceled.
  • Step S2208 The information processing apparatus 21 performs a process of rotating the three-dimensional object. However, this process includes a case where the rotation is not performed depending on the presence / absence of data to be arranged and the presence / absence of a rotation instruction. Details of this processing will be described later.
  • Step S2301 The rotation instruction receiving unit 2104 determines whether or not a first rotation instruction has been received. If accepted, the process proceeds to step S2302, and if not accepted, the process proceeds to step S2308.
  • Step S2302 The arrangement data acquisition unit 2105 determines whether or not information specifying one of the data arranged on the surface facing the first designation direction of the three-dimensional object is accumulated in Step S2207 or the like. to decide. If accumulated, the process proceeds to step S2303. If not designated, the process returns to the upper process.
  • Step S2303 The placement data acquisition unit 2105 determines whether there is data subordinate to the data specified in Step 208. If there is dependent data, the process proceeds to step S2304. If not, the process returns to a higher-level process.
  • Step S2304 The placement data acquisition unit 2105 acquires data subordinate to the data designated by the data accumulated in Step 207 from the hierarchical structure data storage unit 2103.
  • the image information configuration unit 2107 configures image information for rotating the three-dimensional object in the first rotation direction. At this time, the image information configuration unit 2107 rotates the three-dimensional object so that the surface on which the data acquired in step 304 is arranged is the surface facing the first specified direction in the rotation result image. Configure. For example, the image information configuration unit 2107 may configure the image information of the rotating three-dimensional object as follows.
  • the image information configuration unit 2107 rotates the three-dimensional object in the first rotation direction in units of a predetermined angle until the rotation angle is reached.
  • the image information of the three-dimensional object is configured, and the image information of the three-dimensional object rotating is configured by combining the configured image information.
  • image information in which data subordinate to the data acquired in step 304 is arranged on the surface facing the surface designated in advance of the three-dimensional object.
  • the image information may be configured by arranging the data acquired in step S2304 on the surface facing the first designated direction at the end of the rotation.
  • Step S2306 The output unit 2108 outputs the image information configured by the image information configuration unit 2107.
  • Step S2307) The image information configuration unit 2107 updates the object arrangement information stored in the object arrangement information storage unit 2102. Normally, only the object arrangement information that is temporarily stored in the memory or the like is updated, and the temporary object arrangement information is stored in the object arrangement information storage unit 2102 only when an instruction to save the change is received. The object placement information that has been set may be updated. Then, the process returns to the upper process.
  • Step S2308 The rotation instruction receiving unit 2104 determines whether a second rotation instruction has been received. If accepted, the process proceeds to step S2310; otherwise, the process proceeds to step S2313.
  • Step S2309) The image information configuration unit 2107 determines whether or not there is a different node in the same hierarchy as the node on which the data arranged on the surface facing the first designated direction of the three-dimensional object is dependent. Specifically, it is a different node having the same hierarchy as the node to which the data arranged on the surface facing the first designated direction of the three-dimensional object is the same, and the node having the same dependent node Judge whether there is.
  • the node here may be considered as data. If there is a different node, the process proceeds to step S2310; otherwise, the process proceeds to step S2312.
  • the image information configuration unit 2107 displays hierarchical data as data subordinate to the next node in the same hierarchy as the node on which the data arranged on the surface facing the first designated direction of the three-dimensional object. Get from.
  • the next node is, for example, the next node in the order in which the nodes are arranged. Further, when there is no next node, the node may be returned to the first node in the order.
  • the hierarchical structure data is XML data
  • the same tag as the tag indicating the node to which the data is acquired in step S2201 is searched in the downward direction of the tag corresponding to the node to which the acquired data is dependent, The node indicated by the first searched tag is the next node. If the next node is not detected, the search may be performed by returning to the XML data.
  • the image information configuration unit 2107 configures image information for rotating the three-dimensional object in the second rotation direction. At this time, the image information configuration unit 2107 rotates the three-dimensional object so that the surface on which the data acquired in step 310 is arranged is the surface facing the first specified direction in the image of the rotation result. Configure.
  • the image information configuration unit 2107 may configure the image information of the rotating solid object as follows.
  • the surface adjacent to the surface in which the angle at which the three-dimensional object is rotated in response to the second rotation instruction is in the first designated direction before the rotation is opposite to the second rotation direction is the first
  • the image information configuration unit 2107 rotates the three-dimensional object in the second rotation direction by a predetermined angle unit until the rotation angle is reached.
  • the image information of the three-dimensional object is configured, and the image information of the three-dimensional object rotating is configured by combining the configured image information.
  • image information in which data subordinate to the data acquired in step 310 is arranged on the surface facing the surface designated in advance of the three-dimensional object.
  • the image information may be configured by arranging the data acquired in step S2310 on the surface facing the first designated direction at the end of the rotation. Then, the process returns to step S2306.
  • Step S2312 The rotation instruction receiving unit 2104 determines whether a third rotation instruction has been received. If accepted, the process proceeds to step S2313; otherwise, the process proceeds to step S2316.
  • Step S2313 The image information configuration unit 2107 determines whether or not there is data that is a subordinate destination of the data arranged on the surface of the three-dimensional object facing the direction designated in advance. For example, when the data arranged on the surface of the three-dimensional object facing in the direction designated in advance is the data of the highest hierarchy, the subordinate destination is a so-called root hierarchy, and there is no data to become a subordinate destination. You may judge. If there is, the process proceeds to step S2314, and if not, the process returns to the upper process.
  • the arrangement data acquisition unit 2105 acquires the data subordinate to the same node as the data that is the subordinate of the data arranged on the surface facing the direction designated in advance of the three-dimensional object.
  • This node may be considered data.
  • the image information configuration unit 2107 configures image information for rotating the three-dimensional object in the third rotation direction. At this time, the image information configuration unit 2107 rotates the three-dimensional object so that the surface on which the data acquired in step 314 is arranged is the surface facing the first specified direction in the image of the rotation result. Configure.
  • the image information configuration unit 2107 may configure the image information of the rotating solid object as follows.
  • a surface adjacent to the surface in which the angle of rotating the three-dimensional object in response to the third rotation instruction is in the first specified direction before the rotation is opposite to the third rotation direction is the first
  • the image information configuration unit 2107 rotates the three-dimensional object in the third rotation direction in units of a predetermined angle until the rotation angle is reached.
  • the image information of the three-dimensional object is configured, and the image information of the three-dimensional object rotating is configured by combining the configured image information.
  • image information in which data subordinate to the data acquired in step 314 is arranged on the surface facing the surface designated in advance of the three-dimensional object is configured.
  • the image information may be configured by arranging the data acquired in step S2314 on the surface facing the first designated direction at the end of the rotation. Then, the process returns to step S2306.
  • Step S2316 The rotation instruction receiving unit 2104 determines whether a fourth rotation instruction has been received. If accepted, the process proceeds to step S2317. If not accepted, the process returns to a higher-level process.
  • Step S2317 The image information configuration unit 2107 determines whether or not there is a different node in the same hierarchy as a node on which data arranged on the surface facing the first designated direction of the three-dimensional object is dependent. If there is, the process proceeds to step S2318, and if not, the process returns to the upper process.
  • Step S2318 The image information configuration unit 2107 displays the data subordinate to the previous node in the same hierarchy as the node on which the data arranged on the surface facing the first designated direction of the three-dimensional object. get.
  • the previous node described here is a node whose order is different from the next node described in step S2310.
  • the image information configuration unit 2107 configures image information for rotating the three-dimensional object in the fourth rotation direction. At this time, the image information configuration unit 2107 rotates the three-dimensional object so that the surface on which the data acquired in Step 318 is arranged is the surface facing the first designated direction in the image as a result of the rotation. Configure.
  • the image information configuration unit 2107 may configure the image information of the rotating solid object as follows.
  • the image information configuration unit 2107 rotates the three-dimensional object in the fourth rotation direction by a predetermined angle unit until the rotation angle is reached.
  • the image information of the three-dimensional object is configured, and the image information of the three-dimensional object rotating is configured by combining the configured image information.
  • image information in which data subordinate to the data acquired in step 318 is arranged on the surface of the three-dimensional object facing the surface designated in advance.
  • the image information may be configured by arranging the data acquired in step S2318 on the surface facing the first designated direction at the end of the rotation. Then, the process returns to step S2306.
  • step S2206 when designation of data is received in step S2206 or the like, data subordinate to the data designated by the accepted designation is acquired, and this data is then rotated by a first rotation instruction.
  • the image information of the three-dimensional object arranged on the surface that is the surface facing the first designated direction may be configured. Such configuration of image information may be performed immediately after step S2206 or the like, or may be performed at an arbitrary timing.
  • the image information of the three-dimensional object arranged on the surface that faces the first specified direction may be configured.
  • Such configuration of the image data may be performed, for example, when data of one node is arranged on the surface facing the first designated direction in step S2311, or at a timing immediately after step S2311. It may be performed at arbitrary timing.
  • the information processing device 21 is a device that manages a product catalog
  • a case where the three-dimensional object is a cube will be described as an example.
  • the size, angle, and the like shown in this specific example are merely for convenience of explanation, and the arrangement, size, and the like of a three-dimensional object such as a figure may not be accurately shown.
  • a case where the first designated direction is the front will be described as an example.
  • FIG. 24 is a shape information management table for managing the shape information of the three-dimensional object stored in the shape information storage unit 2101.
  • the shape information management table includes “object ID”, “size x”, “size y”, “size z”, “x1 surface”, “x2 surface”, “y1 surface”, “y2 surface”, “z1 surface”. , “Z2 plane”.
  • Object ID is identification information for identifying a three-dimensional object.
  • Size x is the length of the three-dimensional object in the x-axis direction, that is, the width.
  • Size y is the length of the three-dimensional object in the y-axis direction, that is, the height.
  • Size z is the length of the three-dimensional object in the z-axis direction, that is, the depth.
  • the x-axis, y-axis, and z-axis described here are the x-axis, y-axis, and z-axis set in the three-dimensional object itself, and are absolute set in the virtual three-dimensional space in which the three-dimensional object is arranged. Different from the X, Y, and Z axes.
  • the origin of the x-axis, y-axis, and z-axis set for the 3D object itself is set, for example, at the center or the center of gravity of the 3D object. However, the origin may be set anywhere.
  • the unit of each size may be any unit such as a pixel.
  • the x1, x2, y1, y2, z1, and z2 planes are plane identification information of planes that constitute each solid object. Although the surfaces indicated by these surface identification information are not shown, they are defined using the coordinates of the vertices of the three-dimensional objects constituting each surface. Since the definition of the surface and the technology for associating the identification information with the surface are well known in the 3D modeling technology and the like, the description thereof is omitted here.
  • the values of the items “x1 surface”, “x2 surface”, “y1 surface”, “y2 surface”, “z1 surface”, and “z2 surface” in the shape information management table are the three-dimensional dimensions of the surface indicated by each surface identification information
  • a normal vector expressed using the coordinate system of the object itself is shown. However, it is assumed that the normal here is a vector in a direction from the inside to the outside of the solid object.
  • the zero point of the x-axis, y-axis, and z-axis is located at the center of each solid object.
  • the “x1 plane” is a plane whose normal is the positive direction of the x axis
  • the “x2 plane” is a plane whose normal is the negative direction of the x axis
  • the “y1 plane” is the normal line of the positive direction of the y axis.
  • “Y2 plane” is a plane whose normal is the negative direction of the y axis
  • “z1 plane” is a plane whose normal is the positive direction of the z axis
  • “z2 plane” is a negative direction of the z axis. It is the surface to be a line.
  • the shape information of one solid object is managed by the shape information management table.
  • FIG. 25 is a schematic diagram for illustrating the relationship between a three-dimensional object and the x1, x2, y1, y2, z1, and z2 planes.
  • the z1 surface is the front surface
  • the z2 surface is the back surface
  • the x1 surface is the right side surface
  • the x2 surface is the left side surface
  • the y1 surface is the top surface
  • the y2 surface is the bottom surface.
  • FIG. 26 is an object arrangement information management table for managing the object arrangement information stored in the object arrangement information storage unit 2102.
  • the object arrangement information includes items of “object ID”, “coordinates (X, Y, Z)”, and “rotation angle (X, Y, Z)”.
  • the “object ID” is identification information for identifying a three-dimensional object, and corresponds to the “object ID” of the shape information described above.
  • Coordinats (X, Y, Z)” is information indicating the coordinates in the virtual three-dimensional space where the solid object indicated by the “object ID” of the same record is arranged.
  • the coordinates are the coordinates of the center of the solid object. A case will be described.
  • the coordinate value is a coordinate value in the virtual three-dimensional space.
  • the horizontal direction (width direction) in the virtual three-dimensional space is the X axis
  • the vertical direction (height direction) is the Y axis
  • the depth direction is the Z axis.
  • “Rotation angle (X, Y, Z)” indicates a rotation angle with the X axis, the Y axis, and the Z axis in the virtual three-dimensional space as rotation axes.
  • the rotation angle may be considered as information indicating the direction in which the three-dimensional object is arranged.
  • the x axis and y axis of the three-dimensional object are respectively orthogonal to the X axis and Y axis of the virtual three-dimensional space.
  • the values of the rotation angles are (0, 0, 0)
  • the x-axis, y-axis, and z-axis of the three-dimensional object are respectively the X-axis, Y-axis, and Z in the virtual three-dimensional space. It is assumed that it is designated in advance by default so as to be arranged parallel to the axis.
  • the value of the Z coordinate may be omitted when there is no need to change the depth of the position where the three-dimensional object is arranged, for example, when the rendered three-dimensional object image is arranged on a two-dimensional plane. .
  • FIG. 27 is a diagram showing hierarchical structure data stored in the hierarchical structure data storage unit 2103.
  • hierarchical structure data constitutes information in XML (Extensible Markup Language) format.
  • the hierarchical structure data may not be information in the XML format, and may be any hierarchical data.
  • the hierarchical data is considered to be data, that is, an element surrounded by a start tag and an end tag.
  • start tag “ ⁇ A>” and the end tag “ ⁇ /A>” (where A is a tag name) are referred to as A tags.
  • a tags For example, “ ⁇ catalog management>” is called a catalog management tag.
  • data in the range delimited by the start tag “ ⁇ A>” and the end tag “ ⁇ /A>” is referred to as data in the range delimited by the A tag.
  • data in a range delimited by one start tag “ ⁇ catalog management>” and end tag “ ⁇ / catalog management>” is called data in a range delimited by one catalog management tag.
  • data in a range delimited by one catalog tag is data related to a catalog.
  • the catalog tag indicates a tag (so-called root) indicating the first hierarchy of the hierarchical structure data.
  • the data in the range delimited by the genre tag is data for one product genre
  • the data in the range delimited by the genre name tag is data indicating the genre name of one genre.
  • the genre tag is a tag indicating one node of the second hierarchy
  • the genre name tag is defined as data of one node of the second hierarchy.
  • the data in the range delimited by one product tag is data for one product among the products included in one genre
  • the data in the range delimited by one product name tag is This is data indicating the product name of the product.
  • the product tag is a tag indicating one node of the third hierarchy
  • the product name tag is defined as data of one node of the third hierarchy.
  • the data in the range delimited by one detail tag is data about the details of one product.
  • the detailed tag is a tag indicating one node of the fourth hierarchy.
  • the data delimited by the product ID tag, the product photo tag, the price tag, etc. within the range delimited by the detailed tag is assumed to be data of the first node in the fourth layer.
  • the data delimited by tags includes information specifying a file or the like, for example, link information
  • the information of the file specified thereby may be considered as data delimited by actual tags.
  • the information on the link destination is appropriately read when an image is constructed.
  • the arrangement data acquisition unit 2105 acquires, from the hierarchical structure data, one or more data subordinate to one node specified in advance from the hierarchical structure data shown in FIG.
  • the arrangement data acquisition unit 2105 acquires the data of the second hierarchy.
  • the hierarchical structure data is described in XML
  • the tag indicating the first hierarchy (in other words, the tag indicating the node of the first hierarchy) is a catalog tag from the tag inclusion relationship, and the second subordinate to this is the catalog tag.
  • the tag indicating the hierarchy is a genre tag, and it can be detected that the tag indicating the data of the second hierarchy is a genre name tag.
  • This hierarchical relationship may be mainly based on, for example, DTD (Document Type Definition) prepared in advance corresponding to this XML. Therefore, the arrangement data acquisition unit 2105 acquires all the data delimited by the genre name tag in the data delimited by the catalog tag. Here, for example, data “mobile phone” and “smart phone” are acquired. The acquired data is temporarily stored in a memory, for example.
  • DTD Document Type Definition
  • a screen identifier such as a screen name may be assigned in advance to a node or a tag indicating the node, and one node may be designated by this screen identifier.
  • a screen name such as “product operation screen” may be assigned to the product tag, and when the screen name is designated by the user, data dependent on the product tag may be acquired.
  • an input of a search key is accepted, and a product tag including data matching the search key is detected in the delimited data from the product tag. Then, only data dependent on the detected product tag may be acquired.
  • the image information configuration unit 2107 reads the object arrangement information managed in the object arrangement information management table shown in FIG. That is, the values of the items “coordinate (X, Y, Z)” and “rotation angle (X, Y, Z)”, which are object arrangement information of the record whose “object ID” is “OBJ”, are read. Then, for example, it is temporarily stored in a memory (not shown) in association with the “object ID”.
  • the image information configuration unit 2107 of the information processing device 21 acquires shape information about the three-dimensional object.
  • the image information configuration unit 2107 displays the front of the three-dimensional object (hereinafter referred to as the three-dimensional object OBJ) corresponding to the shape information whose “object ID” is “OBJ”, the object shape information, the object arrangement information, and the like.
  • OBJ the three-dimensional object
  • Judge using The front here refers to the normal line (in this case, from the inside of the 3D object to the outside when the 3D object is arranged in the virtual 3D space according to the object arrangement information among the surfaces constituting the 3D object. It is assumed that the direction normal) is parallel to the Z axis and the direction is the positive direction.
  • the x-axis, y-axis, and z-axis of the three-dimensional object are respectively in the virtual three-dimensional space.
  • the initial setting values are specified in advance so as to be arranged in parallel to the X axis, Y axis, and Z axis
  • the three-dimensional object is arranged in the virtual three-dimensional space in such an arrangement.
  • a normal vector is calculated using the object arrangement information.
  • the normal vector calculated here is assumed to be a normal vector expressed in the XYZ coordinate system in the virtual three-dimensional space.
  • the image information configuration unit 2107 determines that the z1 plane is the front.
  • the image information configuration unit 2107 is image information of the three-dimensional object OBJ arranged in the virtual three-dimensional space so that the arrangement indicated by the position information is obtained, and the “mobile” acquired by the arrangement data acquisition unit 2105 on the z1 plane Image information in which data of “phone” and “smartphone” are arranged is configured.
  • rendering processing is performed.
  • parameters such as the coordinate axes in the virtual three-dimensional space, that is, the coordinate axes in the world space, and the angle of view at the time of rendering, are configured so that projection views of each three-dimensional object are configured. To do.
  • the output unit 2108 outputs the image information configured by the image information configuration unit 2107.
  • the object arrangement information management table shown in FIG. 6 is updated with the object arrangement information whose rotation angle has been changed by rotation. This process is the same during subsequent rotations.
  • FIG. 28 is a diagram showing a display example by the output unit 2108.
  • the output unit 2108 is connected to the monitor 80 and displays the solid object 81 that is an image of the solid object OBJ on the monitor 80.
  • Unit 2106 accepts designation for data “mobile phone”. Then, the designation receiving unit 2106 acquires the “mobile phone” data as designated data, and temporarily stores it in a storage medium such as a memory (not shown). Note that a tag attached to the designated data, here, a genre name tag, may be acquired as designated data and temporarily stored in a storage medium.
  • FIG. 29 is a diagram illustrating an example of designated data acquired and accumulated by the designation receiving unit 2106.
  • the designated data is data such as a so-called path in which data designated in order from the highest hierarchy is sequentially shown with “/” or the like interposed therebetween.
  • the designated data is changed or deleted, for example, when the data arranged in the front is changed or when the designation is canceled.
  • the designated data may be displayed differently from other data on the image of the three-dimensional object, for example, highlight display.
  • the rotation instruction receiving unit 2104 receives an instruction to rotate the three-dimensional object 90 degrees clockwise in accordance with an operation by the user.
  • the instruction to rotate 90 degrees clockwise is the first rotation instruction described above.
  • the placement data acquisition unit 2105 determines whether one piece of data in the information currently placed in front of the three-dimensional object 81 has been designated. Here, as shown in FIG. 29, since there is data that matches the specified data, it is determined that one data has been specified.
  • the arrangement data acquisition unit 2105 determines whether there is data subordinate to the designated data “mobile phone” in the hierarchical structure data shown in FIG. Since “mobile phone” is data delimited by genre name tags, data delimited by genre tags including genre name tags whose data is “mobile phone” is delimited by tags indicating lower layers. Determine whether data exists. Here, as a tag indicating a lower hierarchy, there is data delimited by one or more product tags, and data delimited by the product name tag exists in the data delimited by this product tag Is detected. For this reason, the arrangement data acquisition unit 2105 determines that there is lower-level data of the node corresponding to “mobile phone” and delimits the product name tag from the data included in the genre whose genre name is “mobile phone”. Get all the recorded data. Here, “BS602”, “AW801”, “TM555”, and “RW008” are acquired.
  • the image information configuration unit 2107 displays the surface of the three-dimensional object OBJ that becomes the front when the three-dimensional object OBJ is rotated 90 degrees clockwise, object shape information, and object placement. Judgment using information.
  • a normal vector in the XYZ coordinate system of the virtual three-dimensional space of each surface of the three-dimensional object OBJ before rotation is calculated, and the X-axis in the XYZ coordinate system of the virtual three-dimensional space is calculated from the calculated normal vectors.
  • a normal vector that is parallel and whose direction is in the positive direction of the X axis is detected.
  • the surface having the normal vector is rotated in accordance with the first rotation instruction, it is determined as a surface facing the front.
  • the image information configuration unit 2107 configures image information for rotating the three-dimensional object OBJ.
  • the three-dimensional object OBJ constitutes image information that is rotated from a state where the z1 plane is the front to a state where the x1 plane is the front.
  • image information of a moving image including a rotating image is configured by rendering.
  • Image information is rendered by arranging “BS602”, “AW801”, “TM555”, and “RW008” acquired by the unit 2105, respectively.
  • the last image in the moving image is an image in which the x1 plane faces the front.
  • the output unit 2108 outputs the image information configured by the image information configuration unit 2107.
  • FIG. 30 is a diagram illustrating an output example by the output unit 2108.
  • the designation receiving unit 2106 displays “AW801”.
  • the designation accepting unit 2106 obtains this data as designated data and temporarily stores it in a storage medium such as a memory (not shown).
  • a storage medium such as a memory (not shown).
  • FIG. 31 is a diagram showing the designated data after the change.
  • the arrangement data acquisition unit 2105 is arranged in front of the solid object.
  • the data “AW801” is determined to be designated data using the designated data shown in FIG. 31, and the hierarchical data shown in FIG. 27 is changed to the designated data “AW801”. Determine whether dependent data exists. Since “AW801” is data delimited by the product name tag, the data delimited by the tag indicating the lower hierarchy is added to the data delimited by the product tag including the product name tag whose data is “AW801”. Determine if it exists.
  • the arrangement data acquisition unit 2105 determines that there is subordinate data, and from the data included in the genre whose genre name is “AW801”, the product photo tag, product ID tag, price tag, specification Get all the data delimited by tags.
  • “aw801.gif”, “SER2268”, “16,000 yen”, and “organic EL” are acquired.
  • For “aw801.gif”, an image file whose file name is “aw801.gif” is acquired.
  • the image information configuration unit 2107 displays the surface of the three-dimensional object OBJ that becomes the front when the three-dimensional object OBJ is rotated 90 degrees clockwise, object shape information, and object placement. Judgment using information.
  • the normal vector in the XYZ coordinate system of the virtual three-dimensional space is calculated for each surface of the solid object OBJ before rotation, that is, the solid object OBJ in the state shown in FIG.
  • the surface is a normal vector whose vector is parallel to the X axis in the XYZ coordinate system of the virtual three-dimensional space and whose direction faces the positive direction of the X axis in response to the first rotation instruction.
  • the front facing side it is determined that the z1 plane shown in FIG.
  • the image information configuration unit 2107 configures the image information obtained by rotating the three-dimensional object OBJ obtained by arranging the data delimited by the detailed tag on the z1 plane in the same manner as described above.
  • FIG. 32 is a diagram illustrating an output example by the output unit 2108.
  • the rotation instruction receiving unit 2104 receives an instruction to rotate the three-dimensional object 90 degrees in the forward direction in accordance with an operation by the user.
  • the instruction to rotate 90 degrees in the forward direction is the second rotation instruction described above.
  • the arrangement data acquisition unit 2105 has the same hierarchy as the node that is the subordinate destination of the data arranged in front of the three-dimensional object facing the first designated direction. It is determined whether there is a node that is the same as a subordinate destination of a node that is a subordinate destination of data arranged in front of the three-dimensional object.
  • the placement data acquisition unit 2105 determines that the node to which the detailed tag, which is a tag indicating the data node placed in front, is the hierarchical structure data shown in FIG. 27 or the designated data shown in FIG. From the data or the like, it is detected that the node is indicated by the product tag including the product name tag whose data is “AW801”. Further, the arrangement data acquisition unit 2105 detects that the node that is the subordinate of the node indicated by the product tag is the node indicated by the genre tag including the genre name tag whose data is “mobile phone”. Is detected.
  • the arrangement data acquisition unit 2105 selects one of the nodes indicated by these product tags, and acquires data subordinate to the selected node.
  • the order of the nodes indicated by the product tag is assigned in order from the top to the data delimited by the product tag of the hierarchical structure data shown in FIG.
  • the product tag of the next order of the product tag which shows is detected, and the data subordinate to this product tag is acquired.
  • the data currently arranged in the front is data subordinate to the second product tag from the top among product tags subordinate to a genre tag including a genre name tag whose data is a mobile phone.
  • the arrangement data acquisition unit 2105 acquires data subordinate to the third product tag from the top.
  • the third product tag from the top is a product tag including a product name tag whose data is “TM555”.
  • the arrangement data acquisition unit 2105 acquires data delimited by the detailed tag included in the product tag including the product name tag whose data is “TM555”.
  • the acquired data is “tm555.gif”, “SER3425”, “40,000 yen”, and “One Seg compatible”.
  • the image information configuration unit 2107 displays the surface of the three-dimensional object OBJ that becomes the front when the three-dimensional object OBJ is rotated 90 degrees forward, the object shape information, and the object arrangement. Judgment using information.
  • the normal vector in the XYZ coordinate system of the virtual three-dimensional space is calculated for each surface in the solid object OBJ before rotation, that is, the solid object OBJ in the state shown in FIG.
  • a surface whose vector is a normal vector parallel to the Y-axis in the XYZ coordinate system of the virtual three-dimensional space and whose direction faces the positive direction of the Y-axis is rotated according to the second rotation instruction Judge as the front facing side.
  • the y1 plane shown in FIG. 25 is a new front plane after rotation.
  • the image information configuration unit 2107 obtains the three-dimensional object obtained by arranging the data “tm555.gif”, “SER3425”, “40,000 yen”, and “one-seg correspondence” obtained above, on the y1 plane.
  • the image information for rotating the OBJ is configured in the same manner as described above.
  • the three-dimensional object OBJ constitutes image information that is rotated from a state where the z2 plane is the front to a state where the y1 plane is the front.
  • image information of a moving image including a rotating image is configured by rendering.
  • the output unit 2108 outputs the image information configured by the image information configuration unit 2107.
  • FIG. 33 is a diagram illustrating an output example by the output unit 2108.
  • the three-dimensional object OBJ when a third rotation instruction that is an instruction to rotate the three-dimensional object 90 degrees counterclockwise is given, it is arranged in front of the current three-dimensional object.
  • a node whose hierarchy is the same as a node to which data is dependent that is, a node of “AW801”
  • the node to which the data is dependent is a node to which data arranged in front of the three-dimensional object is dependent
  • the arrangement data acquisition unit 2105 acquires “BS602”, “AW801”, “TM555”, and “RW008”, which are data of all nodes that are the same as the subordinates of the mobile phone (that is, the “mobile phone” node), and the image
  • the information configuration unit 2107 configures image information of a moving image that rotates the three-dimensional object OBJ by 90 degrees counterclockwise using the acquired information.
  • the output unit 2108 displays the acquired image information.
  • the image displayed by the output unit 2108 is the same as that shown in FIG. Note that the immediately preceding image information may be temporarily stored, and when the third rotation instruction is received immediately after the first rotation instruction, the immediately preceding image information may be read and displayed.
  • the arrangement data acquisition unit 2105 acquires the data subordinate to the node in the previous order among the nodes in the same hierarchy as the node to which the data currently arranged in front is subordinated by the same processing as described above.
  • the image information configuration unit 2107 may configure image information of a moving image that is rotated 90 degrees backward using the acquired information, and the output unit may display the image information.
  • the image displayed by the output unit 2108 is the same as that shown in FIG. Note that the immediately preceding image information may be temporarily stored, and when the fourth rotation instruction is received immediately after the second rotation instruction, the immediately preceding image information may be read and displayed.
  • the placement data obtaining unit 2105 obtains the data subordinate to the designated data, and obtains it.
  • the image information composing unit 2107 configures an image of the three-dimensional object OBJ arranged on the surface that becomes the front position when the three-dimensional object OBJ is rotated in accordance with the first rotation instruction, and the output information The image output by 2108 may be updated.
  • FIG. 34 is a diagram showing a display example in such a case.
  • a three-dimensional object when a three-dimensional object is rotated by a rotation instruction (or when it is determined to rotate), it is output to a new front surface (or a new front surface).
  • a new front surface Is a different node that has the same hierarchy as the node to which the data depends, and the node to which the data depends is the same as the node to which the data that is placed in front of the 3D object is dependent
  • the data subordinate to one of the nodes (specifically, the node in the next order) is acquired, and this data is transferred to the y1 plane that is the front plane when the second rotation instruction is received next time.
  • the arranged image information may be configured by the image information configuration unit 2107, and the output unit 2108 may update the currently output image with the image indicated by the configured image information. .
  • the node as a subordinate destination of the data arranged in front of the three-dimensional object is the same as when the second rotation instruction is received.
  • the subordinate destination node is data subordinate to the node that is the same as the subordinate destination of the node that is the subordinate destination of the data arranged in front of the three-dimensional object.
  • “Tm555.gif”, “SER3425”, “40,000 yen”, and “One Seg correspondence” are acquired by the arrangement data acquisition unit 2105, and the acquired data is displayed as the front when the second rotation instruction is received next.
  • the image information composing unit 2107 configures image information further arranged on the surface, that is, the y1 surface that is the current upper surface, and the image indicated by the configured image information Output unit 2108 may be updated image currently being output.
  • FIG. 35 is a diagram showing a display example in such a case.
  • the three-dimensional object is a cube
  • the three-dimensional object may have any shape.
  • FIG. 36 is a diagram showing a modification of the three-dimensional object.
  • the three-dimensional object may be a hexagonal prism.
  • the surface designated as the front is designated by the user as in FIG.
  • Data subordinate to one of the data arranged on the front surface before the rotation is arranged on the front surface after the rotation.
  • FIG. 37 is a diagram showing a three-dimensional object after being rotated 60 degrees clockwise.
  • FIG. 38 is a diagram showing the three-dimensional object after being rotated 90 degrees in the forward direction.
  • a cubic solid object OBJ designated in advance is used.
  • shape information of a plurality of different solid objects is prepared in the shape information storage unit 2101 in advance.
  • one 3D object may be selected from a plurality of different 3D objects according to the data structure of the hierarchical structure data arranged on the 3D object.
  • the image information configuration unit 2107 or the like obtains the deepest hierarchy number when tracing from the highest node to the lowest node of the hierarchical structure data, and selects a solid object according to the hierarchy number.
  • the number of layers may be considered as the number of nodes.
  • the number of layers in the deepest hierarchy may be considered as the deepest nest level.
  • the shape information of a plurality of different three-dimensional objects stored in the shape information storage unit 2101 may be a three-dimensional object having a different three-dimensional shape, or shape information of a three-dimensional object having a different color, size, texture, transparency, etc. It may be.
  • the selection of shape information according to the number of hierarchies means that, for example, a hierarchical shape management table showing the correspondence between the number of hierarchies and shape information is prepared in a storage unit such as a storage medium (not shown). What is necessary is just to acquire the shape information matched with the acquired deepest hierarchy number using a shape management table
  • FIG. 39 shows an example of a hierarchical shape management table.
  • the hierarchical shape information management table has items of “number of hierarchies” and “object ID”.
  • the “number of hierarchies” is the number of hierarchies of the deepest hierarchy of the hierarchical structure data.
  • “Object ID” is identification information of a solid object, and corresponds to “object ID” shown in FIG. It is assumed that the three-dimensional objects having different object IDs illustrated in FIG. 39 are three-dimensional objects having different three-dimensional shapes, colors, and the like.
  • FIG. 40 is a schematic diagram showing a three-dimensional object indicated by shape information corresponding to the “object ID” shown in FIG.
  • the solid object OBJ01 is a white triangular prism
  • the solid object OBJ02 is a white cube
  • the solid object OBJ03 is a white hexagonal column
  • the solid object OBJ04 is a red hexagonal column.
  • the hierarchical structure data arranged in the three-dimensional object is hierarchical structure data as shown in FIG. Get the nesting level of the data to be acquired, and get the maximum number of nesting levels.
  • a process for acquiring a nesting level from data such as an HTML document is known in Japanese Patent Application Laid-Open No. 2000-57143 and the like and will not be described here. It is assumed that the deepest nesting level is “4” in the nesting level acquired from the hierarchical structure data.
  • the image information configuration unit 2107 acquires “OBJ2”, which is the “object ID” of the record whose “number of layers” includes “4”, from the layer shape information management table shown in FIG. Then, the image information of the object is configured using the shape information whose “object ID” is “OBJ2”.
  • each process may be realized by centralized processing by a single device (system), or by distributed processing by a plurality of devices. May be.
  • two or more communication means such as an information transmission unit
  • two or more communication means existing in one apparatus may be physically realized by one medium.
  • information related to processing executed by each component for example, information received, acquired, selected, generated, transmitted, and received by each component.
  • information such as threshold values, mathematical formulas, addresses, etc. used by each component in processing is retained temporarily or over a long period of time on a recording medium (not shown) even when not explicitly stated in the above description. It may be.
  • the storage of information in the recording medium (not shown) may be performed by each component or a storage unit (not shown).
  • reading of information from the recording medium (not shown) may be performed by each component or a reading unit (not shown).
  • the information processing apparatus may be a stand-alone apparatus or a server apparatus in a server / client system.
  • the output unit or the reception unit receives an input or outputs a screen via a communication line.
  • each component may be configured by dedicated hardware, or a component that can be realized by software may be realized by executing a program.
  • each component can be realized by a program execution unit such as a CPU reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the software that realizes the information processing apparatus in each of the above embodiments is a program as described below.
  • this program is for placement in which a computer acquires one or more data subordinate to one node from hierarchical data composed of one or more hierarchical data stored in a hierarchical data storage unit.
  • the data acquired in the data acquisition step and the data acquisition step for placement are specified in advance for the three-dimensional object indicated by the shape information, which is information indicating the shape of the three-dimensional object having two or more surfaces stored in the shape information storage unit.
  • An image information composing step that configures image information of the solid object arranged in the first designated direction, which is a surface facing the direction, an output step that outputs the image information composed in the image information composing step, and an instruction to rotate the solid object
  • a rotation instruction reception step for receiving a rotation instruction that is
  • the data acquisition step acquires one or more data having a predetermined dependency on one or more of the one or more data arranged on the surface facing the first designated direction of the solid object output in the output step.
  • the image information composing step is the image information of the three-dimensional object rotated in accordance with the rotation instruction, and the predetermined information acquired in the arrangement data acquiring step on the surface that turned to the first specified direction after the rotation.
  • the image information of the three-dimensional object in which one or more data having a dependency relationship is arranged is configured, and the output step is a program that outputs the image information configured by the image information configuration unit in response to a rotation instruction.
  • the functions realized by the program do not include functions that can only be realized by hardware.
  • functions that can be realized only by hardware such as a modem and an interface card in an acquisition unit that acquires information, an output unit that outputs information, and the like are not included in the functions realized by the program.
  • the computer that executes this program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
  • Embodiment 3 of the present invention will be described below with reference to the drawings.
  • the terminology between the description in Embodiment 1 or 2 and the description in Embodiment 3 When explanations of definitions and processing contents are different, the description of the third embodiment is given priority.
  • FIG. 41 is a block diagram of the information processing apparatus 31 in the present embodiment.
  • the information processing apparatus 31 includes a shape information storage unit 3101, an object arrangement information storage unit 3102, an arrangement information storage unit 3103, an operation reception unit 3104, an execution unit 3105, a lock surface designation information storage unit 3106, a direction determination unit 3107, and an operation restriction A unit 3108, an image information configuration unit 3109, an output unit 110, a lock surface designation information reception unit 3111, a lock surface designation information storage unit 3112, and an operation availability information storage unit 3113.
  • the shape information storage unit 3101 can store shape information that is information for designating the shape of one or more solid objects.
  • the shape information is information that defines, for example, the shape of an object arranged in the virtual three-dimensional space.
  • the shape information is so-called modeling information of a three-dimensional object, for example.
  • the shape information may be information indicating the shape of a two-dimensional object for displaying a three-dimensional object in a pseudo manner.
  • the three-dimensional object described here includes, for example, what is called a 3D object, a 3D model, or a three-dimensional model.
  • the shape information includes information on the coordinates of the vertices of the three-dimensional object, information on equations that express boundary lines, surfaces, and the like, information on parameters thereof, and the like.
  • the coordinates described here may be, for example, a coordinate system set based on the three-dimensional object itself, a coordinate of a so-called object coordinate system, a coordinate system of a virtual three-dimensional space where one or more three-dimensional objects are arranged, Coordinates in the so-called world coordinate system may be used.
  • the shape information includes information that defines the surface of the solid object or information that can define the surface.
  • the surface of the three-dimensional object is specified by, for example, a combination of coordinates of vertices that the surface is configured with other surfaces, coordinates on sides around the surface, and the like.
  • it is specified by information indicating the normal of the surface, for example, a normal vector.
  • One or more surfaces of the three-dimensional object indicated by the shape information may be associated with identification information for identifying each surface, for example. Such surface identification information is referred to herein as surface identification information.
  • the surface identification information may be associated with a combination of coordinates of vertices that specify a surface, and the surface identification information may be associated with information indicating a normal line that identifies the surface, for example. .
  • each pattern and the surface of the surface that is the front in the pattern may be associated with identification information.
  • the surface identification information may be included in the shape information, or may be accumulated in another storage unit such as a storage medium (not shown).
  • the 3D objects can be classified into polygon modeling, modeling using free-form surfaces, etc., for example, depending on the method of constructing the surface.
  • the shape information may include information on setting items such as the color of the 3D object, transparency, reflection, refractive index, and bump when the 3D object is output.
  • the shape information may be shape information of a three-dimensional object having a movement whose size, shape, color, transparency, etc. change over time.
  • the shape information of the three-dimensional object may be information in any format.
  • the shape information may be a file in the FLASH (registered trademark) format.
  • the shape of the three-dimensional object may be any shape such as a sphere, a cylinder, a polyhedron such as a hexahedron or an octahedron, a cube, a cone, or a pyramid.
  • the shape information storage unit 3101 can store shape information of one or more solid objects.
  • Two or more solid objects may have the same shape and size, or may have different shapes and sizes.
  • the three-dimensional object may be associated with three-dimensional object identification information that is identification information for identifying the three-dimensional object.
  • the unit of the size of the shape information may be an absolute unit or a relative unit.
  • sharable shape information or the like may be mutually used by referring to the link information or the like. That is, the shape information of two or more solid objects may be one shape information shared by two or more solid objects. That is, the shape information of two or more solid objects may be considered as shape information corresponding to two or more solid objects.
  • the shape information storage unit 3101 may store in advance shape information indicating the shape of a three-dimensional object for placing one or more grouped three-dimensional objects therein.
  • a three-dimensional object for arranging one or more grouped three-dimensional objects is called a group three-dimensional object.
  • the shape information of the three-dimensional object for arranging one or more grouped three-dimensional objects therein is appropriately configured by a shape information configuration unit (not shown) and stored in the shape information storage unit 3101. You may make it.
  • the shape information storage unit 3101 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the object arrangement information storage unit 3102 can store object arrangement information that is information for designating the arrangement of one or more three-dimensional objects.
  • the one or more three-dimensional objects described here are three-dimensional objects indicated by the shape information stored in the shape information storage unit 3101.
  • the object arrangement information may be considered as information specifying the arrangement of the shape information of the three-dimensional object.
  • the arrangement described here is, for example, an arrangement in a virtual three-dimensional space. However, it may be position information such as a two-dimensional image configured using a three-dimensional object or two-dimensional coordinate information indicating a position where a pseudo three-dimensional image indicating a three-dimensional object is arranged.
  • This arrangement is a concept having a combination of the position and direction of a three-dimensional object, for example. However, any one of arrangement, position, and direction may be used.
  • the object arrangement information may be information that can specify the arrangement of the three-dimensional object as a result.
  • the object arrangement information is information that specifies the coordinates of the position where the three-dimensional object is arranged and the direction of the three-dimensional object.
  • Information specifying the direction is, for example, information such as vector information or a rotation angle with a predetermined axis in the virtual three-dimensional space as a rotation axis. Or you may think that it is the information which shows the positional relationship of the coordinate axis in a virtual three-dimensional space, and the coordinate axis set to a solid object. For example, it may be information in which each coordinate axis set in the three-dimensional object is represented by a vector with reference to the coordinate axis in the virtual three-dimensional space.
  • the object arrangement information may include information for designating the size of the three-dimensional object.
  • the coordinates that specify the position of the three-dimensional object may be absolute coordinates set in the virtual three-dimensional space, or may be relative coordinates set for other three-dimensional objects.
  • the coordinates for designating the position of the three-dimensional object may be the coordinates of the vertex where the sides constituting the three-dimensional object gather, or the coordinates of the position such as the center of the three-dimensional object.
  • the object arrangement information may be object arrangement information for moving images in which the arrangement of the three-dimensional object changes with time.
  • the object arrangement information may include information on a plurality of frames, and the arrangement of the three-dimensional object may be designated for each frame.
  • the shape information storage unit 3101 and the object arrangement information storage unit 3102 are configured as one storage unit, and the object arrangement information May be included in the shape information.
  • the shape information can also be used as the object arrangement information, and the arrangement of the three-dimensional object can also be specified Also good.
  • the position of the object is placed.
  • the information may be two-dimensional information, for example, coordinate information such as xy coordinates.
  • the object arrangement information may include information for managing a grouping situation such as whether or not a plurality of three-dimensional objects are grouped.
  • Information for managing the status of grouping includes, for example, associating group identification information for identifying a group to which a three-dimensional object constituting one group is associated, or identifying identification information of a three-dimensional object included in the same group.
  • a database managed by a plurality of items of records may be used.
  • the group in this Embodiment is not necessarily restricted only to the group of the solid object managed by the information which manages a grouping condition as mentioned above, As a result, one or more solid objects are made into a group, Any state can be used as long as the execution unit 3105 and the like can be determined.
  • the group of solid objects may be a group that can be determined according to the arrangement of the solid objects. Specifically, as described above, one or more solid objects arranged in one window may be considered as one group. Further, when the three-dimensional object is managed in a hierarchical manner, a three-dimensional object belonging to one hierarchy or a three-dimensional object subordinate to one solid object may be considered as one group.
  • a solid object arranged in a predesignated area may be considered as one group of solid objects.
  • Information for designating such a predesignated area is stored in, for example, a storage medium (not shown).
  • the area designated in advance is, for example, an area in which a three-dimensional object for a purchase object is arranged.
  • solid objects having the same attribute or associated with the same attribute may be considered as a group of solid objects.
  • a case where the solid object is a solid object in which information about a product is arranged will be described as an example.
  • the objects may be considered as a group of solid objects.
  • a solid object registered in the product list to be purchased may be considered as a group of solid objects.
  • the object arrangement information is changed by the execution unit 3105 or the like when the execution unit 3105 described later changes the arrangement of the three-dimensional object, for example.
  • the object arrangement information storage unit 3102 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the object arrangement information storage unit 3102 can temporarily store default object arrangement information read from, for example, a storage unit (not shown) in which object arrangement information prepared by default is stored in advance. It may be considered as a temporary storage unit or the like.
  • the arrangement information storage unit 3103 can store arrangement information that is one or more pieces of information arranged on one or more planes that constitute each of the one or more solid objects. Specifically, the arrangement information storage unit 3103 can store arrangement information arranged on one or more surfaces of one or more solid objects stored in the shape information storage unit 3101. The placement information may be placed on one or more faces of each solid object, and may not be placed on all faces.
  • the arrangement information may be any information such as image information such as still images and moving images, text information, and the like as long as it is information that can be arranged and output on a surface constituting the three-dimensional object, for example, display.
  • the image information may be information as long as image information for output can be configured as a result.
  • the image information may be vector data or raster data.
  • the arrangement described here may be considered as mapping of image information or the like on the surface of a so-called solid object.
  • the arrangement information may be considered as information to be mapped, for example, texture information.
  • the data structure of the placement information is not limited.
  • the placement information may be tagged information such as an XML format.
  • the placement information may be information managed in association with, for example, items or attributes by a table or database. Further, the placement information may be grouped in advance.
  • the arrangement information may be associated with the surface of the three-dimensional object on which the arrangement information is arranged. For example, using management information or the like for managing a set of arrangement information or its identification information and a plane of a solid object associated with the arrangement information or its plane identification information as a plurality of items of one record It may be managed. Specifically, the arrangement information, the identification information of the solid object on which the arrangement information is arranged, and the identification information of the surface on which the arrangement information of the three-dimensional object is arranged are managed in association with each other. Also good.
  • This management information may be stored in a storage unit (not shown), for example.
  • the shape information storage unit 3101 and the placement information storage unit 3103 are configured as one storage unit, and the information indicating the surface of the three-dimensional object indicated by the shape information corresponds to the placement information arranged on the surface. It may be attached and stored.
  • the shape information storage unit 3101 or the like is associated with the surface of the three-dimensional object indicated by the shape information in association with acquisition condition information or the like indicating information for acquiring the placement information arranged on the surface. May be stored.
  • the acquisition condition information is, for example, information indicating a search condition such as a search expression for searching for placement information arranged on a surface. In this case, by performing a search using information such as a search expression associated with each surface, it is possible to acquire the placement information placed on the surface.
  • the acquisition condition information may be any information as long as it is information that can eventually designate one or more pieces of placement information arranged on the surface of one or more solid objects.
  • the acquisition condition information may be information specifying the item.
  • the placement information has an attribute, it may be information specifying the attribute.
  • the placement information is tagged, information specifying a tag may be used.
  • index information is added to the placement information, information for designating the index may be used.
  • it may be information designating the location, file name, directory, etc. of the placement information such as link information.
  • it may be a search expression or an arithmetic expression for searching the arrangement information.
  • the search formula does not necessarily have to be shown in the form of a formula, and may be a keyword that can be used for the search.
  • the acquisition condition information indicated by this search expression is a combination of “select”, “from”, “where”, and the like. Note that “select” is an item of information for arrangement to be acquired, “from” is information for specifying a plurality of pieces of information for arrangement to be searched, and “where” is information indicating conditions for search (SQL specification) See).
  • the acquisition condition information indicated by the arithmetic expression is, for example, an arithmetic expression performed on one or more pieces of arrangement information, for example, information specifying two pieces of arrangement information represented by numerical values, and these Are expressed by an arithmetic expression for calculating the average of the above, an arithmetic expression for adding / subtracting a predetermined time to / from a current time, and the like.
  • the acquisition condition information may be individually specified for all solid objects that can be output, or may be specified for all solid objects. Further, it may be specified in common for some solid objects. When an attribute or the like is set for a solid object, a common acquisition condition may be specified for a solid object that matches the attribute.
  • the acquisition condition information may be specified in advance for each surface of the three-dimensional object, or may be specified randomly for each surface.
  • the placement information storage unit 3103 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the shape information, the object arrangement information, and the arrangement information are accumulated in the shape information storage unit 3101, the object arrangement information storage unit 3102, and the arrangement information storage unit 3103.
  • the shape information, the object arrangement information, and the arrangement information may be accumulated in the shape information storage unit 3101, the object arrangement information storage unit 3102, and the arrangement information storage unit 3103, respectively, via the recording medium.
  • Shape information, object placement information, and placement information transmitted via a line or the like may be accumulated in the shape information storage unit 3101, the object placement information storage unit 3102, and the placement information storage unit 3103, respectively.
  • the shape information, the object placement information, and the placement information input via the input device may be accumulated in the shape information storage unit 3101, the object placement information storage unit 3102, and the placement information storage unit 3103, respectively.
  • the shape information, the object arrangement information, and the arrangement information stored in the shape information storage unit 3101, the object arrangement information storage unit 3102, and the arrangement information storage unit 3103 are received by, for example, a reception unit (not shown). It may be updated as appropriate according to the shape information, object arrangement information, and arrangement information.
  • a combination of shape information and object placement information for one or more three-dimensional objects, or a combination of shape information, object placement information, and placement information, etc. is a file such as a file in FLASH (registered trademark) format.
  • the placement information storage unit 3103 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the operation reception unit 3104 receives an operation on one or more solid objects indicated by the shape information stored in the shape information storage unit 3101.
  • the operation received by the operation receiving unit 3104 for a three-dimensional object may be any operation.
  • This operation is, for example, an operation for making some change with respect to the three-dimensional object.
  • it may be a pre-designated operation among the operations related to the arrangement of the three-dimensional object, may be a pre-designated operation among the operations related to the attribute of the three-dimensional object, or is arranged on the three-dimensional object.
  • a predesignated operation may be used.
  • the arrangement described here is a concept including position, orientation, and the like.
  • the operation related to the arrangement of the three-dimensional object is an operation for changing the position and orientation of the three-dimensional object.
  • the operation related to the arrangement of the three-dimensional object is an operation for giving an instruction to change the arrangement of the three-dimensional object, such as “move 50 pixels in parallel to the y axis” or “rotate 90 ° about the x axis as a rotation axis”.
  • the operation related to the arrangement of the three-dimensional object may be an operation of moving the three-dimensional object to a predetermined area.
  • the operation related to the attribute of the solid object is an operation for changing the attribute or the like of the group to which the solid object belongs.
  • the 3D object is a 3D object corresponding to a product
  • an operation for selecting the product corresponding to the 3D object as a purchase target and giving the 3D object an attribute of the purchase target is performed. It may be considered an operation related to attributes.
  • the operation related to the placement information placed on the three-dimensional object is, for example, an operation of changing the placement information placed on the three-dimensional object. For example, an operation for assigning the placement information to the solid object, an operation for changing the value of the placement information, and the like.
  • the operation other than the operation related to the arrangement with respect to the three-dimensional object is, for example, an operation of grouping the three-dimensional objects.
  • the process of associating a solid object with one group may be considered as grouping.
  • an operation for giving a predetermined attribute, such as the attribute of being a purchase target, to the solid object may be considered as an operation for grouping the solid objects.
  • an operation for changing the position of the three-dimensional object in a region designated in advance is an operation for grouping. Since the process of grouping the three-dimensional objects and the like, the management method of the grouped three-dimensional objects, and the like are well-known techniques, detailed description thereof is omitted here.
  • An operation on a three-dimensional object is usually information including information specifying a three-dimensional object to be operated.
  • the operation accepting unit 3104 may accept an operation other than a predetermined operation designated in advance.
  • the operation accepting unit 3104 may accept an operation for releasing the restriction on the operation on the solid object restricted by the operation restriction unit 3108 described later.
  • the operation for releasing the restriction on the operation on the three-dimensional object is, for example, a series of operations for inputting a password, user identification information, and the like designated in advance.
  • an operation specified in advance for example, an operation of selecting a menu specified in advance, an operation of pressing a key specified in advance, or the like may be used.
  • the operation accepted by the operation accepting unit 3104 may be an operation for changing operation enable / disable information stored in an operation enable / disable information storage unit 3113 (described later) to operation enable / disable information without operation restriction.
  • the reception described here refers to reception of information input from an input device such as a keyboard, mouse, touch panel, reception of information transmitted via a wired or wireless communication line, recording on an optical disk, magnetic disk, semiconductor memory, or the like. It is a concept including reception of information read from a medium.
  • the input means may be anything such as a numeric keypad, keyboard, mouse or menu screen.
  • the operation accepting unit 3104 can be realized by a device driver for input means such as a numeric keypad and a keyboard, control software for a menu screen, and the like.
  • the execution unit 3105 executes processing for one or more three-dimensional objects according to the operation received by the operation reception unit 3104.
  • the process executed by the execution unit 3105 on the three-dimensional object is a process according to the operation received by the operation receiving unit 3104.
  • the execution unit 3105 updates the object arrangement information stored in the object arrangement information storage unit 3102 so that the arrangement of the three-dimensional object is changed according to the operation related to the arrangement received by the operation receiving unit 3104. Specifically, when an operation for rotating a certain three-dimensional object by 90 ° in the right direction is received, the object arrangement information is changed so that the three-dimensional object is rotated by 90 ° in the right direction according to this operation. .
  • the process for each solid object is executed not only by changing the arrangement of the three-dimensional object but also by changing the arrangement information arranged in the object or by using the arrangement information. This includes a process for performing a calculated operation, a process for adding or deleting a solid object, and the like. Further, the execution unit 3105 may execute processing other than the processing for the three-dimensional object in accordance with the operation received by the operation receiving unit 3104.
  • the execution unit 3105 is designated in advance using, for example, arrangement information arranged on one or more surfaces of one or more solid objects in accordance with a predetermined operation designated in advance by the operation accepting unit 3104.
  • a predetermined calculation may be performed. Specifically, the execution unit 3105 determines whether the operation received by the operation reception unit 3104 is a predetermined operation specified in advance, and performs a predetermined calculation when the operation is a predetermined operation. As described above, the predetermined operation is an operation for grouping the three-dimensional objects.
  • the predetermined calculation is specifically an operation using a numerical value arranged on each surface of one or more three-dimensional objects as a parameter.
  • the calculation may be performed, for example, by assigning a numerical value to a previously specified arithmetic expression, or may be performed according to a rule specified in advance.
  • the calculation formulas and calculation rules are stored in advance in a storage medium (not shown), for example.
  • the operations described here are operations including one or more of the four arithmetic operations.
  • the calculation is a combination of one or more of four arithmetic operations.
  • the operation is an operation including at least one of a sum operation, a difference operation, a product operation, or a quotient operation of numerical values arranged on each surface of one or more solid objects.
  • this is an operation of adding numerical values arranged on the surface of each solid object.
  • Whether or not the operation is a predetermined operation is determined based on, for example, whether or not a pre-designated command has been received or whether or not a pre-designated event has occurred. Depending on the predetermined operation, one calculation may be performed with the predetermined operation as a trigger, or the calculation performed may be different depending on the predetermined operation. There may be. Further, it does not matter which solid object the execution unit 3105 uses as a calculation target. For example, when an operation of adding a three-dimensional object to a group is performed, information arranged in the three-dimensional object included in the same group may be a calculation target. Also, all the three-dimensional objects may be subject to calculation. In addition, one or more solid objects designated or selected when performing the operation may be the target of calculation.
  • the execution unit 3105 performs an operation using, for example, information specified in advance by a user, default, or the like among information arranged in each solid object.
  • the execution unit 3105 may use any information among the information arranged in each solid object for the calculation.
  • the execution unit 3105 may use information such as numerical values arranged on a predetermined surface of each solid object as a calculation parameter.
  • the calculation may be performed using only numerical values arranged on the x1 surface as predetermined parameters.
  • information such as numerical values having predetermined attributes arranged in each solid object may be used as a calculation parameter.
  • the attribute designated in advance may be any attribute, for example, an attribute such as price or quantity.
  • the execution unit 3105 may detect arrangement information having a character string “circle” from a solid object that is a target of a predetermined operation, and perform a predetermined calculation using the numerical value of the arrangement information as a parameter. good. Thereby, a numerical value whose attribute is a price can be calculated.
  • arrangement information to which a tag “price” is attached may be detected from a three-dimensional object that is a target of a predetermined operation, and a predetermined calculation may be performed using a numerical value included in the arrangement information as a parameter.
  • the three-dimensional object is a three-dimensional object for a product, and arrangement information that is information on the product name and the price of the product is arranged on the surface thereof.
  • an operation for grouping a plurality of three-dimensional objects for example, a process of selecting a plurality of three-dimensional objects indicating products as purchase targets is performed by the user or the like.
  • the execution unit 3105 has a “circle” designated by default or the like at the end in advance from the arrangement information arranged on the surface for each of the plurality of solid objects subjected to the grouping operation. Get the numeric value followed by the characters.
  • the execution unit 3105 multiplies the numerical value by a consumption tax rate specified in advance, for example, “1.05”, adds the value obtained by the multiplication, and includes the tax-included price of the product selected by the user for purchase. Calculate the sum of.
  • the execution unit 3105 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the execution unit 3105 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the lock surface designation information storage unit 3106 can store lock surface designation information that is information for designating a lock surface that is a surface for locking the operation among the surfaces constituting the solid object indicated by the shape information. . Specifically, to lock an operation is to invalidate one or more operations performed on the three-dimensional object. As will be described later, the lock surface is a surface to be determined for locking the operation. Any information may be used as long as the lock surface can be specified.
  • the lock surface designation information may be the surface identification information of the surface serving as the lock surface as the lock surface designation information.
  • the normal vector since each surface of the three-dimensional object can be identified by a normal vector, the normal vector may be used as lock surface designation information. However, in this embodiment, it is assumed that the normal vector is directed to the outside of the three-dimensional object. Or it is good also considering the coordinate group of the vertex of the solid object which defines the surface used as a lock surface as lock surface designation
  • the arrangement pattern in which the surface displayed on the front surface is the lock surface is identified among the arrangement patterns. Information to be used may be used as lock surface designation information.
  • the lock surface designation information may be individually associated with each solid object, or may be associated with a plurality of solid objects at once.
  • the solid object and the lock surface designation information for designating the lock surface of the solid object may be associated in any manner.
  • corresponding lock surface designation information and solid object identification information (or shape information identification information) may be associated with each other and accumulated in the lock surface designation information storage unit 3106.
  • the lock surface designation information and the three-dimensional object identification information are stored in association with each other.
  • the corresponding lock surface designation information and the three-dimensional object are stored as different field values in one record. is there.
  • management information having the corresponding lock plane designation information and the solid object as values of different fields of one record may be accumulated in the lock plane designation information storage unit 3106 or a storage medium (not shown). good.
  • the process of storing the lock surface designation information associated with the three-dimensional object in the lock surface designation information storage unit 3106 is not limited. For example, it may be stored in advance by default or the like. Further, the lock surface designation information received by the lock surface designation information receiving unit 3111 described later may be accumulated in association with the three-dimensional object.
  • the lock surface designation information storage unit 3106 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • the direction determination unit 3107 determines whether or not the lock surface specified by the lock surface specification information of the arranged solid object faces the direction specified in advance. For example, the direction determination unit 3107 determines whether or not the lock surface designated by the lock surface designation information of the three-dimensional object arranged in the virtual three-dimensional space or the like according to the object arrangement information or the like is directed in the direction designated in advance. Judging. For example, the direction determination unit 3107 arranges the three-dimensional object indicated by the shape information in the virtual three-dimensional space or the like according to the object arrangement information associated with the shape information, for example, at the position or orientation indicated by the object arrangement information. In this case, it is determined whether or not the lock surface of the solid object is oriented in a predetermined direction. Specifically, the direction designated in advance is a direction for determining whether or not an operation other than the operation designated in advance is invalidated. It may be considered as a direction for determining whether or not to lock the operation.
  • the direction determination unit 3107 only needs to be able to determine whether or not the lock surface is in a direction designated in advance, for example, the direction determination unit 3107 has a position where the lock surface designated by the lock surface designation information is located. It may be determined whether or not the surface is a predetermined surface. Specifically, the direction determination unit 3107 may determine whether or not the lock surface specified by the lock surface specification information is the front.
  • the front described here is usually a surface that is visible on the front side when viewed from the user side, for example, when output from a display or the like.
  • a predetermined direction for example, a direction toward the origin of the Z axis
  • a predetermined position for example, from the position in the positive direction of the Z axis.
  • the direction determination unit 3107 may determine that the lock surface specified by the lock surface specification information of the three-dimensional object is facing the direction specified in advance. For example, a surface facing in a predetermined direction may be detected from the surfaces of each solid object, and it may be determined whether this surface is a surface specified by the lock surface specification information. Specifically, a surface facing a predetermined direction is detected from each surface of the three-dimensional object, and the surface identification information of the surface facing the predetermined direction and the lock surface designation information are used. It is determined whether or not certain surface identification information matches. If they match, the direction determination unit 3107 determines that the lock surface faces the direction designated in advance. If they do not match, it is determined that they are not facing the direction designated in advance.
  • “facing a surface in a certain direction” may mean that, for example, a normal line toward the outside of the solid object on the surface is substantially parallel to a certain direction.
  • Whether or not the surface of the three-dimensional object faces the direction designated in advance is, for example, whether or not the normal vector of one surface of the three-dimensional object is substantially parallel to the vector indicating the direction designated in advance. This can be determined by detecting the above. Alternatively, it can also be determined by detecting whether one surface of the three-dimensional object is substantially perpendicular to a vector indicating a direction designated in advance. Further, as described above, there are limited arrangement patterns for possible arrangements of the three-dimensional object, and in any arrangement pattern, one surface of the three-dimensional object becomes a surface indicating the previously specified direction described above.
  • identification information indicating an arrangement pattern in which one surface of the three-dimensional object indicating the direction designated in advance is a lock surface is used as the lock surface designation information. Also good. In this case, when the identification information of the arrangement pattern indicating the current arrangement of the three-dimensional object matches the lock surface designation information, it can be determined that the direction is designated in advance.
  • substantially parallel indicates a state including not only the case of being completely parallel but also the case of being tilted by a predetermined allowable range from the state of being completely parallel.
  • substantially vertical indicates a state including not only the case of being completely vertical but also the case of being tilted by a tolerance specified in advance from the state of being completely vertical.
  • the allowable range specified in advance may be set in advance.
  • the direction determination unit 3107 determines that the lock surface faces the direction designated in advance.
  • the predesignated direction is a world coordinate system in which the three-dimensional object is arranged. If the direction is parallel to any of the X axis, Y axis, and Z axis, the axis indicating the direction designated in advance and the axis perpendicular to the lock surface of the three-dimensional object are substantially parallel, When the direction indicating the positive direction of the axis has a relative relationship designated in advance, it may be determined that the lock surface faces the direction designated in advance.
  • a surface facing in a certain direction may be considered that, for example, a normal line that faces the outside of the surface solid object passes through a certain point or a region including the periphery of the one point specified in advance. good.
  • a surface facing in a certain direction may be considered that, for example, a normal line that faces the outside of the surface solid object passes through a certain point or a region including the periphery of the one point specified in advance. good.
  • the front for example, it may be considered that there is a point that becomes the viewpoint (camera position) when rendering the screen of the three-dimensional object on the extension of the normal vector. good.
  • the surface of the three-dimensional object that is the closest to the viewpoint at the time of rendering may be determined as the front surface.
  • coordinates designated in advance may be used instead of the viewpoint.
  • the direction determination unit 3107 may make the above determination only when the operation reception unit 3104 receives an operation for changing the arrangement of the object such as rotation or movement. Also, immediately after it is determined that the lock surface of the solid object is oriented in a predetermined direction, the above determination is not performed until the restriction on the operation of the solid object is released as will be described later. Also good. Alternatively, the above determination is repeated at a constant or indefinite predetermined timing, and immediately after the restriction on the operation of the three-dimensional object is released as described later, until a predetermined operation, for example, one operation is performed on the three-dimensional object. May not make the above determination.
  • the direction determination unit 3107 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the direction determination unit 3107 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the operation restriction unit 3108 restricts the operation on the three-dimensional object when the direction determination unit 3107 determines that the lock surface specified by the lock surface designation information is in the direction designated in advance. For example, when the direction determination unit 3107 determines that the lock surface of the solid object is the front, the operation restriction unit 3108 restricts the operation on the solid object.
  • Restricting operations on a three-dimensional object means, for example, invalidating part or all of operations on a three-dimensional object. Specifically, it is preferable to invalidate the operation including the operation of rotating the three-dimensional object. This is because the three-dimensional object cannot be rotated so that arrangement information arranged on various surfaces of the three-dimensional object cannot be seen by a third party, and security can be ensured.
  • the three-dimensional object that is subject to operation restriction is, for example, a three-dimensional object that includes at least a three-dimensional object whose lock surface faces a predetermined direction. For example, only an operation on a three-dimensional object whose lock surface faces a predetermined direction may be restricted. In addition, operations for all solid objects may be restricted. Limiting the operation on the three-dimensional object may be considered as locking at least a part of the operation on the three-dimensional object. Other operations on the information processing apparatus 31, including operations on the three-dimensional object, may be restricted. Note that when the operation of the solid object is considered to include an operation for releasing the restriction of the operation described later, the operation restriction performed by the operation restriction unit 3108 is, for example, at least this operation among the operations on the solid object.
  • the operation restriction performed by the operation restriction unit 3108 is, for example, invalidating all operations on the 3D object. It may be.
  • the restriction of the operation means that at least a part of the operation performed on the three-dimensional object is invalidated as a result, and it does not matter how the operation is invalidated.
  • the operation accepting unit 3104 may instruct the operation accepting unit 3104 not to accept an operation on the three-dimensional object. Further, after the operation accepting unit 3104 accepts the operation, if the operation is an operation on the three-dimensional object, the operation accepting unit 3104 is configured to ignore or discard the instruction or event generated by the operation. It may be to instruct. Further, when the operation received by the operation receiving unit 3104 is an operation to be invalidated, the execution unit 3105 is instructed to ignore an instruction received according to the operation or not to perform an operation according to the instruction. It may be to do.
  • Information for setting what operations are restricted may be stored in a storage unit such as a storage medium (not shown) in advance. For example, information of a list such as an event or an instruction generated by an operation invalidated by restriction may be stored in advance.
  • the operation restriction unit 3108 indicates the result of determination as to whether or not the lock surface specified by the lock surface specification information indicated by the direction determination unit 3107 is directed in a predetermined direction at a predetermined or indefinite predetermined timing or the like.
  • the determination result obtained repeatedly and the acquired determination result is a determination result indicating that the lock surface is directed in a predetermined direction
  • the operation reception unit 3104 and the execution unit 3105 are configured to restrict the operation on the three-dimensional object. You may make it indicate.
  • the operation restriction unit 3108 obtains the determination result of the direction determination unit 3107 after acquiring the determination result of whether or not the lock surface specified by the lock surface specification information is directed in the direction specified in advance. Regardless of the above, the operation accepting unit 3104 or the like may be instructed to restrict the operation on the solid object.
  • the operation restriction unit 3108 determines whether or not the operation availability information stored in the operation availability information storage unit 3113 is operation availability information indicating that the operation is restricted, and indicates that the operation is restricted. In the case of the operation availability information, the operation accepting unit 3104 may be instructed to restrict the operation on the solid object.
  • the operation restriction unit 3108 releases the restriction on the operation when the operation reception unit 3104 receives an operation for releasing the restriction on the operation on the three-dimensional object, for example.
  • the operation for canceling the restriction on the operation on the solid object received by the operation receiving unit 3104 is a series of operations for inputting a password designated in advance or an operation for inputting a special key combination.
  • the process for judging whether or not the input content is appropriate, and the configuration for the judgment are as follows. Since it is a well-known technique in normal authentication processing or the like, description thereof is omitted here. Such a configuration may be included in the operation reception unit 3104, or may be included in the operation restriction unit 3108.
  • the operation restriction unit 3108 is configured to release the restriction on the operation on the three-dimensional object. You may be made to instruct.
  • the operation accepting unit 3104 when the operation accepting unit 3104 accepts an operation for releasing the restriction on the operation on the three-dimensional object, specifically, the operation accepting unit 3104 stores in the operation availability information storage unit 3113 described later.
  • An operation indicating that the operation stored in the operation enable / disable information storage unit 3113 is restricted when an operation for changing the stored operation enable / disable information to the operation enable / disable information without operation limitation is received.
  • the availability information may be changed to operation availability information indicating that the operation is not restricted.
  • the direction determination unit 3107 changes the direction in which the lock surface is designated in advance in a predetermined operation, for example, one operation on the three-dimensional object immediately after that.
  • the operation restriction unit 3108 is configured not to perform the operation restriction regardless of the determination result of the direction determination unit 3107 so that the operation on the three-dimensional object can be accepted. Immediately after the release, the restriction on the operation of the three-dimensional object may be prevented from being added again.
  • the direction determination unit 3107 faces the lock surface in a predetermined direction until a predetermined number of operations on the three-dimensional object are changed.
  • the operation restriction unit 3108 may not accept the operation regardless of the determination result of the direction determination unit 3107, and may accept the operation on the three-dimensional object. .
  • the arrangement of the three-dimensional object is automatically changed so that the lock surface of the three-dimensional object does not face the predetermined direction so that the operation is not restricted again. Also good.
  • the operation restriction unit 3108 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the operation restriction unit 3108 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the image information configuration unit 3109 reads the shape information of the three-dimensional object and the placement information arranged on one or more surfaces of the three-dimensional object indicated by the shape information, and each of the one or more surfaces indicated by the read shape information.
  • the image information configuration unit 3109 reads and reads the shape information of the three-dimensional object, the arrangement information arranged on one or more surfaces of the three-dimensional object indicated by the shape information, and the object arrangement information corresponding to the three-dimensional object.
  • You may comprise the image information which has arrange
  • the image information configuration unit 3109 displays an input interface screen for canceling the above-described operation restriction, such as a password input screen, for an operation on a three-dimensional object or the like for which the operation is restricted, or another operation for the information processing device 31. And may be output from the output unit 110 described later.
  • the image information configuration unit 3109 can usually be realized by an MPU, GPU, memory, or the like.
  • the processing procedure of the image information configuration unit 3109 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the output unit 110 outputs the image information configured by the image information configuration unit 3109.
  • the output described here is a concept including display on a display, projection using a projector, transmission to an external device, delivery of a processing result to another processing device or another program, and the like.
  • the output unit 110 may or may not include an output device such as a display or a speaker.
  • the output unit 110 can be implemented by output device driver software, or output device driver software and an output device.
  • the lock surface designation information receiving unit 3111 receives lock surface designation information for one solid object stored in the shape information storage unit 3101. For example, the lock surface designation information receiving unit 3111 designates one or more surfaces of a three-dimensional object with a mouse, a touch pad, a keyboard, or the like, and gives an instruction for setting the designated surface as a lock surface. Get lock face designation information that designates a locked face as a lock face. Alternatively, lock surface designation information for one solid object prepared in advance may be received from a user or the like.
  • the information input means for the lock surface designation information receiving unit 3111 may be anything such as a numeric keypad, keyboard, mouse or menu screen.
  • the lock surface designation information receiving unit 3111 can be realized by a device driver of an input unit such as a numeric keypad or a keyboard, control software for a menu screen, or the like.
  • the lock surface designation information accumulating unit 3112 has the same surface as the surface designated by the lock surface designation information received by the lock surface designation information receiving unit 3111 for each of the one or more solid objects stored in the shape information storage unit 3101. Lock surface designation information to be designated is acquired, and the acquired lock surface designation information is stored in the lock surface designation information storage unit 3106 in association with each solid object.
  • the same surface as the surface specified by the lock surface specification information is, for example, a plurality of three-dimensional objects that are the same or similar three-dimensional objects, and the same identification is made on a surface that matches or corresponds between a plurality of three-dimensional objects.
  • the lock surface designation information accepting unit 3111 accepts the lock surface designation information for designating one surface of one solid object, the other information having the same identification information as the identification information of this one surface
  • the lock plane designation information for designating the plane of the three-dimensional object is acquired, and the acquired lock plane designation information is associated with each solid object and accumulated in the lock plane designation information storage unit 3106.
  • the lock surface designation information accumulating unit 3112 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the lock surface designation information storage unit 3112 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • operation availability information which is information indicating whether or not to restrict operations on a three-dimensional object
  • the operation availability information may be stored in association with the solid object individually, or may not be stored in association with it.
  • the operation permission / prohibition information may be information that can indicate whether or not to restrict the operation on the three-dimensional object.
  • the operation availability information may be only information indicating that the operation is restricted. In this case, if the operation availability information is not accumulated, as a result, the operation availability information indicates that the operation is possible.
  • the operation permission / prohibition information may be so-called flag information in which a value is different depending on whether the operation is restricted or not, or the presence or absence of the value is changed.
  • the operation availability information storage unit 3113 may store the operation availability information as long as the direction determination unit 3107 or the like accumulates the operation availability information so that the latest operation availability information can be referred to. . For example, when new operation availability information is accumulated, old operation availability information may be overwritten. Or you may make it give information, such as a flag which shows that it is not the newest, to old operation availability information.
  • the operation availability information storage unit 3113 may be a non-volatile recording medium or a volatile recording medium.
  • the image information configuration unit 3109 reads the shape information of the three-dimensional object from the shape information storage unit 3101, and displays the object arrangement information and the arrangement information corresponding to each three-dimensional object as the object arrangement information storage unit 3102 and the arrangement information.
  • a solid object that is read from the storage unit 3103 and has placement information arranged on each surface constitutes image information arranged in the position and direction indicated by the object placement information.
  • Step S4201 The output unit 110 outputs the image information configured by the image information configuration unit 3109. For example, it is displayed on a monitor or the like.
  • Step S4202 The operation restriction unit 3108 determines whether or not the operation availability information stored in the operation availability information storage unit 3113 indicates that the operation on the three-dimensional object is restricted.
  • the initial value of the operation availability information is a value indicating that the operation is not restricted. If it is not operation availability information indicating that the operation is restricted, the operation reception unit 3104 is instructed that any operation may be received, and the process proceeds to step S4205. Specifically, the operation reception unit 3104 is instructed that an operation for instructing a process for a solid object is not limited to the process for releasing the operation restriction.
  • the operation reception unit 3104 is instructed to accept only the restricted operation, and the process proceeds to step S4214.
  • the restricted operation is a process for releasing the operation restriction.
  • Step S4203 The lock surface designation information receiving unit 3111 determines whether or not the lock surface designation information has been received. If accepted, the process proceeds to step S4216. If not accepted, the process proceeds to step S4204.
  • Step S4204 The operation receiving unit 3104 determines whether or not an operation for a three-dimensional object has been received.
  • the operation accepted here may be any operation. If accepted, the process proceeds to step S4205. If not accepted, the process returns to step S4203.
  • the execution unit 3105 causes the solid object to execute processing according to the operation received by the operation reception unit 3104. For example, you may perform the process which changes arrangement
  • Step S4206 The direction determination unit 3107 assigns 1 to the counter n.
  • Step S4207 The direction determining unit 3107 assigns 1 to the counter k.
  • Step S4208 The direction determining unit 3107 determines whether or not the nth solid object has the kth lock surface. Specifically, it is determined whether or not the k th lock surface designation information corresponding to the n th solid object is accumulated in the lock surface designation information storage unit 3106. If accumulated, the process proceeds to step S4209. If not accumulated, the process proceeds to step S4211.
  • the direction determination unit 3107 determines whether or not the k-th lock surface faces a predetermined direction. For example, it is determined whether or not the normal vector of the surface indicated by the k-th lock surface designation information is substantially parallel to the normal vector indicating the direction designated in advance. If it is substantially parallel, it is determined that it is facing the direction designated in advance, and if it is not substantially parallel, it is determined that it is not directed in the direction designated in advance.
  • the arrangement pattern that the three-dimensional object can take is limited (for example, when the direction that the three-dimensional object can take is limited to several patterns)
  • the three-dimensional object is arranged in each arrangement pattern in advance
  • the surface identification information of the surface having the designated orientation is stored in advance in the object arrangement information storage unit 3102 or the like in association with the arrangement pattern. Then, the surface identification information of the surface facing the direction specified in advance is acquired from the arrangement pattern of the current solid object acquired using the object arrangement information, and the surface indicated by the surface identification information is the kth lock. It may be determined whether or not it matches the surface indicated by the surface designation information.
  • step 110 If they match, it may be determined that the lock surface is oriented in a predesignated direction, and if they do not match, it may be determined that the lock surface is not oriented in a predesignated direction. If the k-th lock surface does not face the direction designated in advance, the process proceeds to step 110. If the k-th lock surface faces the direction designated in advance, the process proceeds to step S4213.
  • Step S4210 The direction determining unit 3107 increments the counter k by 1. Then, the process returns to step S4208.
  • Step S4211 The direction determination unit 3107 increments the counter n by 1.
  • Step S4212 The direction determining unit 3107 determines whether there is an nth solid object. If there is, the process returns to step S4207; otherwise, the process returns to step S4203.
  • Step S4213 The direction determination unit 3107 changes the operation enable / disable information stored in the operation enable / disable information storage unit 3113 to operation enable / disable information indicating that the operation on the three-dimensional object is restricted. For example, the operation availability information indicating that the operation on the three-dimensional object is restricted is accumulated so as to overwrite the already stored operation availability information. Then, the process returns to step S4202.
  • Step S4214 The operation reception unit 3104 determines whether an operation for releasing the operation restriction on the three-dimensional object has been received. For example, it is determined whether or not an input of a specific instruction for canceling the operation restriction, for example, an input of a specific key combination is accepted. Alternatively, it may be determined whether or not a password matching the password prepared for releasing the operation restriction is accepted. If the accepted operation is an operation for canceling the operation restriction, the process proceeds to step S4215, and if not, the process returns to step S4202.
  • Step S4215 The operation restriction unit 3108 accumulates in the operation availability information storage unit 3113 operation availability information indicating that the operation is not restricted. For example, the operation restriction unit 3108 overwrites and accumulates the operation availability information stored in the operation availability information storage unit 3113 with the operation availability information indicating that the operation is not restricted. Then, the operation reception unit 3104 is instructed to accept any operation, and the process returns to step S4203.
  • step S4202 operation availability information is individually provided for each solid object, and in step S4202, the operation availability information corresponding to each of the one or more solid objects to be manipulated restricts the operation. If one or more pieces of operation enable / disable information indicates that the operation is restricted, the process proceeds to step S4214, and there is no operation enable / disable information indicating that the operation is restricted. May proceed to step S4203.
  • the operation that can be accepted by the restriction of the operation performed according to the operation permission information indicating that the operation is restricted is not limited to the restriction releasing operation, for example, in addition to the restriction releasing operation, Operation may be accepted.
  • step S4202 and step S4214 a step of determining whether or not an operation for outputting a password input interface screen or the like for releasing the restriction has been accepted, and the interface screen is changed according to this operation.
  • a step for outputting, a step for determining whether or not a password input is accepted via the interface screen, a step for determining whether or not the input password is a password for releasing the restriction, etc. are provided.
  • the input password is a restriction release password, it may be determined in step S4214 that a restriction release operation has been accepted.
  • FIG. 43 is a shape information management table for managing the shape information stored in the shape information storage unit 3101.
  • the shape information management table includes “object ID”, “size x”, “size y”, “size z”, “x1 surface”, “x2 surface”, “y1 surface”, “y2 surface”, “z1 surface”. , “Z2 plane”.
  • Object ID is identification information for identifying a three-dimensional object.
  • Size x is the length of the three-dimensional object in the x-axis direction, that is, the width.
  • Size y is the length of the three-dimensional object in the y-axis direction, that is, the height.
  • Size z is the length of the three-dimensional object in the z-axis direction, that is, the depth.
  • the x-axis, y-axis, and z-axis described here are the x-axis, y-axis, and z-axis set in the solid object itself, and the absolute X-axis, Y-axis, set in the virtual three-dimensional space, Different from the Z axis.
  • the origin of the x-axis, y-axis, and z-axis set for the 3D object itself is set, for example, at the center or the center of gravity of the 3D object.
  • the unit of each size may be any unit such as a pixel.
  • the x1, x2, y1, y2, z1, and z2 planes are plane identification information of planes that constitute each solid object. Although the surfaces indicated by these surface identification information are not shown, they are defined using the coordinates of the vertices of the three-dimensional objects constituting each surface. Since the definition of the surface and the technology for associating the identification information with the surface are well known in the 3D modeling technology and the like, the description thereof is omitted here.
  • the values of the items “x1 plane”, “x2 plane”, “y1 plane”, “y2 plane”, “z1 plane” and “z2 plane” in the shape information management table are the normals of the plane indicated by each plane identification information Vector.
  • the normal here is a vector in a direction from the inside to the outside of the solid object.
  • the zero point of the x-axis, y-axis, and z-axis is located at the center of each solid object.
  • the “x1 plane” is a plane whose normal is the positive direction of the x axis
  • the “x2 plane” is a plane whose normal is the negative direction of the x axis
  • the “y1 plane” is the normal line of the positive direction of the y axis.
  • Y2 plane is a plane whose normal is the negative direction of the y axis
  • z1 plane is a plane whose normal is the positive direction of the z axis
  • z2 plane is a negative direction of the z axis. It is the surface to be a line.
  • the shape information of the three three-dimensional objects is managed by the shape information management table.
  • FIG. 44 is a schematic diagram for illustrating a relationship between a three-dimensional object and an x1, x2, y1, y2, z1, and z2 plane.
  • the z1 surface is the front surface
  • the z2 surface is the back surface
  • the x1 surface is the right side surface
  • the x2 surface is the left side surface
  • the y1 surface is the top surface
  • the y2 surface is the bottom surface.
  • FIG. 45 is an object arrangement information management table for managing the object arrangement information stored in the object arrangement information storage unit 3102.
  • the object arrangement information includes items of “object ID”, “coordinates (X, Y, Z)”, and “rotation angle (X, Y, Z)”.
  • the “object ID” is identification information for identifying a three-dimensional object, and corresponds to the “object ID” of the shape information described above.
  • Coordinats (X, Y, Z)” is information indicating the coordinates in the virtual three-dimensional space where the solid object indicated by the “object ID” of the same record is arranged.
  • the coordinates are the coordinates of the center of the solid object. A case will be described.
  • the coordinate value is a coordinate value in the virtual three-dimensional space.
  • the horizontal direction (width direction) in the virtual three-dimensional space is the X axis
  • the vertical direction (height direction) is the Y axis
  • the depth direction is the Z axis.
  • “Rotation angle (X, Y, Z)” indicates a rotation angle with the X axis, the Y axis, and the Z axis in the virtual three-dimensional space as rotation axes.
  • the rotation angle may be considered as information indicating the direction in which the three-dimensional object is arranged.
  • the x axis and y axis of the three-dimensional object are respectively orthogonal to the X axis and Y axis of the virtual three-dimensional space.
  • the x-axis, y-axis, and z-axis of the solid object are arranged in parallel to the X-axis, Y-axis, and Z-axis in the virtual three-dimensional space, respectively.
  • the value of the Z coordinate may be omitted when there is no need to change the depth of the position where the three-dimensional object is arranged, for example, when the rendered three-dimensional object image is arranged on a two-dimensional plane.
  • FIG. 46 is a diagram showing the placement information stored in the placement information storage unit 3103.
  • the placement information constitutes information in XML (Extensible Markup Language) format.
  • the arrangement information may not be information in the XML format, and may be data in a format in which the information can be referred to by item or attribute.
  • the placement information is considered to be information composed of information surrounded by a start tag and an end tag.
  • the tagged information in the range delimited by “ ⁇ product name>” and “ ⁇ / product name>” is the placement information indicating the product name of one product.
  • the tagged information in the range delimited by “ ⁇ price>” and “ ⁇ / price>” is the placement information indicating the price among the information indicating the details of one product.
  • the arrangement information in a range delimited by “ ⁇ product>” and “ ⁇ / product>” is information for arrangement of one product and information for arrangement that can be arranged in one solid object.
  • the placement information is information about a mobile phone.
  • link information information for specifying a file or the like, for example, link information
  • the information on the file specified thereby becomes the placement information.
  • the information on the link destination is appropriately read when an image is constructed.
  • information prepared in advance is stored as arrangement information.
  • FIG. 47 shows arrangement information management for managing the correspondence between the arrangement information, the solid object in which the arrangement information is arranged, and the arrangement plane, which are stored in the arrangement information storage unit 3103. It is a figure which shows a table
  • the placement information is managed in association with the solid object.
  • the arrangement designation information management table has an item “object ID”, an item “product ID”, and an item “arrangement surface”.
  • the “arrangement plane” further has items of “z1 plane”, “x1 plane”, and “y1 plane”.
  • the “object ID” corresponds to the object ID shown in FIG.
  • the “product ID” is information for designating the placement information associated with the solid object indicated by the “object ID”.
  • the product ID is information indicating the product ID tag in the placement information illustrated in FIG. 46. is there.
  • the placement information associated with the product ID tag having an element that matches the value of the “product ID” is the placement information designated by the “placement information”.
  • “Arrangement plane” is information for designating tags of arrangement information to be arranged on each plane of the three-dimensional object.
  • the information is information for designating the tags of the placement information that are respectively placed on the z1 plane, the x1 plane, and the y1 plane.
  • the “product ID” tag value is “SER1345”, and the “product name” tag that is the value of the “z1 surface” item of the “placement surface” is attached.
  • the placement information is placed.
  • the tag that is the value of the item “placement surface” may be considered as acquisition condition information that is information indicating a condition for obtaining the placement information.
  • the image information configuration unit 3109 is managed by the object arrangement information management table shown in FIG. Read object placement information. That is, the values of the items “coordinate (X, Y, Z)” and “rotation angle (X, Y, Z)” that are object placement information corresponding to “object IDs” from “OBJ1” to “OBJ3”. Is read. Then, for example, it is temporarily stored in a memory (not shown) in association with the “object ID”.
  • the image information configuration unit 3109 of the information processing device 31 acquires shape information about the three-dimensional object associated with the placement information. That is, all the values of the “object ID” in the arrangement information management table shown in FIG. 45 are acquired, and the shape information of the solid object associated with the “object ID” that matches this value is shown in FIG. Read from the information management table.
  • the shape information in which “object ID” shown in FIG. 43 is “OBJ1” to “OBJ3” is read, and is temporarily stored in a memory or the like in association with “object ID”, for example.
  • the 3D object from which the image information configuration unit 3109 has read out the shape information that is, each 3D object whose “object ID” is “OBJ1” to “OBJ3” (hereinafter referred to as 3D objects “OBJ1” to “OBJ3”). ) Is acquired from the arrangement information shown in FIG. 46 as follows using the arrangement information management table shown in FIG.
  • the placement information tags placed on the surfaces constituting the three-dimensional object “OBJ1”, here the z1, x1, and y1, surfaces are read from the placement information management table shown in FIG. Specifically, the value “SER1345” of the item “product ID” of the record whose “object ID” is “OBJ1” in the arrangement information management table shown in FIG. 47 is read. 46. From the arrangement information shown in FIG. 46, information on the product having the product ID tag whose element is “SER1345”, that is, the “ ⁇ product>” tag having the product ID tag whose element is “SER1345”. The information enclosed by the “ ⁇ / product>” tag is specified.
  • Names, details, and product photos are sequentially read out, and from the information on the product having the product ID tag whose element is “SER1345” specified in the arrangement information shown in FIG.
  • a tag having a tag name is detected, and elements of the detected tag are sequentially acquired.
  • the acquired tag elements are arrangement information arranged on the z1, x1, and y1 surfaces of the three-dimensional object whose “object ID” is “OBJ1”.
  • the element shown in FIG. 47 is a tag “product name”, the element shown in FIG.
  • the product name tag is detected from the placement information including the product ID tag “SER1345”, and “BS602”, which is an element of the product name tag, is acquired as placement information for placement on the z1 plane.
  • the arrangement information is acquired for the x1 plane and the y1 plane.
  • the acquired information is temporarily stored in a storage medium such as a memory (not shown) in association with the identification information of the three-dimensional object, for example.
  • the image information configuration unit 3109 configures image information of the solid objects “OBJ1” to “OBJ3”.
  • the three-dimensional objects “OBJ1” to “OBJ3” are displayed on the z1, x1, and y1 surfaces of the three-dimensional objects indicated by the shape information of the three-dimensional objects “OBJ1” to “OBJ3” acquired by the image information configuration unit 3109.
  • the arrangement information obtained by the image information configuration unit 3109 is arranged corresponding to the z1, x1, and y1 planes, and these three-dimensional objects are imaged corresponding to the three-dimensional objects “OBJ1” to “OBJ3”.
  • Image information arranged in the position and orientation indicated by the arrangement information acquired by the information configuration unit 3109 is configured.
  • so-called rendering processing is performed.
  • parameters such as the coordinate axes in the virtual three-dimensional space, that is, the coordinate axes in the world space, and the angle of view at the time of rendering, are configured so that projection views of each three-dimensional object are configured. To do.
  • the output unit 110 outputs the image information configured by the image information configuration unit 3109.
  • the output unit 110 is connected to a monitor 3504 and displays image information of the synthesized solid object on the monitor 3504.
  • FIG. 48 is a diagram showing a display example of image information configured by the image information configuration unit 3109.
  • the solid object 4801 is the solid object “OBJ1”
  • the solid object 4802 is the solid object “OBJ2”
  • the solid object 4803 is the solid object “OBJ3”.
  • coordinate values and solid objects shown in the figure are displayed, and the correspondence between each product and information such as specifications related to the product can be easily grasped. It is for the purpose, and is not accurately drawn according to the actual size.
  • each three-dimensional object corresponds to a product, and the product name, product image, specification, price, etc. of each product can be displayed on the surface of each solid object. .
  • the surface located in front is considered as the front.
  • the z1 plane of each of the three-dimensional objects “OBJ1” to “OBJ3” is the front.
  • FIG. 49 is a lock surface designation information management table for managing the lock surface designation information stored in the lock surface designation information storage unit 3106.
  • the lock surface designation information management table has items of “object ID” and “lock surface”.
  • the “object ID” corresponds to the object ID shown in FIG. “Lock surface” is lock surface designation information, and here is surface identification information of a surface designated as a lock surface.
  • the first record from the top indicates that the lock surface of the solid object whose “object ID” is “OBJ1” is “y2 surface”.
  • FIG. 50 shows the operation availability information stored in the operation availability information storage unit 3113.
  • the operation availability information is flag information, for example. Here, if the value is “0”, it indicates that the operation for all the three-dimensional objects is not restricted, that is, the restriction is released, and if the value is “1”, for all the three-dimensional objects. Indicates that the operation is restricted.
  • the restriction on the operation here is, for example, invalidating an operation other than an operation for inputting information for releasing the restriction.
  • the operation restriction unit 3108 determines whether or not the operation availability information stored in the operation availability information storage unit 3113 indicates that the operation on the three-dimensional object is restricted.
  • the value of the operation availability information is the initial value “0”, indicating that the operation is not restricted. Therefore, the operation restriction unit 3108 instructs the operation reception unit 3104 that any operation can be accepted. Alternatively, it may be instructed not to limit the accepted operations. Alternatively, it may be instructed to accept an operation that can be accepted when the operation is not limited, which is designated by default for the three-dimensional object.
  • the user performs an operation for rotating the output three-dimensional object 4801, that is, the three-dimensional object “OBJ1”, by 90 ° upward about the X axis of the virtual three-dimensional space.
  • the solid object is rotated 90 ° in the drag direction, and the user places the pointer on the solid object 4801 and moves the mouse upward.
  • this operation may be an operation of selecting a menu item for rotating the three-dimensional object.
  • the execution unit 3105 performs processing for the three-dimensional object 4801 in response to an operation received by the operation receiving unit 3104 to rotate the three-dimensional object 90 degrees upward about the X axis of the virtual three-dimensional space (world space). To change the direction of the solid object. Specifically, the x value of “rotation angle” in the object arrangement information of the solid object “OBJ1” is changed from “0” that is the initial value to “ ⁇ 90 °”. At this time, the execution unit 3105 may similarly change the arrangement information of other three-dimensional objects other than the operation target three-dimensional object for which the operation receiving unit 3104 has received the operation. That is, in the above case, the solid object “OBJ2” and the solid object “OBJ3” may also be rotated. Or you may make it change only the arrangement
  • the direction determination unit 3107 determines whether or not the lock surface of each three-dimensional object after execution is directed in a predetermined direction. Here, it is determined whether or not the lock surface is the front. In the solid object arranged in this virtual three-dimensional space, it is specified in advance that the front surface is a surface whose normal is parallel to the Z axis and faces the positive direction. To do.
  • the direction determination unit 3107 obtains a vector indicating the normal of the lock surface of the displayed solid object “OBJ1” from the shape information management table shown in FIG. Specifically, first, “y2 plane” that is the lock plane designation information of the solid object “OBJ1” is acquired from the lock plane designation information management table of FIG. Next, the normal vector of the surface designated by the lock surface designation information “y2 surface” of the three-dimensional object “OBJ1” is acquired from the shape information management table shown in FIG. Specifically, “(0, ⁇ 1, 0)”, which is the value of the “y2 plane” item of the record whose “object ID” is “OBJ1” in the shape information management table, is used as the normal vector of the lock plane. get.
  • the acquired normal vector “(0, ⁇ 1,0)” is a vector of the coordinate system in the three-dimensional object
  • this vector is a vector in the virtual three-dimensional space where the three-dimensional object is arranged, that is, a virtual cubic. Convert to vector in original space (world space). Specifically, information indicating the relationship between the coordinate system of the three-dimensional object and the coordinate system of the virtual three-dimensional space (world space) when the three-dimensional object is placed in a default state in the virtual three-dimensional space (world space), Using the rotation angle information of the object arrangement information, the normal vector of the lock surface is converted into a vector indicating the direction in the virtual three-dimensional space.
  • the x-axis, y-axis, and z-axis of the three-dimensional object are respectively virtual.
  • a solid object is arranged so as to be parallel to the X axis, Y axis, and Z axis of the three-dimensional space.
  • the normal vector of the lock surface in this state expressed in the coordinate system of the virtual three-dimensional space (world space) is “(0, ⁇ 1,0)” which is the same as the original normal vector. .
  • the normal vector of the lock surface “y2 surface” of the three-dimensional object “OBJ1” after rotation is represented in a virtual three-dimensional space. What is expressed in the coordinate system of (world space) is “(0, 0, 1)” by calculation.
  • the direction determination unit 3107 determines whether or not a condition indicating that the lock surface after rotation is a front surface is satisfied. Specifically, it is determined whether or not the normal vector of the locked surface after rotation is parallel to the Z axis and faces the positive direction.
  • the normal vector of the locked surface “y2 surface” after rotation is “(0, 0, 1)”
  • the normal vector is parallel to the Z axis and faces the positive direction. Meet. Therefore, the direction determination unit 3107 determines that the lock surface “y2 surface” of the three-dimensional object “OBJ1” is the front.
  • the direction determination unit 3107 accumulates in the operation availability information storage unit 3113 operation availability information “1” indicating that the operation is restricted because it is determined that the lock surface of one solid object is the front. Then, the operation availability information stored in the operation availability information storage unit 3113 is changed. Then, the operation reception unit 3104 returns to a state of waiting for reception of the next operation.
  • FIG. 51 is a diagram showing changed operation availability information stored in the operation availability information storage unit 3113.
  • the operation reception unit 3104 If no solid object with the lock surface in front is detected, the operation reception unit 3104 returns to a state of waiting for reception of the next operation.
  • the direction determination unit 3107 displays the front surface when the three-dimensional object is rotated in the world space. Is obtained using the positional relationship between the surfaces of the solid object defined by the shape information and the surface that was the front before the rotation, and the surface identification information of the surface that is the front is acquired. It may be determined whether or not this matches the identification information of the surface designated by the lock surface designation information.
  • the y2 surface which is the bottom surface, becomes the front, indicating the positional relationship of the surfaces indicated by the shape information You may judge from information etc.
  • the direction determination unit 3107 uses the coordinate system method of the three-dimensional object on the front surface before the rotation. By calculating back the rotation angle from the line vector, calculating the normal vector of the surface that becomes the front after the rotation, and obtaining the surface identification information of the surface that matches this normal vector, the front surface after the rotation is obtained.
  • the surface identification information of the surface may be acquired, and it may be determined whether this matches the surface identification information designated by the lock surface designation information.
  • the operation restriction unit 3108 determines whether or not the operation availability information stored in the operation availability information storage unit 3113 indicates that the operation on the three-dimensional object is restricted.
  • the value of the operation availability information is “1”, which indicates that the operation is restricted.
  • the operation restriction unit 3108 instructs the operation reception unit 3104 that only restricted operations may be received.
  • the operation necessary for releasing the restriction on the operation is an operation of inputting a password designated in advance for releasing the restriction.
  • the operation accepting unit 3104 does not accept an operation for rotating the three-dimensional object because the operation restricting unit 3108 restricts an acceptable operation.
  • an instruction for configuring the image information of the password input screen for releasing the operation restriction is output to the image information configuration unit 3109 in accordance with the operation of clicking the mouse on the image of the three-dimensional object.
  • the image information configuration unit 3109 configures a password input screen, and the output unit 110 displays the configured password input screen.
  • FIG. 52 is a diagram showing a display example of a password input screen for canceling the operation restriction.
  • the operation accepting unit 3104 determines whether or not the input password is a password for releasing the restriction, and determines that the operation for releasing the restriction has been accepted if it matches the password for releasing the restriction.
  • the operation restriction unit 3108 Since the operation restriction unit 3108 has received a restriction release operation from the user, it overwrites the operation availability information stored in the operation availability information storage unit 3113 with the operation availability information “1” for releasing the operation restriction. Specifically, the operation availability information as shown in FIG. 51 stored in the operation availability information storage unit 3113 is changed to the operation availability information as shown in FIG. Then, the operation receiving unit 3104 is instructed to end the limitation of operations to be accepted.
  • the operation accepting unit 3104 can accept at least a normal operation on the solid object immediately after that. For example, immediately after this, by rotating the three-dimensional object “OBJ1” so that the lock surface does not face the front, it is possible to accept subsequent operations.
  • the lock surface designation information receiving unit 3111 receives lock surface designation information for designating “x1 surface” as the lock surface.
  • the lock surface designation information storage unit 3112 is associated with all displayed solid objects, and is the same as the surface designated by the lock surface designation information received by the lock surface designation information receiving unit 3111, here the same surface designation.
  • Lock surface designation information for designating the surface indicated by the information “x1 surface” as the lock surface is accumulated in the lock surface designation information storage unit 3106. Specifically, the lock surface designation information for designating “x1 surface” as the lock surface is added to the value of “lock surface” of all the records in the lock surface designation information management table shown in FIG.
  • FIG. 53 is a diagram showing a lock name designation information management table in which lock face designation information is accumulated. In this way, when one surface of one solid object is designated as a lock surface, the same surface of another three-dimensional object, here, a surface having the same surface identification information can be designated as a lock surface. Can be saved.
  • the operation on the three-dimensional object can be restricted by directing the lock surface in the direction specified in advance.
  • the operation can be limited by a simple operation of directing the lock surface of the three-dimensional object in a predetermined direction, and security can be easily maintained for information output using the three-dimensional object. .
  • the information processing apparatus is configured to limit the operation of the three-dimensional object according to a plurality of operations on the three-dimensional object. It should be noted that when referring to the description of the detailed description of the present invention in order to interpret the meaning of terms in the scope of claims, the description between the description of Embodiment 1 or Embodiment 2 and the description of Embodiment 4 In the case where the definition of the terms and the explanation of the processing contents are different, the description in the fourth embodiment is given priority.
  • FIG. 54 is a block diagram of the information processing apparatus 32 in the present embodiment.
  • the information processing apparatus 32 includes a shape information storage unit 3201, an object arrangement information storage unit 3202, an arrangement information storage unit 3203, an operation reception unit 3204, an execution unit 3205, an operation information acquisition unit 3206, an operation history information storage unit 3207, an appearance pattern.
  • a determination unit 3208, an operation restriction unit 3209, an image information configuration unit 3210, an output unit 3211, an operation availability information storage unit 3212, and an operation pattern definition information storage unit 3213 are provided.
  • shape information storage unit 3201 Configuration and operation of shape information storage unit 3201, object arrangement information storage unit 3202, arrangement information storage unit 3203, operation reception unit 3204, execution unit 3205, image information configuration unit 3210, output unit 3211, and operation availability information storage unit 3212
  • shape information storage unit 3101 the shape information storage unit 3101, the object arrangement information storage unit 3102, the arrangement information storage unit 3103, the operation reception unit 3104, the execution unit 3105, the image information configuration unit 3109, the output unit 110, and the operation of the first embodiment Since it is the same as the availability information storage unit 3113, description thereof is omitted here.
  • the operation information acquisition unit 3206 acquires operation information that is information indicating the operation received by the operation reception unit 3204.
  • the operation received by the operation receiving unit 3204 is, for example, an operation for changing the orientation or position of the three-dimensional object in the virtual three-dimensional space, an operation for changing the size, or the like.
  • the operation information is, for example, information indicating the position of a cursor or the like output according to the operation, information indicating an event output according to the operation, information indicating a command output according to the operation, or the like. .
  • the information indicating the position of the cursor or the like is, for example, information on the coordinates of the position pointed to by the cursor, or information indicating the difference in conversion of the coordinates pointed to by the cursor, which has changed due to the movement of the cursor or the like.
  • the information indicating the event is, for example, an event name.
  • the information indicating the command is, for example, a command name.
  • the operation information acquisition unit 3206 acquires operation information as information output in response to these operations.
  • the operation information may be information indicating an operation received by the operation receiving unit 3204 in the past, and may be information indicating an operation performed by an operation received by the operation receiving unit 3204, for example.
  • the information indicating the operation performed by the operation may be, for example, information indicating a change in the arrangement information of the three-dimensional object whose arrangement is changed by the operation, for example, information recording a difference of the arrangement information.
  • the operation information acquisition unit 3206 acquires information indicating an operation performed by the execution unit 3205 or the like according to the operation as operation information from the execution unit 3205 or the like, for example.
  • the operation information acquisition unit 3206 may store the acquired operation information in a storage medium (not shown).
  • the operation information acquisition unit 3206 acquires operation information that is information indicating the operation received by the operation reception unit 3204, configures operation history information including the operation information, and the configured operation history information will be described later.
  • a case where data is stored in the operation history information storage unit 3207 will be described as an example.
  • the operation history information is information indicating the history of operations accepted by the operation accepting unit 3204.
  • the operation history information is information including at least operation information which is information indicating an operation received by the operation receiving unit 3204 in the past.
  • the operation history information in the present embodiment may be information that can at least indicate the order of operations accepted in the past. Specifically, it may be information that can indicate at least the acquisition order of operation information acquired in the past.
  • the operation history information includes, for example, operation information indicating one or more operations received by the operation receiving unit 3204, and information indicating a time when an operation indicated by each operation information is received (or an operation corresponding to the operation is performed). Is information associated with each other.
  • the operation history information may be information in which operation information is accumulated in the order of acquisition so that the order of acquisition of the operation information can be understood, or information that has been accumulated with a number indicating the acquisition order. May be.
  • the operation information acquisition unit 3206 acquires the operation information as described above, and adds the information of the time when the operation is received or the information of the time when the operation information is acquired to the acquired operation information to obtain the operation history information.
  • the operation information thus configured is accumulated in the operation history information storage unit 3207.
  • Information indicating the time can be acquired from a time measuring unit such as a clock (not shown).
  • the operation information acquisition unit 3206 acquires, for example, the operation information as described above, and adds information indicating the order in which the operations are received or information indicating the order in which the operation information is acquired to the acquired operation information.
  • the configured operation history information may be accumulated in the operation history information storage unit 3207.
  • the operation information acquisition unit 3206 uses the acquired operation information as operation history information, for example, according to the order in which the operations are received or the order in which the operations are received so that the order in which the operations are received can be determined. You may add to
  • the operation information acquisition unit 3206 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the operation information acquisition unit 3206 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • Operation history information acquired by the operation information acquisition unit 3206 can be stored in the operation history information storage unit 3207.
  • the operation history information storage unit 3207 is preferably a nonvolatile recording medium, but can also be realized by a volatile recording medium.
  • the appearance pattern determination unit 3208 determines whether the appearance patterns of the latest two or more pieces of operation information acquired by the operation information acquisition unit 3206 match the appearance patterns of the operation information designated in advance.
  • the appearance pattern determination unit 3208 determines whether or not the appearance patterns of the latest two or more pieces of operation information acquired by the operation information acquisition unit 3206 match the appearance patterns of operation information designated in advance.
  • the appearance pattern of operation information is information indicating the order in which one or more pieces of operation information appear. For example, among the operation information acquired by the appearance pattern determination unit 3208, the nth operation information (n is a positive integer) from the latest operation information, and the latest operation information indicated by the appearance pattern of the operation information designated in advance.
  • the appearance pattern determination unit 3208 has an operation pattern in which the appearance patterns of the latest two or more pieces of operation information acquired by the operation information acquisition unit 3206 are stored in advance in an operation pattern definition information storage unit 3213 described later. It is determined whether or not it matches the appearance pattern indicated by the definition information.
  • the match here may be a complete match or a partial match.
  • the operation pattern definition information is information indicating the appearance order of two or more pieces of operation information, for example.
  • the appearance pattern determination unit 3208 indicates that the operation information appearance patterns included in the latest two or more operation history information accumulated by the operation information acquisition unit 3206 are the operation information appearance patterns specified in advance. A case where it is determined whether or not they match will be described as an example.
  • the appearance pattern determination unit 3208 detects two or more pieces of operation history information in order from the latest operation history information among the operation history information accumulated by the operation information acquisition unit 3206, and from the detected operation history information. , Get operation information. Then, it is determined whether or not the appearance pattern of operation information acquired in the same manner as described above matches the appearance pattern of operation information prepared in advance.
  • the appearance pattern determination unit 3208 stores the operation availability information indicating that the operation is restricted in the operation availability information storage unit 3212 when it is determined that the appearance patterns match. Will be described. Since the operation availability information is the same as the operation availability information described in the first embodiment, the description thereof is omitted here.
  • the appearance patterns of two or more pre-designated operation information determined by the appearance pattern determination unit 3208 are the appearance pattern of operation information instructing movement, the appearance pattern of operation information instructing rotation, and a change in size.
  • Any operation information appearance pattern may be used, such as an appearance pattern of operation information for instructing the above, an appearance pattern based on a combination thereof, or the like.
  • an appearance pattern of operation information indicating a plurality of rotation operations may be used.
  • an appearance pattern of operation information indicating a rotation operation for example, “turn right 2 times, turn 3 left”, etc. This makes it easy to understand the operation when it is communicated to other users and remembered.
  • the appearance pattern determination unit 3208 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the appearance pattern determination unit 3208 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the operation restriction unit 3209 restricts the operation on the three-dimensional object when the appearance pattern determination unit 3208 determines that the appearance patterns match.
  • the restriction on the operation performed here may be a restriction on the operation set in advance in association with the appearance pattern determined to be the same. For example, when it is determined that it matches the first appearance pattern, the operation associated with the first appearance pattern is restricted, and when it is determined that it matches the second appearance pattern, the second appearance The operation associated with the pattern may be restricted. Note that when the operation restriction unit 3209 accepts an operation restriction or the operation restriction unit 3209 receives an operation for releasing the restriction on the operation on the three-dimensional object, the restriction on the operation is canceled or the operation restriction unit 3209 is operated.
  • the operation restriction is performed when the operation on the solid object is restricted or the operation to be changed by the operation accepting unit 3204 is accepted. Since the unit 3209 changes the operation availability information stored in the operation availability information storage unit 3212 to the operation availability information that does not restrict the operation, etc., it is the same as the operation restriction unit 3108 of the first embodiment. The description is omitted here.
  • the operation restriction unit 3209 can be usually realized by an MPU, a memory, or the like.
  • the processing procedure of the operation restriction unit 3209 is usually realized by software, and the software is recorded on a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit).
  • the operation pattern definition information storage unit 3213 can store operation pattern definition information that is information indicating an appearance pattern of operation information.
  • the operation pattern definition information is information indicating an appearance pattern of two or more pieces of operation information, for example.
  • the operation pattern definition information is information including two or more pieces of operation information and information indicating the appearance order associated with each operation information. Further, the operation pattern definition information may be information in which two or more pieces of operation information are stored in the order in which operations are performed.
  • the operation pattern definition information is information accumulated in advance by a user or the like, for example.
  • the operation pattern definition information may be information associated with information specifying the type of operation restriction performed when an operation that matches the operation pattern indicated by the operation pattern definition information is performed.
  • the operation pattern definition information storage unit 3213 is preferably a non-volatile recording medium, but can also be realized by a volatile recording medium.
  • each block of the information processing device 32 corresponding to each block of the information processing device 31 shown in FIG. 41 performs processing.
  • Step S5501 The operation information acquisition unit 3206 determines whether or not the operation received by the operation reception unit 3204 is an operation for rotating a three-dimensional object. For example, it is determined whether or not the command identification information output in response to the operation received by the operation reception unit 3204 is one of the command identification information instructing rotation designated in advance. If it is an operation to rotate, the process proceeds to step S5502. If it is not an operation to rotate, the process proceeds to step S4205.
  • the operation information acquisition unit 3206 acquires operation information indicating the operation received by the operation reception unit 3204.
  • the operation information acquired here for example, identification information of a command output according to an operation received by the operation receiving unit 3204, for example, a command name is acquired.
  • Step S5503 The operation information acquisition unit 3206 configures operation history information by associating the operation information acquired in step S5502 with time information indicating the current time, and the configured operation history information is stored in the operation history information storage unit. 3207 is accumulated.
  • Step S5504 The appearance pattern determination unit 3208 reads one piece of operation pattern definition information stored in the operation pattern definition information storage unit 3213.
  • a case will be described as an example where there is only one piece of operation pattern definition information stored in the operation history information storage unit 3207.
  • Step S5505 The appearance pattern determination unit 3208 counts the number k of operation information constituting the operation pattern defined by the one operation pattern definition information read in Step S5504.
  • the appearance pattern determination unit 3208 acquires the latest k pieces of operation history information from the operation history information stored in the operation history information storage unit 3207.
  • the latest k pieces of operation history information is, for example, operation history information obtained when k pieces of time indicated by time information included in the operation history information are selected in order from the newest.
  • Step S5507 The appearance pattern determination unit 3208 acquires k pieces of operation information included in the k pieces of operation history information acquired in Step S5506.
  • the acquired time order or the acquired time is acquired in order.
  • Step S5508 The appearance pattern determination unit 3208 substitutes 1 for the counter n.
  • Step S5509 The appearance pattern determination unit 3208 determines that the operation order of the operation information indicated by the operation history information read in step S5504 is n-th operation information and the operation information acquired in step S5507 is n.
  • the second operation information is compared to determine whether or not they match.
  • the n-th order of operation may be the nth counting from the oldest operation or the nth counting from the newest operation. If they match, the process proceeds to step S5510. If they do not match, the process returns to step S4204.
  • Step S5510 The appearance pattern determination unit 3208 determines whether or not the value of the counter n is k. If not k, the process proceeds to step S5511, and if k, the process returns to step S5512.
  • Step S5511 The appearance pattern determination unit 3208 changes the operation availability information stored in the operation availability information storage unit 3212 to operation availability information indicating that the operation on the solid object is restricted. For example, the operation availability information indicating that the operation on the three-dimensional object is restricted is accumulated so as to overwrite the already stored operation availability information. Then, the process returns to step S4202.
  • the three-dimensional object 4801 designated in advance is rotated about the Z axis.
  • the user performs an operation for rotating 90 degrees clockwise. For example, assume that the mouse is dragged leftward on the image of the three-dimensional object 4801.
  • the operation accepting unit 3204 accepts an operation by the user, and outputs a command for rotating 90 degrees clockwise prepared in advance to the executing unit 3205 in accordance with the operation.
  • the command to rotate 90 degrees clockwise around the Z-axis is “rotate-R-90”.
  • the operation information acquisition unit 3206 acquires the command “rotate-R-90” output from the operation reception unit 3204 as operation information. Further, the operation information acquisition unit 3206 includes the current time information “12” acquired from the internal clock or the like. : 30:24 ”is assigned, and the operation history information is configured and stored in the operation history information storage unit 3207.
  • FIG. 56 is an operation history information management table for managing operation history information for the three-dimensional object 4801, that is, the three-dimensional object OBJ1, stored in the operation history information storage unit 3207.
  • the operation history information management table has items of “operation information” and “time”. “Operation information” is operation information acquired by the operation information acquisition unit 3206, and “Time” is information of time acquired by the operation information acquisition unit 3206.
  • Each record in the operation history information management table is operation information acquired by the operation information acquisition unit 3206. Note that an aggregate of a plurality of records stored in the operation history information management table may be considered as operation history information.
  • execution part 3205 outputs the image which rotated the solid object according to the command which the operation reception part 3204 outputs.
  • FIG. 57 is a diagram illustrating an output example of the rotated three-dimensional object 4801.
  • the processing for outputting an image obtained by rotating a three-dimensional object is the same as that in the above specific example, and thus the description thereof is omitted here.
  • the operation history information is stored in the operation history information storage unit 3207 each time.
  • the image of the accumulated and rotated solid object 4801 is output.
  • FIG. 58 is a diagram showing an operation history information management table for the three-dimensional object 4801 after a plurality of operations have been performed.
  • “Rotate-L-90” is operation information (command) when a counterclockwise operation is received
  • “rotate-F-90” is operation information when a forward operation is received
  • “rotate- It is assumed that “B-90” is operation information when a backward operation is accepted.
  • FIG. 59 is a diagram showing the operation pattern definition information stored in the operation pattern definition information storage unit 3213.
  • the operation pattern definition information has items of “operation information” and “order of appearance”. “Operation information” corresponds to operation information acquired by the operation information acquisition unit 3206.
  • the “appearance order” is information indicating the order in which the operation information appears in the operation pattern. Here, the larger the numerical value of the corresponding “appearance order”, the earlier the order of appearance, that is, old operation information. Indicates that there is.
  • 60 is a diagram showing the three pieces of operation information acquired by the appearance pattern determination unit 3208.
  • the upper record is the operation information with the older corresponding time, that is, the operation information with the older appearance order.
  • the appearance pattern determination unit 3208 compares the operation information included in the operation pattern definition information and the latest three pieces of operation information acquired from the operation history information with the same appearance order, and compares the operation information. It is determined whether or not the pattern, that is, the combination of the operation information and the appearance order matches.
  • the operation information with the oldest appearance order in the operation information included in the operation pattern definition information is compared with the operation information with the oldest appearance order acquired from the operation history information.
  • the operation information with the oldest appearance order among the operation information included in the definition information is “rotate-F-90”, and the operation information with the oldest appearance order acquired from the operation history information is “rotate-L-90”. Because there is, it does not match. For this reason, it is determined that the appearance patterns of the operation information included in the operation pattern definition information and the latest three pieces of operation information acquired from the operation history information do not completely match. For this reason, the appearance pattern determination unit 3208 does not perform processing for performing operation restriction.
  • the operation information acquisition unit 3206 causes “operation information” to be “rotate-L-90” and “time” to be “ It is assumed that the operation history information “12:33:58” is added.
  • FIG. 61 is a diagram showing an operation history information management table to which records are added.
  • the latest three pieces of operation information included in the operation history information are acquired by the appearance pattern determination unit 3208 as described above.
  • FIG. 62 is a diagram showing the three pieces of operation information acquired by the appearance pattern determination unit 3208.
  • the appearance pattern determination unit 3208 compares the operation information acquired from the operation history information with the operation information included in the operation pattern definition information shown in FIG. 59 in the order of appearance. That is, the appearance patterns are compared with each other.
  • the appearance pattern determination unit 3208 causes the appearance pattern of the latest three operation information included in the operation history information and the operation defined by the operation pattern definition information. It is determined that the appearance pattern of the information matches. Then, the operation availability information for the three-dimensional object stored in the operation availability information storage unit 3212 is changed to “1” as shown in FIG.
  • the present embodiment it is possible to limit operations on a three-dimensional object by combining a plurality of operations on the three-dimensional object.
  • a third party or the like it is possible to prevent a third party or the like from rotating the solid object without permission and seeing the arrangement information arranged on the solid object without permission. Therefore, the operation can be limited only by performing a series of operations on the three-dimensional object, and security can be easily maintained for information output using the three-dimensional object.
  • the operation restriction on the solid object can be executed by a combination of two or more operations normally performed on the solid object, a specific operation for performing the operation restriction, for example, a menu or a button for performing the operation restriction is provided. It is unnecessary. Then, the operation pattern definition information can be freely set by the user, so that the combination of operation restriction operations can be freely determined. Furthermore, by making the combination of the operations itself secret, it is possible to deal with the three-dimensional object without performing password input or the like. Operation restriction can be performed only by operation.
  • the operation is determined whether or not to restrict the operation of two or more rotation operations on a three-dimensional object based on the appearance pattern.
  • an operation other than the rotation operation for example, movement is performed.
  • the operation can be performed by other users in the same way as the operation of a dial key of a safe or the like. It is easy to understand and preferable for communicating and remembering.
  • the rotation operation does not require designation of the direction, distance, position, or the like, for example, compared to the operation of moving the position or the like of a three-dimensional object, and the operation is clear and easy to understand. It is preferable as an operation for restricting the operation.
  • the appearance pattern of the operation information included in the latest two or more operation history information matches the appearance pattern of the operation information indicated by the operation pattern definition information.
  • the operation information acquisition unit 3206 every time the operation information acquisition unit 3206 acquires operation information, the acquired operation information and the operation information indicated by the appearance pattern of the operation information designated in advance are displayed in the order of appearance. If all the operation information indicated by the appearance pattern of the operation information designated in advance matches the series of operation information acquired by the operation information acquisition unit 3206, it is determined that the appearance pattern matches. You may do it. If they do not match in the middle, the comparison may be performed again from the comparison with the oldest appearance pattern of the operation information designated in advance.
  • the comparison of the appearance patterns of the operation information may be started in parallel. That is, the appearance patterns may be compared using the acquired operation information as it is without using the operation history information.
  • each process may be realized by centralized processing by a single device (system), or by distributed processing by a plurality of devices. May be.
  • two or more communication means such as an information transmission unit
  • two or more communication means existing in one apparatus may be physically realized by one medium.
  • information related to processing executed by each component for example, information received, acquired, selected, generated, transmitted, and received by each component.
  • information such as threshold values, mathematical formulas, addresses, etc. used by each component in processing is retained temporarily or over a long period of time on a recording medium (not shown) even when not explicitly stated in the above description. It may be.
  • the storage of information in the recording medium (not shown) may be performed by each component or a storage unit (not shown).
  • reading of information from the recording medium (not shown) may be performed by each component or a reading unit (not shown).
  • the information processing apparatus may be a stand-alone apparatus or a server apparatus in a server / client system.
  • the output unit or the reception unit receives an input or outputs a screen via a communication line.
  • each component may be configured by dedicated hardware, or a component that can be realized by software may be realized by executing a program.
  • each component can be realized by a program execution unit such as a CPU reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the software that realizes the information processing apparatus in each of the above embodiments is a program as described below. That is, this program performs operations including operations on one or more three-dimensional objects whose shapes are specified by shape information, which is information for specifying the shapes of one or more three-dimensional objects stored in the shape information storage unit.
  • An image information composing step constituting the image information of the body object, an output step for outputting the image information constructed in the image information composing step, and a solid object of the solid object stored in the lock surface designation information storage unit are constituted.
  • Direction determining step for determining whether or not the lock surface designated by the lock surface designation information, which is information for designating the lock surface for locking the operation among the surfaces, is oriented in a predetermined direction.
  • the program is for executing an operation restriction step for restricting operations on the three-dimensional object. .
  • an operation receiving step for receiving an operation including an operation for one or more three-dimensional objects whose shape is specified by shape information, which is information specifying the shape of one or more three-dimensional objects stored in the shape information storage unit, in the computer And an execution step for executing processing on one or more solid objects according to the operation received in the operation reception step, and an operation information acquisition step for acquiring operation information which is information indicating the operation received by the operation reception unit,
  • the appearance pattern determination step for determining whether the appearance patterns of the latest two or more pieces of operation information acquired in the operation information acquisition step match the appearance pattern of the operation information specified in advance, and the appearance pattern determination step.
  • the operation restriction step, the shape information of the three-dimensional object, and the arrangement information storage unit that can store arrangement information, which is one or more pieces of information arranged on one or more surfaces constituting each of the one or more three-dimensional objects, are stored.
  • the arrangement information that is placed on one or more surfaces of the three-dimensional object indicated by the shape information is read, and the corresponding arrangement information is arranged on one or more surfaces indicated by the read shape information.
  • This is a program for executing an image information composing step that constitutes image information of an object, and an output step for outputting the image information composed in the image information composing step.
  • the functions realized by the above programs do not include functions that can only be realized by hardware.
  • functions that can be realized only by hardware such as a modem and an interface card in an acquisition unit that acquires information, an output unit that outputs information, and the like are not included in the functions realized by the program.
  • the computer that executes each program may be singular or plural. That is, centralized processing may be performed, or distributed processing may be performed.
  • FIG. 63 is a schematic diagram showing an example of an external appearance of a computer that executes the program and realizes the information processing apparatus according to each of the embodiments.
  • Each of the above embodiments can be realized by computer hardware and a computer program executed thereon.
  • a computer system 900 includes a computer 901 including a CD-ROM (Compact Read Only Memory) drive 905 and an FD (Floppy (registered trademark) Disk) drive 906, a keyboard 902, a mouse 903, a monitor 904, and the like. Is provided.
  • a computer 901 including a CD-ROM (Compact Read Only Memory) drive 905 and an FD (Floppy (registered trademark) Disk) drive 906, a keyboard 902, a mouse 903, a monitor 904, and the like. Is provided.
  • FIG. 64 is a diagram showing an internal configuration of the computer system 900.
  • a computer 901 in addition to the CD-ROM drive 905 and the FD drive 906, a computer 901 is connected to an MPU (Micro Processing Unit) 911, a ROM 912 for storing a program such as a bootup program, and the MPU 911.
  • MPU Micro Processing Unit
  • ROM Read Only Memory
  • a RAM Random Access Memory
  • a bus 915 that temporarily stores program instructions and a temporary storage space
  • the computer 901 may include a network card (not shown) that provides connection to the LAN.
  • a program that causes the computer system 900 to execute the functions of the information processing apparatus and the like according to each of the above embodiments is stored in the CD-ROM 921 or the FD 922, inserted into the CD-ROM drive 905 or the FD drive 906, and the hard disk 914. May be forwarded to. Instead, the program may be transmitted to the computer 901 via a network (not shown) and stored in the hard disk 914. The program is loaded into the RAM 913 when executed. The program may be loaded directly from the CD-ROM 921, the FD 922, or the network.
  • the program does not necessarily include an operating system (OS) or a third-party program that causes the computer 901 to execute the functions of the information processing apparatus according to the above embodiments.
  • the program may include only a part of an instruction that calls an appropriate function (module) in a controlled manner and obtains a desired result. How the computer system 900 operates is well known and will not be described in detail.
  • the information processing apparatus is suitable as an information processing apparatus for displaying information, and is particularly useful as an apparatus for displaying information using a three-dimensional object. It is.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】従来の情報処理装置においては、複数の立体オブジェクトの操作性が悪いという課題があった。 【解決手段】立体オブジェクトの形状情報と、配置用情報と、オブジェクト配置情報とを読み出し、読み出した形状情報が示す1以上の面に、それぞれに対応した配置用情報を配置した立体オブジェクトを、オブジェクト配置情報が示すよう配置した画像情報を構成する画像情報構成部111と、構成された画像情報を出力する出力部112と、1以上の立体オブジェクトの配置に対する変更指示を受け付ける変更指示受付部104と、当該変更指示が1以上の立体オブジェクトを回転させる指示である場合に、変更指示の対象となる立体オブジェクトと、立体オブジェクト以外の立体オブジェクトとが回転するよう、立体オブジェクトのオブジェクト配置情報を更新するオブジェクト更新部105とを備えた。

Description

情報処理装置、情報処理方法、およびプログラム
 本発明は、情報を配置した立体的な画像等を出力する情報処理装置等に関するものである。
 従来の技術として、立体図形の各領域にメニュー項目が割り当てられた、前記立体図形を表示する表示工程と、前記立体図形を、入力する指示コマンドに従って、移動させる移動工程と、前記立体図形に割り当てられたメニュー項目から、所要のメニューを選択する選択工程と、選択されたメニューに対応した処理を実行する選択処理実行工程とを、備えることを特徴とする3次元メニュー選択方法が知られていた(例えば、特許文献1参照)。
特開平7-114451号公報(第1頁、第1図等)
 しかしながら、従来の情報処理装置においては、操作性に優れた立体オブジェクトを提供できないという課題があった。
 例えば、従来の情報処理装置においては、複数の立体オブジェクトを操作する際の操作性が悪いという課題があった。
 例えば、通常は、立体オブジェクトの背面や底面や側面等が、立体オブジェクトの正面部分に重なって隠れてしまう。このため、立体オブジェクトの背面等の画像を見るためには、立体オブジェクトを回転させたりする必要があった。しかしながら、複数のオブジェクトの背面等の画像を見るためには、複数の立体オブジェクトをそれぞれ回転させなければならず、操作に手間と時間がかかるという問題があった。
 例えば、複数の立体オブジェクトがそれぞれ異なる商品に対応付けられた立体オブジェクトであり、各立体オブジェクトの側面や裏面に、各立体オブジェクトに対応する商品についての、相互に比較を行いたい情報、例えば、商品の仕様や価格についての情報がそれぞれ配置されていたとする。この場合、商品間で商品の仕様や価格等を比較するためには、それぞれの立体オブジェクトの面のうちの、比較を行いたい情報が配置されている面が見やすい位置、例えば正面に位置するように、各立体オブジェクトをそれぞれ回転させなければならず、操作に手間や時間がかかるという問題があった。
 また、従来の情報処理装置等においては、階層化されたデータを配置した立体オブジェクトの画像情報を適切に出力することができないという課題があった。
 例えば、従来の技術においては、立体図形の各領域には、予め割り当てられたメニュー項目等のデータが表示されるため、既に割り当て済のメニュー項目等のデータに、下位の階層のデータ(例えばサブメニュー項目等)が存在していても、そのデータを立体図形状に適宜配置して出力することができないという課題があった。
 また、従来の情報処理装置等においては、立体オブジェクトを用いて出力される情報に対して、容易にセキュリティを保つことができないという課題があった。
 例えば、従来の技術においては、ユーザが、情報処理装置の操作から離れている間は、第三者が勝手に立体オブジェクトに対して操作を行うことも可能であったため、立体オブジェクトの操作によって得られる情報等についてのセキュリティを保つことができなかった。一方で、第三者が勝手に立体オブジェクトを操作できないようにするための操作が複雑であると、立体オブジェクトの操作性を妨げてしまう、という問題があった。
 本発明の情報処理装置は、2以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、2以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、2以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得るオブジェクト配置情報格納部と、立体オブジェクトの形状情報と、形状情報が示す1以上の面に配置される配置用情報と、立体オブジェクトに対応するオブジェクト配置情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトを、オブジェクト配置情報が示すよう配置した画像情報を構成する画像情報構成部と、画像情報構成部が構成した画像情報を出力する出力部と、1以上の立体オブジェクトの配置に対する変更指示を受け付ける変更指示受付部と、変更指示受付部が受け付けた変更指示が1以上の立体オブジェクトを回転させる指示である場合に、変更指示に応じて変更指示の対象となる立体オブジェクトと、立体オブジェクト以外の立体オブジェクトとが回転するよう、立体オブジェクトのオブジェクト配置情報を更新するオブジェクト更新部とを備え、前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する情報処理装置である。
 かかる構成により、一の立体オブジェクトを回転させると、他の立体オブジェクトも同様に連動して回転させることができ、複数の立体オブジェクトを操作する際の操作性を向上させることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、オブジェクト更新部は、立体オブジェクトを回転させる変更指示を受け付けた場合に、変更指示の対象となる立体オブジェクト及び立体オブジェクト以外の立体オブジェクトが回転するよう、立体オブジェクトの配置情報を更新する第一の回転モードと、変更指示の対象となる立体オブジェクトのみが回転するよう、立体オブジェクトの配置情報を更新する第二の回転モードとを有し、第一の回転モードと第二の回転モードとを切り替える指示である切換指示を受け付ける切換指示受付部を更に備え、オブジェクト更新部は、切換指示により指定された第一の回転モードと第二の回転モードとのいずれか一方の回転モードで、立体オブジェクトの配置情報を更新し、前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する情報処理装置である。
 かかる構成により、立体オブジェクトを連動動作させたり、連動動作しないようにさせたりすることが切り替え可能となる。このため、例えば、ユーザが、適宜、立体オブジェクトが連動して動作するか否かを設定することができ、立体オブジェクトの動作をカスタマイズすることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、立体オブジェクトは、1以上のグループにグループ化されており、切換指示情報は、立体オブジェクトのグループに対する第一の回転モードと第二の回転モードとを切り替える切換指示を受け付け、オブジェクト更新部は、切換指示により第一の回転モードが指定されたグループに含まれる1以上の立体オブジェクトを回転させる変更指示を受け付けた場合に、立体オブジェクトと同じグループ内の立体オブジェクトのみを対象として第一の回転モードで、配置情報を更新し、前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する情報処理装置である。
 かかる構成により、グループ単位で、立体オブジェクトを連動動作させたり、連動動作しないようにさせたりすることが切り替え可能となる。このため、例えば、ユーザが、適宜、立体オブジェクトが連動して動作するか否かを設定することができ、立体オブジェクトの動作をカスタマイズすることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、複数の立体オブジェクトは、相互に対応する面を有しており、変更指示受付部は、複数の立体オブジェクトに対して向きを揃える指示を更に受け付け可能なものであり、オブジェクト更新部は、変更指示受付部が受け付けた向きを揃える指示に応じて、複数の立体オブジェクトのそれぞれの相互に対応する面の一つが同一方向を向くように、オブジェクト配置情報を更新し、前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する情報処理装置である。
 かかる構成により、複数の立体オブジェクトの面を容易に揃えることができ、立体オブジェクトの操作性が向上する。
 また、本発明の情報処理装置は、前記情報処理装置において、複数の立体オブジェクトをソートする指示であるソート指示を受け付けるソート指示受付部を更に備え、オブジェクト更新部は、ソート指示に応じて、複数の立体オブジェクトにそれぞれ配置されている配置用情報によって決定される順番により立体オブジェクトが並べて配置されるよう、複数の立体オブジェクトのオブジェクト配置情報を更新し、前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する情報処理装置である。
 かかる構成により、複数の立体オブジェクトを、それぞれに配置されている情報によりソートすることができ、操作性が向上するとともに、情報の視認性が向上する。
 また、本発明の情報処理装置は、前記情報処理装置において、オブジェクト更新部は、ソート指示に応じて、複数の立体オブジェクトの、出力画面に正対している面にそれぞれ配置されている配置用情報によって決定される順番により立体オブジェクトが並べて配置されるよう、複数の立体オブジェクトのオブジェクト配置情報を更新し、前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する情報処理装置である。
 かかる構成により、ソートの対象となる面を指定する必要がなく、操作性が向上する。
 また、本発明の情報処理装置は、前記情報処理装置において、立体オブジェクトに対する検索条件を示す情報である検索条件情報を受け付ける検索条件情報受付部と、検索条件情報を用いて、検索条件に合致する立体オブジェクトを検索する検索部と、検索部が検索により検出した立体オブジェクトの配置を指定するオブジェクト配置情報を作成してオブジェクト配置情報格納部に蓄積する検索結果配置情報作成部とを更に備え、前記出力部は、前記検索結果配置情報作成部が作成したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する情報処理装置である。
 かかる構成により、立体オブジェクトを配置されている情報で検索して出力することができ、立体オブジェクトを必要なときにとりだすことができ、操作性が向上するとともに、立体オブジェクト上に配置された情報を効果的に活用できる。
 本発明の情報処理装置は、階層化された1以上のデータで構成される階層構造データが格納され得る階層構造データ格納部と、2以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る形状情報格納部と、階層構造データから、一のノードに従属する1以上のデータを取得する配置用データ取得部と、配置用データ取得部が取得したデータを形状情報が示す立体オブジェクトの予め指定された方向である第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する画像情報構成部と、画像情報構成部が構成した画像情報を出力する出力部と、立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付部と、を備え、配置用データ取得部は、出力部が出力した立体オブジェクトの第一指定方向を向いた面に配置された1以上のデータのうちの1以上に対して所定の従属関係にある1以上のデータを取得し、画像情報構成部は、回転指示に応じて回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部が取得した所定の従属関係にある1以上のデータを配置した立体オブジェクトの画像情報を構成し、出力部は、回転指示に応じて画像情報構成部が構成した画像情報を出力する情報処理装置である。
 かかる構成により、立体オブジェクトに対する回転操作によって、階層化されたデータを配置した立体オブジェクトの画像情報を適切に出力することができる。これにより、階層構造を有するデータをブラウズする際の操作性を向上させることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、出力部が出力した立体オブジェクトの第一指定方向を向いた面に配置された1以上のデータのうちの一のデータに対する指定を受け付ける指定受付部を更に備え、配置用データ取得部は、指定受付部が受け付けた指定により指定されるデータに対して従属する1以上のデータを、所定の従属関係にある1以上のデータとして階層構造データから取得する情報処理装置である。
 かかる構成により、回転操作によって、順次、下位の階層のデータを取得して、立体オブジェクトの第一指定方向を向いた面に出力させることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、配置用データ取得部は、出力部が出力する立体オブジェクトの第一指定方向を向いた面に配置された1以上のデータの従属先となるノードと同じ階層の異なるノードに従属する1以上のデータを、所定の従属関係にある1以上のデータとして取得する情報処理装置である。
 かかる構成により、回転操作によって、異なるノードの同じ階層のデータを表示することができる。
 また、本発明の情報処理装置は、前記情報処理装置において、配置用データ取得部は、出力部が出力する立体オブジェクトの第一指定方向を向いた面に配置された1以上のデータの従属先となるノードと同じ階層の異なるノードに従属する1以上のデータを、所定の従属関係にある1以上のデータとして更に取得し、回転指示受付部は、立体オブジェクトを第一の回転方向に回転させる指示である第一回転指示と、立体オブジェクトを第二の回転方向とは異なる第二の回転方向に回転させる指示である第二回転指示とを受け付け得るものであり、画像情報構成部は、回転指示受付部が第一回転指示を受け付けた場合、第一回転指示が示す第一の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部が取得した指定受付部が受け付けた指定により指定されるデータに対して従属する1以上のデータを配置した立体オブジェクトの画像情報を構成し、回転指示受付部が第二回転指示を受け付けた場合、第二回転指示が示す第二の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部が取得した回転前の立体オブジェクトの第一指定方向を向いた面に配置された1以上のデータの従属先となるノードと同じ階層の異なるノードに従属する1以上のデータを配置した立体オブジェクトの画像情報を構成する情報処理装置である。
 かかる構成により、回転指示の変更することで、階層やノードが異なる階層構造データを出力することができる。これにより、回転指示を変更することで、階層構造データ内のデータを自由にブラウズすることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、階層構造データは、XMLデータである情報処理装置である。
 かかる構成により、作成が容易であり汎用性の高い階層構造データを利用することができる。
 本発明の情報処理装置は、1以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、1以上の立体オブジェクトに対する操作を含む操作を受け付ける操作受付部と、操作受付部が受け付けた操作に応じて、1以上の各立体オブジェクトに対する処理を実行する実行部と、形状情報が示す立体オブジェクトを構成する面のうちの、操作にロックをかけるための面であるロック面を指定する情報であるロック面指定情報が格納され得るロック面指定情報格納部と、立体オブジェクトの形状情報と、形状情報が示す立体オブジェクトの1以上の面に配置される配置用情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成部と、画像情報構成部が構成した画像情報を出力する出力部と、立体オブジェクトの、ロック面指定情報が指定するロック面が、予め指定された方向を向いているか否かを判断する方向判断部と、方向判断部が、ロック面指定情報が指定するロック面が予め指定された方向を向いていると判断した場合に、立体オブジェクトに対する操作を制限する操作制限部と、を備えた情報処理装置である。
 かかる構成により、例えば、ロック面を予め指定された方向に向けることにより立体オブジェクトに対する操作が制限され、立体オブジェクトを用いて出力される情報に対して、容易にセキュリティを保つことができる。
 また、本発明の情報処理装置は、前記情報処理装置において、操作制限部は、立体オブジェクトに対する操作の制限を解除するための操作を受け付けた場合に、操作に対する制限を解除する情報処理装置である。
 かかる構成により、例えば、立体オブジェクトを用いて出力される情報に対してアクセス権を持つユーザが、適宜、操作の制限を解除して、立体オブジェクトを用いて出力される情報にアクセスすることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、形状情報が示す立体オブジェクトに対する操作を制限するか否かを示す情報である操作可否情報が格納され得る操作可否情報格納部を更に備え、方向判断部は、立体オブジェクトのロック面指定情報が指定するロック面が、予め指定された方向を向いていると判断した場合に、操作を制限することを示す操作可否情報を、操作可否情報格納部に蓄積し、操作制限部は、操作可否情報格納部に操作を制限する操作可否情報が格納されている場合に、立体オブジェクトに対する操作を制限する情報処理装置である。
 かかる構成により、ロック面が指定された方向を向いていた場合には、ロック面が指定された方向を向いているか否かの判断処理を減らすことができ、情報処理装置が行う処理を軽減できる。
 また、本発明の情報処理装置は、前記情報処理装置において、前記操作受付部が受け付ける操作は、操作可否情報格納部に格納されている操作を制限する操作可否情報を、操作制限しない操作可否情報に変更させるための操作を含み、操作制限部は、操作受付部が変更させる操作を受け付けた場合に、操作可否情報格納部に格納されている操作可否情報を、操作を制限しない操作可否情報に変更する情報処理装置である。
 かかる構成により、ロック面が指定された方向を向いていない場合には、ロック面が、指定された方向を向いているか否かの判断処理を実行させることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、方向判断部は、ロック面指定情報が指定するロック面が正面であるか否かを判断し、操作制限部は、方向判断部が、ロック面が正面であると判断した場合に、立体オブジェクトに対する操作を制限する情報処理装置である。
 かかる構成により、ロック面を正面に向けることで、立体オブジェクトに対する操作を制限することができる。これにより、ユーザにとってわかりやすい操作で、操作に制限をかけることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、形状情報格納部に格納されている一の立体オブジェクトに対するロック面指定情報を受け付けるロック面指定情報受付部と、形状情報格納部に格納されている1以上の立体オブジェクトのそれぞれについて、ロック面指定情報受付部が受け付けたロック面指定情報が指定する面と同じ面を指定するロック面指定情報を取得し、取得したロック面指定情報を各立体オブジェクトと対応付けて、ロック面指定情報格納部に格納するロック面指定情報蓄積部とを備えた情報処理装置である。
 かかる構成により、一の立体オブジェクトにロック面を指定すると、他の立体オブジェクトにも同様のロック面の指定を行うことができる。
 また、本発明の情報処理装置は、1以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、1以上の立体オブジェクトに対する操作を含む操作を受け付ける操作受付部と、操作受付部が受け付けた操作に応じて、1以上の各立体オブジェクトに対する処理を実行する実行部と、操作受付部が受け付けた操作を示す情報である操作情報を取得する操作情報取得部と、操作情報取得部が取得した最新の2以上の操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する出現パターン判断部と、出現パターン判断部が、出現パターンが一致すると判断した場合に、立体オブジェクトに対する操作を制限する操作制限部と、立体オブジェクトの形状情報と、形状情報が示す立体オブジェクトの1以上の面に配置される配置用情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成部と、画像情報構成部が構成した画像情報を出力する出力部と、を備えた情報処理装置である。
 かかる構成により、立体オブジェクトに対する複数の操作の組合せによって、立体オブジェクトに対する操作を制限することができる。これにより、立体オブジェクトに一連の操作を行うだけで、操作を制限することができ、立体オブジェクトを用いて出力される情報に対して、簡単な操作で容易にセキュリティを保つことができる。
 また、本発明の情報処理装置は、前記情報処理装置において、操作受付部が受け付けた操作の履歴を示す情報である操作履歴情報が格納され得る操作履歴情報格納部を更に備え、操作情報取得部は、取得した操作情報を含む操作履歴情報を操作履歴情報格納部に蓄積し、出現パターン判断部は、操作情報取得部が蓄積した最新の2以上の操作履歴情報に含まれる操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する情報処理装置である。
 かかる構成により、操作の履歴が、予め指定された操作である場合に、立体オブジェクトに対する操作を制限して、立体オブジェクトを用いて出力される情報に対して、容易にセキュリティを保つことができる。
 また、本発明の情報処理装置は、前記情報処理装置において、操作制限部は、立体オブジェクトに対する操作の制限を解除するための操作を受け付けた場合に、操作に対する制限を解除する情報処理装置である。
 かかる構成により、例えば、立体オブジェクトを用いて出力される情報に対してアクセス権を持つユーザが、適宜、操作の制限を解除して、立体オブジェクトを用いて出力される情報にアクセスすることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、形状情報が示す立体オブジェクトに対する操作を制限するか否かを示す情報である操作可否情報が格納され得る操作可否情報格納部を更に備え、出現パターン判断部は、出現パターンが一致すると判断した場合に、操作を制限することを示す操作可否情報を、操作可否情報格納部に蓄積し、操作制限部は、操作可否情報格納部に操作を制限する操作可否情報が格納されている場合に、立体オブジェクトに対する操作を制限する情報処理装置である。
 かかる構成により、操作が制限されている場合には、操作制限を行うか否かの判断を行わないようにして、情報処理装置の行う処理を軽減させることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、操作受付部が受け付ける操作は、操作可否情報格納部に格納されている操作を制限する操作可否情報を、操作制限しない操作可否情報に変更させるための操作を含み、操作制限部は、操作受付部が変更させる操作を受け付けた場合に、操作可否情報格納部に格納されている操作可否情報を、操作を制限しない操作可否情報に変更する情報処理装置である。
 かかる構成により、操作が制限されていない場合には、操作制限を行うか否かの判断を行わせることができる。
 また、本発明の情報処理装置は、前記情報処理装置において、操作情報の出現パターンを示す情報である操作パターン定義情報が格納され得る操作パターン定義情報格納部と、をさらに備えた情報処理装置である。
 かかる構成により、操作パターン定義情報によって、操作制限を行う操作情報の出現パターンを定義することができる。
 また、本発明の情報処理装置は、前記情報処理装置において、1以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得るオブジェクト配置情報格納部を更に備え、画像情報構成部は、立体オブジェクトの形状情報と、形状情報が示す立体オブジェクトの1以上の面に配置される配置用情報と、立体オブジェクトに対応するオブジェクト配置情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトを、オブジェクト配置情報が示すよう配置した画像情報を構成する情報処理装置である。
 かかる構成により、オブジェクト配置情報が示すように配置した立体オブジェクトに対して、操作制限を行うことが可能となる。例えば、オブジェクト配置情報が示すように立体オブジェクトを配置した場合に、立体オブジェクトのロック面が予め指定された方向を向いているか否かを判断して、操作の制限を行うか否かを判断することができる。あるいは、オブジェクト配置情報が示すように配置した立体オブジェクトの配置を変化する操作の組合せによって、操作の制限を行うか否かを判断することができる。
 本発明による情報処理装置等によれば、複数の立体オブジェクトを操作する際の操作性を向上させることができる。
 また、本発明による情報処理装置等によれば、階層化されたデータを配置した立体オブジェクトの画像情報を適切に出力することができる。
 また、本発明による情報処理装置等によれば、立体オブジェクトを用いて出力される情報に対して、容易にセキュリティを保つことができる。
本発明の実施の形態1にかかる情報処理装置のブロック図 同情報処理装置の動作について説明するフローチャート 同情報処理装置の動作について説明するための形状情報管理表を示す図 同情報処理装置の動作について説明するためのオブジェクト配置情報管理表を示す図 同情報処理装置の動作について説明するための立体オブジェクトを示す図 同情報処理装置の動作について説明するための配置用情報を示す図 同情報処理装置の動作について説明するための配置用情報管理表を示す図 同情報処理装置の動作について説明するためのウィンドウ管理表を示す図 同情報処理装置の表示例を示す図 同情報処理装置の動作について説明するための回転モード管理表を示す図 同情報処理装置の動作について説明するためのオブジェクト配置情報管理表を示す図 同情報処理装置の表示例を示す図 同情報処理装置の動作について説明するための回転モード管理表を示す図 同情報処理装置の表示例を示す図 同情報処理装置の動作について説明するためのオブジェクト配置情報管理表を示す図 同情報処理装置の表示例を示す図 同情報処理装置の動作について説明するためのオブジェクト配置情報管理表を示す図 同情報処理装置の表示例を示す図 同情報処理装置の動作について説明するためのオブジェクト配置情報管理表を示す図 同情報処理装置の表示例を示す図 本発明の実施の形態2における情報処理装置のブロック図 同情報処理装置の動作について説明するフローチャート 同情報処理装置の動作について説明するフローチャート 同情報処理装置の動作を説明するための、形状情報管理表を示す図 同情報処理装置の動作を説明するための模式図 同情報処理装置の動作を説明するための、オブジェクト配置情報管理表を示す図 同情報処理装置の動作を説明するための、階層構造データを示す図 同情報処理装置の表示例を示す図 同情報処理装置の動作を説明するための、指定済データの一例を示す図 同情報処理装置の出力例を示す図 同情報処理装置の動作を説明するための、変更後の指定済データを示す図 同情報処理装置の表示例を示す図 同情報処理装置の表示例を示す図 同情報処理装置の表示例を示す図 同情報処理装置の表示例を示す図 同情報処理装置の表示例を示す図 同情報処理装置の表示例を示す図 同情報処理装置の表示例を示す図 同情報処理装置の動作を説明するための、階層形状管理表の一例を示す図 同情報処理装置の動作を説明するための、異なる形状情報が示す立体オブジェクトを示す模式図 本発明の実施の形態3にかかる情報処理装置のブロック図 同情報処理装置の動作について説明するフローチャート 同情報処理装置の動作を説明するための、形状情報管理表を示す図 同情報処理装置の動作を説明するための、立体オブジェクトの模式図 同情報処理装置の動作を説明するための、オブジェクト配置情報管理表を示す図 同情報処理装置の動作を説明するための、配置用情報格納部配置用情報を示す図 同情報処理装置の動作を説明するための、配置用情報管理表を示す図 同情報処理装置の動作を説明するための、画像情報の表示例を示す図を示す図 同情報処理装置の動作を説明するための、ロック面指定情報管理表を示す図 同情報処理装置の動作を説明するための、操作可否情報を示す図 同情報処理装置の動作を説明するための、操作可否情報を示す図 同情報処理装置の動作を説明するための、操作制限を解除するためのパスワード入力画面の表示例を示す図 同情報処理装置の動作を説明するための、ロック名指定情報管理表を示す図 本発明の実施の形態4にかかる情報処理装置のブロック図 同情報処理装置の動作について説明するフローチャート 同情報処理装置の動作を説明するための、操作履歴情報管理表を示す図 同情報処理装置の表示例を示す図 同情報処理装置の動作を説明するための、操作履歴情報管理表を示す図 同情報処理装置の動作を説明するための、操作パターン定義情報を示す図 同情報処理装置の動作を説明するための、最新の操作情報を示す図 同情報処理装置の動作を説明するための、操作履歴情報管理表を示す図 同情報処理装置の動作を説明するための、最新の操作情報を示す図 本発明の各実施の形態の情報処理装置を実現するコンピュータシステムの外観の一例を示す図 本発明の各実施の形態の情報処理装置を実現するコンピュータシステムの構成の一例を示す図
 以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
 (実施の形態1)
 図1は、本実施の形態における情報処理装置1のブロック図である。
 情報処理装置1は、形状情報格納部101、配置用情報格納部103、オブジェクト配置情報格納部102、変更指示受付部104、オブジェクト更新部105、切換指示受付部106、ソート指示受付部107、検索条件情報受付部108、検索部109、検索結果配置情報作成部110、画像情報構成部111、および出力部112を備えている。
 形状情報格納部101には、2以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る。形状情報とは、具体的には、仮想三次元空間内に配置されるオブジェクトの形状等を定義する情報である。形状情報は、例えば、立体オブジェクトのいわゆるモデリング情報である。ここで述べる立体オブジェクトは、例えば3Dオブジェクトや3Dモデルや立体モデルと呼ばれるものも含む。形状情報は、立体オブジェクトの頂点の座標の情報や、境界線や面等を表現する方程式のパラメータの情報等である。立体オブジェクトは、通常、面を定義する情報、あるいは面を定義可能な情報を有しており、1以上の面により構成されている。立体オブジェクトは、例えば、面の構成方法によって、ポリゴンモデリングや、自由曲面を利用したモデリング等に分類できる。形状情報には、立体オブジェクトを出力する際の、立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を含んでも良い。形状情報格納部101には、1以上の立体オブジェクトの形状情報が格納され得る。立体オブジェクトの形状は、球、円柱、六面体や八面対等の多面体や、立方体、円錐、角錐等、どのような形状であっても良い。なお、2以上の立体オブジェクトは、同じ形状および大きさであることが好ましい。形状情報のサイズ等の単位等は、絶対的な単位であっても、相対的な単位であっても良い。また、複数の立体オブジェクトにおいて、共用可能な形状情報等は、リンク情報等を用いて参照することで、相互利用できるようにしても良い。すなわち、2以上の立体オブジェクトの形状情報は、2以上の立体オブジェクトにおいて共用される1の形状情報であってもよい。つまり、2以上の立体オブジェクトの形状情報は、2以上の立体オブジェクトに対応する形状情報と考えても良い。形状情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 オブジェクト配置情報格納部102には、2以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得る。ここで述べる2以上の立体オブジェクトは、形状情報格納部101に格納されている形状情報が示す立体オブジェクトである。オブジェクト配置情報は、立体オブジェクトの形状情報の配置を指定する情報と考えても良い。ここで述べる配置とは、例えば、仮想三次元空間内における配置である。ただし、立体オブジェクトを用いて構成された画像が配置される位置を示す二次元の座標情報等の位置の情報であっても良い。この配置は、例えば、立体オブジェクトの位置と方向との組み合わせを有する概念である。ただし、配置を指定する情報は、方向を示す情報だけであっても良い。オブジェクト配置情報は、立体オブジェクトの配置を結果的に指定可能な情報であればよく、例えば、立体オブジェクトが配置される位置の座標や、立体オブジェクトの方向を指定する情報である。方向を指定する情報は、結果的に方向を示すことが可能な情報であれば良く、例えば、ベクトル情報や、仮想三次元空間内における所定の軸を回転軸とした回転角度等の情報である。あるいは、仮想三次元空間内における座標軸と、立体オブジェクトに設定される座標軸との位置関係を示す情報と考えても良い。例えば、仮想三次元空間内における座標軸を基準として、立体オブジェクトに設定される各座標軸をベクトルで表した情報であっても良い。なお、立体オブジェクトの位置を示す情報によって、オブジェクトの向きが決定される場合、例えば、立体オブジェクトの各頂点の座標等が指定されている場合等においては、位置を示す情報は方向を示す情報も兼ねていると考えても良い。また、オブジェクト配置情報は、立体オブジェクトの大きさ等を指定する情報であっても良い。立体オブジェクトの位置を指定する座標は、仮想三次元空間内に設定された絶対的な座標であっても良いし、他の立体オブジェクト等に対して設定された相対的な座標であっても良い。また、立体オブジェクトの位置を指定する座標は、立体オブジェクトを構成する辺等が集まる頂点の座標であっても良いし、立体オブジェクトの中心等の位置の座標であっても良い。なお、後述する画像情報構成部111は、このオブジェクト配置情報を読み出して、このオブジェクト配置情報が示す仮想三次元空間内の位置に、このオブジェクト配置情報が示す向きとなるよう立体オブジェクトを配置した画像情報を構成するようにする。なお、ここではオブジェクト配置情報と立体オブジェクトの形状情報とをそれぞれ設けた場合について説明するが、形状情報格納部101とオブジェクト配置情報格納部102とを一の格納部で構成するとともに、オブジェクト配置情報を形状情報内に含めるようにしても良い。例えば、形状情報の頂点の情報を、例えば、絶対座標とすることで、形状情報をオブジェクト配置情報として用いて、立体オブジェクトの配置も指定可能となる。なお、各立体オブジェクトを用いてレンダリングにより作成された二次元の画像を、二次元の背景画像上等に配置して最終的な出力画像を作成する場合等においては、オブジェクトの配置される位置の情報は、二次元の情報、例えばxy座標等の座標情報であってもよい。
 また、オブジェクト配置情報は、複数の立体オブジェクト同士がグループ化されているか否か等のグループ化の状況を管理する情報を有していても良い。グループ化の状況を管理する情報は、例えば、一のグループを構成する立体オブジェクトに、属するグループを識別するためのグループ識別情報を対応付けることや、同じグループに含まれる立体オブジェクトの識別情報を一のレコードの複数の項目で管理するデータベース等であっても良い。
 また、オブジェクト配置情報格納部102には、オブジェクトが配置されるウィンドウを管理するための情報であるウィンドウ管理情報が格納されていても良い。ウィンドウとは、具体的には、立体オブジェクト等を配置して出力するための出力領域である。ウィンドウは、例えば立体オブジェクトのグループや階層やノードの関係等を表すために用いられる。ウィンドウ管理情報は、例えば、一のウィンドウを表示するためのウィンドウのサイズや位置等の情報である。また、これに加えて、一のウィンドウと当該ウィンドウ内に配置される立体オブジェクトとの対応関係等を管理する情報を有していても良い。このウィンドウ管理情報を用いて、例えば、後述する画像情報構成部111によりウィンドウの画像が構成される。
 なお、本実施の形態におけるグループとは、必ずしも上述したようにグループ化状況を管理する情報で管理される立体オブジェクトのグループのみに限るものではなく、結果として、1以上の立体オブジェクトをグループとして,例えば後述するオブジェクト更新部等が判断可能な状態であればよい。例えば、立体オブジェクトのグループは、立体オブジェクトの配置に応じて判断可能なグループであっても良い。具体的には、上述したように一のウィンドウ内に配置されている1以上の立体オブジェクトを、一のグループと考えても良い。また、立体オブジェクトが階層化されて管理されている場合、一の階層に属する立体オブジェクトや、一の立体オブジェクトに従属している立体オブジェクトを一のグループと考えても良い。
 オブジェクト配置情報格納部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 配置用情報格納部103には、2以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る。具体的には、2以上の立体オブジェクトがそれぞれ1以上の面を有しており、配置用情報格納部103には、各立体オブジェクトの1以上の面にそれぞれ配置される配置用情報が格納され得る。配置用情報は、各立体オブジェクトの1以上の面に配置されれば良く、全ての面に配置されていなくてもよい
 配置用情報は、立体オブジェクトを構成する面に配置して出力、例えば表示可能な情報であれば、静止画や動画等の画像情報や、テキスト情報等、どのような情報であっても良い。画像情報は、結果的に出力用の画像情報が構成可能な情報であれば良く、例えば、ベクターデータであってもラスタデータであっても良い。また、ここで述べる配置とは、いわゆる立体オブジェクトの面に対する画像情報等のマッピングと考えても良い。また、配置用情報は、マッピング対象となる情報、例えばテクスチャ情報と考えても良い。配置用情報のデータ構造は問わない。例えば配置用情報は、XML形式等のタグ付けされた情報であっても良い。また、配置用情報は、テーブルや、データベースにより、例えば項目や属性等と対応付けて管理された情報でも良い。また、配置用情報は、予めグループ化されていても良い。
 配置用情報と、当該配置用情報が配置される立体オブジェクトの面とはどのように対応付けられていても良い。例えば、配置用情報またはその識別情報と、当該配置用情報に対応付けられた立体オブジェクトの面またはその識別情報との組を、一のレコードの複数の項目として管理する管理情報等を用いて管理されても良い。この管理情報は、例えば図示しない格納部等に格納しておくようにすればよい。また、形状情報格納部101と配置用情報格納部103とが一の格納部により構成されており、形状情報が示す立体オブジェクトの面を示す情報と当該面に配置される配置用情報とが対応付けられて格納されていても良い。
 また、形状情報が示す立体オブジェクトの面に対して、当該面に配置される配置用情報を取得するための条件を示す情報である取得条件情報等が対応付けられて、形状情報格納部101等に格納されていても良い。取得条件情報は、例えば、面に配置される配置用情報を検索するための検索式等の検索条件を示す情報である。この場合、各面に対応付けられた検索式等の情報を用いて検索を行うことで、面に配置される配置用情報を取得することが可能となる。
 なお、取得条件情報は、1以上の立体オブジェクトの面に配置される1以上の配置用情報を結果的に指定可能な情報であれば、どのような情報であっても良い。例えば、取得条件情報は、配置用情報が項目分けされている場合、その項目を指定する情報であってもよい。また、配置用情報が属性を有している場合、その属性を指定する情報であっても良い。また、配置用情報がタグ付けされている場合、タグ名を指定する情報であっても良い。また、配置用情報にインデックス情報が付与されている場合、このインデックスを指定する情報であっても良い。また、リンク情報等の配置用情報の場所やファイル名やディレクトリ等を指定する情報であっても良い。また、配置用情報を検索するための検索式や演算式であっても良い。なお、検索式は、必ずしも式の形で示されている必要はなく、検索に利用可能なキーワード等であっても良い。例えば、この検索式で示される取得条件情報は、「select」、「from」、「where」等の組み合わせ等である。なお、「select」は取得する配置用情報の項目、「from」は検索対象となる複数の配置用情報を指定する情報、「where」は検索のための条件を示す情報である(SQLの仕様を参照)。また、演算式で示される取得条件情報とは、例えば、1以上の配置用情報に対して行われる演算式であり、例えば、数値で表される2つの配置用情報を指定する情報と、これらの平均を算出する演算式等で表されたものや、現在の時間等に所定時間を加減算する演算式等で表されたもの等である。取得条件情報とは、出力対象となりうる全ての立体オブジェクトにそれぞれ個別に指定されていてもよいし、全ての立体オブジェクト共通に指定されていても良い。また、一部の立体オブジェクトに共通に指定されていても良い。また、立体オブジェクトに属性等が設定されている場合、この属性が一致する立体オブジェクトに共通の取得条件を指定しても良い。また、取得条件情報は、立体オブジェクトの各面に対して予め指定されていてもよいし、各面にランダムに指定されても良い。配置用情報格納部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 なお、形状情報格納部101、オブジェクト配置情報格納部102、配置用情報格納部103に形状情報や、オブジェクト配置情報や、配置用情報が蓄積される過程は問わない。例えば、記録媒体を介して形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部101、オブジェクト配置情報格納部102、配置用情報格納部103に蓄積されてもよく、通信回線等を介して送信された形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部101、オブジェクト配置情報格納部102、配置用情報格納部103に蓄積されてもよく、入力デバイスを介して入力された形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部101、オブジェクト配置情報格納部102、配置用情報格納部103に蓄積されてもよい。また、形状情報格納部101や、オブジェクト配置情報格納部102や、配置用情報格納部103に格納されている形状情報や、オブジェクト配置情報や、配置用情報は、例えば図示しない受付部等が受け付けた形状情報や、オブジェクト配置情報や、配置用情報により適宜更新されるようにしても良い。
 変更指示受付部104は、1以上の立体オブジェクトの配置に対する変更指示を受け付ける。ここで述べる配置とは、仮想3次元空間内等の座標位置や、立体オブジェクトの向き等である。変更指示は、例えば、立体オブジェクトの配置を変更させるためのコマンド、例えば「y軸に平行に50ピクセル移動」や「x軸を回転軸として90°回転」というコマンド等であっても良いし、変更後の、立体オブジェクトの配置を指定する座標や向きの情報等でもよい。変更指示は、通常は、変更対象となる立体オブジェクトを指定する情報を含む情報である。変更指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。例えば、図示しないディスプレイ等に表示されている立体オブジェクトの面の一部をクリックしたり、面や辺をドラッグすることにより、立体オブジェクトの位置を仮想三次元空間内で移動させる指示を受け付けたり、立体オブジェクトの向きを仮想三次元空間内で変更、例えば回転させる指示を受け付けるようにしても良い。例えば、立体オブジェクトの側面の一つをクリックすることで、その面が正面を向くような配置の変更指示を受け付けても良い。このように、表示されている立体オブジェクトに対するマウス等を用いた操作により、配置を変更する指示を受け付けることが、ユーザによる直感的な操作を受け付ける受けで好ましい。
 変更指示受付部104は、複数の立体オブジェクトに対して向きを揃える指示を更に受け付け可能なものであってもよい。「向きを揃える」とは、複数の立体オブジェクトを同じ向きを向かせる、という意味と考えても良い。立体オブジェクトの向きとは、例えば、各立体オブジェクトの予め指定された1以上の面や、1以上の面に対する垂線や、1以上の辺の方向である。予め指定された面や辺の代わりに、ユーザにより指定された面や辺の方向を立体オブジェクトの方向と考えても良い。この場合、変更指示が、立体オブジェクトの方向の基準となる面や辺等を指定する情報を含むようにしても良い。また、各立体オブジェクトの形状情報において予め指定されている基準となる向き等であってもよいし、複数の立体オブジェクトの形状情報に設定されている立体オブジェクト内の座標軸等の向きであっても良い。向きを揃える指示により、各立体オブジェクトの向きが揃えられる方向は問わない。例えば、予め指定されている方向、例えば、最終的に出力される立体オブジェクトの画像において出力画面に正対する方向等であってもよい。あるいは、ユーザにより指定される方向であっても良い。この場合、変更指示が、揃える方向を指定する情報を含むようにしても良い。
 ここで述べる受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。変更指示受付部104は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 オブジェクト更新部105は、変更指示受付部104が受け付けた変更指示に応じて、オブジェクト配置情報格納部102に格納されている当該変更指示の対象となる立体オブジェクトのオブジェクト配置情報を更新する。特に本実施の形態においては、オブジェクト更新部105は、変更指示受付部104が受け付けた変更指示が1以上の立体オブジェクトを回転させる指示である場合に、変更指示に応じて変更指示の対象となる立体オブジェクトと、この立体オブジェクト以外の立体オブジェクトとが回転するよう、立体オブジェクトのオブジェクト配置情報を更新する。
 例えば、変更指示が、変更後の座標の情報や向きの情報等を含む場合、オブジェクト更新部105は、この変更後の座標の情報や向きの情報等でオブジェクト配置情報を更新するようにすればよい。また、変更指示が配置の変更を指示するコマンド等である場合、このコマンドと現在のオブジェクト配置情報とから、変更後の座標の情報や向きの情報等を算出し、この算出した情報で、オブジェクト配置情報を更新するようにすればよい。なお、オブジェクト配置情報が、上述したように形状情報に含まれるものとなっている場合、例えば、変更指示に応じて、形状情報を変更することが、実質的にオブジェクト配置情報を更新することとなる。
 また、変更指示が1以上の立体オブジェクトを回転させる指示(以下、回転指示と称す)である場合、この回転指示の対象となる立体オブジェクトを、変更指示に応じて回転させるとともに、回転指示の対象となる立体オブジェクト以外の立体オブジェクトも、回転指示の対象となる立体オブジェクトと同様に回転させる。即ち、回転指示の対象となる立体オブジェクト以外の立体オブジェクトも、回転指示の対象となる立体オブジェクトと連動して回転するよう、各立体オブジェクトのオブジェクト配置情報を更新する。具体的には、回転指示の対象となる立体オブジェクト以外のオブジェクトも、回転指示の対象となる立体オブジェクトが受けた回転指示と同じ回転指示を受け付けた場合と同様に回転させる。例えば、回転指示の対象となる立体オブジェクトが、所定の方向に所定の角度回転させる指示を受け付けた場合、回転指示の対象となる立体オブジェクト以外のオブジェクトも、回転指示が示す方向に回転指示が示す角度で回転させる。例えば、変更指示が、1の立体オブジェクトを、当該立体オブジェクト内に設定されているy軸を回転軸として90度回転させる指示であったとすると、オブジェクト更新部105は、当該立体オブジェクトを、この立体オブジェクト内に設定されているy軸を回転軸として90度回転させたオブジェクト配置情報を取得とともに、当該立体オブジェクト以外の他の立体オブジェクトも、この立体オブジェクト内に設定されているy軸を回転軸として90度回転させたオブジェクト配置情報を取得する。なお、ここで述べる回転の指示とは、例えば、立体オブジェクトに対する自転の指示である。また、立体オブジェクトの向きを変更する指示と考えても良い。ここで述べる自転とは、具体的には、立体オブジェクトを、位置を変えずに回転させることである。このときの回転すなわち自転は、例えば各立体オブジェクト内にあらかじめ設定された軸や点を回転軸や回転の中心として行われる。例えば、回転は、各立体オブジェクトの形状情報等に予め指定された立体オブジェクトの位置を決定する基準点や、中心や、重心や、立体オブジェクトに対して設定される座標の原点等を回転の中心として行われる。また、立体オブジェクトの基準点や中心や重心や原点を通る軸や、各立体オブジェクトに設定されるx軸やy軸やz軸等を回転軸として行われてもよい。なお、回転は、ユーザにより指定された点や軸を回転の中心や回転軸として行われても良い。この場合、回転の中心や軸を指定する情報を、回転指示が含むようにしても良い。
 オブジェクト更新部105は、回転指示に応じて、回転指示の対象となる立体オブジェクト以外のどの立体オブジェクトのオブジェクト配置情報を、立体オブジェクトが回転するよう更新するようにしても良い。例えば、オブジェクト配置情報により配置が指定されている全ての立体オブジェクトのオブジェクト配置情報を立体オブジェクトが回転するよう更新しても良いし、ユーザ等により予め指定されたオブジェクトだけのオブジェクト配置情報を立体オブジェクトが回転するよう更新しても良い。また、回転指示の対象となる立体オブジェクトが、上述したようなグループ化されている立体オブジェクトの一つである場合、当該回転指示の対象となる立体オブジェクトが含まれるグループ内の、回転指示の対象となる立体オブジェクト以外の立体オブジェクトのオブジェクト配置情報を立体オブジェクトが回転するよう更新してもよい。例えば、回転指示の対象となるオブジェクトが1のウィンドウ内に配置されている場合、当該ウィンドウ内に配置されている全ての立体オブジェクトをグループ化された立体オブジェクトと判断して、当該ウィンドウ内に配置されている回転指示の対象となるオブジェクト以外の立体オブジェクトの立体オブジェクト配置情報を、立体オブジェクトが回転するよう更新しても良い。
 なお、オブジェクト更新部105は、立体オブジェクトを回転させる変更指示を受け付けた場合に、変更指示の対象となる立体オブジェクト及び立体オブジェクト以外の立体オブジェクトが回転するよう、立体オブジェクトの配置情報を更新する第一の回転モードと、変更指示の対象となる立体オブジェクトのみが回転するよう、立体オブジェクトの配置情報を更新する第二の回転モードとを有しており、この二つの回転モードを切り替えられるようにしても良い。例えば、後述する切換指示受付部106が受け付けた切換指示が示す回転モードに回転モードが切り替えられるようにしてもよい。オブジェクト更新部105は、切換指示により指定された第一の回転モードと第二の回転モードとのいずれか一方の回転モードで、立体オブジェクトの配置情報を更新する。例えば、回転モードの切り替えにより第一の回転モードが指定されている場合において回転指示を受け付けた場合、オブジェクト更新部105は、上記と同様の動作を行う。一方、回転モードの切り替えにより第二の回転モードが指定されている場合において回転指示を受け付けた場合、回転指示の対象となる立体オブジェクトのみが回転するよう、立体オブジェクトの配置情報を更新する。なお、オブジェクト更新部105は、回転モードの切換が行われるまでは、例えば、デフォルトの回転モード、もしくは直前に切り替えられた回転モードで動作するようにする。なお、現在どの回転モードが設定されているかを示す情報は、例えば、図示しない記憶媒体等に蓄積し、回転が行われる際にこの情報が参照されるようにする。
 また、第一の回転モードと第二の回転モードとの切り替えを、立体オブジェクトのグループ単位で行えるようにしてもよい。具体的には、後述する切換指示受付部106が受け付けた切換指示により第一の回転モードに切り替えられているグループに含まれる1以上の立体オブジェクトのうちの1以上に対して、回転させる変更指示を受け付けた場合に、オブジェクト更新部105は、この変更指示の対象となる立体オブジェクトと同じグループ内の立体オブジェクトのみを対象として第一の回転モードで、配置情報を更新する。一方、切換指示により第二の回転モードに切り替えられているグループに含まれる1以上の立体オブジェクトのうちの1以上に対して、回転させる変更指示を受け付けた場合に、オブジェクト更新部105は、この変更指示の対象となる立体オブジェクトと同じグループ内の立体オブジェクトのみを対象として第二の回転モードで、配置情報を更新する。即ち、変更指示の対象となる立体オブジェクトのみのオブジェクト配置情報をオブジェクトが回転するよう。更新する。どのように、グループ単位で回転モードを指定できるようにしても良い。例えば、オブジェクト配置情報格納部102に格納されているウィンドウ管理情報が管理する一のウィンドウ内に配置されている1以上の立体オブジェクトをグループ化された立体オブジェクトと考える場合、このウィンドウに対して、回転モードを指定する情報を対応付けるようにし、この回転モードを指定する情報を、後述する切換指示により変更できるようにしても良い。回転モードを指定する情報は、例えばウィンドウを管理するウィンドウ管理情報等と対応付けて管理するようにしても良い。また、立体オブジェクトに、グループを管理する情報等が付与されている場合、このグループを管理する情報と、回転モードを指定する情報とを対応付けて管理するようにし、この回転モードを指定する情報を、後述する切換指示により変更できるようにしても良い。なお、各グループについては、例えば、デフォルトの回転モード、もしくは直前に切り替えられた回転モードが指定されているようにする。
 例えば、後述する切換指示受付部106が、オブジェクト配置情報格納部102に格納されているウィンドウ管理情報が管理する1のウィンドウに対して、回転モードを第一の回転モードに切り替える切換指示を受け付けた場合、切換指示受付部106が、ウィンドウの回転モードを第一の回転モードに切り替える。そして、このウィンドウ内に配置されている回転指示の対象となる立体オブジェクトに対して回転指示を受け付けると、オブジェクト更新部105は、このウィンドウ内の立体オブジェクトをグループ化された立体オブジェクトと判断し、このウィンドウ内の立体オブジェクトのオブジェクト配置情報を第一の回転モードで更新する。即ち、回転指示の対象となる立体オブジェクトのオブジェクト配置情報を立体オブジェクトが回転するよう更新するとともに、同じウィンドウ内のオブジェクトを同じグループの立体オブジェクトと判断して、同じウィンドウ内の他の立体オブジェクトについてもオブジェクト配置情報を立体オブジェクトが回転するよう更新する。
 一方、例えば、後述する切換指示受付部106が、オブジェクト配置情報格納部102に格納されているウィンドウ管理情報が管理する1のウィンドウに対して、回転モードを第二の回転モードに切り替える切換指示を受け付けた場合、切換指示受付部106が、ウィンドウの回転モードを第二の回転モードに切り替える。そして、このウィンドウ内に配置されている回転指示の対象となる立体オブジェクトに対して回転指示を受け付けると、オブジェクト更新部105は、このウィンドウ内の立体オブジェクトをグループ化された立体オブジェクトと判断し、このウィンドウ内の立体オブジェクトのオブジェクト配置情報を第二の回転モードで更新する。即ち、回転指示の対象となる立体オブジェクトのオブジェクト配置情報だけを立体オブジェクトが回転するよう更新する。
 また、オブジェクト更新部105は、変更指示受付部104が受け付けた向きを揃える指示に応じて、複数の立体オブジェクトのそれぞれの相互に対応する面の一つが同一方向を向くように、オブジェクト配置情報を更新する。相互に対応する面とは、例えば、形状情報等において予め指定されている面、例えば、第一面、第二面等であっても良いし、配置される配置用情報の属性等が共通する面であっても良い。ここで述べる属性とは、例えば、配置用情報の項目名や、タグ名、データタイプ、データに含まれる文字列等である。どの面を揃えるかについては、変更指示に対して予めデフォルト等で指定されていても良いし、変更指示により指定するようにしても良い。また、ここで述べる方向は、変更指示に対して予め指定されている方向であっても良いし、変更指示により、ユーザ等から指定を受けた方向であっても良い。この同一方向は、相互に対応する面の一つが出力画面に正対する向きであることが好ましい。出力画面とは、画像情報構成部111が構成した当該立体オブジェクトの画像情報が表示される面である。出力画面に正対する向きとは、画像情報構成部111が立体オブジェクトの画像を構成する際の視点となる位置に対向する向きと考えても良い。なお、現在どのグループにどの回転モードが設定されているかを示す情報は、例えば、図示しない記憶媒体等にグループ等と対応付けて蓄積し、回転が行われる際にこの情報が参照されるようにする。
 また、オブジェクト更新部105は、後述するソート指示受付部107が受け付けるソート指示に応じて、複数の立体オブジェクトにそれぞれ配置されている配置用情報によって決定される順番により立体オブジェクトが並べて配置されるよう、複数の立体オブジェクトのオブジェクト配置情報を更新する。オブジェクト更新部105は、配置用情報によって決定される順番の昇順や降順等に従って、複数の立体オブジェクトを所定の方向に並べて配置されるよう、各立体オブジェクトのオブジェクト配置情報を更新する。並べる方向は、予め指定されていても良いし、ユーザ等により指定されても良い。この場合、ソート指示に並べる方向等を指定する情報を含めるようにしても良い。また、各立体オブジェクトを並べ替える際には、各立体オブジェクトをいわゆるグリッド等に吸着させて配置するようにしても良い。また、各立体オブジェクトを一直線上に並べるようにしても良いし、マトリクス状に配置するようにしても良い。
 配置用情報によって決定される順番とは、例えば、複数の立体オブジェクトの所定の面に配置されている配置用情報の属性によって決定される順番である。例えば、配置されている文字列のデータの先頭の文字列の五十音順や、アルファベット順や、数字順により決定される順番である。また、配置されている配置用データのデータサイズ順であっても良い。また、配置用データの縦や横のサイズ順であってもよい。また、配置用データのデータタイプ順であっても良い。どのような配置用情報のどのような属性によって順番を決定するかは、予めデフォルト等で指定されていても良いし、ユーザ等により指定されても良い。この場合、ソート指示にどのような配置用情報のどのような属性によって順番を決定するか等のソートの条件を指定する情報を含めるようにしても良い。
 また、順番を決定する配置用情報が配置されている面は、複数の立体オブジェクトのどの面であっても良い。例えば、第一面、第二面等の予め指定されている面であってもよい。また、「金額」という文字列が配置されている面等の、配置される配置用情報の属性等が共通する面であっても良い。この面は、予め、デフォルト等で指定されていても良いし、ユーザ等により指定されても良い。この場合、ソート指示に面を指定する情報を含めるようにしても良い。なお、オブジェクト配置情報を更新する際に、順番を決定する際に利用した配置用情報が配置されている面が、所定の方向、例えば、出力画面に正対する方向に向けて配置されるようにオブジェクト配置情報を更新しても良い。
 また、オブジェクト更新部105は、ソート指示に応じて、複数の立体オブジェクトの、出力画面に正対している面にそれぞれ配置されている配置用情報によって決定される順番により立体オブジェクトが並べて配置されるよう、複数の立体オブジェクトのオブジェクト配置情報を更新するようにしてもよい。具体的には、オブジェクト更新部105は、複数の立体オブジェクトの、ソート指示を受け付けた際に出力画面に正対している面にそれぞれ配置されている配置用情報によって順番を決定し、決定した順番により立体オブジェクトが並べて配置されるよう、オブジェクト配置情報を更新するようにしてもよい。
 オブジェクト更新部105は、通常、MPUやメモリ等から実現され得る。オブジェクト更新部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 切換指示受付部106は、第一の回転モードと第二の回転モードとを切り替える指示である切換指示を受け付ける。切換指示受付部106は、切換指示の受け付けに応じて、例えば現在設定されている回転モードの設定を、他の回転モードに切り替える。あるいは、切換指示が指定する回転モードで、現在の回転モードの設定を置き換えてもよい。回転モードを設定する情報は、例えば、図示しない記憶媒体等に蓄積される。切換指示は、切換対象となる立体オブジェクトのグループを指定する情報を含んでいても良い。グループを指定する情報は、グループ識別情報等を指定する情報であっても良いし、立体オブジェクトが配置されているウィンドウを指定する情報であっても良い。グループを指定する情報は、例えば、回転モードを設定する情報と対応付けられて、例えば、図示しない記憶媒体等に蓄積される。切換指示は、結果的に、回転モードを切り替えることが可能な指示であれば良く、例えば、第一の回転モードに設定する指示や、第二の回転モードに設定する指示等であっても良い。ここで述べる指示は、コマンドと考えても良い。切換指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。切換指示受付部106は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 ソート指示受付部107は、複数の立体オブジェクトをソートする指示であるソート指示を受け付ける。ソート指示には、ソート対象となる立体オブジェクトの面や、順番を決定するために利用する配置用情報を指定する情報や、配置用情報のどのような属性によって順番を決定するか等のソートの条件を指定する情報を含むようにしても良い。ここで述べる指示は、コマンドと考えても良い。ソート指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。ソート指示受付部107は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 検索条件情報受付部108は、立体オブジェクトに対する検索条件を示す情報である検索条件情報を受け付ける。検索条件は、情報の検索において検索キーとして利用可能な条件であれば良く、例えば、検索キーとなる文字列等である。あるいは、文字列等の属性等を指定する情報であっても良い。検索条件情報は、検索対象となる立体オブジェクトを指定する情報を含むようにしても良いし、各立体オブジェクトの検索対象となる面を指定する情報や、検索対象となる配置用情報を指定する情報を含んでも良い。また、検索対象を、配置用情報自身とするか、配置用情報に付与された識別情報や、タグ名、ファイル名等とするかを指定する情報であってもよい。検索条件情報は、入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。検索条件情報受付部108は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 検索部109は、検索条件情報を用いて、検索条件に合致する立体オブジェクトを検索する。検索部109は、例えば、検索条件情報が示す検索条件に合致する配置用情報を検索し、合致する配置用情報を有する立体オブジェクトを検出する。検索部109は、検索対象として指定されている立体オブジェクトや、当該立体オブジェクトの面や、当該立体オブジェクトに配置される配置用情報の中から検索条件に合致する配置用情報を検索するようにしてもよい。検索部109が検索対象とするオブジェクトは、例えば、オブジェクト配置情報により配置されている全ての立体オブジェクトであってもよいし、一部の立体オブジェクトであってもよい。また、一以上のグループに属する立体オブジェクトであっても良い。検索部109が検索対象とする立体オブジェクトはどのように指定されても良い。例えば、予めデフォルト等で指定されていても良いし、検索条件情報で検索対象とする立体オブジェクトが指定されても良い。また、検索対象の立体オブジェクトの検索対象とする面についての指定はなくても良いし、一部の面だけが検索対象として指定されてもよい。どの面を検索対象とするかは、予めデフォルト等で指定されていても良いし、検索条件情報で検索対象とする面が指定されても良い。また、検索対象となる配置用情報が予め指定されていても良いし、検索条件情報で検索対象とする配置用情報が指定されても良い。検索部109は、通常、MPUやメモリ等から実現され得る。検索部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 検索結果配置情報作成部110は、検索部109が検索により検出した立体オブジェクトの配置を指定するオブジェクト配置情報を作成してオブジェクト配置情報格納部102に蓄積する。具体的には、検索結果配置情報作成部110は、検索部109が検出した立体オブジェクトの配置を指定するためのオブジェクト配置情報を作成する。立体オブジェクトの配置とは、検索により検出した立体オブジェクトの形状情報の配置と考えてもよい。この作成したオブジェクト配置情報を、検索部109が検出した立体オブジェクト、もしくは立体オブジェクトの形状情報と配置用情報とに対応付けてオブジェクト配置情報格納部102に蓄積する。オブジェクト配置情報が作成される結果、一の形状情報を用いた同じ配置用情報が配置される立体オブジェクトが複数の位置に存在してもよい。検索結果により作成されるオブジェクト配置情報は、検索結果を表示するためのオブジェクト配置情報である。なお、作成したオブジェクト配置情報で、検出した立体オブジェクトのオブジェクト配置情報を上書きして更新しても良い。また、検索により検出した立体オブジェクトの形状情報や配置用情報を複製して、形状情報格納部101や配置用情報格納部103に蓄積しても良い。なお、ここで作成されるオブジェクト配置情報等は、検索結果を表示されるための一時的なものと考える場合、検索結果の表示終了の指示等を変更指示受付部104等が受け付けた場合に、このオブジェクト配置情報や、形状情報や、配置用情報は削除しても良い。検索結果配置情報作成部110が作成するオブジェクト配置情報は、検索により検出した立体オブジェクトをどの位置に配置する情報であってもよい。例えば、デフォルト等で予め指定された位置や、予め指定されている検索結果を表示するウィンドウ内に、検索により検出した立体オブジェクトを配置するオブジェクト配置情報を作成しても良い。また、このような検索結果を表示するウィンドウの情報を検索結果配置情報作成部110が作成しても良い。検索結果配置情報作成部110は、通常、MPUやメモリ等から実現され得る。検索結果配置情報作成部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 画像情報構成部111は、立体オブジェクトの形状情報と、当該形状情報が示す1以上の面に配置される前記配置用情報と、当該立体オブジェクトに対応するオブジェクト配置情報とを読み出し、当該読み出した形状情報の1以上の面に対して、それぞれに対応した配置用情報を配置した立体オブジェクトを、対応するオブジェクト配置情報が示すよう配置した画像情報を構成する。
 具体的には、画像情報構成部111は、2以上の立体オブジェクトについての形状情報と、これらの立体オブジェクトと対応付けられた立体オブジェクトの1以上の面に配置される配置用情報と、これらの立体オブジェクトと対応付けられたオブジェクト配置情報を、形状情報格納部101、配置用情報格納部103、およびオブジェクト配置情報格納部102から読み出す。そして、読み出した形状情報が示す立体オブジェクトの1以上の面に対し、それぞれに対応した配置用情報を配置して立体オブジェクトを構成する。そして、この立体オブジェクトを、この立体オブジェクトに対応するオブジェクト配置情報が指定する位置に、オブジェクト配置情報が指定する方向となるよう配置した画像情報を構成する。
 なお、画像情報構成部111は、以下のように、各立体オブジェクトを用いてオブジェクト配置情報が示す向きとなるようにレンダリングして作成された二次元の画像を、オブジェクト配置情報が示す二次元の背景画像上の位置に配置して最終的な出力画像を作成するようにしても良い。画像情報構成部111は、例えば、各立体オブジェクトの形状情報と、当該形状情報が示す1以上の面に配置される前記配置用情報と、当該立体オブジェクトに対応するオブジェクト配置情報のうちの方向を示す情報とを読み出し、読み出した形状情報が示す立体オブジェクトを、オブジェクト配置情報が示す方向に向けた状態とし、その立体オブジェクトの1以上の面に対し、それぞれに対応した配置用情報を配置した状態の、立体オブジェクトの二次元の画像情報をいわゆるレンダリングにより作成する。そして、作成した二次元画像を、予め用意された二次元の背景画像等の、オブジェクト配置情報が示す二次元座標上の位置等に配置して最終的に出力される画像情報を構成してもよい。なお、二次元の背景画像等は、例えば図示しない記憶媒体等に予め蓄積しておくようにすればよい。
 画像情報構成部111は、構成した画像情報を、例えば図示しないVRAM等の記憶媒体に蓄積する。後述する出力部112は、例えば、このVRAM等に蓄積された画像情報を読み出して出力する。ここで述べる画像情報を構成する処理は、モニタ等に表示するための画像情報を構成してVRAM等に書き込むまでの処理と考えても良い。画像情報構成部111は、例えば、予め指定されたタイミング毎やトリガー等に応じて画像情報を構成し、構成した画像情報で、直前に構成した画像情報を更新しても良い。画像情報構成部111は、例えば、オブジェクト更新部105が更新したオブジェクト配置情報を用いて画像情報を構成する。また、例えば、検索結果配置情報作成部110が作成したオブジェクト配置情報を用いて画像情報を構成する。なお、一の立体オブジェクトの形状情報と、当該立体オブジェクトの配置用情報と、当該立体オブジェクトのオブジェクト配置情報とは、どのように対応付けられていても良い。例えば、立体オブジェクトの識別情報と、当該立体オブジェクトに対応する形状情報と、配置用情報と、オブジェクト配置情報とが、それぞれ個別に対応付けられていても良い。また、立体オブジェクトの識別情報と、形状情報とが対応付けられており、同じ立体オブジェクトに対応する形状情報と、配置用情報と、オブジェクト配置用情報とが、それぞれ対応付けられていても良い。ここで構成する画像情報は、例えば最終的に表示等の出力を行う際に利用される画像情報である。画像情報構成部111が構成する画像情報は、例えば、予め指定された仮想の視点等から仮想三次元空間に配置した立体オブジェクトを見た場合の画像の情報である。この画像情報は、例えばビットマップデータ等である。また、テキストの情報等から表示用の画像情報、例えば、ビットマップデータ等を構成することも、この画像情報を構成する処理に含まれる。立体オブジェクトの面に対して、画像情報やテキスト情報等の情報を配置して二次元の画像を構成する処理は、いわゆるレンダリング処理と呼ばれる処理であり、公知技術であるのでここでは、説明を省略する。また、この画像情報を構成する処理において、形状情報等が有する立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を用いて、レンダリングを行うようにしても良い。画像情報構成部111は、通常、MPUやGPU(Graphics Processing Unit)やメモリ等から実現され得る。画像情報構成部111の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 出力部112は、画像情報構成部111が構成した画像情報を出力する。また、出力部112は、例えば、オブジェクト更新部105が更新したオブジェクト配置情報を用いて画像情報構成部111が構成する画像情報を用いて出力を更新する。また、出力部112は、例えば、検索結果配置情報作成部110が作成したオブジェクト配置情報を用いて画像情報構成部111が構成する画像情報を用いて出力を更新する。ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力部112は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部112は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
 次に、情報処理装置1の動作について図2のフローチャートを用いて説明する。
 (ステップS201)画像情報構成部111は、2以上の立体オブジェクトについての形状情報を形状情報格納部101から取得する。
 (ステップS202)画像情報構成部111は、ステップS201において、形状情報を読み出した立体オブジェクトに対応する配置用情報を取得する。
 (ステップS203)画像情報構成部111は、ステップS201において、形状情報を読み出した立体オブジェクトに対応するオブジェクト配置情報を読み出す。
 (ステップS204)画像情報構成部111は、各立体オブジェクトについてステップS201~ステップS203において読み出した形状情報と配置用情報とオブジェクト配置情報とを用いて立体オブジェクトの画像情報を構成する。例えば、各立体オブジェクトに対応する形状情報が示す面に、当該立体オブジェクトに対応する配置用情報を配置した立体オブジェクトを、各立体オブジェクトに対応するオブジェクト配置情報が示す位置に、当該オブジェクト配置情報が示す向きで配置した画像情報を構成する。また、ウィンドウを示す情報等が含まれる場合、ウィンドウの画像等も含む画像情報を作成しても良い。
 (ステップS205)出力部112は、ステップS204において構成された画像情報を出力する。
 (ステップS206)変更指示受付部104は、変更指示を受け付けたか否かを判断する。受け付けた場合、ステップS207に進み、受け付けていない場合、ステップS219に進む。
 (ステップS207)オブジェクト更新部105は、ステップS206において受け付けた変更指示が、例えばメニュー等の操作に応じた立体オブジェクトの向きを揃える指示であるか否かを判断する。揃える指示である場合、ステップS219に進み、揃える指示でない場合、ステップS208に進む。
 (ステップS208)オブジェクト更新部105は、ステップS206において受け付けた変更指示が、1以上の立体オブジェクトに対する回転指示であるか否かを判断する。回転指示である場合、ステップS209に進み、回転指示でない場合、ステップS220に進む。
 (ステップS209)オブジェクト更新部105は、変更指示が指示の対象とする1以上の立体オブジェクトが含まれるグループを検出し、当該グループに指定されている回転モードが、第一の回転モードであるか否かを判断する。
 (ステップS210)オブジェクト更新部105は、変更指示が指示の対象とする立体オブジェクトが含まれるグループを構成する、当該立体オブジェクト以外の立体オブジェクトを検出する。
 (ステップS211)オブジェクト更新部105は、変更指示が指定する立体オブジェクトと、ステップS209において検出した当該立体オブジェクトと同じグループに属する、当該立体オブジェクト以外の立体オブジェクトのオブジェクト配置情報を、ステップS206において受け付けた変更指示に応じて変更する。即ち、ステップS206において受け付けた回転指示に応じて各立体オブジェクトが回転するように、各立体オブジェクトのオブジェクト配置情報を更新する。そして、ステップS201に戻る。
 (ステップS212)切換指示受付部106は、回転モードの切換指示を受け付けたか否かを判断する。ここで受け付ける切換指示は、グループの指定を含むものであっても良いし、含まないものであっても良い。受け付けた場合、ステップS213に進み、受け付けていない場合、ステップS214に進む。
 (ステップS213)切換指示受付部106は、ステップS212において受け付けた切換指示に応じて、回転モードの切換を行う。例えば、切換指示が、グループの指定を含むものである場合、グループ単位で、回転モードの切換を行う。指定がない場合、例えば、全体の回転モードを切り替える。そして、ステップS206に戻る。
 (ステップS214)ソート指示受付部107は、ソート指示を受け付ける。ソート指示は、グループの指定を含むものであっても良いし、含まなくても良い。
 (ステップS215)オブジェクト更新部105は、ステップS214において受け付けたソート指示に応じて、複数の立体オブジェクトをソートするようオブジェクト配置情報を更新する。なお、ソート指示が、グループの指定を含むものである場合、指定されたグループを構成する立体オブジェクトだけを対象としてソートが行われるようオブジェクト配置情報を更新する。指定がない場合、例えば、全体の立体オブジェクトをソートするようオブジェクト配置情報を更新する。そして、ステップS201に戻る。
 (ステップS216)検索条件情報受付部108は、検索条件情報を受け付けたか否かを判断する。受け付けた場合、ステップS217に進み、受け付けていない場合、ステップS206に戻る。
 (ステップS217)検索部109は、ステップS216において受け付けた検索条件に合致する立体オブジェクトを検索する。
 (ステップS218)検索結果配置情報作成部110は、ステップS217において検出された立体オブジェクトを、検索結果として配置するためのオブジェクト配置情報を作成し、オブジェクト配置情報格納部102に蓄積する。また、検索結果の立体オブジェクトを、検索結果を示すウィンドウ内に配置する場合等においては、当該ウィンドウを表示するための情報等を作成したり、図示しない記憶媒体等から取得して、オブジェクト配置情報格納部102等に蓄積するようにしても良い。そして、ステップS201に戻る。
 (ステップS219)オブジェクト更新部105は、立体オブジェクトの向きが揃うように、オブジェクト配置情報格納部102に格納されている各立体オブジェクトのオブジェクト配置情報を更新する。そして、ステップS201に戻る。
 (ステップS220)オブジェクト更新部105は、ステップS206において受け付けた変更指示に応じて、指示対象となる立体オブジェクトに関する情報を更新する。例えば、立体オブジェクトの位置を変更する指示に応じて、指示対象となる立体オブジェクトのオブジェクト配置情報を更新する。また、例えば、立体オブジェクトのサイズを変更する指示に応じて、指示対象となる立体オブジェクトの形状情報を更新してもよい。また、立体オブジェクトの検索結果の出力を終了する指示等に応じて、ステップS110で作成した検索結果のオブジェクト配置情報を削除する処理等を行うようにしてもよい。そして、ステップS201に戻る。
 なお、図2のフローチャートにおいて、ステップS201からステップS203の処理において取得した情報を、図示しないメモリ等の記憶媒体等に一時記憶しておくようにし、ステップS211や、ステップS219や、ステップS220等でオブジェクト配置情報等の更新が行われた場合、更新されたオブジェクト配置情報等だけをオブジェクト配置情報格納部102等から読み出し、更新されていない形状情報やオブジェクト配置情報等はメモリ等に一時記憶された情報をそのまま読み出して用いるようにして、更新後の画像情報を構成するようにしても良い。
 また、ここでは説明を省略しているが、ステップS205等において出力部112が画像を出力する際に、オブジェクト配置情報格納部102や図示しない記憶媒体等に格納されているウィンドウを出力するための情報を用いて、ウィンドウの画像を出力するようにしても良い。なお、ウィンドウの管理や出力については、いわゆるコンピュータ等のオペレーティングシステムに用いてられているウィンドウシステム等において、公知であるので、ここでは詳細な説明は省略する。
 なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 以下、本実施の形態における情報処理装置1の具体的な動作について説明する。ここでは、情報処理装置1により、商品についてのカタログを表示する場合を例に挙げて説明する。ここでは、立体オブジェクトが立方体である場合を例に挙げて説明する。
 図3は、形状情報格納部101に格納されている形状情報を管理するための形状情報管理表である。形状情報は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。形状情報管理表は、「オブジェクトID」、「サイズx」、「サイズy」、「サイズz」という項目を有している。「オブジェクトID」は立体オブジェクトを識別するための識別情報である。「サイズx」は、立体オブジェクトのx軸方向の長さ、すなわち幅である。「サイズy」は、立体オブジェクトのy軸方向の長さ、すなわち高さである。「サイズz」は、立体オブジェクトのz軸方向の長さ、すなわち奥行きである。ただし、ここで述べるx軸、y軸、z軸は、立体オブジェクト自身に設定されるx軸、y軸、z軸であり、仮想三次元空間に設定される絶対的なX軸、Y軸、Z軸とは異なる。立体オブジェクト自身に設定されるx軸、y軸、z軸の原点は、例えば、立体オブジェクトの中心や重心に設定される。なお、各サイズの単位等は、ピクセル等どのような単位であっても良い。ここでは、形状情報管理表により、5つの立体オブジェクトの形状情報が管理されている。
 図4は、オブジェクト配置情報格納部102に格納されているオブジェクト配置情報を管理するためのオブジェクト配置情報管理表である。オブジェクト配置情報は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。オブジェクト配置情報は、「オブジェクトID」、「座標(X,Y,Z)」、および「回転角度(x,y,z)」という項目を有している。「オブジェクトID」は、立体オブジェクトを識別するための識別情報であり、上述した形状情報の「オブジェクトID」と対応している。「座標(X,Y,Z)」は、同じレコードの「オブジェクトID」が示す立体オブジェクトが配置される仮想三次元空間内の座標を示す情報であり、ここでは、立体オブジェクトの中心の座標である場合について説明する。ここでは、この座標の値は、仮想三次元空間内の絶対座標であるとする。なお、ここでは、仮想三次元空間内の横方向(幅方向)をX軸、縦方向(高さ方向)をY軸、奥行き方向をZ軸とする。また、「回転角度(x、y、z)」は、立体オブジェクトのx軸、y軸、z軸をそれぞれ回転軸とした回転角度を示す。回転角度は、立体オブジェクトの配置される方向を示す情報と考えても良い。ここでは、例えば、立体オブジェクトがある軸を回転軸として回転すると、立体オブジェクトに設定されている座標軸も、仮想三次元空間内において回転するものとする。例えば、立体オブジェクトをy軸を回転軸にして90度回転させると、立体オブジェクトのx軸とy軸は、それぞれ仮想三次元空間のX軸およびY軸とそれぞれ直交することとなる。なお、それぞれの値が(0,0,0)である場合、立体オブジェクトのx軸、y軸、z軸が、それぞれ仮想三次元空間内のX軸、Y軸、Z軸に平行に配置されるものとする。なお、立体オブジェクトが配置される位置の奥行きを変更する必要がない場合、例えば、レンダリングした立体オブジェクトの画像を2次元平面上に配置する場合等においては、Z座標の値は省略しても良い。
 なお、ここでは説明を省略しているが、上述した形状情報には、立体オブジェクトの第一~第三面を指定する情報が含まれているものとする。第一~第三面を指定する情報は、例えば、立体オブジェクトの座標を用いて定義される面を指定する情報である。ここでは、第一面は、オブジェクト配置情報が、図4に示したような値である場合における、立方体である立体オブジェクトの正面面であるとする。即ち立体オブジェクトを構成する面のうちの、立体オブジェクトのz軸に垂直であって、デフォルトで最も手前に位置する面であるとする。また、第二面は、立体オブジェクト自身からみて、立体オブジェクトの左側面であるとする。また、第三面は、立体オブジェクトの上面であるとする。第一~第三面を指定する情報は、ここでは例として、それぞれの面に相当する立体オブジェクトの面の三以上の頂点の座標を指定する情報であるとする。ただし、立体オブジェクトを構成する面のうちの、第一~第三面に相当する面の中心の座標等を指定する情報であっても良い。なお、ここでの座標とは、立体オブジェクト内に設定される座標軸を用いて表される座標であるとする。このため、立体オブジェクトの向き等が変更されても、第一~第三面を指定する情報は変化しない。つまり、第一~第三面は、立体オブジェクトに対して、予め固定されている面と考えて良い。
 図5は、立体オブジェクトと、第一~第三面の関係を示すための図である。第一面61は、立体オブジェクトの正面である。また、第二面62は、立体オブジェクトの左側面である。また、第三面63は、立体オブジェクトの上面である。図に示す座標軸は、立体オブジェクトに設定される座標軸を示すものである。
 図6は、配置用情報格納部103に格納されている配置用情報を示す図である。ここでは、例として配置用情報がXML形式の情報を構成している場合について説明する。ただし、配置用情報は、XML形式の情報でなくても良く、例えば、情報を項目や属性別等に参照可能な形式のデータであれば良い。図6に示したXML形式の情報においては、便宜上、各配置用情報は、開始タグと終了タグと、これらのタグにより直接囲まれた情報とで構成される情報であると考える。「直接囲まれた」とは、タグとタグに挟まれる情報である要素との間に、他のタグが入らないことを示す。例えば、「<商品名>」と「</商品名>」とで区切られた範囲のタグ付けられた情報が、一の商品の商品名を示す配置用情報である。同様に、「<ジャンル名>」と「</ジャンル名>」とで区切られた範囲のタグ付けられた情報が、一のジャンルのジャンル名を示す配置用情報である。ここでは、例として、配置用情報が、携帯電話についての情報であるとし、ジャンル名が「携帯電話」であるとする。また、「<価格>」と「</価格>」とで区切られた範囲のタグ付けられた情報が、一の商品の詳細について示す情報のうちの価格を示す配置用情報である。なお、配置用情報として、ファイル等を指定する情報、例えばリンク情報が含まれる場合、これにより指定されたファイルの情報が配置用情報となる。リンク先の情報は、画像を構成する際等に適宜読み出される。配置用情報は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。ここでは、商品を示す配置用情報は、商品のジャンル別に分類されているものとする。また、各商品を示す配置用情報の下位の配置用情報として、各商品の詳細を示す情報であるタグ付けられた情報が予め用意されているものとする。
 図7は、配置用情報格納部103に格納されている、配置用情報と、当該配置用情報が配置される立体オブジェクトと、配置される面との関係を管理するための配置用情報管理表を示す図である。配置用情報は、立体オブジェクトと対応付けて管理されている。配置指定情報管理表は、「オブジェクトID」という項目と、「商品ID」という項目と、「配置面」という項目とを有している。「配置面」は更に、「第一面」、「第二面」、「第三面」という項目を有している。「オブジェクトID」は、図3に示したオブジェクトIDに相当する。「商品ID」は、「オブジェクトID」が示す立体オブジェクトと対応付けられた配置用情報を指定する情報であり、ここでは、図6に示した配置用情報のうちの商品IDタグを示す情報である。即ち、この「商品ID」の値と一致する要素を有する商品IDタグと対応付けられた配置用情報が、「配置用情報」が指定する配置用情報である。「配置面」は、立体オブジェクトの各面に配置される配置用情報のタグを指定する情報であり、「第一面」、「第二面」、「第三面」は、それぞれ、立体オブジェクトの第一面、第二面、第三面に配置される配置用情報のタグを指定する情報である。ここでは、立体オブジェクトの各面には、「配置面」が示すタグが付与された情報が配置されるものとする。なお、「配置面」の項目の値であるタグは、配置用情報を取得するための条件を示す情報と考えても良い。
 まず、例えば、ユーザが、情報処理装置1に対して、商品についてのカタログを表示する指示を与えたとすると、情報処理装置1の画像情報構成部111は、まず、図3に示した「オブジェクトID」が「OBJ1」から「OBJ5」までの形状情報を読み出し、メモリ等に一時記憶する。
 次に、画像情報構成部111が、画像情報構成部111が形状情報を読み出した立体オブジェクト、すなわち「オブジェクトID」が「OBJ1」~「OBJ5」である各立体オブジェクト(以下、立体オブジェクト「OBJ1」~「OBJ5」と称す)を構成する面に配置する配置用情報を、以下のように、図7に示した配置用情報管理表を用いて取得する。
 まず、立体オブジェクト「OBJ1」を構成する各面、ここでは第一面~第三面に配置される配置用情報のタグを、図7に示した配置用情報管理表から読み出す。具体的には、図7に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「商品ID」の項目の値「SER1345」を読み出す。そして、図6に示した配置用情報のうちの、要素が「SER1345」である商品IDタグを有する商品の情報、即ち要素が「SER1345」である商品IDタグを有する「<商品>タグ」から「</商品>タグ」に囲まれた情報を特定する。次に、図7に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「第一面」~「第三面」の項目の値であるタグを順次読み出し、図6に示した配置用情報のうちの上記で特定した商品の情報から、それぞれのタグと一致するタグ名を有するタグを検出し、検出したタグの要素を順次取得する。取得したタグの要素が、「オブジェクトID」が「OBJ1」である立体オブジェクトの第一面から第三面にそれぞれ配置される配置用情報である。
 例えば、図7に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「第一面」の値は、「商品名」というタグであるため、図7に示した要素が「SER1345」である商品IDタグを含む配置用情報から、商品名タグを検出し、この商品名タグの要素である「BS602」を第一面に配置する配置用情報として取得する。
 以下、同様にして、立体オブジェクト「OBJ2」~「OBJ5」についてもそれぞれ、配置用情報を取得する。取得した情報は、例えば、立体オブジェクトの識別情報と対応付けて、図示しないメモリ等の記憶媒体に一時記憶する。
 次に、画像情報構成部111は、画像情報構成部111が形状情報を読み出した立体オブジェクト、すなわち立体オブジェクト「OBJ1」~「OBJ5」にそれぞれ対応するオブジェクト配置情報を、図4に示したオブジェクト配置情報管理表を用いて取得する。具体的には、画像情報構成部111は、オブジェクト配置情報管理表の中から、「オブジェクトID」の値が、各立体オブジェクトのオブジェクトIDと一致するレコードをそれぞれ検出し、検出したレコードに含まれるオブジェクト配置用情報、例えば、「座標(X,Y,Z)」、および「回転角度(x,y,z)」の項目の値を読み出す。読み出した情報は、各オブジェクトID等と対応付けて、図示しない記憶媒体等に一時記憶する。
 そして、画像情報構成部111は、立体オブジェクト「OBJ1」~「OBJ5」の画像情報を構成する。
 具体的には、画像情報構成部111が取得した立体オブジェクト「OBJ1」~「OBJ5」の形状情報が示す立体オブジェクトの第一面~第三面上に、各立体オブジェクト「OBJ1」~「OBJ5」の第一面~第三面に対応して画像情報構成部111が取得した配置用情報を配置し、さらに、これらの立体オブジェクトを立体オブジェクト「OBJ1」~「OBJ5」に対応して画像情報構成部111が取得した配置用情報が示す位置及び向きで配置した画像情報を構成する。具体的にはいわゆるレンダリング処理を行う。なお、ここでは、各立体オブジェクトの投影図が構成されるように、座標軸やレンダリングの際の画角等のパラメータが予め設定されているものとする。
 図8は、オブジェクト配置情報格納部102に格納されているウィンドウを表示するための情報であるウィンドウ情報を管理するウィンドウ管理表を示す図である。ウィンドウ管理表は、「ウィンドウID」と、「高さ」、「幅」、「左上座標」、「オブジェクトID」という項目を有している。「ウィンドウID」はウィンドウの識別情報である。「高さ」、および「幅」は、ウィンドウの高さ、および幅である。「左上座標」はウィンドウの左上角の座標である。「オブジェクトID」は、ウィンドウ内に配置される立体オブジェクトのオブジェクトIDである。
 次に、画像情報構成部111は、図8に示したウィンドウ管理表により管理されている「ウィンドウID」が「w01」であるウィンドウ情報と、「w02」であるウィンドウ情報を読み出し、2つのウィンドウの画像情報を構成する。
 そして、画像情報構成部111は、構成した複数の立体オブジェクト「OBJ1」~「OBJ5」の画像情報と、二つのウィンドウの画像と、図示しない背景画像等を合成する。なお、合成の際には、ウィンドウ管理表により1のウィンドウ内に配置される立体オブジェクトの画像については、当該立体オブジェクトを含むウィンドウの画像の前面に配置するようにする。これにより、立体オブジェクトがウィンドウ内に配置されているよう表示させることができる。
 出力部112は、画像情報構成部111が合成した画像情報を出力する。ここでは、出力部112は、モニタ504に接続されており、当該モニタに合成した立体オブジェクトの画像情報を表示する。
 図9に表示例を示す。図9において、立体オブジェクト801は立体オブジェクト「OBJ1」、立体オブジェクト802は、立体オブジェクト「OBJ2」、立体オブジェクト803は、立体オブジェクト「OBJ3」、立体オブジェクト804は、立体オブジェクト「OBJ4」、立体オブジェクト805は、立体オブジェクト「OBJ5」、であるとする。また、立体オブジェクト「OBJ1」から「OBJ3」は、「ウィンドウID」が「w01」であるウィンドウ810内に配置されており、立体オブジェクト「OBJ4」および「OBJ5」は、「ウィンドウID」が「w02」であるウィンドウ811内に配置される。なお、本実施の形態において座標の値や図に示される立体オブジェクトの位置等については、説明のためのものであり、実際のサイズ等に合わせて正確に描かれたものではない。図9に示すように、各立体オブジェクトは、それぞれが商品に対応しており、各商品の商品名や商品画像や、仕様や価格等が、それぞれの立体オブジェクトの面に表示されており、各商品とその商品に関連する仕様等の情報との対応関係が容易に把握できるようになっている。
 図10は、ウィンドウに対応付けられた回転モードを管理する回転モード管理表である。回転モード管理表は、「ウィンドウID」と、「回転モード」という項目を有している。「ウィンドウID」は、図8に示したウィンドウIDに相当する。また、「回転モード」は、ウィンドウに対して指定されている回転モードである。第一回転モードは、回転指示が指定する立体オブジェクトだけを回転するモードであり、第二回転モードは、回転指示が指定する立体オブジェクトに加えて、それ以外の立体オブジェクトも回転させるモードである。ここでは、デフォルトとして各ウィンドウの回転モードは第一回転モードに設定されているものとする。
 次に、ユーザがメニュー画面やマウス等を操作して、立体オブジェクト「OBJ1」に対して、y軸を回転軸として右方向に90度回転(ユーザ側から見て左方向に90度回転)する指示を入力したとする。例えば、ポインタ等で、立体オブジェクト801の画像を指定し、右方向に90度回転させるメニュー項目を選択することで、このような指示が入力される。
 変更指示受付部104は、操作に応じて、立体オブジェクト「OBJ1」に対する、y軸を回転軸として右方向に90度回転させる指示を受け付ける。
 オブジェクト更新部105は、立体オブジェクト「OBJ1」の属するグループ、ここでは、立体オブジェクト「OBJ1」が配置されているウィンドウを検出する。具体的には、図8に示したウィンドウ管理表において、「オブジェクトID」の値として、「OBJ1」を含むレコードを検索により検出し、そのレコードの「ウィンドウID」の値を取得する。ここでは、オブジェクト更新部105は、「ウィンドウID」として「w01」を取得する。
 つぎに、オブジェクト更新部105は、図10に示した回転モード管理表において、「オブジェクトID」の値が、取得した「w01」と一致するレコードを検出し、そのレコードの「回転モード」の値を取得する。ここでは、「第一回転モード」を取得する。
 取得した回転モードが、「第一回転モード」であるため、オブジェクト更新部105は、図8に示したウィンドウ管理表から、同じウィンドウ内の立体オブジェクトを検出する。即ち「ウィンドウID」が「w01」であるレコードの「オブジェクトID」の値から、立体オブジェクト「OBJ1」のオブジェクトIDを含む、全てのオブジェクトIDを取得する。具体的には、オブジェクトID「OBJ1」、「OBJ2」、「OBJ3」を取得する。そして、取得したオブジェクトIDに対応した立体オブジェクトが、それぞれに設定されたy軸を回転軸として、それぞれ右方向に90度回転するよう、図4に示したオブジェクト配置情報管理表により管理されているオブジェクトID「OBJ1」、「OBJ2」、「OBJ3」に対応したオブジェクト配置情報を更新する。
 図11は、更新後のオブジェクト配置情報管理表を示す図である。
 画像情報構成部111は、更新後のオブジェクト配置情報を用いて、再度、上記と同様に、立体オブジェクトの画像情報を構成する。そして、構成された画像情報を出力部112がモニタ504に出力する。
 図12は、回転後の立体オブジェクトの出力例を示す図である。
 ここで、ユーザが、メニューやマウス等の操作によって、ウィンドウ810を指定した回転モードの切換指示を入力したとする。この入力に応じて、切換指示受付部106は、ウィンドウ810に対応付けられた回転モードを変更する指示を受け付ける。この切換指示は、例えば、回転モードを、第二回転モードに切り替える指示であるとする。
 オブジェクト更新部105は受け付けた第二回転モードに切り替える切換指示により、図10に示した回転モード管理表の「回転モード」の値を、「第二回転モード」で上書きする。
 図13は、回転モードが変更された回転モード管理表を示す図である。
 ここで、ユーザが立体オブジェクト「OBJ2」に対する、y軸を回転軸として左方向に90度回転させる指示を入力した場合、当該立体オブジェクト「OBJ2」が配置されているウィンドウ810に設定されている「回転モード」は、図13に示す回転モード管理表より「第二回転モード」であるため、オブジェクト更新部105は、回転指示の対象となる立体オブジェクト「OBJ2」のオブジェクト配置情報だけを、y軸を回転軸として左方向に90度回転するよう変更する。そして、このように更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像が出力される。
 図14は、回転後の立体オブジェクトの表示例を示す図である。
 次に、ユーザが、メニュー等を操作して立体オブジェクトの向きを揃える指示を与えたとすると、変更指示受付部104は、立体オブジェクトの向きを揃える指示を受け付ける。
 オブジェクト更新部105は、向きを揃える指示に応じて、全ての立体オブジェクトの向きが揃うように、オブジェクト配置情報を更新する。ここでは、例として、各立体オブジェクトの第一面が、モニタ504の画面に正対するように、各立体オブジェクトのオブジェクト配置情報を更新する。そして、このように更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像が出力される。
 図15は、更新後のオブジェクト配置情報管理表である。
 また、図16は、更新後の立体オブジェクトの表示例を示す図である。
 なお、どのような向きに立体オブジェクトを揃えるかについては、例えば予めデフォルト等で指定されているようにしても良いし、ユーザが立体オブジェクトの向きを指定する情報を、向きを揃える指示とともに入力するようにし、この向きとなるように、立体オブジェクトの向きを揃えても良い。
 また、ここでは、全ての立体オブジェクトの向きを揃えるようにしたが、ユーザにより指定されたグループの立体オブジェクト、例えば、ユーザにより指定されたウィンドウ内に配置される立体オブジェクトの向きだけを揃えるようにしても良い。
 次に、ユーザが、メニュー等を操作して、ウィンドウ810内に配置されている立体オブジェクトを、立体オブジェクトに配置されている情報のアルファベット音順で、表示画面の左側からソートする指示を与えたとする。この指示は、例えばウィンドウ810を指定して、「アルファベット順でソート」等のメニュー項目を選択することで入力されるとする。このソートの指示の入力により、変更指示受付部104は、立体オブジェクトをソートする指示を受け付ける。
 オブジェクト更新部105は、上記と同様に、ウィンドウ810内に配置されている立体オブジェクト「OBJ1」、「OBJ2」、「OBJ3」を検出する。そして、各立体オブジェクトの表示画面に正対する面を検出する。具体的には、ここでは、各立体オブジェクトに対応した形状情報と、「回転角度(x,y,z)」の値から、仮想三次元空間のZ軸に直交する面であって、画像情報を構成する際の視点側の面を検出する。ここでは、立体オブジェクト「OBJ1」、「OBJ2」、「OBJ3」の各第一面が検出される。
 オブジェクト更新部105は、各立体オブジェクトの第一面に配置されている配置用情報のタグである「商品名」を、図7に示した配置用情報管理表から取得する。
 次に、オブジェクト更新部105は、図6に示したる配置用情報から、立体オブジェクト「OBJ1」、「OBJ2」、「OBJ3」に対応付けられている「商品名」のタグが付けられた情報を取得する。即ち「商品ID」タグが「SER1345」、「SER2268」、「SER3425」である情報を含む「商品」タグで区切られた各情報から、それぞれ、「商品名」タグの要素、即ち「BS602」、「AW801」、「TM555」という文字列の情報を取得する。そして、取得したこれらの情報から、先頭の文字列の第一音がアルファベット音順で最も早いものから順番に検出する。ここでは、「AW801」、「BS602」、「TM555」の順で情報が検出される。
 オブジェクト更新部105は、情報を検出した順に、それぞれの情報が配置されている立体オブジェクトについてオブジェクト配置情報を更新する。具体的には、ウィンドウ810の左側から、「AW801」が第一面に配置されている立体オブジェクト「OBJ2」、「BS602」が第一面に配置されている立体オブジェクト「OBJ1」、「TM555」が第一面に配置されている立体オブジェクト「OBJ3」の順に、各立体オブジェクトが配置されるように、各立体オブジェクトのオブジェクト配置情報を更新する。なお、各オブジェクトは、図示しないグリッド等に沿って、予め指定された間隔で配置することが好ましい。そして、このように更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像が出力される。
 図17は、更新後のオブジェクト配置情報管理表である。
 また、図18は、更新後の立体オブジェクトの表示例を示す図である。
 つぎに、ユーザがメニュー等を操作して、「価格」タグが「3万円以下」である立体オブジェクトを検索する指示を入力したとする。例えば、検索用の入力フィールド等から、上記のような検索条件を示す情報を入力して、検索を行うボタン等を押したとする。検索条件情報受付部108は、値が「3万円以下」である「価格」タグが付与された配置用情報が配置されていることを検索条件として立体オブジェクトの検索を行うことを指示する検索条件情報を受け付ける。
 検索部109は、まず、検索条件情報受付部108が受け付けた検索条件情報が示す検索条件を満たす配置用情報を検索する。具体的には、図7に示した配置用情報管理表において、各レコードから、「商品ID」の値を取得し、図6に示した配置用情報のうちの、取得した商品IDを含む「商品タグ」で区切られた各配置用情報において、「価格」タグの要素が、「3万円以下」である条件を満たすものを検出する。ここでは、「商品ID」タグの要素が「SER2268」、「SER3661」である配置用情報が条件を満たすと判断される。このため、検索部109は、検索結果として、図7に示した配置用情報管理表において、「商品ID」が「SER2268」、「SER3661」であるレコードの「オブジェクトID」である「OBJ2」、「OBJ4」を取得する。
 検索結果配置情報作成部110は、検索部109が検索結果として取得した「オブジェクトID」が「OBJ2」および「OBJ4」である立体オブジェクトを配置するための、オブジェクト配置情報を作成する。また、ここでは、検索結果を表示するためのウィンドウを表示するための情報(図示せず)を作成するとともに、このウィンドウ内に立体オブジェクト「OBJ2」および「OBJ4」を配置するためのオブジェクト配置情報を新たに作成し、オブジェクトID「OBJ2」および「OBJ4」と対応付けてオブジェクト配置情報格納部102に蓄積する。検索結果を示すウィンドウが表示される位置やサイズ等はここでは予め指定されているものとする。また、検索結果の立体オブジェクトは、図示しないグリッド等に沿って、予め指定された間隔で配置するよう指定されているものとする。なお、ここでは、検索結果の立体オブジェクトにおいて用いられる形状情報や、配置用情報等として、元々配置されている立体オブジェクトの情報を兼用している。そして、このように更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像が出力される。
 図19は、更新後のオブジェクト配置情報管理表である。
 また、図20は、更新後の立体オブジェクトの表示例を示す図である。なお、図において、ウィンドウ830は、検索結果の立体オブジェクトが表示されるウィンドウ、立体オブジェクト806および立体オブジェクト807は、それぞれ、オブジェクトIDが「OBJ2」および「OBJ4」である検索結果の立体オブジェクトである。
 以上のように、本実施の形態によれば、一の立体オブジェクトを回転させると、他の立体オブジェクトも同様に連動して回転するため、複数の立体オブジェクトを操作する際の操作性を向上させることができる。
 例えば、ユーザが比較したい複数の商品についての情報がそれぞれの面に配置された立体オブジェクトが配置されていたとする。この場合、一の立体オブジェクトの正面以外の面に配置された情報を見るために、この面が正面を向くように一の立体オブジェクトを回転させたとすると、比較したい他の立体オブジェクトも回転して、回転を指示した立体オブジェクトと同様に、正面以外の面に配置された情報が正面を向くこととなる。このため、予め複数の立体オブジェクトの同じ面上に、同様の属性を有する情報、例えば、価格の情報や、詳細な機能の情報等を配置しておくようにすることで、一の回転操作によって、複数の立体オブジェクトの同様の情報を比較しやすいように表示させることが可能となる。この結果、ユーザに対する操作性の向上を図ることができる。
 また、本実施の形態によれば、グループ単位で、立体オブジェクトが連動して回転するか否かを設定でき、グループ単位で立体オブジェクトを連動動作させたり、連動動作しないようにさせたりすることが可能となる。この結果、立体オブジェクトに配置されている情報等に応じて,ユーザが、適宜、立体オブジェクトが連動して動作するか否かを設定することができ、立体オブジェクトの動作をカスタマイズすることができる。
 なお、本実施の形態においては、立体オブジェクトが階層関係を有するよう管理されている場合、一の立体オブジェクトの回転指示に応じて、当該一の立体オブジェクトと連動して回転を行う他の立体オブジェクトは、同じ階層の立体オブジェクトのみとしてもよい。同じ階層の立体オブジェクトとは、例えば、立体オブジェクト間で包含関係、あるいは従属関係がない立体オブジェクトである。通常、同じ階層で管理されている立体オブジェクトは、同様の商品や同じカテゴリーの商品等についての配置用情報等が配置された立体オブジェクトであることが多いため、このような構成とすることで、同様の商品や同じカテゴリーの商品等についての立体オブジェクトだけを連動して動作させることができ、比較等の対象とならない商品の立体オブジェクトを動作させないようにして、操作性を向上させることが可能となる。なお、同じ階層の立体オブジェクトを、上述したような同じグループに属する立体オブジェクトの一例と考えても良い。
 なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
 また、上記実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
 また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
 また、上記実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
 また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
 なお、上記実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、2以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部に格納されている形状情報と、2以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部に格納されている形状情報が示す1以上の面に配置される、配置用情報と、2以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得るオブジェクト配置情報格納部に格納されている立体オブジェクトに対応するオブジェクト配置情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトを、オブジェクト配置情報が示すよう配置した画像情報を構成する画像情報構成ステップと、画像情報構成ステップで構成した画像情報を出力する出力ステップと、1以上の立体オブジェクトの配置に対する変更指示を受け付ける変更指示受付ステップと、変更指示受付ステップで受け付けた変更指示が1以上の立体オブジェクトを回転させる指示である場合に、変更指示に応じて変更指示の対象となる立体オブジェクトと、立体オブジェクト以外の立体オブジェクトとが回転するよう、立体オブジェクトのオブジェクト配置情報を更新するオブジェクト更新ステップを実行させるためのプログラムであって、前記出力ステップは、前記オブジェクト更新ステップで更新したオブジェクト配置情報を用いて前記画像情報構成ステップが構成する画像情報を用いて出力を更新するプログラムである。
 なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
 また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
 (実施の形態2)
  以下、本発明の実施の形態2について図面を参照して説明する。なお、特許請求の範囲の用語の意義を解釈するために本発明の詳細な説明の記載を参照する際において、実施の形態1の記載と実施の形態2の記載との間で用語の定義や処理内容等の説明が食い違っている場合、本実施の形態2の記載を優先する。
 図21は、本実施の形態における情報処理装置21のブロック図である。
 情報処理装置21は、形状情報格納部2101、オブジェクト配置情報格納部2102、階層構造データ格納部2103、回転指示受付部2104、配置用データ取得部2105、指定受付部2106、画像情報構成部2107、および出力部2108を備える。
 形状情報格納部2101は、2以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る。形状情報格納部2101には、例えば、1以上の立体オブジェクトの形状情報が格納されてもよい。形状情報とは、例えば、仮想三次元空間内に配置されるオブジェクトの形状等を定義する情報である。形状情報は、例えば、立体オブジェクトのいわゆるモデリング情報である。なお、形状情報は、擬似的に立体オブジェクトを表示するための、二次元のオブジェクトの形状を示す情報であっても良い。ここで述べる立体オブジェクトは、例えば3Dオブジェクトや3Dモデルや立体モデルと呼ばれるものも含む。形状情報は、立体オブジェクトの頂点の座標の情報や、境界線や面等を表現する方程式やそのパラメータの情報等で構成される。ここで述べる座標は、例えば、立体オブジェクト自身を基準に設定される座標系、いわゆるオブジェクト座標系の座標であっても良いし、1以上の立体オブジェクトが配置される仮想三次元空間の座標系、いわゆるワールド座標系の座標であっても良い。
 形状情報は、立体オブジェクトを構成する2以上の面を定義する情報、あるいは面を定義可能な情報を有している。例えば、面を定義する情報は、例えば、面が他の面とで構成する頂点の座標や、面の周りの辺上の座標等の組合せ等である。あるいは、面を定義可能な情報は、面の法線を示す情報、例えば法線ベクトル等である。形状情報が示す立体オブジェクトの1以上の面は、例えば、各面を識別するための識別情報と対応付けられていてもよい。このような面の識別情報をここでは、面識別情報と呼ぶ。面識別情報は、例えば、面を特定する頂点の座標の組合せと対応付けられていても良いし、面識別情報は、例えば、面を特定する法線を示す情報と対応付けられていても良い。また、立体オブジェクトの向きや位置等の配置が、当該立体オブジェクトを構成する各面が正面となるように配置されるような何パターンかに限定されている場合、各パターンと、そのパターンにおいて正面となる面の面識別情報とが対応付けられていても良い。面識別情報は、形状情報に含まれていても良いし、図示しない記憶媒体等の他の格納部等に蓄積されていても良い。
 立体オブジェクトは、例えば、面の構成方法によって、ポリゴンモデリングや、自由曲面を利用したモデリング等の様々なモデリングに分類できる。形状情報には、立体オブジェクトを出力する際の、立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を含んでも良い。形状情報は、大きさや形状や色や透明度等が経時的に変化する動きのある立体オブジェクトの形状情報であっても良い。立体オブジェクトの形状情報は、どのような形式の情報であっても良い。例えば、形状情報は、FLASH(登録商標)形式のファイルであっても良い。立体オブジェクトの形状は、球、円柱、六面体や八面対等の多面体や、立方体、円錐、角錐等、どのような形状であっても良い。この場合、球は多面体と考えて良い。また、ここでは、仮想三次元空間に配置される平面オブジェクトも立体オブジェクトの一つと考えて良い。形状情報格納部2101に格納されている形状情報には、形状情報が示す立体オブジェクトが回転可能な方向を示す情報が対応付けられていても良い。例えば、この情報が、形状情報に含まれていてもよい。後述する回転指示受付部2104が回転指示を受け付けた場合、立体オブジェクトは、この回転可能な方向を指定する情報が示す方向においてのみ回転できるようにしてもよい。
 形状情報格納部2101には、1以上の立体オブジェクトの形状情報が格納され得る。なお、2以上の立体オブジェクトは、同じ形状および大きさであってもよいし、異なる形状および大きさであっても良い。立体オブジェクトには、立体オブジェクトを識別するための識別情報である立体オブジェクト識別情報が対応付けられていても良い。形状情報のサイズの単位等は、絶対的な単位であっても、相対的な単位であっても良い。また、複数の立体オブジェクトにおいて、共用可能な形状情報等は、リンク情報等を用いて参照することで、相互利用できるようにしても良い。すなわち、2以上の立体オブジェクトの形状情報は、2以上の立体オブジェクトにおいて共用される一の形状情報であってもよい。つまり、2以上の立体オブジェクトの形状情報は、2以上の立体オブジェクトに対応する形状情報と考えても良い。なお、形状情報格納部2101には、グループ化された1以上の立体オブジェクトを内部に配置するための立体オブジェクトの形状を示す形状情報が予め格納されているようにしても良い。ここでは、このようなグループ化された1以上の立体オブジェクトを内部に配置するための立体オブジェクトを、グループ用立体オブジェクトと呼ぶ。また、このようなグループ化された1以上の立体オブジェクトを内部に配置するための立体オブジェクトの形状情報は、適宜、図示しない形状情報構成部等で構成されて、形状情報格納部2101に格納されるようにしても良い。形状情報格納部2101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 オブジェクト配置情報格納部2102には、1以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得る。ここで述べる1以上の立体オブジェクトは、形状情報格納部2101に格納されている形状情報が示す立体オブジェクトである。オブジェクト配置情報は、立体オブジェクトの形状情報の配置を指定する情報と考えても良い。ここで述べる配置とは、例えば、仮想三次元空間内における配置である。ただし、立体オブジェクトを用いて構成された二次元の画像や、立体オブジェクトを示す擬似的な三次元画像が配置される位置を示す二次元の座標情報等の位置の情報であっても良い。この配置は、例えば、立体オブジェクトの位置と方向との組み合わせを有する概念である。ただし、配置や、位置または方向のいずれか一方であっても良い。立体オブジェクトとオブジェクト配置情報とは、予め対応付けられていても良いし、対応付けられていなくても良い。例えば、予め一のオブジェクト配置情報を指定しておくようにし、1以上の立体オブジェクトのうちの一の立体オブジェクトを配置する際に、そのオブジェクトがどのようなオブジェクトであっても、上述した予め指定された一のオブジェクト配置情報を用いてオブジェクトを配置するようにしてもよい。
 オブジェクト配置情報は、立体オブジェクトの配置を結果的に指定可能な情報であればよく、例えば、立体オブジェクトが配置される位置の座標や、立体オブジェクトの方向を指定する情報である。方向を指定する情報は、例えば、ベクトル情報や、仮想三次元空間内における所定の軸を回転軸とした回転角度等の情報である。あるいは、仮想三次元空間内における座標軸と、立体オブジェクトに設定される座標軸との位置関係を示す情報と考えても良い。例えば、仮想三次元空間内における座標軸を基準として、立体オブジェクトに設定される各座標軸をベクトルで表した情報であっても良い。また、オブジェクト配置情報は、立体オブジェクトの大きさ等を指定する情報を含むものであっても良い。立体オブジェクトの位置を指定する座標は、仮想三次元空間内に設定された絶対的な座標であっても良いし、他の立体オブジェクト等に対して設定された相対的な座標であっても良い。また、立体オブジェクトの位置を指定する座標は、立体オブジェクトを構成する辺等が集まる頂点の座標であっても良いし、立体オブジェクトの中心等の位置の座標であっても良い。オブジェクト配置情報は、経時的に立体オブジェクトの配置が変化する動画像用のオブジェクト配置情報であっても良い。例えば、オブジェクト配置情報が複数フレームの情報を有し、フレーム毎に、立体オブジェクトの配置が指定されていても良い。
 なお、ここではオブジェクト配置情報と立体オブジェクトの形状情報とをそれぞれ設けた場合について説明するが、形状情報格納部2101とオブジェクト配置情報格納部2102とを一の格納部で構成するとともに、オブジェクト配置情報を形状情報内に含めるようにしても良い。例えば、形状情報の頂点の情報を立体オブジェクトが配置される空間の座標系の座標で指定することで、形状情報をオブジェクト配置情報としても利用できるようにして、立体オブジェクトの配置の指定も可能としてもよい。なお、各立体オブジェクトを用いてレンダリングにより作成された二次元の画像を、二次元の背景画像上等に配置して最終的な出力画像を作成する場合等においては、オブジェクトの配置される位置の情報は、二次元の情報、例えばxy座標等の座標情報であってもよい。
 また、オブジェクト配置情報は、複数の立体オブジェクト同士がグループ化されているか否か等のグループ化の状況を管理する情報を有していても良い。グループ化の状況を管理する情報は、例えば、一のグループを構成する立体オブジェクトに、属するグループを識別するためのグループ識別情報を対応付けることや、同じグループに含まれる立体オブジェクトの識別情報を一のレコードの複数の項目で管理するデータベース等であっても良い。
 なお、本実施の形態におけるグループとは、必ずしも上述したようにグループ化状況を管理する情報で管理される立体オブジェクトのグループのみに限るものではなく、結果として、1以上の立体オブジェクトをグループとして,例えば後述するオブジェクト更新部105等が判断可能な状態であればよい。例えば、立体オブジェクトのグループは、立体オブジェクトの配置に応じて判断可能なグループであっても良い。具体的には、上述したように一のウィンドウ内に配置されている1以上の立体オブジェクトを、一のグループと考えても良い。また、立体オブジェクトが階層化されて管理されている場合、一の階層に属する立体オブジェクトや、一の立体オブジェクトに従属している立体オブジェクトを一のグループと考えても良い。また、予め指定された領域内に配置されている立体オブジェクトを、一のグループの立体オブジェクトと考えても良い。このような予め指定された領域を指定する情報は、例えば、図示しない記憶媒体等に格納される。予め指定された領域は、例えば、購入対象物についての立体オブジェクトが配置される領域である。また、同じ属性を有する、あるいは同じ属性と対応付けられた立体オブジェクトを一のグループの立体オブジェクトと考えても良い。具体例を挙げると、立体オブジェクトが商品についての情報が配置されている立体オブジェクトである場合を例に挙げて説明すると、ユーザが「ショッピングカートに入れた」ことを示す情報と対応付けられた立体オブジェクトを一のグループの立体オブジェクトと考えても良い。また、購入対象の商品リストに登録された立体オブジェクトを一のグループの立体オブジェクトと考えても良い。なお、オブジェクト配置情報は、例えば、立体オブジェクトの配置を変更する際に、画像情報構成部2107等により変更されるようにすればよい。
 オブジェクト配置情報格納部2102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、このオブジェクト配置情報格納部2102を、例えば、デフォルトで用意されたオブジェクト配置情報が予め格納されている格納部(図示せず)等から読み出したデフォルトのオブジェクト配置情報が一時的に格納され得るテンポラリの格納部等と考えても良い。
 階層構造データ格納部2103は、階層化された1以上のデータで構成される階層構造データが格納され得る。階層構造データとは、例えば木構造に階層化されているデータや、ネスト化されたデータである。また、階層構造を有するデータは、例えば、タグ等でマークアップされたデータ、即ち、タグが付けられたデータであってもよい。この場合、各データの階層関係は、タグ同士の包含関係等を用いることより指定可能である。具体例を挙げると、階層構造データは、HTMLデータ、SGMLデータやXML(extensible markup language)データ等である。汎用性が高いことから、階層構造データは、XMLデータを用いて記述されることが好ましい。ただし、階層構造を有していれば、他のデータを用いても良い。階層構造データは、例えば、出力対象となるデータと、当該出力対象となるデータ等の構造を示すデータ、具体的には階層構造を示すデータと、により構成される。構造を示すデータとは、例えば、タグである。また、出力対象となるデータとは、例えば、タグが付けられたデータであり、いわゆる要素である。すなわち、タグ付けられた階層構造データは、例えば、タグと、タグ付けられた要素とにより構成される。ただし、直接の要素を有さないタグを含んでも良い。なお、ここでは、タグ内の文字列や数値等を属性名や要素名と呼ぶ。また、タグにより構造が指定されるデータを要素と呼ぶ。
 階層化された1以上のデータは、立体オブジェクトを構成する面に配置して出力、例えば表示可能な情報であれば、静止画や動画等の画像情報や、テキスト情報等、どのような情報であっても良い。画像情報は、結果的に出力用の画像情報が構成可能な情報であれば良く、例えば、ベクターデータであってもラスタデータであっても良い。また、ここで述べる配置とは、いわゆる立体オブジェクトの面に対する画像情報等のマッピングと考えても良い。階層化された1以上のデータは、例えば、いわゆるコンテンツである。また、実際の画像データ等のデータの格納場所やファイル名等を示す情報、いわゆるリンク情報等が、階層化された1以上のデータとして、階層構造データ内に格納されていても良い。また階層化された1以上のデータは、マッピング対象となる情報、例えばテクスチャ情報と考えても良い。階層構造データのデータ構造は問わない。
 階層構造データは、例えば、上位の階層から下位の階層に向かって、複数の分岐点により分岐する構造を有している。このような分岐点をノードと呼ぶ。例えば、階層構造データにおいては、通常は、一の上位の階層のデータに対して、1以上の下位の階層のデータが直接的に従属しているが、この場合の上位の階層の一のデータから、従属する下位の階層の1以上のデータに向かって分岐する分岐点をノードと呼ぶ。この場合、上位の階層の一のデータをノードと考えても良い。なお、通常は、木構造で管理されているデータの分岐点をノードと呼ぶことが多いが、ここでは、階層構造データを木構造で表した場合の分岐点に相当するものもノードと考える。例えば、タグ付けされたデータにおいて、一のタグの下位に、タグ付けられたデータが存在する場合を、この一のタグをノードと考えても良い。また、各ノードには、ノードを識別するための識別情報が対応付けられていても良い。このノードを識別するための識別情報は、各階層のデータに付与されているタグや、タグの識別情報等であっても良い。また、ノードの識別情報は、当該ノードに従属するデータを表示するメニュー項目やメニュー画面等の識別情報、例えばメニュー画面名等であってもよい。なお、階層構造データ全体の最上位の階層(いわゆるルート階層やルートディレクトリ等)も一つのノードと考えても良い。
 また、階層構造データと、当該階層構造データを構成するデータを配置する立体オブジェクトの形状情報とは、予め対応付けられていても良いし、対応付けられていなくても良い。対応付けられている場合、階層構造データと形状情報とを対応付ける情報は、例えば、図示しない記憶媒体等の格納部に蓄積される。なお対応付けられていない場合、後述する画像情報構成部2107等は、階層構造データとは関係なく予め指定された形状情報を取得しても良いし、階層構造データのデータ構造や内容に応じて、形状情報を取得しても良い。
 なお、形状情報格納部2101、オブジェクト配置情報格納部2102、階層構造データ格納部2103に、形状情報や、オブジェクト配置情報や、階層構造データが蓄積される過程は問わない。例えば、記録媒体を介して形状情報や、オブジェクト配置情報や、階層構造データが、それぞれ、形状情報格納部2101、オブジェクト配置情報格納部2102、階層構造データ格納部2103に蓄積されてもよく、通信回線等を介して送信された形状情報や、オブジェクト配置情報や、階層構造データが、それぞれ、形状情報格納部2101、オブジェクト配置情報格納部2102、階層構造データ格納部2103に蓄積されてもよく、入力デバイスを介して入力された形状情報や、オブジェクト配置情報や、階層構造データが、それぞれ、形状情報格納部2101、オブジェクト配置情報格納部2102、階層構造データ格納部2103に蓄積されてもよい。また、形状情報格納部2101や、オブジェクト配置情報格納部2102や、階層構造データ格納部2103に格納されている形状情報や、オブジェクト配置情報や、階層構造データは、例えば図示しない受付部等が受け付けた形状情報や、オブジェクト配置情報や、階層構造データにより適宜更新されるようにしても良い。また、1以上の立体オブジェクトについての形状情報とオブジェクト配置情報との組合せ、あるいは、形状情報とオブジェクト配置情報と階層構造データとの組合せ等を、FLASH(登録商標)形式のファイル等の一のファイルに格納するようにしてもよい。この場合、形状情報格納部2101とオブジェクト配置情報格納部2102との組合せや、形状情報格納部2101とオブジェクト配置情報格納部2102と階層構造データ格納部2103との組合せ等を一の格納部で実現しても良い。階層構造データ格納部2103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 回転指示受付部2104は、立体オブジェクトを回転させる指示である回転指示を受け付ける。具体的には、後述する出力部2108により出力される立体オブジェクトに対する回転指示を受け付ける。回転指示は、少なくとも立体オブジェクトに対して、回転することを指示する情報である。回転指示は、回転方向を指定する情報を含んでいてもよい。回転指示は、立体オブジェクトを水平方向において予め決められた方向に回転させるか、鉛直方向において予め決められた方向に回転させるかを指定する情報であっても良い。また、立体オブジェクトを水平方向に左回りさせるか、右回りさせるかを指定する指示や鉛直方向に前回りさせるか後ろ回りさせるかを指定する情報であってもよい。あるいは、予め指定された回転の軸に対して、その回りを右回りするか左回りするかを指定する情報であってもよいし、さらに回転軸を指定する情報を含む指示であってもよい。回転軸は、予め立体オブジェクトに関係なく指定されていても良いし、立体オブジェクト毎に指定されていてもよい。あるいは、ユーザが自由に指定できるようにしても良い。回転指示は、回転する角度等を指定する情報等は含んでいても、いなくても良い。また、回転指示は、回転によって、立体オブジェクトのどの面がどの方向を向くか、例えば、どの面が正面となるかを指定する情報を含む指示であっても良い。
 回転指示受付部2104が受け付ける回転指示は、回転する角度が制限された回転指示であっても良い。例えば、回転角度が、90度単位等の予め指定された角度単位に制限された回転指示であってもよい。また、この回転角度の制限は、回転対称となる立体オブジェクトに応じて変更されるようにしても良く、例えば、立体オブジェクトが立方体であれば、回転角度を90度単位にし、立体オブジェクトが六角柱であれば、回転角度を30度単位にするようにしても良い。
 また、回転指示受付部2104は、立体オブジェクトを第一の回転方向に回転させる指示である第一回転指示と、立体オブジェクトを第一の回転方向とは異なる第二の回転方向に回転させる指示である第二回転指示とを受け付け得るようにしても良い。第一の回転方向と、第二の回転方向は、例えば直交する方向であることが好ましい。例えば、第一の回転方向は、水平方向における右回りまたは左回りの回転方向であり、第二の回転方向は垂直方向における前回りまたは後回りの回転方向である。
 さらに、回転指示受付部2104は、立体オブジェクトを第一の回転方向とは逆方向の第三の回転方向に回転させる指示である第三回転指示と、立体オブジェクトを第二の回転方向とは逆方向の第四の回転方向に回転させる指示である第四回転指示とを受け付け得るようにしても良い。例えば、第一の回転方向が水平方向における左回りの回転方向であれば、第三の回転方向は、水平方向における右回りの回転方向である。また、例えば、第二の回転方向が鉛直方向における前回り方向の回転方向であれば、第四の回転方向は、鉛直方向における後回り方向の回転方向である。
 回転指示受付部2104は、回転指示をどのように受けつけても良い。例えば、立体オブジェクトを回転させることを示すメニュー項目が選択された場合に、回転指示を受け付けても良い。また、マウスをドラッグしたり、タッチパッドをフリック(指ではらう動作)した場合に、ドラッグやフリックの方向を回転方向に指定する回転指示を受け付けても良い。また、立体オブジェクトをシングルクリック、あるいはシングルタップすることで、立体オブジェクトを予め決められた方向に回転させる回転指示を受け付けても良い。また、立体オブジェクトをダブルクリック、あるいはシングルタップすることで、立体オブジェクトを予め決められた方向に回転させる回転指示を受け付けても良い。あるいは立体オブジェクトの側面上、あるいは、側面側をクリックあるいはタップすることで、クリックされた側面、もしくはクリックされた位置側の側面が正面側に位置するような回転方向で回転させる指示を受けつけても良い。
 ここで述べる回転指示の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付けなどを含む概念である。
 入力手段は、テンキーやキーボードやマウスやタッチパッドやメニュー画面によるもの等、何でも良い。回転指示受付部2104は、テンキーやキーボードやマウスやタッチパッド等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 配置用データ取得部2105は、階層構造データから、一のノードに従属する1以上のデータを取得する。配置用データ取得部2105は、ユーザやデフォルト等により予め指定されたノードに従属する1以上のデータを取得しても良いし、一のノードに従属する、ユーザにより指定されたデータやデフォルト等により予め指定されたデータを取得しても良い。あるいは、階層構造データのうちの、ユーザやデフォルト等で指定されたデータと従属先となるノードが同じであるデータを取得しても良い。また、配置用データ取得部2105等がランダムに選択したノードに従属する1以上のデータを取得しても良い。予め指定されたノードとは、ユーザにより指定されたノード、あるいは、デフォルト等で設定されているノードである。ノードはどのように指定されても良く、例えば、ノードのデータを指定することで、ノードを指定しても良い。また、ノードのデータのタグや、ノードを示すタグ等を用いて、ノードを指定しても良い。また、ノードやノードの階層に対応付けられた識別情報を用いてノードを指定してもよい。ノードに従属するデータを指定することで、指定されたデータの従属先となるノードを指定するようにしてもよい。例えば、デフォルト等で予め指定されたノードは、最上階層(具体的にはルート階層)のノードである。
 また、配置用データ取得部2105は、出力部2108が出力した立体オブジェクトの予め指定された方向を向いた面に配置された1以上のデータのうちの1以上に対して所定の従属関係にある1以上のデータを取得する。配置用データ取得部2105は、例えば、立体オブジェクトの予め指定された方向を向いた面を検出し、当該検出した面に配置されているデータに対して所定の従属関係にあるデータを取得する。配置用データ取得部2105は、所定の従属関係にあるデータを階層構造データ格納部2103に格納されている階層構造データから取得する。
 予め指定された方向とは、例えば、ユーザにより指定された方向やデフォルト等で指定された方向である。予め指定された方向を以下、第一指定方向と呼ぶ。第一指定方向を向いた面とは、例えば、面の法線ベクトルが第一指定方向を示すベクトルと平行になる面である。ただし、ここでは、法線ベクトルは、立体オブジェクトの外側に向かう法線ベクトルを示すものとする。第一指定方向は、例えば、立体オブジェクトの画像情報を出力した場合に、第一指定方向を向いた面が他の面に比べてユーザから見て最も見やすくなるような方向である。例えば、第一指定方向を向いた面が、他の面に対して最も前面に位置するようになる方向である。立体オブジェクトの第一指定方向を向いた面は、例えば正面である。正面は、例えば立体オブジェクトをモニタ等で出力した場合の、ユーザ側からみて前面に見える面である。あるいは、正面はユーザ側方向を向いた面と考えてもよい。ただし、立体オブジェクトが配置される仮想三次元空間の座標系(いわゆるワールド座標系)において、予め指定された位置(例えばZ軸の正方向の位置から)から、第一指定方向(例えばZ軸の原点に向かう方向)に向かって立体オブジェクトを見た場合に、前面に位置する立体オブジェクトの面を正面と考えても良い。また、例えば、立体オブジェクトが斜投影法等で表示される場合等においては、立体オブジェクトの正面は、立体オブジェクトの画像が表示される画面等に対して傾斜した面であっても良い。
 配置用データ取得部2105は、どのように、立体オブジェクトの正面となる面を検出しても良い。例えば、第一指定方向を示すベクトルと平行な法線ベクトルを有する面を検出しても良い。また、立体オブジェクトが、回転方向において隣接する面同士がなす角度が一定であり、立体オブジェクトを回転させた場合、回転前にあらかじめ指定された方向を向いていた面に対して回転方向において隣接する面が、第一指定方向を向く面となるように回転角度が制限されている場合、回転が行われる都度、正面であることを示すフラグ等の情報を、面に対応付けて付与もしくは削除していくようにしても良い。これにより、正面であることを示す情報と対応付けられている面が、現在の指定された方向を向いている面であることが検出可能である。
 また、配置用データ取得部2105は、後述する指定受付部2106が受け付けた指定により指定されるデータに対して従属する1以上のデータを、所定の従属関係にある1以上のデータとして階層構造データから取得する。ここで述べる従属する1以上のデータとは、指定されるデータに対して1階層下に従属するデータを意味する。
 また、具体的には、配置用データ取得部2105は、出力部2108が出力する立体オブジェクトの第一指定方向を向いた面に配置された1以上のデータの従属先となるノードと同じ階層の異なるノードに従属する1以上のデータを、所定の従属関係にある1以上のデータとして階層構造データから取得する。
 あるいは、配置用データ取得部2105は、後述する指定受付部2106が受け付けた指定により指定されるデータに対して従属する1以上のデータと、出力部2108が出力する立体オブジェクトの第一指定方向を向いた面に配置された1以上のデータの従属先となるノードと同じ階層の異なるノードに従属する1以上のデータとを、所定の従属関係にある1以上のデータとして階層構造データから取得する。
 配置用データ取得部2105が、所定の従属関係にあるデータを取得するタイミングは問わない。例えば、後述する指定受付部2106がデータの指定を受け付けた場合、このデータに対して従属するデータを取得しても良い。また、立体オブジェクトの回転指示を受け付けた場合に、回転指示により所定の方向を向いた面となる面に配置されるデータの従属先となるノードと同じ階層の異なるノードに対して従属するデータを取得してもよい。
 配置用データ取得部2105は、通常、MPUやメモリ等から実現され得る。配置用データ取得部2105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 指定受付部2106は、後述する出力部2108が出力した立体オブジェクトの上述した第一指定方向を向いた面に配置された1以上のデータのうちの一のデータに対する指定を受け付ける。例えば、出力部2108が出力する立体オブジェクト上の各データが配置された領域上に、各データの指定を受け付けるための領域を設定し、これらの領域上の一つをマウスクリックされた場合に、この領域に対応したデータの指定を受け付けるようにする。指定受付部2106は、例えば、どのデータが指定されたかを示す情報を、図示しない格納部等に蓄積する。データを指定するための入力手段は、テンキーやキーボードやマウスやタッチパッドやメニュー画面によるもの等、何でも良い。指定受付部2106は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 画像情報構成部2107は、配置用データ取得部2105が取得したデータを形状情報が示す立体オブジェクトの上述した第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する。例えば、立体オブジェクトの形状情報と、オブジェクト配置情報格納部2102に予め蓄積しておいた初期設定のオブジェクト配置情報とを取得し、このオブジェクト配置情報が示す向きや位置で、形状情報が示す立体オブジェクトを配置した画像情報を構成する。このとき、立体オブジェクトの上述した第一指定方向を向いた面に、配置用データ取得部2105が取得した、一のノードに従属する一以上のデータを配置した立体オブジェクトの画像情報を構成する。立体オブジェクトの配置用データ取得部2105が取得したデータを配置する面である第一指定方向を向いた面は、どのように検出しても良い。例えば、オブジェクト配置情報の初期設定が、形状情報が示す立体オブジェクトの予め指定された一の面を、あらかじめ指定された方向を向くように配置するものであった場合、立体オブジェクトのこの一の面を、第一指定方向を向く面として検出しても良い。あるいは、上述したような法線ベクトル等を用いて検出しても良い。
 画像情報構成部2107は、形状情報格納部2101に格納されている1以上の形状情報の中から、どのようにし、画像情報の構成に用いる立体オブジェクトの形状情報を決定しても良い。例えば、予めデフォルト等で指定されている形状情報を取得しても良い。また、ユーザ等により階層構造データと対応付けられた形状情報を取得しても良い。また、階層構造データ格納部2103に格納されている階層構造データのデータ構造またはデータ内容に応じた形状情報を取得しても良い。
 例えば、画像情報構成部2107は、例えば、階層構造データの各ノードに直接従属するデータ数を順次カウントして、ノードに従属するデータの最大値を検出し、形状情報等に対応付けられた回転方向を指定する情報が指定する立体オブジェクトの回転可能な方向の面の数が、この最大値と同じ数である形状情報を取得する。なお、ノードに従属するデータの最大値についての下限値や上限値等を設け、最大値の値が、下限値を下回った場合や、上限値を上回った場合等には、これらの下限値や上限値に応じて指定された形状情報を取得するようにしても良い。例えば、最大値が3以下であれば、常に、四面体の立体オブジェクトの形状情報を取得するようにしても良い。また、最大値の値の範囲を形状情報に対応付けておくようにし、ノードの最大値が、どの値の範囲に入るかに応じて、立体オブジェクトの形状情報を取得しても良い。例えば、ノードの最大値が、1から8までであれば、立方体の形状情報を取得し、ノードの最大値が9から11であれば、六角柱の形状情報を取得し、ノードの最大値が12以降は、八角柱の形状情報を取得してもよい。また、ノードの従属するデータの最大値に応じて、色や、透明度等の表示属性が異なる立体オブジェクトの形状情報を取得するようにしても良い。例えば、ノードの最大値が、1から8までであれば、赤色の形状情報を取得し、ノードの最大値が9から11であれば、青色の形状情報を取得してもよい。
 また、画像情報構成部2107は、例えば、階層構造データの階層の深さを、階層構造のノードを順番に辿りながらカウントすること等により、最も深い階層の階層数である最大階層数を取得する。そして、この最大階層数に応じて形状情報を取得しても良い。例えば、最大階層数が、立体オブジェクトの回転可能な方向の面の数が、この最大階層数と同じ数である形状情報を取得する。なお、最大階層数についての下限値や上限値等を設け、最大値の値が、下限値を下回った場合や、上限値を上回った場合等には、これらの下限値や上限値に応じて指定された形状情報を取得するようにしても良い。例えば、最大階層数が3以下であれば、常に、四面体の立体オブジェクトの形状情報を取得するようにしても良い。また、最大階層数の値の範囲を形状情報に対応付けておくようにし、最大階層数が、どの値の範囲に入るかに応じて、立体オブジェクトの形状情報を取得しても良い。例えば、最大階層数が、1から8までであれば、立方体の形状情報を取得し、最大階層数が9から11であれば、六角柱の形状情報を取得し、最大階層数が12以降は、八角柱の形状情報を取得してもよい。また、ノードの従属するデータの最大階層数に応じて、色や、透明度等の表示属性が異なる立体オブジェクトの形状情報を取得するようにしても良い。例えば、最大階層数が、1から8までであれば、赤色の形状情報を取得し、最大階層数が9から11であれば、青色の形状情報を取得してもよい。
 また、画像情報構成部2107は、階層構造データの内容に応じて形状情報を取得してもよい。ここでのデータの内容とは、例えば、画像データや、テキストデータ等のデータタイプであっても良い。また、予め指定された文字列(キーワード)を含むテキストデータであるか否かや、文字数や、データ量等であっても良い。
 例えば、画像情報構成部2107は、階層構造データの一部または全てが、所定のデータタイプを含むデータが存在するか否かを判断し、存在する場合と存在しない場合とで、異なる立体オブジェクトの形状情報を取得するようにしてもよい。あるいは、予め指定された文字列を含むテキストデータが存在するか否かで異なる立体オブジェクトの形状情報を取得するようにしてもよい。
 画像情報構成部2107は、回転指示受付部2104が回転指示を受け付けた場合に、回転指示に応じて回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部2105が取得した所定の従属関係にある1以上のデータを配置した立体オブジェクトの画像情報を構成する。回転指示に応じて回転させた立体オブジェクトの画像情報とは、立体オブジェクトの回転中の状態を示す画像を含む動画像の画像情報である。回転中の画像は、例えば、回転開始と回転終了との立体オブジェクトのオブジェクト配置情報から、その回転途中の配置、例えば向きの情報を補間して作成し、その補間した情報を用いて回転途中の動画像のフレームの画像を構成することで作成可能である。あるいは、回転開始の配置から、順次、立体オブジェクトの向きを回転指示が示す方向に、回転指示が示す向きとなるまで、予め指定された速さで変更しながら、予め指定されたタイミングで随時立体オブジェクトの画像を構成することで、動画像の各フレームの画像が構成可能である。あるいは、回転開始の画像と回転終了の画像とをそれぞれ構成し、構成した画像を補間したり、切り替えにトランジション効果を加えることで、動画像を構成しても良い。動画像の画像情報のファイル形式やデータ構造等は問わない。ここでは、経時的に切り替えて出力される複数の静止画の組合せもここでは、動画像と考える。なお、立体オブジェクトの回転中の画像、例えばフレーム画像は、立体オブジェクトのレンダリング等を行って構成しても良いが、予め形状情報等に応じて用意された立体オブジェクトが回転している状態を示す画像を図示しない格納部等から読み出して用いるようにしてもよい。配置用データ取得部2105が取得した所定の従属関係にある1以上のデータとは、配置用データ取得部2105が取得した、回転指示に応じた回転が行われる前の立体オブジェクトの、第一指定方向を向いた面に配置されたデータに対して、所定の従属関係にある1以上のデータである。
 配置用データ取得部2105が取得した所定の従属関係にある1以上のデータは、回転中の画像をレンダリング等で構成する際にも、立体オブジェクト上に配置するようにしても良いし、回転後に最終的に得られる立体オブジェクトの画像のみを、配置用データ取得部2105が取得したデータを配置した画像をレンダリング等により構成した画像としてもよい。また、画像情報構成部2107は、その他の立体オブジェクトの面上に既に配置済のデータも、面上に配置した状態で、立体オブジェクトの回転中の画像を構成してもよい。
 なお、配置用データ取得部2105は、配置用データ取得部2105が所定の従属関係にある1以上のデータを取得した時点で、取得したデータを、回転後に第一指定方向を向く面となる面に配置した立体オブジェクトの画像を構成するようにしても良い。
 一旦配置された配置用データのうちの、配置された面が、立体オブジェクトの回転の結果、上述したあらかじめ指定された方向を向いていない面となった配置用データは、適宜立体オブジェクト上から削除しても良いし、そのまま残しても良い。そのまま残した場合、
なお、立体オブジェクトの回転方向における面の数よりも、階層構造データの最大階層数や、ノードに従属する最大のデータ数が多い場合等において、立体オブジェクトを回転させた結果、立体オブジェクトの回転方向における全ての面にデータが配置されてしまい、次の回転操作の際にデータを配置する面がなくなった場合、次の回転操作であらかじめ指定された方向を向く面には、配置用データ取得部2105が取得した新たなデータを配置し、この面に既に配置済であったデータは、立体オブジェクト上から破棄するようにしても良い。
 また、画像情報構成部2107は、回転指示受付部2104が第一回転指示を受け付けた場合と、第二回転指示を受け付けた場合とで、以下のように、立体オブジェクトに配置するデータを変更しても良い。
 即ち、画像情報構成部2107は、回転指示受付部2104が第一回転指示を受け付けた場合、第一回転指示が示す第一の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部2105が取得した指定受付部2106が受け付けた指定により指定されるデータに対して従属する1以上のデータを配置した立体オブジェクトの画像情報を構成する。
 一方、回転指示受付部2104が第二回転指示を受け付けた場合、第二回転指示が示す第二の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得部2105が取得した回転前の立体オブジェクトの第一指定方向を向いた面に配置されている1以上のデータの従属先となるノードと同じ階層のノードのうちの、当該従属先となるノードとは異なるノードに従属する1以上のデータを配置した立体オブジェクトの画像情報を構成する。
 これにより、立体オブジェクトを第一の回転方向に回転させると、立体オブジェクトのあらかじめ指定された方向を向いた面に、回転前のデータについての下位の階層のデータが配置されることとなる。また、第二の回転方向に回転させると、立体オブジェクトのあらかじめ指定された方向を向いた面に、回転前のデータと同じ階層のデータであって、異なるノードに従属するデータが配置されることとなる。この結果、立体オブジェクトを回転させることで、階層構造データを効率的かつ直感的にブラウズすることが可能となる。
 さらに、回転指示受付部2104が、立体オブジェクトを第一の回転方向とは逆方向の第三の回転方向に回転させる指示である第三回転指示を受け付けた場合、第三回転指示が示す第三の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、回転前の立体オブジェクトの第一指定方向を向いた面に配置されていたデータの上位のデータおよび、このデータと同じノードに従属するデータを配置した立体オブジェクトの画像情報を構成するようにしても良い。ここで配置されるデータは、上述したような他の第一指定方向を向いた面に配置されるデータと同様に、配置用データ取得部2105が適宜取得するようにしてもよい。なお、過去に第一の方向に回転させた場合にあらかじめ指定された方向を向いた面に配置されたデータの履歴を図示しない格納部等に保存しておき、配置用データ取得部2105がこの履歴で管理されるデータを時系列の逆順に読み出して取得しても良い。
 また、回転指示受付部2104が、立体オブジェクトを第二の回転方向とは逆方向の第四の回転方向に回転させる指示である第四回転指示を受け付けた場合、第四回転指示が示す第四の回転方向に回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、回転前の立体オブジェクトの第一指定方向を向いた面に配置されている1以上のデータの従属先となるノードと同じ階層のノードのうちの、当該従属先となるノードとは異なるノードに従属する1以上のデータを配置した立体オブジェクトの画像情報を構成するようにしても良い。ここで配置されるデータは、上述したような他の第一指定方向を向いた面に配置されるデータと同様に、配置用データ取得部2105が適宜取得するようにすればよい。ただし、ここで配置されるデータの従属先となるノードは、次に第二回転指示を受け付けた場合に、第一指定方向を向いた面となる面に配置されるデータとは異なるデータとすることが好ましい。例えば、過去に第二の方向に回転させた場合に、あらかじめ指定された方向を向いた面に配置されたデータの履歴を図示しない格納部等に保存しておき、この履歴で管理されるデータを時系列の逆順に読み出して配置しても良い。また、第二の回転方向に回転させた場合に配置用データ取得部2105が取得するデータの従属先となるノードに取得順番等を予め指定しておくようにし、第二の回転方向に回転させた場合はこの取得順番に沿ったノードのデータを取得して配置し、第四の回転方向に回転させた場合には、この取得順番の逆順に沿ってノードのデータを取得して配置するようにしても良い。
 なお、画像情報構成部2107は回転指示受付部2104が回転指示を受け付けた場合、回転指示に応じて、立体オブジェクトの向きが変わるように、オブジェクト配置情報、あるいは形状情報を適宜更新してよい。形状情報の更新は、回転指示を受け付けた際に行うようにしても良いし、回転した画像情報を構成後に更新しても良い。あるいは、立体オブジェクトの回転途中に、随時、立体オブジェクトの向きが回転途中の向きとなるようにオブジェクト形状情報を更新しても良い。この更新されたオブジェクト配置情報あるいは形状情報が、回転後の立体オブジェクトの画像情報の構成に用いられたオブジェクト配置情報あるいは形状情報である。なお、回転指示に応じてオブジェクト配置情報の更新を行う処理部を、画像情報構成部2107から独立して設けるようにしても良い。
 画像情報構成部2107が画像情報を構成する処理は、例えばいわゆるレンダリングと呼ばれる処理であり公知技術であるので詳細な説明は省略する。構成した画像情報は、例えばVRAM等に一時記憶される。
 画像情報構成部2107は、通常、MPUやGPUやメモリ等から実現され得る。画像情報構成部2107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 出力部2108は、画像情報構成部2107が構成した画像情報を出力する。また、回転指示に応じて画像情報構成部2107が構成した画像情報を出力する。出力部2108は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部2108は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
 次に、情報処理装置21の動作について図22のフローチャートを用いて説明する。ここでは、例として、立体オブジェクトのあらかじめ指定された方向を向いている面と、この立体オブジェクトを第一の回転方向に、予め指定された角度で回転させた場合に、第一指定方向を向くこととなる面と、この立体オブジェクトを第二の回転方向にあらかじめ指定された角度で回転させた場合に、第一指定方向を向くこととなる面とが、立体オブジェクトが回転していない状態で、画像情報上に表示されている場合を例に挙げて説明する。
 (ステップS2201)配置用データ取得部2105は、一のノードに従属する1以上のデータを階層構造データから取得する。一のノードは、例えばデフォルト等で予め指定されているノードであっても良いし、ユーザ等により指定されたノードであってもよい。取得したデータは、例えば図示しない記憶媒体等の格納部に一時記憶する。
 (ステップS2202)画像情報構成部2107は、形状情報格納部2101から、形状情報を取得する。ここでは例として、画像情報構成部2107が、予め指定されている形状情報を取得する場合について説明する。ただし、画像情報構成部2107は、立体オブジェクトへの配置対象となる階層構造データに応じた形状情報を取得しても良い。取得した形状情報は、例えば図示しない記憶媒体等の格納部に一時記憶する。
 (ステップS2203)画像情報構成部2107は、オブジェクト配置情報をオブジェクト配置情報格納部2102から取得する。例えば、ステップS2204において取得した形状情報に対応付けられたオブジェクト配置情報を取得する。取得したオブジェクト配置情報は、例えば図示しない記憶媒体等の格納部に一時記憶する。
 (ステップS2204)画像情報構成部2107は、ステップS2204において取得した形状情報が示す立体オブジェクトを、ステップS2205で取得したオブジェクト配置情報が示す位置及び向きで配置し、オブジェクト配置情報が示す向きで配置した状態において第一指定方向を向いている面に、ステップS2201で取得したデータを配置した立体オブジェクトの画像情報を構成する。
 (ステップS2205)出力部2108は、画像情報構成部が構成した出力する。
 (ステップS2206)指定受付部2106は、ステップS2206において出力した立体オブジェクトの、第一指定方向を向いた面に配置されたデータのうちの一つに対する指定を受け付けたか否かを判断する。受け付けた場合、ステップS2207に進み、受け付けていない場合、ステップS2208に進む。
 (ステップS2207)指定受付部2106は、指定されたデータに対して、指定されたことを示すデータを対応付けて蓄積する。指定されたことを示すデータは、例えばフラグデータである。指定されたことを示す情報は、例えば図示しない格納部等に格納された管理情報により管理されても良いし、ステップS2201等で取得したデータのうちの指定されたデータと対応付けられて図示しない格納部に蓄積されても良い。なお、新たなデータが指定された場合、既に指定されているデータに対する指定は、例えば指定されたことを示す情報を削除すること等により解除するようにすれば良い。また、全ての指定を解除する指示を受け付けても良く、この場合、全ての指定を解除すればよい。
 (ステップS2208)情報処理装置21は、立体オブジェクトを回転させる処理を行う。ただし、この処理は、配置するデータの有無や回転指示の有無に応じて回転を行わない場合も含む処理である。この処理の詳細については後述する。
 なお、図22のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 次に、図22においてステップS2208に示した回転処理の動作の詳細について、図23のフローチャートを用いて説明する。
 (ステップS2301)回転指示受付部2104は、第一回転指示を受け付けたか否かを判断する。受け付けた場合、ステップS2302に進み、受け付けていない場合、ステップS2308に進む。
 (ステップS2302)配置用データ取得部2105は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの一つを指定する情報が、ステップS2207等により蓄積されているか否かを判断する。蓄積されている場合、ステップS2303に進み、指定されていない場合、上位の処理にリターンする。
 (ステップS2303)配置用データ取得部2105は、ステップ208において指定されたデータに従属するデータがあるか否かを判断する。従属するデータがある場合、ステップS2304に進み、ない場合、上位の処理にリターンする。
 (ステップS2304)配置用データ取得部2105は、ステップ207において蓄積されたデータにより指定されたデータに従属するデータを、階層構造データ格納部2103から取得する。
 (ステップS2305)画像情報構成部2107は、立体オブジェクトを第一の回転方向に回転させる画像情報を構成する。このとき、画像情報構成部2107は、回転の結果の画像において、ステップ304において取得したデータの配置される面が、第一指定方向を向いた面となるような、立体オブジェクトを回転させる画像情報を構成する。画像情報構成部2107は、例えば、以下のように回転中の立体オブジェクトの画像情報を構成してもよい。例えば、第一回転指示に応じて立体オブジェクトを回転させる角度が、回転前に第一指定方向を向いていた面に対して、第一の回転方向とは逆方向に隣接する面が、第一指定方向を向くまで回転させる角度に予め指定されていたとすると、画像情報構成部2107は、この回転角度に至るまで立体オブジェクトを、予め指定された角度単位で第一の回転方向に回転させていき、その都度、立体オブジェクトの画像情報を構成して、構成した画像情報を組み合わせることで、立体オブジェクトが回転している画像情報を構成する。また、少なくとも回転終了時の画像情報としては、立体オブジェクトの予め指定された面を向いた面には、ステップ304において取得したデータに従属するデータを配置した画像情報を構成する。なお、回転中も、回転終了時に第一指定方向を向く面に、ステップS2304において取得したデータを配置して画像情報を構成してもよい。
 (ステップS2306)出力部2108は、画像情報構成部2107が構成した画像情報を出力する。
 (ステップS2307)画像情報構成部2107は、オブジェクト配置情報格納部2102に格納されているオブジェクト配置情報を更新する。なお、通常は、メモリ等にテンポラリに格納されているオブジェクト配置情報だけを更新し、変更を保存する指示等を受けた場合においてのみ、テンポラリのオブジェクト配置情報で、オブジェクト配置情報格納部2102に格納されているオブジェクト配置情報を更新するようにしてもよい。そして、上位の処理にリターンする。
 (ステップS2308)回転指示受付部2104は、第二回転指示を受け付けたか否かを判断する。受け付けた場合、ステップS2310に進み、受け付けていない場合、ステップS2313に進む。
 (ステップS2309)画像情報構成部2107は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと同じ階層に異なるノードがあるか否かを判断する。具体的には、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと階層が同じである異なるノードであって、従属先のノードが同じであるノードがあるか否かを判断する。ここでのノードは、データと考えても良い。異なるノードがある場合、ステップS2310に進み、ない場合、ステップS2312に進む。
 (ステップS2310)画像情報構成部2107は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと同じ階層の次のノードに従属するデータを階層構造データから取得する。次のノードとは、例えばノードの配列されている順番における次のノードである。また、次のノードがない場合、最初の順番のノードに戻るようにしても良い。例えば、階層構造データがXMLデータである場合、ステップS2201において取得したデータの従属先のノードを示すタグと同じタグを、取得したデータの従属先のノードに対応したタグの下方向において検索し、最初に検索されたタグが示すノードが次のノードである。また、次のノードが検出されなかった場合、XMLデータの上に戻って検索を行うようにしても良い。
 (ステップS2311)画像情報構成部2107は、立体オブジェクトを第二の回転方向に回転させる画像情報を構成する。このとき、画像情報構成部2107は、回転の結果の画像において、ステップ310において取得したデータの配置される面が、第一指定方向を向いた面となるような、立体オブジェクトを回転させる画像情報を構成する。画像情報構成部2107は、以下のように回転中の立体オブジェクトの画像情報を構成してもよい。例えば、第二回転指示に応じて立体オブジェクトを回転させる角度が、回転前に第一指定方向を向いていた面に対して、第二の回転方向とは逆方向に隣接する面が、第一指定方向を向くまで回転させる角度に予め指定されていたとすると、画像情報構成部2107は、この回転角度に至るまで立体オブジェクトを、予め指定された角度単位で第二の回転方向に回転させていき、その都度、立体オブジェクトの画像情報を構成して、構成した画像情報を組み合わせることで、立体オブジェクトが回転している画像情報を構成する。また、少なくとも回転終了時の画像情報としては、立体オブジェクトの予め指定された面を向いた面には、ステップ310において取得したデータに従属するデータを配置した画像情報を構成する。なお、回転中も、回転終了時に第一指定方向を向く面に、ステップS2310において取得したデータを配置して画像情報を構成してもよい。そして、ステップS2306に戻る。
 (ステップS2312)回転指示受付部2104は、第三回転指示を受け付けたか否かを判断する。受け付けた場合、ステップS2313に進み、受け付けていない場合、ステップS2316に進む。
 (ステップS2313)画像情報構成部2107は、立体オブジェクトの予め指定されている方向を向いている面に配置されているデータの従属先となるデータがあるか否かを判断する。例えば、立体オブジェクトの予め指定されている方向を向いている面に配置されているデータが、最も上位の階層のデータである場合、従属先はいわゆるルート階層であり、従属先となるデータがないと判断しても良い。ある場合、ステップS2314に進み、ない場合、上位の処理に戻る。
 (ステップS2314)配置用データ取得部2105は、立体オブジェクトの予め指定されている方向を向いている面に配置されているデータの従属先のデータと同じノードに従属するデータを取得する。このノードはデータと考えても良い。
 (ステップS2315)画像情報構成部2107は、立体オブジェクトを第三の回転方向に回転させる画像情報を構成する。このとき、画像情報構成部2107は、回転の結果の画像において、ステップ314において取得したデータの配置される面が、第一指定方向を向いた面となるような、立体オブジェクトを回転させる画像情報を構成する。画像情報構成部2107は、以下のように回転中の立体オブジェクトの画像情報を構成してもよい。例えば、第三回転指示に応じて立体オブジェクトを回転させる角度が、回転前に第一指定方向を向いていた面に対して、第三の回転方向とは逆方向に隣接する面が、第一指定方向を向くまで回転させる角度に予め指定されていたとすると、画像情報構成部2107は、この回転角度に至るまで立体オブジェクトを、予め指定された角度単位で第三の回転方向に回転させていき、その都度、立体オブジェクトの画像情報を構成して、構成した画像情報を組み合わせることで、立体オブジェクトが回転している画像情報を構成する。また、少なくとも回転終了時の画像情報としては、立体オブジェクトの予め指定された面を向いた面には、ステップ314において取得したデータに従属するデータを配置した画像情報を構成する。なお、回転中も、回転終了時に第一指定方向を向く面に、ステップS2314において取得したデータを配置して画像情報を構成してもよい。そして、ステップS2306に戻る。
 (ステップS2316)回転指示受付部2104は、第四回転指示を受け付けたか否かを判断する。受け付けた場合、ステップS2317に進み、受け付けていない場合、上位の処理にリターンする。
 (ステップS2317)画像情報構成部2107は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと同じ階層の異なるノードがあるか否かを判断する。ある場合、ステップS2318に進み、ない場合、上位の処理にリターンする。
 (ステップS2318)画像情報構成部2107は、立体オブジェクトの第一指定方向を向いている面に配置されているデータの従属先となるノードと同じ階層の、一つ前のノードに従属するデータを取得する。ここで述べる前のノードとは、ステップS2310において説明した次のノードとは、順番の向きが異なるノードである。
 (ステップS2319)画像情報構成部2107は、立体オブジェクトを第四の回転方向に回転させる画像情報を構成する。このとき、画像情報構成部2107は、回転の結果の画像において、ステップ318において取得したデータの配置される面が、第一指定方向を向いた面となるような、立体オブジェクトを回転させる画像情報を構成する。画像情報構成部2107は、以下のように回転中の立体オブジェクトの画像情報を構成してもよい。例えば、第四回転指示に応じて立体オブジェクトを回転させる角度が、回転前に第一指定方向を向いていた面に対して、第四の回転方向とは逆方向に隣接する面が、第一指定方向を向くまで回転させる角度に予め指定されていたとすると、画像情報構成部2107は、この回転角度に至るまで立体オブジェクトを、予め指定された角度単位で第四の回転方向に回転させていき、その都度、立体オブジェクトの画像情報を構成して、構成した画像情報を組み合わせることで、立体オブジェクトが回転している画像情報を構成する。また、少なくとも回転終了時の画像情報としては、立体オブジェクトの予め指定された面を向いた面には、ステップ318において取得したデータに従属するデータを配置した画像情報を構成する。なお、回転中も、回転終了時に第一指定方向を向く面に、ステップS2318において取得したデータを配置して画像情報を構成してもよい。そして、ステップS2306に戻る。
 なお、図23のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 なお、図22および図23のフローチャートにおいて、立体オブジェクトの画像情報において、立体オブジェクトの上述した第一指定方向を向いた面以外の面、例えば側面や上面等が、画像情報上に表示される場合、これらの面にも、適宜データを取得して配置した立体オブジェクトの画像情報を構成するようにしても良い。
 例えば、ステップS2206等で、データの指定を受け付けた場合、当該受け付けた指定により指定されたデータに従属するデータを取得し、このデータを、次に第一回転指示によって立体オブジェクトを回転させた場合に第一指定方向を向く面となる面に配置した立体オブジェクトの画像情報を構成しても良い。このような画像情報の構成は、ステップS2206等の直後に行われても良いし、任意のタイミングで行われても良い。
 また、第一指定方向を向いている面に配置されているデータの従属先となるデータと同じノードに従属している次のノードに従属するデータを取得し、このデータを、次に第二回転指示よって立体オブジェクトを回転させた場合に第一指定方向を向く面となる面に配置した立体オブジェクトの画像情報を構成しても良い。このような画像データの構成は、例えば、ステップS2311で一のノードのデータが第一指定方向を向いた面に配置される際に行われても良いし、ステップS2311の直後のタイミングで行われても良いし、任意のタイミングで行われても良い。
 なお、かかることは、第三回転指示や第四回転指示で第一指定方向を向く面となる面についても同様である。
 以下、本実施の形態における情報処理装置21の具体的な動作について説明する。
 ここでは、情報処理装置21が商品カタログを管理する装置である場合を例に挙げて説明する。ここでは、立体オブジェクトが立方体である場合を例に挙げて説明する。なお、本具体例において示しているサイズや角度等は、あくまでも説明のための便宜上のものであり、図等の立体オブジェクトの配置やサイズ等を正確に示さない場合がある。また、ここでは、第一指定方向が正面である場合を例に挙げて説明する。
 図24は、形状情報格納部2101に格納されている立体オブジェクトの形状情報を管理するための形状情報管理表である。形状情報は、ここでは例として予め用意されたものが蓄積されているものとする。形状情報管理表は、「オブジェクトID」、「サイズx」、「サイズy」、「サイズz」、「x1面」、「x2面」、「y1面」、「y2面」、「z1面」、「z2面」という項目を有している。「オブジェクトID」は立体オブジェクトを識別するための識別情報である。「サイズx」は、立体オブジェクトのx軸方向の長さ、すなわち幅である。「サイズy」は、立体オブジェクトのy軸方向の長さ、すなわち高さである。「サイズz」は、立体オブジェクトのz軸方向の長さ、すなわち奥行きである。ただし、ここで述べるx軸、y軸、z軸は、立体オブジェクト自身に設定されるx軸、y軸、z軸であり、立体オブジェクトが配置される仮想三次元空間に設定される絶対的なX軸、Y軸、Z軸とは異なる。立体オブジェクト自身に設定されるx軸、y軸、z軸の原点は、例えば、立体オブジェクトの中心や重心に設定される。ただし、どこに原点を設定しても良い。なお、各サイズの単位等は、ピクセル等どのような単位であっても良い。x1面、x2面、y1面、y2面、z1面およびz2面は、各立体オブジェクトを構成する面の面識別情報である。これらの面識別情報が示す面は、図示していないが、各面を構成する立体オブジェクトの頂点の座標等を用いて定義されているものとする。面の定義や、面に識別情報を対応付ける技術等については、三次元モデリングの技術等において公知であるので、ここでは説明を省略する。形状情報管理表の「x1面」、「x2面」、「y1面」、「y2面」、「z1面」および「z2面」の項目の値は、各面識別情報が示す面の、立体オブジェクト自身の座標系を用いて表した法線のベクトルを示している。ただし、ここでの法線は、立体オブジェクト内から外側に向かう方向のベクトルであるとする。また、ここでは例として、各立体オブジェクトの中心にx軸、y軸、z軸の0点が位置しているものとする。ここでは、「x1面」はx軸の正方向を法線とする面、「x2面」はx軸の負方向を法線とする面、「y1面」はy軸の正方向を法線とする面、「y2面」はy軸の負方向を法線とする面、「z1面」はz軸の正方向を法線とする面、「z2面」はz軸の負方向を法線とする面である。ここでは、形状情報管理表により、1つの立体オブジェクトの形状情報が管理されている。
 図25は、立体オブジェクトと、x1面、x2面、y1面、y2面、z1面およびz2面との関係を示すための模式図である。この図においては、z1面が正面、z2面が背面、x1面が右側面、x2面が左側面、y1面が上面、y2面が底面となっている。
 図26は、オブジェクト配置情報格納部2102に格納されているオブジェクト配置情報を管理するためのオブジェクト配置情報管理表である。オブジェクト配置情報は、ここでは例として、予め用意されたものが蓄積されているものとする。オブジェクト配置情報は、「オブジェクトID」、「座標(X,Y,Z)」、および「回転角度(X,Y,Z)」という項目を有している。「オブジェクトID」は、立体オブジェクトを識別するための識別情報であり、上述した形状情報の「オブジェクトID」と対応している。「座標(X,Y,Z)」は、同じレコードの「オブジェクトID」が示す立体オブジェクトが配置される仮想三次元空間内の座標を示す情報であり、ここでは、立体オブジェクトの中心の座標である場合について説明する。ここでは、この座標の値は、仮想三次元空間内の座標の値であるとする。なお、ここでは、仮想三次元空間内の横方向(幅方向)をX軸、縦方向(高さ方向)をY軸、奥行き方向をZ軸とする。また、「回転角度(X,Y,Z)」は、仮想三次元空間のX軸、Y軸、Z軸をそれぞれ回転軸とした回転角度を示す。回転角度は、立体オブジェクトの配置される方向を示す情報と考えても良い。例えば、立体オブジェクトをY軸を回転軸にして90度回転させると、立体オブジェクトのx軸とy軸は、それぞれ仮想三次元空間のX軸およびY軸とそれぞれ直交することとなる。なお、ここでは、回転角度のそれぞれの値が(0,0,0)である場合、立体オブジェクトのx軸、y軸、z軸が、それぞれ仮想三次元空間内のX軸、Y軸、Z軸に平行に配置されるようデフォルトで予め指定されているものとする。なお、立体オブジェクトが配置される位置の奥行きを変更する必要がない場合、例えば、レンダリングした立体オブジェクトの画像を2次元平面上に配置する場合等においては、Z座標の値は省略しても良い。
 図27は、階層構造データ格納部2103に格納されている階層構造データを示す図である。ここでは、例として階層構造データがXML(Extensible Markup Language)形式の情報を構成している場合について説明する。ただし、階層構造データは、XML形式の情報でなくても良く、階層化されたデータであれば良い。図27に示したXML形式の情報においては、便宜上、階層化されているデータは、開始タグと終了タグとにより囲まれたデータ、即ち要素であると考える。なお、以下、開始タグ「<A>」及び終了タグ「</A>」(ただし、Aはタグ名)を、Aタグと呼ぶ。例えば、「<カタログ管理>」をカタログ管理タグと呼ぶ。また、以下、開始タグ「<A>」と終了タグ「</A>」とで区切られた範囲のデータのことを、Aタグで区切られた範囲のデータと呼ぶ。例えば、一の開始タグ「<カタログ管理>」と終了タグ「</カタログ管理>」とで区切られた範囲のデータは、一のカタログ管理タグで区切られた範囲のデータと呼ぶ。
 図27においては、例えば、一のカタログタグで区切られた範囲のデータは、カタログに関するデータである。カタログタグは、ここでは階層構造データの第1階層を示すタグ(いわゆるルート)を示す。
 また、ジャンルタグで区切られた範囲のデータは、一の商品ジャンルについてのデータであり、ジャンル名タグで区切られた範囲のデータは、一のジャンルのジャンル名を示すデータである。ここでは、ジャンルタグは、第2階層の一のノードを示すタグであり、ジャンル名タグは、第2階層の一のノードのデータと定義されているものとする。
 また、一の商品タグで区切られた範囲のデータは、一のジャンルに含まれる商品のうちの、一の商品についてのデータであり、一の商品名タグで区切られた範囲のデータは、一の商品の商品名を示すデータである。ここでは、商品タグは、第3階層の一のノードを示すタグであり、商品名タグは、第3階層の一のノードのデータと定義されているものとする。
 また、一の詳細タグで区切られた範囲のデータは、一の商品の詳細についてのデータである。ここでは、詳細タグは、第4階層の一のノードを示すタグである。また、詳細タグで区切られた範囲内の、商品IDタグや、商品写真タグや、価格タグ等で区切られたデータは、第4階層の一のノードのデータであるとする。
 なお、タグで区切られたデータとして、ファイル等を指定する情報、例えばリンク情報が含まれる場合、これにより指定されたファイルの情報を、実際のタグで区切られたデータと考えて良い。リンク先の情報は、画像を構成する際等に適宜読み出される。
 まず、例えば、ユーザが、情報処理装置21に対して、商品についてのカタログ管理画面を表示する指示を与えたとする。
 配置用データ取得部2105は、図27に示した階層構造データから、予め指定された一のノードに従属する1以上のデータを階層構造データから取得する。ここでは、例えば、予め、第1階層のタグが示すノードに従属するデータを取得することが予め設定されているものとする。この設定に従って、配置用データ取得部2105は、第2階層のデータを取得する。ここでは、階層構造データがXMLで記述されており、タグの包含関係から、第1階層を示すタグ(言い換えれば第1階層のノードを示すタグ)はカタログタグであり、これに従属する第2階層を示すタグは、ジャンルタグであり、その第2階層のデータを示すタグは、ジャンル名タグであることが検出可能である。なお、この階層関係は、例えばこのXMLに対応して予め用意されたDTD(Document Type Definition)等から主とするようにしても良い。配置用データ取得部2105は、このため、カタログタグで区切られたデータ内の、ジャンル名タグで区切られたデータを全て取得する。ここでは、例えば「携帯電話」および「スマートフォン」というデータを取得する。取得したデータは、例えばメモリ等に一時記憶する。なお、ここでは、予め指定されたノードに従属するデータを取得する場合について説明したが、ユーザにより指定されたノードに従属するデータを取得してもよい。この場合、例えば、予め、ノード、あるいはノードを示すタグに、画面の名称等の画面の識別子を割り当てておき、この画面の識別子により一のノードを指定するようにしても良い。例えば、商品タグに、「商品操作画面」等の画面名を割り当てておき、この画面名をユーザが指定した場合に、商品タグに従属するデータを取得するようにしても良い。このとき、例えば、一の商品タグを指定するために、検索キーの入力を受け付けるようにし、商品タグの中から、区切られたデータ内に、この検索キーと一致するデータを含む商品タグを検出し、検出した商品タグに従属するデータだけを取得するようにしても良い。
 つぎに、画像情報構成部2107は、図26に示したオブジェクト配置情報管理表で管理されているオブジェクト配置情報を読み出す。即ち、「オブジェクトID」が「OBJ」であるレコードのオブジェクト配置情報である「座標(X,Y,Z)」、および「回転角度(X,Y,Z)」の項目の値を読み出す。そして、例えば、「オブジェクトID」と対応付けて、図示しないメモリ等に一時記憶する。
 つぎに、情報処理装置21の画像情報構成部2107は、立体オブジェクトについての形状情報を取得する。ここでは、図24に示した「オブジェクトID」が「OBJ」である形状情報を読み出し、例えば、「オブジェクトID」と対応付けて、メモリ等に一時記憶する。
 次に、画像情報構成部2107は、「オブジェクトID」が「OBJ」である形状情報に対応する立体オブジェクト(以下、立体オブジェクトOBJと称す)の正面を、オブジェクトの形状情報と、オブジェクト配置情報とを用いて判断する。ここでの正面とは、立体オブジェクトを構成する面のうちの、オブジェクト配置情報に従って仮想3次元空間内に立体オブジェクトを配置した場合に、その法線(ここでは、立体オブジェクトの内側から外に向かう方向の法線)が、Z軸と平行であり、かつ方向が正方向を向いている面とする。
 上述したように、ここでは、配置情報が示す回転角度のそれぞれの値が(0,0,0)である場合、立体オブジェクトのx軸、y軸、z軸が、それぞれ仮想三次元空間内のX軸、Y軸、Z軸に平行に配置されるよう初期設定値で予め指定されているものとすると、立体オブジェクトをこのような配置で仮想三次元空間内で配置した場合の、各面の法線ベクトルを、オブジェクト配置情報を用いて算出する。ただしここで算出する法線ベクトルは、仮想三次元空間内のXYZ座標系であらわした法線ベクトルであるとする。そして、このように算出した法線ベクトルのなかから、仮想三次元空間内のZ軸に平行であって、その方向がZ軸の正方向を向いている法線を検出する。ここでは、z1面の法線が検出される。このため、画像情報構成部2107は、z1面が正面であると判断する。
 そして、画像情報構成部2107は、位置情報が示す配置となるよう仮想3次元空間内の配置した立体オブジェクトOBJの画像情報であって、そのz1面に配置用データ取得部2105が取得した「携帯電話」および「スマートフォン」というデータを配置した画像情報を構成する。具体的には、いわゆるレンダリング処理を行う。なお、ここでは、各立体オブジェクトの投影図が構成されるように、仮想三次元空間内の座標軸、つまりワールド空間の座標軸や、レンダリングの際の画角等のパラメータが予め設定されているものとする。
 そして、出力部2108は、画像情報構成部2107が構成した画像情報を出力する。なお、出力後、回転によって回転角度が変更されたオブジェクト配置情報で、図六に示したオブジェクト配置情報管理表を更新する。かかる処理は、以降の回転時においても同様である。
 図28は、出力部2108による表示例を示す図である。なお、ここでは、出力部2108は、モニタ80に接続されており、当該モニタ80に立体オブジェクトOBJの画像である立体オブジェクト81を表示する。
 ここで、例えばユーザが、立体オブジェクト81の第一指定方向を向いた面である正面上の「携帯電話」の文字列上の領域をマウス等の入力デバイスを用いてクリックしたとすると、指定受付部2106は、「携帯電話」というデータに対する指定を受け付ける。そして、指定受付部2106は、この「携帯電話」のデータを指定済データとして取得し、図示しないメモリ等の記憶媒体に一時記憶する。なお、指定されたデータに付与されているタグ、ここではジャンル名タグ、も含めて指定済データとして取得し、記憶媒体に一時記憶してもよい。
 図29は、指定受付部2106が取得して蓄積した指定済データの一例を示す図である。指定済データは、ここでは、最上位の階層から順番に指定されたデータを「/」等を挟んで順番に示す、いわゆるパスのようなデータであるとする。指定済データは、例えば、正面に配置されるデータが変更された場合や、指定が解除された場合には、変更や削除が行われる。なお指定されたデータは、立体オブジェクトの画像上で、他のデータとは異なる表示、例えばハイライト表示を行うようにしても良い。
 次に、ユーザが、入力デバイスや入力メニュー等を操作して立体オブジェクトを右回りに90度回転させる指示を与えたとする。即ち、立体オブジェクトの正面からみて左側の面を、正面に向ける回転指示を与えたとする。例えば、このような指示を与える操作として、立体オブジェクト81上を右から左になぞるようにポインタを移動させる操作を行ったとする。回転指示受付部2104は、ユーザによる操作に応じて立体オブジェクトを右回りに90度回転させる指示を受け付ける。ここでは、この右回りに90度回転させる指示を、上述した第一回転指示とする。
 配置用データ取得部2105は、第一回転指示を受け付けると、現在立体オブジェクト81の正面に配置されている情報の中の一のデータが指定済であるか否かを判断する。ここでは、図29に示したように指定済データと一致するデータがあるため、一のデータが指定済であると判断する。
 このため、配置用データ取得部2105は、図27に示した階層構造データにおいて、指定済データ「携帯電話」に従属するデータが存在するか否かを判断する。「携帯電話」は、ジャンル名タグで区切られたデータであるため、データが「携帯電話」であるジャンル名タグを含むジャンルタグで区切られたデータに、下位の階層を示すタグで区切られたデータが存在するか否かを判断する。ここでは、下位の階層を示すタグとして、1以上の商品タグで区切られたデータが存在し、この商品タグで区切られたデータ内に、商品名タグで区切られたデータが存在していることが検出される。このため、配置用データ取得部2105は、「携帯電話」に対応したノードの下位のデータが存在すると判断し、ジャンル名が「携帯電話」であるジャンルに含まれるデータから、商品名タグで区切られたデータを全て取得する。ここでは、「BS602」、「AW801」、「TM555」、「RW008」を取得する。
 次に、画像情報構成部2107は、第一回転指示に従って、立体オブジェクトOBJを、右回りに90度回転させた場合に正面となる、立体オブジェクトOBJの面を、オブジェクトの形状情報と、オブジェクト配置情報とを用いて判断する。ここでは、回転前の立体オブジェクトOBJの各面の仮想3次元空間のXYZ座標系における法線ベクトルを算出し、算出した法線ベクトルの中から、仮想3次元空間のXYZ座標系におけるX軸に平行であって、方向がX軸の正の方向を向いている法線ベクトルを検出する。そして、この法線ベクトルを有する面を第一回転指示に応じて回転させた場合に正面を向く面として判断する。ここでは、図25に示したx1面が回転後に正面を向く面と判断される。
 次に、画像情報構成部2107は、立体オブジェクトOBJを回転させる画像情報を構成する。具体的には、立体オブジェクトOBJが、z1面を正面とした状態から、x1面を正面とした状態となるまで回転させる画像情報を構成する。ここでは、回転中の画像も含む動画像の画像情報をレンダリングにより構成する。このとき、z1面に、配置用データ取得部2105が既に取得済の階層構造データの第二階層のデータである「携帯電話」および「スマートフォン」を、また、x1面には、配置用データ取得部2105が取得した「BS602」、「AW801」、「TM555」、「RW008」を、それぞれ配置して、画像情報をレンダリングする。なお、動画像の最後の画像は、x1面が正面を向いている画像である。
 そして、出力部2108は、画像情報構成部2107が構成した画像情報を出力する。
 図30は、出力部2108による出力例を示す図である。
 さらに、ユーザが、立体オブジェクト81の第一指定方向を向いた面上の「AW801」の文字列上の領域をマウス等の入力デバイスを用いてクリックしたとすると、指定受付部2106は、「AW801」というデータに対する指定を受け付け、指定受付部2106は、このデータを指定済データとして取得し、図示しないメモリ等の記憶媒体に一時記憶する。これにより例えば、図29に示した指定済データの後に、「/AW801」が追記される。
 図31は、変更後の指定済データを示す図である。
 次に、ユーザが、入力デバイスや入力メニュー等を操作して立体オブジェクトを右回りに90度回転させる第一回転指示を与ると、配置用データ取得部2105は、立体オブジェクトの正面に配置されたデータのうちのデータ「AW801」を、図31に示した指定済データを用いて、指定済データであると判断して、図27に示した階層構造データに、指定済データ「AW801」に従属するデータが存在するか否かを判断する。「AW801」は、商品名タグで区切られたデータであるため、データが「AW801」である商品名タグを含む商品タグで区切られたデータに、下位の階層を示すタグで区切られたデータが存在するか否かを判断する。ここでは、下位の階層を示すタグとして、1以上の詳細タグで区切られたデータが存在し、この詳細タグで区切られたデータ内に、商品写真タグや商品IDタグ等で区切られたデータが存在しているため、配置用データ取得部2105は、従属するデータが存在すると判断し、ジャンル名が「AW801」であるジャンルに含まれるデータから、商品写真タグや商品IDタグ、価格タグ、仕様タグで区切られたデータを全て取得する。ここでは、「aw801.gif」、「SER2268」、「1.6万円」、「有機EL」を取得する。なお、「aw801.gif」については、ファイル名が「aw801.gif」である画像ファイルを取得する。
 次に、画像情報構成部2107は、第一回転指示に従って、立体オブジェクトOBJを、右回りに90度回転させた場合に正面となる、立体オブジェクトOBJの面を、オブジェクトの形状情報と、オブジェクト配置情報とを用いて判断する。ここでは、上記と同様に、回転前の立体オブジェクトOBJ、即ち図28に示した状態の立体オブジェクトOBJにおいて、各面について仮想3次元空間のXYZ座標系における法線ベクトルを算出し、この法線ベクトルが、仮想3次元空間のXYZ座標系におけるX軸に平行であって、方向がX軸の正の方向を向いている法線ベクトルである面を第一回転指示に応じて回転させた場合に正面を向く面として判断する。ここでは、図25に示したz1面が回転後に新たに正面を向く面と判断される。
 そして、画像情報構成部2107は、上記で取得した、詳細タグで区切られたデータをz1面に配置した立体オブジェクトOBJを回転させる画像情報を、上記と同様に構成する。
 図32は、出力部2108による出力例を示す図である。
 次に、ユーザが、入力デバイスや入力メニュー等を操作して立体オブジェクトを前回りに90度回転させる指示を与えたとする。即ち、立体オブジェクトの正面からみて上側の面を、正面に向ける回転指示を与えたとする。例えば、このような指示を与える操作として、立体オブジェクト81上を上から下になぞるようにポインタを移動させる操作を行ったとする。回転指示受付部2104は、ユーザによる操作に応じて立体オブジェクトを前回りに90度回転させる指示を受け付ける。ここでは、この前回りに90度回転させる指示を、上述した第二回転指示とする。
 第二回転指示を与ると、配置用データ取得部2105は、立体オブジェクトの第一指定方向を向いた面である正面に配置されているデータの従属先となるノードと階層が同じである異なるノードであって、その従属先のノードが、立体オブジェクトの正面に配置されているデータの従属先となるノードの従属先と同じであるノードがあるか否かを判断する。
 ここでは、配置用データ取得部2105は、正面に配置されているデータのノードを示すタグである詳細タグの従属先となるノードは、図27に示す階層構造データや図30に示した指定済データ等から、データが「AW801」である商品名タグを含む商品タグが示すノードであることを検出する。さらに、配置用データ取得部2105は、この商品タグが示すノードの従属先となるノードは、同様に、データが「携帯電話」であるジャンル名タグを含むジャンルタグが示すノードであることが検出を検出する。そして、このデータが「携帯電話」であるジャンル名タグを含むジャンルタグが示すノードに、データが「AW801」である商品名タグを含む商品タグが示すノード以外のノードが存在するか否かを判断する。ここでは、データが「BS602」、「TM555」、「PW008」である商品名タグをそれぞれ含む商品タグが存在していると判断する。このため、配置用データ取得部2105は、これらの商品タグが示すノードの一つを選択し、選択されたノードに従属するデータを取得する。ここでは、まず、図27に示した階層構造データの商品タグで区切られたデータに、上から順に商品タグが示すノードの順番を割り当て、現在正面に配置されているデータの従属先となるノードを示す商品タグの次の順番の商品タグを検出し、この商品タグに従属するデータを取得する。例えば、現在正面に配置されているデータは、データが携帯電話であるジャンル名タグを含むジャンルタグに従属する商品タグのうちの、上から2番目の商品タグに従属するデータである。このため、配置用データ取得部2105は、上から3番目の商品タグに従属するデータを取得する。上から3番目の商品タグは、データが「TM555」である商品名タグを含む商品タグである。このため、配置用データ取得部2105は、データが「TM555」である商品名タグを含む商品タグに含まれる詳細タグで区切られたデータを取得する。取得したデータは、「tm555.gif」、「SER3425」、「4万円」、および「ワンセグ対応」である。
 次に、画像情報構成部2107は、第二回転指示に従って、立体オブジェクトOBJを、前回りに90度回転させた場合に正面となる、立体オブジェクトOBJの面を、オブジェクトの形状情報と、オブジェクト配置情報とを用いて判断する。ここでは、上記と同様に、回転前の立体オブジェクトOBJ、即ち図32に示した状態の立体オブジェクトOBJにおいて、各面について仮想3次元空間のXYZ座標系における法線ベクトルを算出し、この法線ベクトルが、仮想3次元空間のXYZ座標系におけるY軸に平行であって、方向がY軸の正の方向を向いている法線ベクトルである面を第二回転指示に応じて回転させた場合に正面を向く面として判断する。ここでは、図25に示したy1面が回転後に新たに正面を向く面と判断される。
 そして、画像情報構成部2107は、上記で取得した、詳細タグで区切られたデータ「tm555.gif」、「SER3425」、「4万円」、および「ワンセグ対応」をy1面に配置した立体オブジェクトOBJを回転させる画像情報を、上記と同様に構成する。具体的には、立体オブジェクトOBJが、z2面を正面とした状態から、y1面を正面とした状態となるまで回転させる画像情報を構成する。ここでは、回転中の画像も含む動画像の画像情報をレンダリングにより構成する。このとき、z2面に、配置用データ取得部2105が既に取得済の階層構造データの第三階層のデータである「aw801.gif」、「SER2268」、「1.6万円」、「有機EL」を、また、y1面には、配置用データ取得部2105が取得した「tm555.gif」、「SER3425」、「4万円」、および「ワンセグ対応」を、それぞれ配置して、画像情報をレンダリングする。なお、動画像の最後の画像は、x1面が正面を向いている画像である。
 そして、出力部2108は、画像情報構成部2107が構成した画像情報を出力する。
 図33は、出力部2108による出力例を示す図である。
 なお、立体オブジェクトOBJが図31に示した状態である場合において、立体オブジェクトを左回りに90度回転させる指示である第三回転指示を与えた際には、現在立体オブジェクトの正面に配置されているデータの従属先となるノード(即ち「AW801」のノード)と階層が同じであるノードであって、その従属先のノードが、立体オブジェクトの正面に配置されているデータの従属先となるノードの従属先(即ち「携帯電話」のノード)と同じである全てのノードのデータである「BS602」、「AW801」、「TM555」、「RW008」を配置用データ取得部2105が取得し、画像情報構成部2107は、この取得された情報を用いて、立体オブジェクトOBJを左回りに90度回転させる動画像の画像情報を構成する。そして出力部2108は、取得された画像情報を表示する。出力部2108が表示する画像は、図32と同様になる。なお、直前の画像情報を一時保存しておくようにし、第一回転指示の直後に第三回転指示を受け付けた場合には、直前の画像情報を読み出して表示するようにしても良い。
 また、立体オブジェクトOBJが図33に示した状態である場合において、立体オブジェクトを後回りに90度回転させる指示である第四回転指示を与えた際には、上記第二回転指示を受け付けた場合と同様の処理により、現在正面に配置されているデータの従属先となるノードと同じ階層のノードのうちの、順番が一つ前のノードに従属するデータを配置用データ取得部2105が取得し、画像情報構成部2107は、この取得された情報を用いて、後回りに90度回転させる動画像の画像情報等を構成し、出力部がこの画像情報を表示するようにすればよい。出力部2108が表示する画像は、図32と同様になる。なお、直前の画像情報を一時保存しておくようにし、第二回転指示の直後に第四回転指示を受け付けた場合には、直前の画像情報を読み出して表示するようにしても良い。
 なお、上記具体例において、立体オブジェクトが回転していない時に、立体オブジェクトOBJの正面だけでなく、側面や上面や下面等の少なくとも一部が画像上に表示される場合、これらの面に配置されるデータを適宜取得して、取得したデータを側面や上面や下面等に配置した立体オブジェクトの画像を表示するようにしても良い。
 例えば、上記具体例において、正面に出力されているデータについての指定を指定受付部2106が受け付けた時点で、この指定されたデータに従属するデータを配置用データ取得部2105が取得して、取得したデータを、立体オブジェクトOBJを第一回転指示に従って回転させた場合に正面の位置となる面に配置した立体オブジェクトOBJの画像を画像情報構成部2107が構成し、構成した画像情報で、出力部2108が出力した画像を更新するようにしても良い。
 例えば、図30に示す状態において、「AW801」のデータが指定された場合、指定されたデータに直接従属するデータ「aw801.gif」、「SER2268」、「1.6万円」、「有機EL」を配置用データ取得部2105が取得し、取得したデータを、次に第一回転指示を受け付けた場合に正面となる面、つまり現状での右側面であるz2面にさらに配置した画像情報を画像情報構成部2107が構成し、構成した画像情報が示す画像により、出力部2108が現在出力されている画像を更新するようにしてもよい。
 図34は、このような場合の表示例を示す図である。
 また、例えば、上記具体例において、回転の指示によって立体オブジェクトが回転した場合(あるいは回転することが決定した時点)に、新たに正面となった面(あるいは新たに正面となる面)に出力されているデータの従属先となるノードと階層が同じである異なるノードであって、その従属先のノードが、立体オブジェクトの正面に配置されているデータの従属先となるノードの従属先と同じであるノードのうちのひとつ(具体的には、次の順番のノード)に従属するデータを取得し、このデータを、次に第二回転指示を受け付けた場合に正面となる面であるy1面に更に配置した画像情報を画像情報構成部2107が構成し、構成した画像情報が示す画像により、出力部2108が現在出力されている画像を更新するようにしてもよい。
 例えば、立体オブジェクトOBJの回転によって、図32に示すような状態となった時点で、第二回転指示を受け付けた場合と同様に、立体オブジェクトの正面に配置されているデータの従属先となるノードと階層が同じである異なるノードであって、その従属先のノードが、立体オブジェクトの正面に配置されているデータの従属先となるノードの従属先と同じであるノードに従属するデータである、「tm555.gif」、「SER3425」、「4万円」、および「ワンセグ対応」を配置用データ取得部2105が取得し、取得したデータを、次に第二回転指示を受け付けた場合に正面となる面、つまり現状での上面であるy1面にさらに配置した画像情報を画像情報構成部2107が構成し、構成した画像情報が示す画像により、出力部2108が現在出力されている画像を更新するようにしてもよい。
 図35は、このような場合の表示例を示す図である。
 なお、上記具体例においては立体オブジェクトが立方体である場合を例に挙げて説明したが、立体オブジェクトはどのような形状であっても良い。
 図36は、立体オブジェクトの変形例を示す図である。
 例えば、図36に示すように、立体オブジェクトが六角柱であってもよい。この場合、例えば、水平方向に回転させて、正面に位置する側面を変更する第一回転指示を与えた場合、正面に位置することとなる面に、図32と同様に、ユーザにより指定された回転前に正面に配置されていたデータのうちの一つに従属するデータが、回転後の正面となる面に配置される。
 図37は、右回りに60度回転後の立体オブジェクトを示す図である。
 また、図36に示した立体オブジェクトを前回りに90度回転させる第二回転指示を与えた場合に、正面に位置することとなる面に、図32に示すようなデータが配置された画像を表示しても良い。
 図38は、前回りに90度回転後の立体オブジェクトを示す図である。
 なお、上記具体例においては、予め指定された立方体の立体オブジェクトOBJを用いるようにしたが、本発明においては、予め複数の異なる立体オブジェクトの形状情報を形状情報格納部2101に用意しておくようにし、立体オブジェクト上に配置される階層構造データのデータ構造に応じて複数の異なる立体オブジェクトのうちの一つの立体オブジェクトを選択するようにしても良い。
 例えば、画像情報構成部2107等が、階層構造データの最上位のノードから最下位のノードまでを辿った場合の最も深い階層数を求め、この階層数に応じて、立体オブジェクトを選択する。階層数はノード数と考えても良い。また、図27に示すようなXMLの階層構造データにおいては、最も深い階層の階層数は、最も深いネストレベルと考えても良い。なお、形状情報格納部2101に格納される複数の異なる立体オブジェクトの形状情報は、立体形状が異なる立体オブジェクトであっても良いし、色や大きさ、テクスチャ、透明度等が異なる立体オブジェクトの形状情報であっても良い。階層数に応じて形状情報を選択、とは、例えば、予め階層数と形状情報との対応関係を示す階層形状管理表を図示しない記憶媒体等の格納部に用意しておくようにし、この階層形状管理表を用いて、取得した最も深い階層数と対応付けられた形状情報を取得するようにすればよい。
 図39は階層形状管理表の一例を示す図である。階層形状情報管理表は、「階層数」と「オブジェクトID」という項目を有している。「階層数」は、階層構造データの最も深い階層の階層数である。「オブジェクトID」は立体オブジェクトの識別情報であり、図24に示す「オブジェクトID」等に相当する。図39に示したオブジェクトIDが異なる立体オブジェクトは、例えば立体形状や色等が異なる立体オブジェクトであるとする。
 図40は、図39に示した「オブジェクトID」に対応した形状情報が示す立体オブジェクトを示す模式図である。例えば、立体オブジェクトOBJ01は白色の三角柱、立体オブジェクトOBJ02は白色の立方体、立体オブジェクトOBJ03は白色の六角柱、立体オブジェクトOBJ04は赤色の六角柱であるとする。
 例えば、立体オブジェクトに配置される階層構造データが、図27に示すような階層構造データであるとすると、画像情報構成部2107は、立体オブジェクトを表示する指示を受け付けると、この階層構造データに含まれるデータのネストレベルを取得し、そのネストレベルの最大数を取得する。HTML文書等のデータからネストレベルを取得する処理は特開2000-57143号公報等において公知であり、ここでは説明を省略する。仮にこの階層構造データから取得したネストレベルにおいて、最も深いネストレベルが「4」であったとする。
 画像情報構成部2107は、図39に示した階層形状情報管理表から、「階層数」が「4」を含むレコードの「オブジェクトID」である「OBJ2」を取得する。そして、「オブジェクトID」が「OBJ2」である形状情報を用いてオブジェクトの画像情報を構成する。
 以上のように、本実施の形態によれば、立体オブジェクトを回転させることで、階層構造を有するデータを、階層やノードを変更して立体オブジェクト上に表示することが可能となる。これにより、立体オブジェクトを直感的に回転させることで、階層構造を有するデータを、階層やノードを変えながら自由にブラウズすることができる。
 なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
 また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
 また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
 また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
 また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
 なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、階層構造データ格納部に格納された階層化された1以上のデータで構成される階層構造データから、一のノードに従属する1以上のデータを取得する配置用データ取得ステップと、配置用データ取得ステップで取得したデータを、形状情報格納部に格納された2以上の面を有する立体オブジェクトの形状を示す情報である形状情報が示す立体オブジェクトの予め指定された方向を向いた面である第一指定方向に配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、画像情報構成ステップで構成した画像情報を出力する出力ステップと、立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付ステップと、を実行させるためのプログラムであって、配置用データ取得ステップは、出力ステップで出力した立体オブジェクトの第一指定方向を向いた面に配置された1以上のデータのうちの1以上に対して所定の従属関係にある1以上のデータを取得し、画像情報構成ステップは、回転指示に応じて回転させた立体オブジェクトの画像情報であって、回転後に第一指定方向を向いた面となった面に、配置用データ取得ステップで取得した所定の従属関係にある1以上のデータを配置した立体オブジェクトの画像情報を構成し、出力ステップは、回転指示に応じて画像情報構成部が構成した画像情報を出力するプログラムである。
 なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
 また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
 (実施の形態3)
 以下、本発明の実施の形態3について図面を参照して説明する。なお、特許請求の範囲の用語の意義を解釈するために本発明の詳細な説明の記載を参照する際において、実施の形態1または2の記載と実施の形態3の記載との間で用語の定義や処理内容等の説明が食い違っている場合、本実施の形態3の記載を優先する。
 図41は、本実施の形態における情報処理装置31のブロック図である。
 情報処理装置31は、形状情報格納部3101、オブジェクト配置情報格納部3102、配置用情報格納部3103、操作受付部3104、実行部3105、ロック面指定情報格納部3106、方向判断部3107、操作制限部3108、画像情報構成部3109、出力部110、ロック面指定情報受付部3111、ロック面指定情報蓄積部3112および操作可否情報格納部3113を備える。
 形状情報格納部3101には、1以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る。形状情報とは、例えば、仮想三次元空間内に配置されるオブジェクトの形状等を定義する情報である。形状情報は、例えば、立体オブジェクトのいわゆるモデリング情報である。なお、形状情報は、擬似的に立体オブジェクトを表示するための、二次元のオブジェクトの形状を示す情報であっても良い。ここで述べる立体オブジェクトは、例えば3Dオブジェクトや3Dモデルや立体モデルと呼ばれるものも含む。形状情報は、立体オブジェクトの頂点の座標の情報や、境界線や面等を表現する方程式やそのパラメータの情報等で構成される。ここで述べる座標は、例えば、立体オブジェクト自身を基準に設定される座標系、いわゆるオブジェクト座標系の座標であっても良いし、1以上の立体オブジェクトが配置される仮想三次元空間の座標系、いわゆるワールド座標系の座標であっても良い。
 立体オブジェクトは、1以上の面により構成されている。このため、形状情報は、立体オブジェクトの面を定義する情報、あるいは面を定義可能な情報を有している。例えば、立体オブジェクトの面は、例えば、面が他の面とで構成する頂点の座標や、面の周りの辺上の座標等の組合せ等で特定される。あるいは、面の法線を示す情報、例えば法線ベクトル等で特定される。形状情報が示す立体オブジェクトの1以上の面は、例えば、各面を識別するための識別情報と対応付けられていてもよい。このような面の識別情報をここでは、面識別情報と呼ぶ。面識別情報は、例えば、面を特定する頂点の座標の組合せと対応付けられていても良いし、面識別情報は、例えば、面を特定する法線を示す情報と対応付けられていても良い。また、立体オブジェクトの配置が、当該立体オブジェクトを構成する各面が正面となるように配置されるような何パターンかに限定されている場合、各パターンと、そのパターンにおいて正面となる面の面識別情報とが対応付けられていても良い。面識別情報は、形状情報に含まれていても良いし、図示しない記憶媒体等の他の格納部等に蓄積されていても良い。
 立体オブジェクトは、例えば、面の構成方法によって、ポリゴンモデリングや、自由曲面を利用したモデリング等に分類できる。形状情報には、立体オブジェクトを出力する際の、立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を含んでも良い。形状情報は、大きさや形状や色や透明度等が経時的に変化する動きのある立体オブジェクトの形状情報であっても良い。立体オブジェクトの形状情報は、どのような形式の情報であっても良い。例えば、形状情報は、FLASH(登録商標)形式のファイルであっても良い。立体オブジェクトの形状は、球、円柱、六面体や八面対等の多面体や、立方体、円錐、角錐等、どのような形状であっても良い。
 形状情報格納部3101には、1以上の立体オブジェクトの形状情報が格納され得る。なお、2以上の立体オブジェクトは、同じ形状および大きさであってもよいし、異なる形状および大きさであっても良い。立体オブジェクトには、立体オブジェクトを識別するための識別情報である立体オブジェクト識別情報が対応付けられていても良い。形状情報のサイズの単位等は、絶対的な単位であっても、相対的な単位であっても良い。また、複数の立体オブジェクトにおいて、共用可能な形状情報等は、リンク情報等を用いて参照することで、相互利用できるようにしても良い。すなわち、2以上の立体オブジェクトの形状情報は、2以上の立体オブジェクトにおいて共用される一の形状情報であってもよい。つまり、2以上の立体オブジェクトの形状情報は、2以上の立体オブジェクトに対応する形状情報と考えても良い。なお、形状情報格納部3101には、グループ化された1以上の立体オブジェクトを内部に配置するための立体オブジェクトの形状を示す形状情報が予め格納されているようにしても良い。ここでは、このようなグループ化された1以上の立体オブジェクトを内部に配置するための立体オブジェクトを、グループ用立体オブジェクトと呼ぶ。また、このようなグループ化された1以上の立体オブジェクトを内部に配置するための立体オブジェクトの形状情報は、適宜、図示しない形状情報構成部等で構成されて、形状情報格納部3101に格納されるようにしても良い。形状情報格納部3101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 オブジェクト配置情報格納部3102には、1以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得る。ここで述べる1以上の立体オブジェクトは、形状情報格納部3101に格納されている形状情報が示す立体オブジェクトである。オブジェクト配置情報は、立体オブジェクトの形状情報の配置を指定する情報と考えても良い。ここで述べる配置とは、例えば、仮想三次元空間内における配置である。ただし、立体オブジェクトを用いて構成された二次元の画像や、立体オブジェクトを示す擬似的な三次元画像が配置される位置を示す二次元の座標情報等の位置の情報であっても良い。この配置は、例えば、立体オブジェクトの位置と方向との組み合わせを有する概念である。ただし、配置や、位置または方向のいずれか一方であっても良い。
 オブジェクト配置情報は、立体オブジェクトの配置を結果的に指定可能な情報であればよく、例えば、立体オブジェクトが配置される位置の座標や、立体オブジェクトの方向を指定する情報である。方向を指定する情報は、例えば、ベクトル情報や、仮想三次元空間内における所定の軸を回転軸とした回転角度等の情報である。あるいは、仮想三次元空間内における座標軸と、立体オブジェクトに設定される座標軸との位置関係を示す情報と考えても良い。例えば、仮想三次元空間内における座標軸を基準として、立体オブジェクトに設定される各座標軸をベクトルで表した情報であっても良い。また、オブジェクト配置情報は、立体オブジェクトの大きさ等を指定する情報を含むものであっても良い。立体オブジェクトの位置を指定する座標は、仮想三次元空間内に設定された絶対的な座標であっても良いし、他の立体オブジェクト等に対して設定された相対的な座標であっても良い。また、立体オブジェクトの位置を指定する座標は、立体オブジェクトを構成する辺等が集まる頂点の座標であっても良いし、立体オブジェクトの中心等の位置の座標であっても良い。オブジェクト配置情報は、経時的に立体オブジェクトの配置が変化する動画像用のオブジェクト配置情報であっても良い。例えば、オブジェクト配置情報が複数フレームの情報を有し、フレーム毎に、立体オブジェクトの配置が指定されていても良い。
 なお、ここではオブジェクト配置情報と立体オブジェクトの形状情報とをそれぞれ設けた場合について説明するが、形状情報格納部3101とオブジェクト配置情報格納部3102とを一の格納部で構成するとともに、オブジェクト配置情報を形状情報内に含めるようにしても良い。例えば、形状情報の頂点の情報を立体オブジェクトが配置される空間の座標系の座標で指定することで、形状情報をオブジェクト配置情報としても利用できるようにして、立体オブジェクトの配置の指定も可能としてもよい。なお、各立体オブジェクトを用いてレンダリングにより作成された二次元の画像を、二次元の背景画像上等に配置して最終的な出力画像を作成する場合等においては、オブジェクトの配置される位置の情報は、二次元の情報、例えばxy座標等の座標情報であってもよい。
 また、オブジェクト配置情報は、複数の立体オブジェクト同士がグループ化されているか否か等のグループ化の状況を管理する情報を有していても良い。グループ化の状況を管理する情報は、例えば、一のグループを構成する立体オブジェクトに、属するグループを識別するためのグループ識別情報を対応付けることや、同じグループに含まれる立体オブジェクトの識別情報を一のレコードの複数の項目で管理するデータベース等であっても良い。
 なお、本実施の形態におけるグループとは、必ずしも上述したようにグループ化状況を管理する情報で管理される立体オブジェクトのグループのみに限るものではなく、結果として、1以上の立体オブジェクトをグループとして、実行部3105等が判断可能な状態であればよい。例えば、立体オブジェクトのグループは、立体オブジェクトの配置に応じて判断可能なグループであっても良い。具体的には、上述したように一のウィンドウ内に配置されている1以上の立体オブジェクトを、一のグループと考えても良い。また、立体オブジェクトが階層化されて管理されている場合、一の階層に属する立体オブジェクトや、一の立体オブジェクトに従属している立体オブジェクトを一のグループと考えても良い。また、予め指定された領域内に配置されている立体オブジェクトを、一のグループの立体オブジェクトと考えても良い。このような予め指定された領域を指定する情報は、例えば、図示しない記憶媒体等に格納される。予め指定された領域は、例えば、購入対象物についての立体オブジェクトが配置される領域である。また、同じ属性を有する、あるいは同じ属性と対応付けられた立体オブジェクトを一のグループの立体オブジェクトと考えても良い。具体例を挙げると、立体オブジェクトが商品についての情報が配置されている立体オブジェクトである場合を例に挙げて説明すると、ユーザが「ショッピングカートに入れた」ことを示す情報と対応付けられた立体オブジェクトを一のグループの立体オブジェクトと考えても良い。また、購入対象の商品リストに登録された立体オブジェクトを一のグループの立体オブジェクトと考えても良い。なお、オブジェクト配置情報は、例えば、後述する実行部3105が立体オブジェクトの配置を変更する際に、実行部3105等により変更される。
 オブジェクト配置情報格納部3102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、このオブジェクト配置情報格納部3102を、例えば、デフォルトで用意されたオブジェクト配置情報が予め格納されている格納部(図示せず)等から読み出したデフォルトのオブジェクト配置情報が一時的に格納され得るテンポラリの格納部等と考えても良い。
 配置用情報格納部3103には、1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る。具体的には、配置用情報格納部3103には、形状情報格納部3101に格納されている1以上の各立体オブジェクトの1以上の面にそれぞれ配置される配置用情報が格納され得る。配置用情報は、各立体オブジェクトの1以上の面に配置されれば良く、全ての面に配置されていなくてもよい
 配置用情報は、立体オブジェクトを構成する面に配置して出力、例えば表示可能な情報であれば、静止画や動画等の画像情報や、テキスト情報等、どのような情報であっても良い。画像情報は、結果的に出力用の画像情報が構成可能な情報であれば良く、例えば、ベクターデータであってもラスタデータであっても良い。また、ここで述べる配置とは、いわゆる立体オブジェクトの面に対する画像情報等のマッピングと考えても良い。また、配置用情報は、マッピング対象となる情報、例えばテクスチャ情報と考えても良い。配置用情報のデータ構造は問わない。例えば配置用情報は、XML形式等のタグ付けされた情報であっても良い。また、配置用情報は、テーブルや、データベースにより、例えば項目や属性等と対応付けて管理された情報でも良い。また、配置用情報は、予めグループ化されていても良い。
 配置用情報と、当該配置用情報が配置される立体オブジェクトの面とはどのように対応付けられていても良い。例えば、配置用情報またはその識別情報と、当該配置用情報に対応付けられた立体オブジェクトの面またはその面識別情報との組を、一のレコードの複数の項目として管理する管理情報等を用いて管理されても良い。具体的には、配置用情報と、当該配置用情報が配置される立体オブジェクトの識別情報と、当該立体オブジェクトの配置用情報が配置される面の識別情報とが対応付けられて管理されていても良い。この管理情報は、例えば図示しない格納部等に格納しておくようにすればよい。また、形状情報格納部3101と配置用情報格納部3103とが一の格納部により構成されており、形状情報が示す立体オブジェクトの面を示す情報と当該面に配置される配置用情報とが対応付けられて格納されていても良い。
 また、形状情報が示す立体オブジェクトの面に対して、当該面に配置される配置用情報を取得するための条件を示す情報である取得条件情報等が対応付けられて、形状情報格納部3101等に格納されていても良い。取得条件情報は、例えば、面に配置される配置用情報を検索するための検索式等の検索条件を示す情報である。この場合、各面に対応付けられた検索式等の情報を用いて検索を行うことで、面に配置される配置用情報を取得することが可能となる。
 なお、取得条件情報は、1以上の立体オブジェクトの面に配置される1以上の配置用情報を結果的に指定可能な情報であれば、どのような情報であっても良い。例えば、取得条件情報は、配置用情報が項目分けされている場合、その項目を指定する情報であってもよい。また、配置用情報が属性を有している場合、その属性を指定する情報であっても良い。また、配置用情報がタグ付けされている場合、タグを指定する情報であっても良い。また、配置用情報にインデックス情報が付与されている場合、このインデックスを指定する情報であっても良い。また、リンク情報等の配置用情報の場所やファイル名やディレクトリ等を指定する情報であっても良い。また、配置用情報を検索するための検索式や演算式であっても良い。なお、検索式は、必ずしも式の形で示されている必要はなく、検索に利用可能なキーワード等であっても良い。例えば、この検索式で示される取得条件情報は、「select」、「from」、「where」等の組み合わせ等である。なお、「select」は取得する配置用情報の項目、「from」は検索対象となる複数の配置用情報を指定する情報、「where」は検索のための条件を示す情報である(SQLの仕様を参照)。また、演算式で示される取得条件情報とは、例えば、1以上の配置用情報に対して行われる演算式であり、例えば、数値で表される2つの配置用情報を指定する情報と、これらの平均を算出する演算式等で表されたものや、現在の時間等に所定時間を加減算する演算式等で表されたもの等である。取得条件情報とは、出力対象となりうる全ての立体オブジェクトにそれぞれ個別に指定されていてもよいし、全ての立体オブジェクト共通に指定されていても良い。また、一部の立体オブジェクトに共通に指定されていても良い。また、立体オブジェクトに属性等が設定されている場合、この属性が一致する立体オブジェクトに共通の取得条件を指定しても良い。また、取得条件情報は、立体オブジェクトの各面に対して予め指定されていてもよいし、各面にランダムに指定されても良い。配置用情報格納部3103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 なお、形状情報格納部3101、オブジェクト配置情報格納部3102、配置用情報格納部3103に、形状情報や、オブジェクト配置情報や、配置用情報が蓄積される過程は問わない。例えば、記録媒体を介して形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部3101、オブジェクト配置情報格納部3102、配置用情報格納部3103に蓄積されてもよく、通信回線等を介して送信された形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部3101、オブジェクト配置情報格納部3102、配置用情報格納部3103に蓄積されてもよく、入力デバイスを介して入力された形状情報や、オブジェクト配置情報や、配置用情報が、それぞれ、形状情報格納部3101、オブジェクト配置情報格納部3102、配置用情報格納部3103に蓄積されてもよい。また、形状情報格納部3101や、オブジェクト配置情報格納部3102や、配置用情報格納部3103に格納されている形状情報や、オブジェクト配置情報や、配置用情報は、例えば図示しない受付部等が受け付けた形状情報や、オブジェクト配置情報や、配置用情報により適宜更新されるようにしても良い。また、1以上の立体オブジェクトについての形状情報とオブジェクト配置情報との組合せ、あるいは、形状情報とオブジェクト配置情報と配置用情報との組合せ等を、FLASH(登録商標)形式のファイル等の一のファイルに格納するようにしてもよい。この場合、形状情報格納部3101とオブジェクト配置情報格納部3102との組合せや、形状情報格納部3101とオブジェクト配置情報格納部3102と配置用情報格納部3103との組合せ等を一の格納部で実現しても良い。配置用情報格納部3103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 操作受付部3104は、形状情報格納部3101に格納されている形状情報が示す1以上の立体オブジェクトに対する操作を受け付ける。操作受付部3104が立体オブジェクトについて受け付ける操作は、どのような操作であっても良い。この操作は、例えば、例えば立体オブジェクトに関して何らかの変更を行うための操作である。例えば、立体オブジェクトの配置に関する操作のうちの予め指定された操作であっても良いし、立体オブジェクトの属性に関する操作のうちの予め指定された操作であっても良いし、立体オブジェクトに配置される配置用情報に関する操作のうちの予め指定された操作であっても良い。ここで述べる配置とは、位置や向き等を含む概念である。立体オブジェクトの配置に関する操作とは、立体オブジェクトの位置や向き等を変更するための操作等である。例えば、立体オブジェクトの配置に関する操作とは、立体オブジェクトの配置を変更させるための指示を与えるための操作、例えば「y軸に平行に50ピクセル移動」や「x軸を回転軸として90°回転」というコマンド等を与えるための操作であっても良いし、変更後の、立体オブジェクトの配置を指定する座標や向きの情報等を与えることでもよい。また、立体オブジェクトの配置に関する操作は、立体オブジェクトを所定の領域に移動させる操作であっても良い。立体オブジェクトの属性に関する操作とは、立体オブジェクトの属するグループ等の属性等を変更するための操作である。例えば、立体オブジェクトが商品に対応した立体オブジェクトであったとすると、この立体オブジェクトに対応した商品を購入対象として選択して、この立体オブジェクトに、購入対象であるという属性を与える操作を、立体オブジェクトの属性に関する操作と考えても良い。立体オブジェクトに配置される配置用情報に関する操作とは、例えば、立体オブジェクトに配置される配置用情報を変更する操作等である。例えば、配置用情報を、立体オブジェクトに対して割り当てる操作や、配置用情報の値を変更する操作等である。
 立体オブジェクトに対する配置に関する操作以外の操作は、例えば、立体オブジェクトをグループ化する操作である。例えば、立体オブジェクトを一のグループに対応付ける処理をグループ化と考えても良い。例えば、上述したように、立体オブジェクトに、購入対象であるという属性等の予め指定された所定の属性を与える操作が、立体オブジェクトをグループ化する操作と考えてよい。また、例えば、予め指定された領域に立体オブジェクトの位置を変更する操作がグループ化する操作である。立体オブジェクト等をグループ化する処理や、グループ化された立体オブジェクトの管理方法等については、公知技術であるので、ここでは詳細な説明を省略する。立体オブジェクトに対する操作は、通常は、操作対象となる立体オブジェクトを指定する情報を含む情報である。なお、操作受付部3104は、予め指定された所定の操作以外の操作を受けつけても良い。
 また、操作受付部3104は、後述する操作制限部3108によって制限された立体オブジェクトに対する操作について、その制限を解除するための操作を受け付けてもよい。立体オブジェクトに対する操作の制限を解除するための操作とは、例えば、予め指定されたパスワードやユーザ識別情報等を入力するための一連の操作である。あるいは予め指定された操作、例えば、予め指定されたメニューを選択する操作や、予め指定されたキーを押す操作等であってもよい。操作受付部3104が受け付ける操作は、後述する操作可否情報格納部3113に格納されている操作を制限する操作可否情報を、操作制限しない操作可否情報に変更させるための操作でもよい。
 ここで述べる受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。操作受付部3104は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 実行部3105は、操作受付部3104が受け付けた操作に応じて、1以上の各立体オブジェクトに対する処理を実行する。実行部3105が立体オブジェクトに対して実行する処理は、具体的には、操作受付部3104が受け付けた操作に応じた処理である。例えば、実行部3105は、操作受付部3104が受け付けた配置に関する操作に応じて、立体オブジェクトの配置が変更されるよう、オブジェクト配置情報格納部3102に格納されているオブジェクト配置情報を更新する。具体的には、ある立体オブジェクトに対して右方向に90°回転させるための操作を受け付けた場合、この操作に応じて立体オブジェクトが右方向に90°回転されるよう、オブジェクト配置情報を変更する。なお、各立体オブジェクトに対する処理を実行する、とは、立体オブジェクトの配置等を変更したりするだけでなく、オブジェクトに配置される配置用情報を変更する処理や、配置用情報を用いて予め指定されている演算を行ったりする処理や、立体オブジェクトを追加したり削除したりする処理等も含む。また、実行部3105は、操作受付部3104が受け付けた操作に応じて、立体オブジェクトに対する処理以外の処理を実行しても良い。
 実行部3105は、例えば、操作受付部3104が受け付けた予め指定された所定の操作に応じて、1以上の各立体オブジェクの1以上の面に配置される配置用情報を用いて予め指定された所定の演算を行うようにしてもよい。具体的には、実行部3105は、操作受付部3104が受け付けた操作が、予め指定された所定の操作であるか否かを判断し、所定の操作である場合に所定の演算を行う。所定の操作は、上述したように、立体オブジェクトをグループ化する操作等である。所定の演算とは、具体的には、1以上の各立体オブジェクトのそれぞれの面に配置される数値をパラメータとする演算である。演算は例えば、予め指定された演算式に数値を代入して行われても良いし、予め指定されたルールに従って演算が行われても良い。演算式や演算のルールは、例えば図示しない記憶媒体等に予め格納されている。ここで述べる演算は、四則演算のうちの1以上を含む演算である。例えば、演算は、四則演算のうちの1以上を組み合わせた演算である。具体的には、演算は、1以上の各立体オブジェクトのそれぞれの面に配置される数値の和演算、差演算、積演算、または商演算のうちの少なくとも一つを含む演算である。具体例を挙げると、各立体オブジェクトの面に配置された数値を加算する演算である。また、各立体オブジェクトの面に配置された数値に所定の係数等を乗算した値を加算する演算である。所定の操作であるか否かは、例えば、予め指定したコマンドを受け付けたか否かや、予め指定したイベントが発生したか否か等により判断される。所定の操作に応じてとは、所定の操作をトリガーとして一の演算が行われることであっても良いし、所定の操作によって、行われる演算が異なることであっても良いし、その両方であっても良い。また、実行部3105が、どの立体オブジェクトを演算の対象とするかは問わない。例えば、立体オブジェクトをグループに追加する操作を行った場合、同じグループに含まれる立体オブジェクトに配置されている情報を演算の対象としても良い。また、全ての立体オブジェクトを演算の対象としても良い。また、操作を行う際に指定された、あるいは選択された1以上の立体オブジェクトを演算の対象としても良い。
 実行部3105は、例えば、各立体オブジェクトに配置された情報のうちの、ユーザやデフォルト等により予め指定された情報を用いて演算を行う。実行部3105は、各立体オブジェクトに配置された情報のうちの、どの情報を演算に用いるようにしても良い。例えば、実行部3105は、各立体オブジェクトの予め指定された面に配置された数値等の情報を演算のパラメータとしても良い。例えば、立体オブジェクトの面にx1面、x2面等の識別情報が付与されている場合、x1面に配置された数値等だけを所定のパラメータとして用いて演算を行っても良い。また、各立体オブジェクトに配置された、予め指定された属性を有する数値等の情報を演算のパラメータとしても良い。予め指定された属性とは、どのような属性でも良く、例えば、価格や、数量等の属性である。例えば、実行部3105は、所定の操作の対象となった立体オブジェクトから、「円」という文字列を有する配置用情報を検出し、この配置用情報の数値をパラメータとして所定の演算を行っても良い。これにより、属性が価格である数値の演算が行うことができる。また、所定の操作の対象となった立体オブジェクトから、「価格」というタグが付与された配置用情報を検出し、この配置用情報に含まれる数値をパラメータとして所定の演算を行っても良い。
 例えば、立体オブジェクトが商品についての立体オブジェクトであり、その表面には、商品名や商品の価格の情報である配置用情報が配置されていたとする。そして、ユーザ等により、複数の立体オブジェクトについてグループ化を行う操作、例えば商品を示す複数の立体オブジェクトを購入対象に選択する処理が行われたとする。この場合、実行部3105は、グループ化する操作が行われた複数の立体オブジェクトのそれぞれについて、表面に配置されている配置用情報の中から、末尾に予めデフォルト等で指定されている「円」という文字が続いている数値を取得する。そして、実行部3105は、その数値に予め指定された消費税率、例えば「1.05」を乗算し、乗算して得られた値を加算して、ユーザが購入対象として選んだ商品の税込み価格の合計を算出する。
 実行部3105は、通常、MPUやメモリ等から実現され得る。実行部3105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 ロック面指定情報格納部3106には、形状情報が示す立体オブジェクトを構成する面のうちの、操作にロックをかけるための面であるロック面を指定する情報であるロック面指定情報が格納され得る。操作にロックをかける、とは、具体的には、立体オブジェクトに対して行われた1以上の操作を無効とすることである。ロック面とは、後述するように、操作にロックをかけるための判断対象となる面である。ロック面が指定可能な情報であればどのような情報であっても良い。
 ロック面指定情報は、形状情報が示す立体オブジェクトの面に、上述したように面識別情報が対応付けられている場合、ロック面となる面の面識別情報をロック面指定情報としても良い。また、立体オブジェクトの各面は、法線ベクトルで識別可能であるため、法線ベクトルを、ロック面指定情報としても良い。但し、この実施の形態においては、立体オブジェクトの外側に向かう法線ベクトルを指すものとする。あるいは、ロック面となる面を定義する、立体オブジェクトの頂点の座標群をロック面指定情報としても良い。また、立体オブジェクトが、予め指定された限られた数の配置パターンのみを有している場合等においては、各配置パターンのうちの、前面に表示される面がロック面である配置パターンを識別する情報をロック面指定情報として用いても良い。
 ロック面は、一の立体オブジェクトに複数指定されていても良い。ロック面指定情報は、各立体オブジェクト毎に個別に対応付けられていても良いし、複数の立体オブジェクトに一括して対応付けられていても良い。立体オブジェクトと、当該立体オブジェクトのロック面を指定するロック面指定情報とは、どのように対応付けられていても良い。例えば、対応するロック面指定情報と立体オブジェクトの識別情報(あるいは形状情報の識別情報)とが、対応付けられてロック面指定情報格納部3106に蓄積しておくようにしても良い。ロック面指定情報と立体オブジェクトの識別情報とが対応付けて蓄積される、ということは、例えば、対応するロック面指定情報と立体オブジェクトとが一のレコードの異なるフィールドの値として蓄積されることである。あるいは、対応するロック面指定情報と立体オブジェクトとを、一のレコードの異なるフィールドの値として有する管理情報を、ロック面指定情報格納部3106や図示しない記憶媒体等に蓄積しておくようにしても良い。
 ロック面指定情報格納部3106に立体オブジェクトと対応付けられたロック面指定情報が蓄積される過程は問わない。例えば、予め、デフォルト等で蓄積されていても良い。また、後述するロック面指定情報受付部3111が受け付けたロック面指定情報が、立体オブジェクトと対応付けられて蓄積されても良い。ロック面指定情報格納部3106は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 方向判断部3107は、配置された立体オブジェクトの、ロック面指定情報が指定するロック面が、予め指定された方向を向いているか否かを判断する。例えば、方向判断部3107は、オブジェクト配置情報等に応じて仮想三次元空間等に配置された立体オブジェクトの、ロック面指定情報が指定するロック面が、予め指定された方向を向いているか否かを判断する。方向判断部3107は、例えば、形状情報が示す立体オブジェクトを、当該形状情報に対応付けられたオブジェクト配置情報に応じて、例えばオブジェクト配置情報が示す位置や向きで、仮想三次元空間等に配置した場合に、その立体オブジェクトのロック面が予め指定された方向を向いているか否かを判断する。予め指定された方向は、具体的には、予め指定された操作以外の操作を無効とするか否かを判断するための方向である。操作をロックするか否かを判断するための方向と考えても良い。
 なお、方向判断部3107は、結果的にロック面が予め指定された方向を向いているか否かを判断できればよく、例えば、方向判断部3107は、ロック面指定情報が指定するロック面がある位置から見て所定の面であるか否かを判断してもよい。具体的には、方向判断部3107は、ロック面指定情報が指定するロック面が正面であるか否かを判断してもよい。ここで述べる正面とは、通常は、例えばディスプレイ等で出力された場合の、ユーザ側からみて前面に見える面である。ただし、立体オブジェクトが配置される座標系(ワールド座標系)において、予め指定された位置(例えばZ軸の正方向の位置から)から、予め指定された方向(例えばZ軸の原点に向かう方向)に向かって立体オブジェクトを見た場合に、前面に位置する立体オブジェクトの面を正面と考えても良い。
 方向判断部3107は、どのように立体オブジェクトのロック面指定情報が指定するロック面が、予め指定された方向を向いていると判断してもよい。例えば、各立体オブジェクトの面の中から、予め指定された方向を向いている面を検出し、この面が、ロック面指定情報が指定する面であるか否かを判断してもよい。具体的には、立体オブジェクトの各面の中から、予め指定された方向を向いている面を検出し、この予め指定された方向を向いている面の面識別情報と、ロック面指定情報である面識別情報とが一致するか否かを判断する。そして、一致する場合に、方向判断部3107は、ロック面が、予め指定された方向を向いていると判断する。一致しない場合、予め指定された方向を向いていないと判断する。
 なお、面がある方向を向く、とは、例えば、面の立体オブジェクトの外側に向かう法線が、ある方向と略平行であることを意味すると考えても良い。立体オブジェクトの面が、予め指定されている方向を向いているか否かは、例えば、立体オブジェクトの一の面の法線ベクトルが、予め指定されている方向を示すベクトルと略平行であるか否かを検出することで判断可能である。あるいは、立体オブジェクトの一の面が、予め指定されている方向を示すベクトルと略垂直であるか否かを検出することでも判断可能である。また、上述したように、立体オブジェクトの取り得る配置についての配置パターンが限られており、いずれの配置パターンにおいても、立体オブジェクトの一の面が上述した予め指定された方向を示す面となるよう設定されているとすると、これらの配置パターンのうちの、予め指定された方向を示している立体オブジェクトの一の面がロック面となる配置パターンを示す識別情報を、ロック面指定情報として用いてもよい。この場合、現在の立体オブジェクトの配置を示す配置パターンの識別情報が、ロック面指定情報と一致する場合、予め指定された方向を向いていると判断することができる。
 ここで、略平行とは、完全に平行である場合に加えて、完全に平行な状態から、予め指定された許容範囲だけ傾いている場合も含む状態であることを示す。略垂直とは、完全に垂直である場合に加えて、完全に垂直な状態から、予め指定された許容範囲だけ傾いている場合も含む状態であることを示す。予め指定された許容範囲は、予め設定しておくようにすればよい。
 また、ロック面指定情報が指定する各立体オブジェクトのロック面が、予め指定された方向を向いているか否かを判断するようにしても良い。具体的には、各ロック面の法線ベクトルを取得し、この法線ベクトルが、予め指定された方向に略平行であるか否かを判断するようにする。そして、略へ移行であると判断された場合、方向判断部3107は、ロック面が予め指定された方向を向いていると判断する。
 例えば、立体オブジェクトが立方体や直方体であり、各面がそれぞれオブジェクト座標系のx軸、y軸、z軸に垂直である場合において、予め指定された方向が、立体オブジェクトの配置されるワールド座標系のX軸、Y軸、Z軸のいずれかに平行な方向であったとすると、予め指定された方向を示す軸と、立体オブジェクトのロック面に垂直な軸とが略平行であって、2つの軸の正の方向を示す向きが、予め指定された相対的な関係となる場合、ロック面が予め指定された方向を向いていると判断しても良い。
 なお、面がある方向を向く、ということを、例えば、面の立体オブジェクトの外側に向かう法線が、ある一点、もしくは予め指定されたその一点の周辺を含む領域を通過することと考えても良い。例えば、一の面が、正面であるということは、例えば、その法線ベクトルの延長上に、立体オブジェクトの画面をレンダリングする際の視点(カメラ位置)となる点が存在することと考えても良い。このような場合、例えば、立体オブジェクトの、レンダリングの際の視点との距離が最も近い面を、正面となる面と判断するようにしても良い。あるいは視点の代わりに、予め指定された座標を用いても良い。
 方向判断部3107は、操作受付部3104が、回転や移動等のオブジェクトの配置を変更する操作を受け付けた場合にだけ上記の判断を行うようにしても良い。また、立体オブジェクトのロック面が、予め指定された方向を向いていると判断した直後から、後述するように立体オブジェクトの操作に対する制限が解除されるまでは、上記の判断を行わないようにしても良い。あるいは、上記の判断を、一定または不定の所定のタイミングで繰り返すとともに、後述するように立体オブジェクトの操作に対する制限が解除された直後から、立体オブジェクトに対する所定回数、例えば1回の操作が行われるまでは、上記の判断を行わないようにしても良い。
 方向判断部3107は、通常、MPUやメモリ等から実現され得る。方向判断部3107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 操作制限部3108は、方向判断部3107が、ロック面指定情報が指定するロック面が予め指定された方向を向いていると判断した場合に、立体オブジェクトに対する操作を制限する。例えば、方向判断部3107が、立体オブジェクトのロック面が、正面であると判断した場合に、操作制限部3108は、立体オブジェクトに対する操作を制限する。立体オブジェクトに対する操作を制限する、ということは、例えば、立体オブジェクトに対する操作の一部または全てを無効とする、ということである。具体的には、立体オブジェクトを回転させる操作を含む操作を無効とすることが好ましい。立体オブジェクトを回転できないようにして、立体オブジェクトの様々な面に配置されている配置情報が第三者に見られないようにすることができ、セキュリティを確保できるからである。
 操作の制限対象となる立体オブジェクトは、例えば、少なくとも、ロック面が予め指定された方向を向いている立体オブジェクトを含む立体オブジェクトである。例えば、ロック面が予め指定された方向を向いている立体オブジェクトに対する操作だけが制限されても良い。また、全ての立体オブジェクトに対する操作が制限されても良い。立体オブジェクトに対する操作を制限するということは、立体オブジェクトに対する操作の少なくとも一部にロックをかけることと考えても良い。立体オブジェクトに対する操作も含めて、情報処理装置31に対する他の操作も制限するようにしても良い。なお、立体オブジェクトの操作に、後述する操作の制限を解除するための操作を含むと考えた場合、操作制限部3108が行う操作の制限は、例えば、立体オブジェクトに対する操作のうちの、少なくともこの操作の制限を解除するための操作を除いた操作を無効とすることとすることが好ましい。なお、立体オブジェクトの操作に、後述する操作の制限を解除するための操作が含まれない場合、操作制限部3108が行う操作の制限は、例えば、立体オブジェクトに対する全ての操作を無効とすることとであってもよい。
 操作を制限するということは、結果的に、立体オブジェクト対して行われた少なくとも一部の操作が無効になればよく、どのように、操作を無効にするかは問わない。例えば、操作受付部3104が、立体オブジェクトに対する立体オブジェクトに対する操作を受け付けないよう、操作受付部3104に指示することであっても良い。また、操作受付部3104が、操作を受け付けた後、その操作が立体オブジェクトに対する操作であった場合、その操作により発生する指示やイベント等を無視したり、破棄したりするよう、操作受付部3104に指示することであっても良い。また、操作受付部3104が受け付けた操作が無効の対象となる操作である場合、実行部3105に対し、その操作に応じて受け付ける指示等を無視したり、指示に応じた操作を行わないよう指示することであっても良い。どのような操作を制限するかを設定する情報は、例えば、予め図示しない記憶媒体等の格納部に格納しておくようにすればよい。例えば、制限によって無効とされる操作によって発生するイベントや指示等のリストの情報を、予め格納しておくようにすればよい。
 例えば、操作制限部3108は、方向判断部3107が示す、ロック面指定情報が指定するロック面が予め指定された方向を向いているか否かの判断結果を、一定または不定の所定のタイミング等で繰り返し取得し、取得した判断結果が、ロック面が予め指定された方向を向いていることを示す判断結果である場合に、立体オブジェクトに対する操作を制限するよう、操作受付部3104や実行部3105に指示するようにしても良い。
 また、操作制限部3108は、方向判断部3107がロック面指定情報の指定するロック面が予め指定された方向を向いているか否かの判断結果が取得した以降は、方向判断部3107の判断結果に関係なく、立体オブジェクトに対する操作を制限するよう、操作受付部3104等に指示するようにしても良い。
 また、操作制限部3108は、操作可否情報格納部3113に格納されている操作可否情報が、操作を制限することを示す操作可否情報であるか否かを判断し、操作を制限することを示す操作可否情報である場合、立体オブジェクトに対する操作を制限するよう、操作受付部3104等に指示するようにしても良い。
 操作制限部3108は、例えば、操作受付部3104が立体オブジェクトに対する操作の制限を解除するための操作を受け付けた場合に、操作に対する制限を解除する。操作受付部3104が受け付ける立体オブジェクトに対する操作の制限を解除するための操作は、予め指定されたパスワードを入力する一連の操作や、特殊なキーの組合せを入力する操作である。なお、操作受付部3104が受け付けた操作の制限を解除するためのパスワード入力等の操作において、その入力内容が適切なものであるか否か等を判断する処理や、その判断のための構成は、通常の認証処理等において公知の技術であるので、ここでは説明を省略する。このような構成は、操作受付部3104が有していても良いし、操作制限部3108が有していても良い。
 例えば、操作受付部3104が立体オブジェクトに対する操作の制限を解除するための操作を受け付けた場合に、操作制限部3108は、立体オブジェクトに対する操作の制限を解除するよう、操作受付部3104や実行部3105に指示するようにしても良い。
 なお、操作制限部3108は、操作受付部3104が立体オブジェクトに対する操作の制限を解除するための操作を受け付けた場合、具体的には、操作受付部3104が、後述する操作可否情報格納部3113に格納されている操作を制限する操作可否情報を、操作制限しない操作可否情報に変更させるための操作を受け付けた場合に、操作可否情報格納部3113に格納されている操作を制限することを示す操作可否情報を、操作を制限しないことを示す操作可否情報に変更してもよい。
 なお、上記のように立体オブジェクトに対する操作の制限が解除された場合、その直後の、立体オブジェクトに対する所定回数、例えば1回の操作においては、方向判断部3107がロック面が予め指定された方向を向いているか否かの判断を行わないようにする、もしくは、操作制限部3108が方向判断部3107の判断結果に関係なく、操作の制限を行わないようにして、立体オブジェクトに対する操作を受け付け可能として、解除直後に、立体オブジェクトの操作に制限が再度加えられることを防ぐようにしても良い。
 また、上記のように立体オブジェクトに対する操作の制限が解除された場合、立体オブジェクトに対する所定回数の、配置を変更する操作を受け付けるまで、方向判断部3107はロック面が予め指定された方向を向いているか否かの判断を行わないようにする、もしくは、操作制限部3108が方向判断部3107の判断結果に関係なく、操作の制限を行わないようにして、立体オブジェクトに対する操作を受け付け可能としてもよい。
 あるいは、立体オブジェクトに対する制限が解除された直後に、立体オブジェクトのロック面が、予め指定された方向を向かないよう立体オブジェクトの配置を自動的に変更して、再度操作の制限がかからないようにしてもよい。
 操作制限部3108は、通常、MPUやメモリ等から実現され得る。操作制限部3108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 画像情報構成部3109は、立体オブジェクトの形状情報と、形状情報が示す立体オブジェクトの1以上の面に配置される配置用情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトの画像情報を構成する。また、画像情報構成部3109は、立体オブジェクトの形状情報と、形状情報が示す立体オブジェクトの1以上の面に配置される配置用情報と、立体オブジェクトに対応するオブジェクト配置情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトを、オブジェクト配置情報が示すよう配置した画像情報を構成しても良い。また、画像情報構成部3109は、上述した操作の制限を解除するための入力インターフェース画面、例えばパスワード入力画面等を、操作が制限された立体オブジェクト等に対する操作や、情報処理装置31に対する他の操作に応じて構成し、後述する出力部110から出力するようにしてもよい。
 画像情報構成部3109は、通常、MPUやGPUやメモリ等から実現され得る。画像情報構成部3109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 出力部110は、画像情報構成部3109が構成した画像情報を出力する。ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
 出力部110は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部110は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
 ロック面指定情報受付部3111は、形状情報格納部3101に格納されている一の立体オブジェクトに対するロック面指定情報を受け付ける。例えば、ロック面指定情報受付部3111は、マウスやタッチパッドやキーボード等により、立体オブジェクトの1以上の面を指定し、この指定した面をロック面を設定する指示を与えることで、この指定された面をロック面に指定するロック面指定情報を取得する。あるいは、予め用意された一の立体オブジェクトに対するロック面指定情報をユーザ等から受けつけても良い。
 ロック面指定情報受付部3111に対する情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。ロック面指定情報受付部3111は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 ロック面指定情報蓄積部3112は、形状情報格納部3101に格納されている1以上の立体オブジェクトのそれぞれについて、ロック面指定情報受付部3111が受け付けたロック面指定情報が指定する面と同じ面を指定するロック面指定情報を取得し、取得したロック面指定情報を各立体オブジェクトと対応付けて、ロック面指定情報格納部3106に格納する。ロック面指定情報が指定する面と同じ面とは、例えば、複数の立体オブジェクトが同じ、もしくは相似形の立体オブジェクトであって、複数の立体オブジェクト間で、一致、もしくは対応する面に、同じ識別情報が割り当てられていた場合、一の立体オブジェクトの一の面を指定するロック面指定情報をロック面指定情報受付部3111が受け付けた場合、この一の面の識別情報と同じ識別情報を有する他の立体オブジェクトの面を指定するロック面指定情報が取得され、取得したロック面指定情報が各立体オブジェクトと対応付けられて、ロック面指定情報格納部3106に蓄積される。
 ロック面指定情報蓄積部3112は、通常、MPUやメモリ等から実現され得る。ロック面指定情報蓄積部3112の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 操作可否情報格納部3113には、立体オブジェクトに対する操作の制限を行うか否かを示す情報である操作可否情報が格納され得る。操作可否情報は、立体オブジェクトと個別に対応付けて格納されていても良いし、対応付けて格納されていなくても良い。操作可否情報は、結果的に、立体オブジェクトに対する操作の制限を行うか否かを示すことが可能な情報であればよい。操作可否情報は、例えば、操作の制限が行われることを示す情報だけであっても良い。この場合、操作可否情報が蓄積されていなければ、結果的に、操作可否情報によって操作が可能であることが示されていることとなる。操作可否情報は操作の制限が行われている場合と行われていない場合とで値が異なる、もしくは値の有無が変更されるいわゆるフラグの情報であってもよい。なお、操作可否情報格納部3113には、方向判断部3107等が、最新の操作可否情報が参照できるように、操作可否情報が蓄積されれば、操作可否情報がどのように蓄積されても良い。例えば、新しい操作可否情報が蓄積される際に、古い操作可否情報を上書きするようにしても良い。あるいは、古い操作可否情報には、最新でないことを示すフラグ等の情報を付与するようにしてもよい。操作可否情報格納部3113は、不揮発性の記録媒体でも、揮発性の記録媒体でも良い。
 次に、情報処理装置31の動作について図42のフローチャートを用いて説明する。ここでは、一の立体オブジェクトのロック面が所定の方向を向いていると判断された場合、全ての立体オブジェクトに対する操作を制限する場合を例に挙げて説明する。
 (ステップS4200)画像情報構成部3109は、形状情報格納部3101から立体オブジェクトの形状情報を読み出し、各立体オブジェクトに対応したオブジェクト配置情報および配置用情報を、オブジェクト配置情報格納部3102および配置用情報格納部3103から読み出して、各面に配置用情報が配置された立体オブジェクトが、オブジェクト配置情報が示す位置および方向に配置された画像情報を構成する。
 (ステップS4201)出力部110は、画像情報構成部3109が構成した画像情報を出力する。例えば、モニタ等に表示する。
 (ステップS4202)操作制限部3108は、操作可否情報格納部3113に格納されている操作可否情報が、立体オブジェクトに対する操作が制限されていることを示すものであるか否かを判断する。ここでは、例として、1以上の立体オブジェクトに対して一の操作可否情報だけが格納され得るものであるとする。なお、操作可否情報の初期値は、操作が制限されていないことを示す値であるとする。操作が制限されていることを示す操作可否情報でない場合、どのような操作を受け付けても良いことを操作受付部3104に指示してステップS4205に進む。具体的には、操作制限を解除する処理に限らない立体オブジェクトに対する処理を指示するための操作を受け付けて良いことを操作受付部3104に指示する。また、操作が制限されていることを示す操作可否情報である場合、制限された操作だけを受け付けるよう操作受付部3104に指示してステップS4214に進む。ここでは、例として、制限された操作が、操作制限を解除するための処理であるとする。
 (ステップS4203)ロック面指定情報受付部3111は、ロック面指定情報を受けつけたか否かを判断する。受け付けた場合、ステップS4216に進み、受け付けていない場合、ステップS4204に進む。
 (ステップS4204)操作受付部3104は、立体オブジェクトに対する操作を受け付けたか否かを判断する。ここで受け付ける操作は、どのような操作であっても良い。受け付けた場合、ステップS4205に進み、受け付けていない場合、ステップS4203に戻る。
 (ステップS4205)実行部3105は、操作受付部3104が受け付けた操作に応じた処理を、立体オブジェクトに実行させる。例えば、立体オブジェクトの配置、例えば位置や、向きを変更する処理を実行しても良い。また、配置の変更に応じて、立体オブジェクトに配置されている配置用情報を用いて、予め指定された演算を行っても良い。また、操作に応じて、立体オブジェクトに配置されている配置用情報を変更してもよい。また、操作受付部3104が受け付けた操作が、予め指定された操作である場合、操作に応じて、オブジェクト配置情報を変更し、立体オブジェクトの配置用情報から、数値を取得し、その数値の演算を行うようにしても良い。
 (ステップS4206)方向判断部3107は、カウンターnに1を代入する。
 (ステップS4207)方向判断部3107は、カウンターkに1を代入する。
 (ステップS4208)方向判断部3107は、n番目の立体オブジェクトにk番目のロック面があるか否かを判断する。具体的には、n番目の立体オブジェクトに対応したk番目のロック面指定情報がロック面指定情報格納部3106に蓄積されているか否かを判断する。蓄積されている場合、ステップS4209に進み、蓄積されていない場合、ステップS4211に進む。
 (ステップS4209)方向判断部3107は、k番目のロック面が予め指定された方向を向いているか否かを判断する。例えば、k番目のロック面指定情報が示す面の法線ベクトルが、予め指定された方向を示す法線ベクトルと略平行であるか否かを判断する。そして、略平行であれば、予め指定された方向を向いていると判断し、略平行でなければ、予め指定された方向を向いていないと判断する。また、立体オブジェクトの取り得る配置パターンが限られている場合(例えば、立体オブジェクトの取り得る向きがいくつかのパターンに限定されている場合)、各配置パターンで立体オブジェクトを配置した場合の、予め指定された向きとなる面の面識別情報を、配置パターンと対応付けてオブジェクト配置情報格納部3102等に予め格納しておく。そしてオブジェクト配置情報を用いて取得される現在の立体オブジェクトの配置パターンから、予め指定された方向を向いている面の面識別情報を取得し、この面識別情報が示す面が、k番目のロック面指定情報が示す面と一致するか否かを判断するようにしても良い。そして一致する場合、ロック面が予め指定された方向を向いていると判断するようにし、一致しない場合、ロック面が予め指定された方向を向いていないと判断するようにしてもよい。k番目のロック面が予め指定された方向を向いていない場合、ステップ110に進み、予め指定された方向を向いている場合、ステップS4213に進む。
 (ステップS4210)方向判断部3107は、カウンターkを1インクリメントする。そして、ステップS4208に戻る。
 (ステップS4211)方向判断部3107は、カウンターnを1インクリメントする。
 (ステップS4212)方向判断部3107は、n番目の立体オブジェクトがあるか否かを判断する。ある場合、ステップS4207に戻り、ない場合、ステップS4203に戻る。
 (ステップS4213)方向判断部3107は、操作可否情報格納部3113に格納されている操作可否情報を、立体オブジェクトに対する操作を制限することを示す操作可否情報に変更する。例えば、既に格納されている操作可否情報を上書きするように、立体オブジェクトに対する操作を制限することを示す操作可否情報を蓄積する。そして、ステップS4202に戻る。
 (ステップS4214)操作受付部3104は、立体オブジェクトに対する操作制限を解除するための操作を受け付けたか否かを判断する。例えば、操作制限を解除するための特定の指示の入力、例えば特定のキーの組合せの入力を受け付けたか否かを判断する。あるいは、操作制限を解除するために用意されたパスワードと一致するパスワードを受け付けたか否かを判断してもよい。受け付けた操作が、操作制限を解除するための操作である場合、ステップS4215に進み、解除するための操作でない場合、ステップS4202に戻る。
 (ステップS4215)操作制限部3108は、操作制限を行わないことを示す操作可否情報を操作可否情報格納部3113に蓄積する。例えば、操作制限部3108は、操作可否情報格納部3113に格納されている操作可否情報を、操作に対する制限が行われていないことを示す操作可否情報で上書きして蓄積する。そして、操作受付部3104にどのような操作を受けつけても良いことを指示して、ステップS4203に戻る。
 なお、各立体オブジェクトに対して個別に、操作可否情報を設けるようにし、ステップS4202において、操作対象となる1以上の各立体オブジェクトについて、それぞれに対応する操作可否情報が操作を制限することを示すものであるか否かを判断し、1以上の操作可否情報が操作を制限することを示すものである場合には、ステップS4214に進み、操作を制限することを示す操作可否情報がない場合には、ステップS4203に進むようにしてもよい。
 また、操作を制限することを示す操作可否情報に応じて行われる操作の制限によって受け付け可能となる操作は、制限解除の操作に限るものではなく、例えば、制限解除の操作に加えて、その他の操作も受け付け可能として良い。
 また、ステップS4202とステップS4214との間のステップとして、制限解除のためのパスワード入力のインターフェース画面等を出力するための操作を受け付けたか否かを判断するステップや、この操作に応じてインターフェース画面を出力するステップや、このインターフェース画面を介して、パスワード入力を受け付けたか否かを判断するステップや、入力されたパスワードが、制限解除のためのパスワードであるか否かを判断するステップ等を設けるようにしても良い。この場合、入力されたパスワードが制限解除のパスワードである場合に、ステップS4214で制限解除の操作を受け付けたと判断するようにしても良い。
 なお、図42のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 以下、本実施の形態における情報処理装置31の具体的な動作について説明する。ここでは、情報処理装置31により、商品についてのカタログを表示する場合を例に挙げて説明する。ここでは、立体オブジェクトが立方体である場合を例に挙げて説明する。なお、本具体例において示しているサイズや角度等は、あくまでも説明のための便宜上のものであり、図等の立体オブジェクトの配置やサイズ等を正確に示さない場合がある。
 図43は、形状情報格納部3101に格納されている形状情報を管理するための形状情報管理表である。形状情報は、ここでは例として予め用意されたものが蓄積されているものとする。形状情報管理表は、「オブジェクトID」、「サイズx」、「サイズy」、「サイズz」、「x1面」、「x2面」、「y1面」、「y2面」、「z1面」、「z2面」という項目を有している。「オブジェクトID」は立体オブジェクトを識別するための識別情報である。「サイズx」は、立体オブジェクトのx軸方向の長さ、すなわち幅である。「サイズy」は、立体オブジェクトのy軸方向の長さ、すなわち高さである。「サイズz」は、立体オブジェクトのz軸方向の長さ、すなわち奥行きである。ただし、ここで述べるx軸、y軸、z軸は、立体オブジェクト自身に設定されるx軸、y軸、z軸であり、仮想三次元空間に設定される絶対的なX軸、Y軸、Z軸とは異なる。立体オブジェクト自身に設定されるx軸、y軸、z軸の原点は、例えば、立体オブジェクトの中心や重心に設定される。なお、各サイズの単位等は、ピクセル等どのような単位であっても良い。x1面、x2面、y1面、y2面、z1面およびz2面は、各立体オブジェクトを構成する面の面識別情報である。これらの面識別情報が示す面は、図示していないが、各面を構成する立体オブジェクトの頂点の座標等を用いて定義されているものとする。面の定義や、面に識別情報を対応付ける技術等については、三次元モデリングの技術等において公知であるので、ここでは説明を省略する。形状情報管理表の「x1面」、「x2面」、「y1面」、「y2面」、「z1面」および「z2面」の項目の値は、各面識別情報が示す面の法線のベクトルを示している。ただし、ここでの法線は、立体オブジェクト内から外側に向かう方向のベクトルであるとする。また、ここでは例として、各立体オブジェクトの中心にx軸、y軸、z軸の0点が位置しているものとする。ここでは、「x1面」はx軸の正方向を法線とする面、「x2面」はx軸の負方向を法線とする面、「y1面」はy軸の正方向を法線とする面、「y2面」はy軸の負方向を法線とする面、「z1面」はz軸の正方向を法線とする面、「z2面」はz軸の負方向を法線とする面である。ここでは、形状情報管理表により、3つの立体オブジェクトの形状情報が管理されている。
 図44は、立体オブジェクトと、x1面、x2面、y1面、y2面、z1面およびz2面との関係を示すための模式図である。この図においては、z1面が正面、z2面が背面、x1面が右側面、x2面が左側面、y1面が上面、y2面が底面となっている。
 図45は、オブジェクト配置情報格納部3102に格納されているオブジェクト配置情報を管理するためのオブジェクト配置情報管理表である。オブジェクト配置情報は、ここでは例として、予め用意されたものが蓄積されているものとする。オブジェクト配置情報は、「オブジェクトID」、「座標(X,Y,Z)」、および「回転角度(X,Y,Z)」という項目を有している。「オブジェクトID」は、立体オブジェクトを識別するための識別情報であり、上述した形状情報の「オブジェクトID」と対応している。「座標(X,Y,Z)」は、同じレコードの「オブジェクトID」が示す立体オブジェクトが配置される仮想三次元空間内の座標を示す情報であり、ここでは、立体オブジェクトの中心の座標である場合について説明する。ここでは、この座標の値は、仮想三次元空間内の座標の値であるとする。なお、ここでは、仮想三次元空間内の横方向(幅方向)をX軸、縦方向(高さ方向)をY軸、奥行き方向をZ軸とする。また、「回転角度(X,Y,Z)」は、仮想三次元空間のX軸、Y軸、Z軸をそれぞれ回転軸とした回転角度を示す。回転角度は、立体オブジェクトの配置される方向を示す情報と考えても良い。例えば、立体オブジェクトをY軸を回転軸にして90度回転させると、立体オブジェクトのx軸とy軸は、それぞれ仮想三次元空間のX軸およびY軸とそれぞれ直交することとなる。なお、それぞれの値が(0,0,0)である場合、立体オブジェクトのx軸、y軸、z軸が、それぞれ仮想三次元空間内のX軸、Y軸、Z軸に平行に配置されるものとする。なお、立体オブジェクトが配置される位置の奥行きを変更する必要がない場合、例えば、レンダリングした立体オブジェクトの画像を2次元平面上に配置する場合等においては、Z座標の値は省略しても良い
 図46は、配置用情報格納部3103に格納されている配置用情報を示す図である。ここでは、例として配置用情報がXML(Extensible Markup Language)形式の情報を構成している場合について説明する。ただし、配置用情報は、XML形式の情報でなくても良く、例えば、情報を項目や属性別等に参照可能な形式のデータであれば良い。図46に示したXML形式の情報においては、便宜上、配置用情報は、開始タグと終了タグとにより囲まれた情報とで構成される情報であると考える。例えば、「<商品名>」と「</商品名>」とで区切られた範囲のタグ付けられた情報が、一の商品の商品名を示す配置用情報である。また、「<価格>」と「</価格>」とで区切られた範囲のタグ付けられた情報が、一の商品の詳細について示す情報のうちの価格を示す配置用情報である。また、「<商品>」と「</商品>」で区切られた範囲の配置用情報は、一の商品についての配置用情報であり、一の立体オブジェクトに配置され得る配置用情報であるとする。ここでは、例として、配置用情報が、携帯電話についての情報であるとする。なお、配置用情報として、ファイル等を指定する情報、例えばリンク情報が含まれる場合、これにより指定されたファイルの情報が配置用情報となる。リンク先の情報は、画像を構成する際等に適宜読み出される。配置用情報は、ここでは例として、予め用意されたものが蓄積されているものとする。
 図47は、配置用情報格納部3103に格納されている、配置用情報と、当該配置用情報が配置される立体オブジェクトと、配置される面との対応関係を管理するための配置用情報管理表を示す図である。配置用情報は、立体オブジェクトと対応付けて管理されている。配置指定情報管理表は、「オブジェクトID」という項目と、「商品ID」という項目と、「配置面」という項目とを有している。「配置面」は更に、「z1面」、「x1面」、「y1面」という項目を有している。「オブジェクトID」は、図43に示したオブジェクトIDに相当する。「商品ID」は、「オブジェクトID」が示す立体オブジェクトと対応付けられた配置用情報を指定する情報であり、ここでは、図46に示した配置用情報のうちの商品IDタグを示す情報である。即ち、この「商品ID」の値と一致する要素を有する商品IDタグと対応付けられた配置用情報が、「配置用情報」が指定する配置用情報である。「配置面」は、立体オブジェクトの各面に配置される配置用情報のタグを指定する情報であり、「z1面」、「x1面」、「y1面」は、それぞれ、立体オブジェクトの面識別情報がz1面、x1面、y1面である面にそれぞれ配置される配置用情報のタグを指定する情報である。ここでは、立体オブジェクトの各面には、「配置面」の値が示すタグが付与された情報が配置されるものとする。例えば、立体オブジェクト「OBJ1」のz1面には、「商品ID」タグの値が、「SER1345」で、「配置面」の「z1面」の項目の値である「商品名」タグが付けられた配置用情報が配置される。なお、「配置面」の項目の値であるタグは、配置用情報を取得するための条件を示す情報である取得条件情報と考えても良い。
 まず、例えば、ユーザが、情報処理装置31に対して、商品についてのカタログを表示する指示を与えたとすると、画像情報構成部3109は、図45に示したオブジェクト配置情報管理表で管理されているオブジェクト配置情報を読み出す。即ち、「OBJ1」から「OBJ3」までの「オブジェクトID」に対応したオブジェクト配置情報である「座標(X,Y,Z)」、および「回転角度(X,Y,Z)」の項目の値を読み出す。そして、例えば、「オブジェクトID」と対応付けて、図示しないメモリ等に一時記憶する。
 つぎに、情報処理装置31の画像情報構成部3109は、配置用情報と対応付けられている立体オブジェクトについての形状情報を取得する。即ち、図45に示した配置用情報管理表の「オブジェクトID」の値を全て取得し、この値と一致する「オブジェクトID」と対応付けられた立体オブジェクトの形状情報を図43に示した形状情報管理表から読み出す。ここでは、図43に示した「オブジェクトID」が「OBJ1」から「OBJ3」までの形状情報を読み出し、例えば、「オブジェクトID」と対応付けて、メモリ等に一時記憶する。
 次に、画像情報構成部3109が、形状情報を読み出した立体オブジェクト、すなわち「オブジェクトID」が「OBJ1」~「OBJ3」である各立体オブジェクト(以下、立体オブジェクト「OBJ1」~「OBJ3」と称す)を構成する面に配置する配置用情報を、図46に示す配置用情報の中から、図47に示した配置用情報管理表を用いて、以下のように取得する。
 まず、立体オブジェクト「OBJ1」を構成する各面、ここではz1面、x1面、y1面にそれぞれ配置される配置用情報のタグを、図47に示した配置用情報管理表から読み出す。具体的には、図47に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「商品ID」の項目の値「SER1345」を読み出す。そして、図46に示した配置用情報のうちの、要素が「SER1345」である商品IDタグを有する商品の情報、即ち要素が「SER1345」である商品IDタグを有する「<商品>」タグから「</商品>」タグに囲まれた情報を特定する。次に、図47に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「z1面」、「x1面」、「y1面」の項目の値であるタグ名、商品名、詳細、および商品写真を順次読み出し、図46に示した配置用情報のうちの上記で特定した、要素が「SER1345」である商品IDタグを有する商品の情報から、それぞれのタグと一致するタグ名を有するタグを検出し、検出したタグの要素を順次取得する。取得したタグの要素が、「オブジェクトID」が「OBJ1」である立体オブジェクトのz1面、x1面、y1面にそれぞれ配置される配置用情報である。
 例えば、図47に示した配置用情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「z1面」の値は、「商品名」というタグであるため、図47に示した要素が「SER1345」である商品IDタグを含む配置用情報から、商品名タグを検出し、この商品名タグの要素である「BS602」をz1面に配置する配置用情報として取得する。同様に、x1面、y1面についても配置用情報を取得する。取得した情報は、例えば、立体オブジェクトの識別情報と対応付けて、図示しないメモリ等の記憶媒体に一時記憶する。
 以下、同様にして、立体オブジェクト「OBJ2」~「OBJ3」についてもそれぞれ、配置用情報を取得する。
 そして、画像情報構成部3109は、立体オブジェクト「OBJ1」~「OBJ3」の画像情報を構成する。
 具体的には、画像情報構成部3109が取得した立体オブジェクト「OBJ1」~「OBJ3」の形状情報が示す立体オブジェクトのz1面、x1面、y1面上に、各立体オブジェクト「OBJ1」~「OBJ3」のz1面、x1面、y1面に対応して画像情報構成部3109が取得した配置用情報を配置し、さらに、これらの立体オブジェクトを立体オブジェクト「OBJ1」~「OBJ3」に対応して画像情報構成部3109が取得した配置用情報が示す位置及び向きで配置した画像情報を構成する。具体的にはいわゆるレンダリング処理を行う。なお、ここでは、各立体オブジェクトの投影図が構成されるように、仮想三次元空間内の座標軸、つまりワールド空間の座標軸や、レンダリングの際の画角等のパラメータが予め設定されているものとする。
 そして、出力部110は、画像情報構成部3109が構成した画像情報を出力する。ここでは、出力部110は、モニタ3504に接続されており、当該モニタ3504に合成した立体オブジェクトの画像情報を表示する。
 図48は画像情報構成部3109が構成した画像情報の表示例を示す図である。図48において、立体オブジェクト4801は立体オブジェクト「OBJ1」、立体オブジェクト4802は、立体オブジェクト「OBJ2」、立体オブジェクト4803は、立体オブジェクト「OBJ3」であるとする。なお、本実施の形態において座標の値や図に示される立体オブジェクトの表示されており、各商品とその商品に関連する仕様等の情報との対応関係が容易に把握で位置等については、説明のためのものであり、実際のサイズ等に合わせて正確に描かれたものではない。図48に示すように、各立体オブジェクトは、それぞれが商品に対応しており、各商品の商品名や商品画像や、仕様や価格等が、それぞれの立体オブジェクトの面にきるようになっている。ここでは、仮想三次元空間のZ軸の正の側からZ軸の負の側に向かって見た場合に、前面に位置する面を正面と考える。例えば、図48においては、各立体オブジェクト「OBJ1」~「OBJ3」のz1面が正面となっている。
 図49は、ロック面指定情報格納部3106に格納されているロック面指定情報を管理するロック面指定情報管理表である。ロック面指定情報管理表は、「オブジェクトID」と「ロック面」という項目を有している。「オブジェクトID」は、図43に示したオブジェクトIDに相当する。「ロック面」は、ロック面指定情報であり、ここでは、ロック面に指定された面の面識別情報である。例えば、図49においては、上から1番目のレコードは、「オブジェクトID」が「OBJ1」である立体オブジェクトのロック面が、「y2面」であることを示している。
 図50は、操作可否情報格納部3113に格納されている操作可否情報を示している。操作可否情報は、例えばフラグ情報である。ここでは、値が、「0」であれば、全ての立体オブジェクトに対する操作が制限されていない、つまり制限が解除されていることを示し、値が「1」であれば、全ての立体オブジェクトに対する操作が制限されていることを示す。ここでの操作に対する制限とは、例えば、制限を解除するための情報を入力するための操作以外の操作を無効とすることであるとする。
 操作制限部3108は、操作可否情報格納部3113に格納されている操作可否情報が、立体オブジェクトに対する操作が制限されていることを示すものであるか否かを判断する。ここでは、図50に示すように、操作可否情報の値は、初期値の「0」であり、操作が制限されていないことを示している。このため、操作制限部3108は、操作受付部3104に対して、どのような操作を受けつけても良いことを指示する。または、受け付ける操作を制限しないようにすることを指示してもよい。あるいは、立体オブジェクトについてデフォルト等で指定されている、操作を制限しない場合に受け付け可能な操作を受け付けることを指示してもよい。
 つぎに、ユーザが、出力された立体オブジェクト4801、即ち立体オブジェクト「OBJ1」を、仮想三次元空間のX軸を回転軸として、上方向に90°回転させるための操作を行ったとする。例えば、ここでは、立体オブジェクト上にポインタをおいて、マウスをドラッグすると、そのドラッグの方向に立体オブジェクトが90°回転するものとし、ユーザが立体オブジェクト4801上にポインタをおいて、マウスを上方向にドラッグしたとする。なお、この操作は、立体オブジェクトを回転させるためのメニュー項目を選択する操作等であっても良い。
 実行部3105は、操作受付部3104が受け付けた、立体オブジェクトを仮想三次元空間(ワールド空間)のX軸を回転軸として上方向に90°回転させるための操作に応じて、立体オブジェクト4801に対する処理を行い、立体オブジェクトの向きを変更する。具体的には、立体オブジェクト「OBJ1」のオブジェクト配置情報の「回転角度」のxの値を、初期値である「0」から「-90°」に変更する。なお、このとき、実行部3105は、操作受付部3104が操作を受け付けた操作対象の立体オブジェクト以外の他の立体オブジェクトの配置情報も同じように変更しても良い。即ち、上記の場合、立体オブジェクト「OBJ2」や立体オブジェクト「OBJ3」も回転させるようにしても良い。あるいは、操作対象となる立体オブジェクトとグループ化されている立体オブジェクトの配置だけを、操作対象と同様に変更するようにしても良い。
 次に、方向判断部3107は、実行後の各立体オブジェクトのロック面が、予め指定された方向を向いているか否かを判断する。ここでは、ロック面が正面であるか否かを判断する。なお、この仮想三次元空間に配置される立体オブジェクトにおいては、正面が、法線がZ軸に平行であって、正の方向を向いている面であることが、予め指定されているものとする。
 まず、方向判断部3107は、表示されている立体オブジェクト「OBJ1」のロック面の法線を示すベクトルを図43に示す形状情報管理表から取得する。具体的には、まず、立体オブジェクト「OBJ1」のロック面指定情報である「y2面」を、図49のロック面指定情報管理表から取得する。次に、立体オブジェクト「OBJ1」のロック面指定情報「y2面」が指定する面の法線ベクトルを、図43に示した形状情報管理表から取得する。具体的には、形状情報管理表の「オブジェクトID」が「OBJ1」であるレコードの「y2面」項目の値である「(0,-1,0)」をロック面の法線のベクトルとして取得する。
 取得した法線のベクトル「(0,-1,0)」は、立体オブジェクト内の座標系のベクトルであるため、このベクトルを立体オブジェクトが配置された仮想三次元空間内におけるベクトル、つまり仮想三次元空間(ワールド空間)におけるベクトルに変換する。具体的には、立体オブジェクトを仮想三次元空間(ワールド空間)にデフォルトの状態で配置した場合の立体オブジェクトの座標系と仮想三次元空間(ワールド空間)の座標系との関係を示す情報と、オブジェクト配置情報の回転角度の情報とを用いて、ロック面の法線のベクトルを仮想三次元空間内における方向を示すベクトルに変換する。例えば、この具体例においては、立体オブジェクト「OBJ1」を回転させずに配置した場合、即ち図48の状態においては、上述したように、立体オブジェクトのx軸、y軸、z軸が、それぞれ仮想三次元空間のX軸,Y軸,Z軸と平行となるように立体オブジェクトが配置される。このため、この状態でのロック面の法線ベクトルを仮想三次元空間(ワールド空間)の座標系で表したものは、元々の法線ベクトルと同じ「(0,-1,0)」となる。この立体オブジェクト「OBJ1」が、X軸を回転軸として上方向に90度回転されているため、回転後の立体オブジェクト「OBJ1」のロック面「y2面」の法線ベクトルを、仮想三次元空間(ワールド空間)の座標系で表したものは、演算により、「(0,0,1)」となる。
 つぎに、方向判断部3107は、回転後のロック面が、正面であることを示す条件を満たすか否かを判断する。具体的には、回転後のロック面の法線ベクトルが、Z軸に平行であって、正の方向を向いているか否かを判断する。ここでは、回転後のロック面「y2面」の法線ベクトルは「(0,0,1)」であるので、法線ベクトルがZ軸に平行であり、正の方向を向いているという条件を満たす。このため、方向判断部3107は、この立体オブジェクト「OBJ1」のロック面「y2面」が正面であると判断する。
 方向判断部3107は、一の立体オブジェクトのロック面が、正面となっていると判断されたため、操作が制限されることを示す操作可否情報「1」を操作可否情報格納部3113に蓄積して、操作可否情報格納部3113に格納されている操作可否情報を変更する。そして、操作受付部3104が次の操作の受け付けを待機する状態に戻る。
 図51は、操作可否情報格納部3113に格納されている変更後の操作可否情報を示す図である。
 なお、立体オブジェクト「OBJ1」のロック面が正面でないと判断された場合、表示されている他の立体オブジェクトについても同様の処理を行い、ロック面が正面であるものが検出された時点で、上記と同様に、操作可否情報を変更する。
 また、ロック面が正面である立体オブジェクトが一つも検出されなかった場合、そのまま操作受付部3104が次の操作の受け付けを待機する状態に戻る。
 なお、上記のように、立体オブジェクトが立方体もしくは直方体であり、回転する角度が90度単位に固定されている場合においては、方向判断部3107は、立体オブジェクトをワールド空間において回転させた際に正面となる面を、形状情報により定義された立体オブジェクトの面同士の位置関係と、回転前に正面となっていた面とを用いて取得し、この正面となる面の面識別情報を取得して、これが、ロック面指定情報が指定する面の識別情報と一致するか否かを判断するようにしても良い。例えば、回転前の立体オブジェクトのz1面が正面のときに、上方向に90°立体オブジェクトを回転させると、底面であるy2面が正面になることを、形状情報が示す面の位置関係を示す情報等から判断しても良い。
 あるいは、立体オブジェクトが立方体もしくは直方体であり、回転する角度が90度単位に固定されている場合においては、方向判断部3107は、回転前の正面となっている面の立体オブジェクトの座標系の法線ベクトルから、回転角度を逆算して、回転後に正面となる面の法線ベクトルを演算により算出し、この法線ベクトルと一致する面の面識別情報を取得することで、回転後の正面の面の面識別情報を取得し、これが、ロック面指定情報が指定する面の識別情報と一致するか否かを判断するようにしても良い。
 ここで、操作制限部3108は、操作可否情報格納部3113に格納されている操作可否情報が、立体オブジェクトに対する操作が制限されていることを示すものであるか否かを判断する。ここでは、図51に示すように、操作可否情報の値は「1」であり、操作が制限されることを示している。このため、操作制限部3108は、操作受付部3104に対して、制限された操作だけを受け付けても良いことを指示する。ここでは、操作に対する制限を解除するために必要な操作だけを受け付けて良いことを指示する。操作に対する制限を解除するために必要な操作は、ここでは、制限解除のために予め指定されたパスワードを入力する操作であるとする。
 つぎに、ユーザが、いずれかの立体オブジェクトを回転させるために、立体オブジェクトの画像上にポインタを配置して、マウスボタンをクリックしドラッグする操作を行ったとする。この場合、操作受付部3104は、操作制限部3108により、受け付け可能な操作が制限されているため、立体オブジェクトを回転させるための操作を受け付けない。その代わりに、立体オブジェクトの画像上でマウスクリックした操作に応じて、操作制限の解除のためのパスワード入力画面の画像情報を構成する指示を、画像情報構成部3109に出力する。画像情報構成部3109は、パスワード入力画面を構成し、出力部110が、構成したパスワード入力画面を表示する。
 図52は、操作制限を解除するためのパスワード入力画面の表示例を示す図である。
 つぎに、ユーザが立体オブジェクトの操作制限を解除するために、パスワード入力画面に、予め指定された制限解除のためのパスワードを入力したとする。
 操作受付部3104は、入力されたパスワードが制限解除のためのパスワードであるか否かを判断し、制限解除のためのパスワードと一致した場合、制限解除の操作を受け付けたと判断する。
 操作制限部3108は、ユーザから制限解除の操作を受け付けたため、操作可否情報格納部3113に格納されている操作可否情報を、操作制限を解除するための操作可否情報「1」で上書きする。具体的には、操作可否情報格納部3113に格納されている図51に示したような操作可否情報を、図50に示すような操作可否情報に変更する。そして、操作受付部3104に対して受け付ける操作の制限を終了するよう指示する。
 これにより、操作受付部3104は、少なくともその直後の立体オブジェクトに対する通常の操作を受け付けることが可能となる。例えば、この直後に、立体オブジェクト「OBJ1」を回転させて、ロック面が正面を向かないようにすることで、その後の操作の受け付けが可能となる。
 ただし、直後の操作で、ロック面を回転させない場合、再度操作制限がかかることとなる。このような状況を避けるために、操作制限解除後の最初の立体オブジェクトに対する配置の変更、特に回転動作が行われるまでは、ロック面が正面であるか否かの判断を行わないようにして、受け付けた操作に応じて、立体オブジェクトに対する処理を行うようにしても良い。
 ここで、ユーザが、一の立体オブジェクト「OBJ2」のロック面に設定したい面、例えば「x1面」をマウスクリック等により指定して、この面をロック面に設定するためのメニュー項目等を選択したとする。ロック面指定情報受付部3111は、「x1面」をロック面に指定するロック面指定情報を受け付ける。ロック面指定情報蓄積部3112は、表示されている全ての立体オブジェクトとそれぞれ対応付けて、ロック面指定情報受付部3111が受け付けたロック面指定情報が指定する面と同じ面、ここでは同じ面指定情報「x1面」が示す面をロック面に指定するロック面指定情報を、ロック面指定情報格納部3106に蓄積する。具体的には、「x1面」をロック面に指定するロック面指定情報を、図49に示したロック面指定情報管理表の全てのレコードの「ロック面」の値に追記する。
 図53は、ロック面指定情報が蓄積されたロック名指定情報管理表を示す図である。このように、一つの立体オブジェクトの一の面をロック面に指定すると、他の立体オブジェクトの同じ面、ここでは、同じ面識別情報を有する面も、ロック面に指定することができ、ロック面を指定する手間を省くことができる。
 以上、本実施の形態によれば、ロック面を予め指定された方向に向けることにより、立体オブジェクトに対する操作を制限することができる。これにより、例えば、第三者等が、立体オブジェクトを勝手に回転させて、立体オブジェクト上に配置されている配置用情報を許可なく見ることを防ぐことが可能となる。したがって、立体オブジェクトのロック面を予め指定された方向に向けるという簡単な操作で、操作を制限することができ、立体オブジェクトを用いて出力される情報に対して、容易にセキュリティを保つことができる。
 (実施の形態4)
 本実施の形態の情報処理装置は、立体オブジェクトに対する複数の操作に応じて、立体オブジェクトの動作を制限するようにしたものである。なお、特許請求の範囲の用語の意義を解釈するために本発明の詳細な説明の記載を参照する際において、実施の形態1または実施の形態2の記載と実施の形態4の記載との間で用語の定義や処理内容等の説明が食い違っている場合、本実施の形態4の記載を優先する。
 図54は、本実施の形態における情報処理装置32のブロック図である。
 情報処理装置32は、形状情報格納部3201、オブジェクト配置情報格納部3202、配置用情報格納部3203、操作受付部3204、実行部3205、操作情報取得部3206、操作履歴情報格納部3207、出現パターン判断部3208、操作制限部3209、画像情報構成部3210、出力部3211、操作可否情報格納部3212、操作パターン定義情報格納部3213を備える。
 形状情報格納部3201、オブジェクト配置情報格納部3202、配置用情報格納部3203、操作受付部3204、実行部3205、画像情報構成部3210、出力部3211、および操作可否情報格納部3212の構成や動作については、上記実施の形態1の形状情報格納部3101、オブジェクト配置情報格納部3102、配置用情報格納部3103、操作受付部3104、実行部3105、画像情報構成部3109、出力部110、および操作可否情報格納部3113とそれぞれ同様であるので、ここでは説明を省略する。
 操作情報取得部3206は、操作受付部3204が受け付けた操作を示す情報である操作情報を取得する。操作受付部3204が受け付ける操作とは、例えば立体オブジェクトに対する仮想三次元空間内における向きや位置を変更する操作や、大きさを変更するための操作等である。操作情報は、例えば、操作に応じて出力されるカーソル等の位置等を示す情報や、操作に応じて出力されるイベントを示す情報や、操作に応じて出力されるコマンド等を示す情報である。カーソル等の位置等を示す情報は、例えば、カーソルの指し示す位置の座標の情報や、カーソル等の移動により変化した、カーソルが指し示す座標の変換の差分を示す情報である。イベントを示す情報は例えばイベント名である。コマンドを示す情報は例えばコマンド名である。操作情報取得部3206は、これらの操作に応じて出力される情報を、操作情報を取得する。なお、操作情報は、結果的に操作受付部3204が過去に受け付けた操作を示す情報であればよく、例えば、操作受付部3204が受け付けた操作によって行われた動作を示す情報でも良い。操作によって行われた動作を示す情報とは、例えば、操作によって配置が変化した立体オブジェクトの、配置情報の変化を示す情報、例えば配置情報の差分を記録した情報であってもよい。操作情報取得部3206は、操作に応じて実行部3205等により行われた動作を示す情報を、操作情報として、例えば、実行部3205等から取得する。操作情報取得部3206は、取得した操作情報を、図示しない記憶媒体等に蓄積しても良い。
 ここでは、特に、操作情報取得部3206が、操作受付部3204が受け付けた操作を示す情報である操作情報を取得し、操作情報を含む操作履歴情報を構成し、構成した操作履歴情報を後述する操作履歴情報格納部3207に蓄積する場合を例に挙げて説明する。
 操作履歴情報とは、操作受付部3204が受け付けた操作の履歴を示す情報である。操作履歴情報とは、具体的には、操作受付部3204が過去に受け付けた操作を示す情報である操作情報を少なくとも含む情報である。本実施の形態における操作履歴情報は、少なくとも過去に受け付けた操作の順番を示すことが可能な情報であればよい。具体的には、少なくとも過去に取得した操作情報の取得順を示すことが可能な情報であればよい。操作履歴情報は、例えば、操作受付部3204が受け付けた1以上の操作を示す操作情報と、各操作情報が示す操作を受け付けた(あるいは操作に応じた動作が行われた)時刻を示す情報とを対応付けた情報である。また、操作履歴情報は、操作情報の取得された順番が分かるように取得順に操作情報が蓄積された情報であっても良いし、取得順を示す番号等を付与して蓄積された情報であっても良い。
 操作情報取得部3206は、例えば、上述したような操作情報を取得し、取得した操作情報に、操作を受け付けた時刻の情報、もしくは操作情報を取得した時刻の情報を付与して操作履歴情報を構成し、構成した操作情報を操作履歴情報格納部3207に蓄積する。時刻を示す情報は、図示しない時計等の計時部等から取得可能である。また、操作情報取得部3206は、例えば、上述したような操作情報を取得し、取得した操作情報に、操作を受け付けた順番を示す情報、もしくは操作情報を取得した順番を示す情報を付与して構成した操作履歴情報を、操作履歴情報格納部3207に蓄積しても良い。また、操作情報取得部3206は、取得した操作情報を、操作履歴情報として、操作を受け付けた順番が判断可能なように、例えば操作を受け付けた順番や取得した順番に従って、操作履歴情報格納部3207に追記しても良い。
 操作情報取得部3206は、通常、MPUやメモリ等から実現され得る。操作情報取得部3206の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 操作履歴情報格納部3207には、操作情報取得部3206が取得した操作履歴情報が格納され得る。操作履歴情報格納部3207は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 出現パターン判断部3208は、操作情報取得部3206が取得した最新の2以上の操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する。出現パターン判断部3208は、操作情報取得部3206が取得した最新の2以上の操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する。操作情報の出現パターンとは、1以上の操作情報の出現する順番を示す情報である。例えば、出現パターン判断部3208が取得した操作情報のうちの、最新の操作情報からn番目(nは正の整数)の操作情報と、予め指定された操作情報の出現パターンが示す最新の操作情報からn番目の操作情報とが一致するか否かを、nの値を変化させながら順次判断していき、全てが一致していると判断された場合に、出現パターンが一致していると判断し、全てが一致していない場合、出現パターンが一致していないと判断する。ここでは、例として、出現パターン判断部3208は、操作情報取得部3206が取得した最新の2以上の操作情報の出現パターンが、後述する操作パターン定義情報格納部3213に予め格納されている操作パターン定義情報が示す出現パターンと、一致するか否かを判断する。ここでの一致は完全一致としても部分一致としても良い。操作パターン定義情報とは、例えば、2以上の操作情報の出現順番を示す情報である。
 ここでは例として、特に、出現パターン判断部3208が、操作情報取得部3206が蓄積した最新の2以上の操作履歴情報に含まれる操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する場合を例に挙げて説明する。
 具体的には、出現パターン判断部3208は、操作情報取得部3206が蓄積した操作履歴情報のうちの最新の操作履歴情報から順番に2以上の操作履歴情報を検出し、検出した操作履歴情報から、操作情報を取得する。そして上記と同様に取得した操作情報の出現パターンが、予め用意された操作情報の出現パターンと一致するか否かを判断する。
 また、本実施の形態においては、出現パターン判断部3208は、出現パターンが一致すると判断した場合に、操作を制限することを示す操作可否情報を、操作可否情報格納部3212に蓄積する場合を例に挙げて説明する。操作可否情報については、上記実施の形態1において説明した操作可否情報と同様であるので、ここでは説明を省略する。
 なお、出現パターン判断部3208が判断する予め指定された2以上の操作情報の出現パターンは、移動を指示する操作情報の出現パターンや、回転を指示する操作情報の出現パターンや、大きさの変更を指示する操作情報の出現パターンや、これらの組合せによる出現パターン等、どのような操作情報の出現パターンであってもよい。例えば、複数の回転操作を示す操作情報の出現パターンとしてもよい。例えば、回転操作を示す操作情報の出現パターンとすることで、例えば、「右2回転、左3回転」等のように、金庫等のダイヤル式鍵の操作と同様に、操作制限を行うための操作を他のユーザに伝えたり、覚えたりする上でわかりやすくすることができる。
 出現パターン判断部3208は、通常、MPUやメモリ等から実現され得る。出現パターン判断部3208の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 操作制限部3209は、出現パターン判断部3208が、出現パターンが一致すると判断した場合に、立体オブジェクトに対する操作を制限する。なお、ここでの行う操作の制限は一致すると判断された出現パターンに予め対応付けて設定された操作の制限であっても良い。例えば、第一の出現パターンと一致すると判断された場合に、第一の出現パターンに対応付けられた操作の制限を行い、第二の出現パターンと一致すると判断された場合に、第二の出現パターンに対応付けられた操作の制限を行っても良い。なお、操作制限部3209が行う操作の制限や、操作制限部3209が、立体オブジェクトに対する操作の制限を解除するための操作を受け付けた場合に、操作に対する制限を解除することや、操作制限部3209が、操作可否情報格納部3212に操作を制限する操作可否情報が格納されている場合に、立体オブジェクトに対する操作を制限することや、操作受付部3204が変更させる操作を受け付けた場合に、操作制限部3209が、操作可否情報格納部3212に格納されている操作可否情報を、操作を制限しない操作可否情報に変更すること等については、上記実施の形態1の操作制限部3108と同様であるので、ここでは説明を省略する。
 操作制限部3209は、通常、MPUやメモリ等から実現され得る。操作制限部3209の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 操作パターン定義情報格納部3213は、操作情報の出現パターンを示す情報である操作パターン定義情報が格納され得る。操作パターン定義情報は、例えば2以上の操作情報の出現パターンを示す情報である。操作パターン定義情報は、2以上の操作情報と、各操作情報と対応付けられた出現順番を示す情報とにより構成される情報である。また、操作パターン定義情報は、2以上の操作情報が、操作が行われる順番に従って格納されている情報であっても良い。操作パターン定義情報は、例えばユーザ等により予め蓄積される情報である。操作パターン定義情報は、当該操作パターン定義情報が示す操作パターンと一致する操作が行われた場合に行われる操作制限の種類等を指定する情報と対応付けられた情報であっても良い。操作パターン定義情報格納部3213は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
 次に、情報処理装置32の動作について図55のフローチャートを用いて説明する。なお、図55のフローチャートにおいて、図42と同一符号は同一又は相当するステップを示している。また、これらのステップにおいては、図41に示した情報処理装置31の各ブロックに相当する情報処理装置32の各ブロックが処理を行うものとする。
 (ステップS5501)操作情報取得部3206は、操作受付部3204が受け付けた操作が、立体オブジェクトを回転させる操作であるか否かを判断する。例えば、操作受付部3204が受け付けた操作に応じて出力されるコマンドの識別情報が、予め指定された回転を指示するコマンドの識別情報の一つであるか否かを判断する。回転させる操作である場合、ステップS5502に進み、回転させる操作でない場合、ステップS4205に進む。
 (ステップS5502)操作情報取得部3206は、操作受付部3204が受け付けた操作を示す操作情報を取得する。ここで取得する操作情報は、例えば、操作受付部3204が受け付けた操作に応じて出力されるコマンドの識別情報、例えばコマンド名を取得する。
 (ステップS5503)操作情報取得部3206は、ステップS5502で取得した操作情報を、現在の時刻を示す時刻情報と対応付けて操作履歴情報を構成し、構成した操作履歴情報を、操作履歴情報格納部3207に蓄積する。
 (ステップS5504)出現パターン判断部3208は、操作パターン定義情報格納部3213に格納されている一の操作パターン定義情報を読み出す。ここでは例として操作履歴情報格納部3207に格納されている操作パターン定義情報が一つである場合を例に挙げて説明する。
 (ステップS5505)出現パターン判断部3208は、ステップS5504において読み出した一の操作パターン定義情報が定義する操作パターンを構成する操作情報数kをカウントする。
 (ステップS5506)出現パターン判断部3208は、操作履歴情報格納部3207に格納されている操作履歴情報の中から、最新のk個の操作履歴情報を取得する。最新のk個の操作履歴情報とは、例えば、操作履歴情報に含まれる時刻情報が示す時刻が、最も新しいものから順にk個選らんだ場合に得られる操作履歴情報である。
 (ステップS5507)出現パターン判断部3208は、ステップS5506において取得したk個の操作履歴情報に含まれるk個の操作情報を取得する。ここでは例えば取得した時間順、もしくは取得した時刻が新しいものから順に取得する。
 (ステップS5508)出現パターン判断部3208は、カウンターnに1を代入する。
 (ステップS5509)出現パターン判断部3208は、ステップS5504において読み出した操作履歴情報が示す操作された順番がn番目の操作情報と、ステップS5507において取得した操作情報のうちの、操作された順番がn番目の操作情報とを比較し、一致するか否かを判断する。操作された順番がn番目とは、操作の古い方から数えてn番目としても、操作の新しい方から数えてn番目としてもよい。一致する場合、ステップS5510に進み、一致しない場合、ステップS4204に戻る。
 (ステップS5510)出現パターン判断部3208は、カウンターnの値がkであるか否かを判断する。kでない場合、ステップS5511に進み、kである場合、ステップS5512に戻る。
 (ステップS5511)出現パターン判断部3208は、操作可否情報格納部3212に格納されている操作可否情報を、立体オブジェクトに対する操作を制限することを示す操作可否情報に変更する。例えば、既に格納されている操作可否情報を上書きするように、立体オブジェクトに対する操作を制限することを示す操作可否情報を蓄積する。そして、ステップS4202に戻る。
 なお、図55のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 以下、本実施の形態における情報処理装置32の具体的な動作について説明する。なお、立体オブジェクトが画面に表示されるまでの処理等については、上記実施の形態の具体例等と同様であるので、ここでは説明を省略する。
 例えば、上記の実施の形態1の具体例と同様に、図48に示すように表示された立体オブジェクトの画像について、マウス等を用いて、予め指定された立体オブジェクト4801を、Z軸を回転軸として、右回りに90度回転させるための操作をユーザが行ったとする。例えば、マウスを立体オブジェクト4801の画像上で、左方向にドラッグしたとする。
 操作受付部3204は、このユーザによる操作を受け付け、この操作に応じて、予め用意された右回りに90度回転させるコマンドを実行部3205に対して出力する。Z軸を中心として右回りに90度回転させるコマンドは、ここでは、「rotate-R-90」であるとする。
 操作情報取得部3206は、操作受付部3204が出力するコマンド「rotate-R-90」を操作情報として取得し、さらに、この操作情報に、内部の時計等から取得した現在の時刻の情報「12:30:24」を付与して、操作履歴情報を構成し、操作履歴情報格納部3207に格納する。
 図56は、操作履歴情報格納部3207に格納された、立体オブジェクト4801、即ち立体オブジェクトOBJ1についての、操作履歴情報を管理する操作履歴情報管理表である。なお、ここでは、操作履歴情報は、立体オブジェクト別に管理されているものとする。操作履歴情報管理表は、「操作情報」と「時刻」という項目を有している。「操作情報」は、操作情報取得部3206が取得した操作情報、「時刻」は、操作情報取得部3206が取得した時刻の情報である。操作履歴情報管理表の各レコードが、操作情報取得部3206が取得した操作情報である。なお、操作履歴情報管理表に格納されている複数のレコードの集合体も操作履歴情報と考えても良い。
 そして、実行部3205は、操作受付部3204が出力するコマンドに応じて、立体オブジェクトを回転させた画像を出力する。
 図57は、回転させた立体オブジェクト4801の出力例を示す図である。立体オブジェクトを回転させた画像を出力する処理等については、上記具体例と同様であるので、ここでは説明を省略する。
 同様にして、ユーザが立体オブジェクト4801に対して、右回りや、左回り、前回り、後回り等の複数回の操作を行ったとし、その都度、操作履歴情報が操作履歴情報格納部3207に蓄積され、回転した立体オブジェクト4801の画像が出力される。
 図58は、複数回の操作が行われた後の、立体オブジェクト4801についての操作履歴情報管理表を示す図である。なお、「rotate-L-90」は、左回りの操作を受け付けた場合の操作情報(コマンド)、「rotate-F-90」は、前回りの操作を受け付けた場合の操作情報、「rotate-B-90」は、後回りの操作を受け付けた場合の操作情報であるとする。
 図59は、操作パターン定義情報格納部3213に格納されている操作パターン定義情報を示す図である。操作パターン定義情報は、「操作情報」と「出現順」という項目を有している。「操作情報」は、操作情報取得部3206が取得する操作情報に相当する。また、「出現順」は、操作パターンにおける操作情報の出現する順番を示す情報であり、ここでは、対応する「出現順」の数値の大きいものほど出現する順番が早い、即ち、古い操作情報であることを示す。
 ここで、出現パターン判断部3208は、操作履歴情報が新たに蓄積され、立体オブジェクトが回転する毎に、図59に示すような操作パターン定義情報格納部3213に格納されている操作パターン定義情報を取得する。そして、操作パターン定義情報に含まれる操作情報数をカウントして、操作情報数kを取得する。ここでは、k=3を取得する。なお、ここでは、操作履歴情報が新たに蓄積される毎に、操作パターン定義情報を読み出し、操作情報数kを取得する場合を示したが、操作履歴情報や操作情報数kを、立体オブジェクトが読み出された際や、最初に立体オブジェクトに操作が行われた際等に一度だけ取得し、メモリ等の記憶媒体等に保持しておくようにし、出現パターン判断部3208が、この取得した操作履歴情報や操作情報数kを適宜利用するようにしても良い。
 次に、出現パターン判断部3208は、操作履歴情報が新たに蓄積され、立体オブジェクトが回転する毎に、操作履歴情報格納部3207から、最新のk=3個の操作履歴情報を検出する。例えば、現時点の操作履歴情報管理表が、図58に示すようなものであった場合、図58に示す操作履歴情報管理表の全てのレコードのうち、「時刻」の示す時刻の値が新しいものから順に、3つのレコードを検出する。ここでは、例えば、操作履歴情報管理表のレコードが、「時刻」の値によって昇順にソートされていたとすると、下から3つのレコードを検出する。そして、検出した3つのレコード、即ち3つの操作履歴情報から、「時刻」の値が古いものから順に、操作情報を取得する。
 図60に、出現パターン判断部3208が、取得した3つの操作情報を示す図である。なお、ここでは、上のレコードほど、対応する時刻が古い操作情報、即ち出現順番が古い操作情報であるとする。
 次に、出現パターン判断部3208は、操作パターン定義情報に含まれる操作情報と、操作履歴情報から取得した最新の3個の操作情報とを、出現する順番が同じもの同士で比較して、操作パターン、即ち操作情報と出現順番との組合せが一致するか否かを判断する。ここでは例として完全一致を判断するものとする。ここでは、例として、まず、操作パターン定義情報に含まれる操作情報のうちの出現順番が最も古い操作情報と、操作履歴情報から取得した出現順番が最も古い操作情報とを比較するが、操作パターン定義情報に含まれる操作情報のうちの出現順番が最も古い操作情報が「rotate-F-90」であり、操作履歴情報から取得した出現順番が最も古い操作情報が「rotate-L-90」であるため、一致しない。このため、操作パターン定義情報に含まれる操作情報と、操作履歴情報から取得した最新の3個の操作情報との出現パターン同士が完全一致しないと判断される。このため、出現パターン判断部3208は、操作制限を行うための処理を行わない。
 ここで、次に、ユーザによる立体オブジェクト4801に対して左回りを指示する操作に応じて、操作情報取得部3206により、「操作情報」が「rotate-L-90」で、「時刻」が「12:33:58」である操作履歴情報が追記されたとする。
 図61は、レコードが追加された操作履歴情報管理表を示す図である。
 この場合においても上記と同様に、出現パターン判断部3208によって、操作履歴情報に含まれる最新の3つの操作情報が取得される。
 図62は、出現パターン判断部3208が、取得した3つの操作情報を示す図である。
 そして、上記と同様に、出現パターン判断部3208によって、操作履歴情報から取得した操作情報と、図59に示す操作パターン定義情報に含まれる操作情報とが出現順番の順に比較される。即ち出現パターン同士が比較される。
 ここでは、出現順番が一致する全ての操作情報が完全一致するため、出現パターン判断部3208は、操作履歴情報に含まれる最新の3つの操作情報の出現パターンと、操作パターン定義情報が定義する操作情報の出現パターンとが一致すると判断する。そして、操作可否情報格納部3212に格納されている立体オブジェクトに対する操作可否情報を、図51に示すように「1」に変更する。
 その後の操作に対する制限等を行う処理や、制限を解除する処理等については、上記実施の形態の具体例等と同様であるので、ここでは説明を省略する。
 以上、本実施の形態によれば、立体オブジェクトに対する複数の操作の組合せによって、立体オブジェクトに対する操作を制限することができる。これにより、例えば、第三者等が、立体オブジェクトを勝手に回転させて、立体オブジェクト上に配置されている配置用情報を許可なくみることを防ぐことが可能となる。したがって、立体オブジェクトに一連の操作を行うだけで、操作を制限することができ、立体オブジェクトを用いて出力される情報に対して、容易にセキュリティを保つことができる。
 また、立体オブジェクトに対する操作制限を、通常立体オブジェクトに対して行われる2以上の操作の組合せで実行できるため、操作制限を行うための特定の操作、例えば操作制限を行うためのメニューやボタン等が不要である。そして、操作パターン定義情報をユーザが自由に設定することで、操作制限の操作の組合せを自由に決定でき、更に操作自体の組合せを秘密にすることで、パスワード入力等を行わないでも立体オブジェクトに対する操作だけで操作制限を行うことが可能となる。
 なお、本実施の形態においては、立体オブジェクトに対する2以上の回転操作を出現パターンによって、操作制限を行うか否かを判断するようにしたが、本発明においては、回転操作以外の操作、例えば移動や、サイズ変更等も含めた立体オブジェクトに対する2以上の操作の組合せによって、操作制限を行う化否かを判断するようにしてもよい。ただし、回転操作の組合せによって操作制限を行うようにすることは、例えば、「右2回転、左3回転」等のように、金庫等のダイヤル式鍵の操作と同様に、操作を他のユーザに伝えたり、覚えたりする上でわかりやすく、好ましい。また、回転操作は、例えば立体オブジェクトの位置等を移動させたりする操作よりも、方角や距離や位置等の指定が不要であり、操作が明確でわかりやすいため、操作性に優れていると考えられ、操作制限を行うための操作としては好ましい。
 なお、上記実施の形態においては、最新の2以上の操作履歴情報に含まれる操作情報の出現パターンが、操作パターン定義情報が示す操作情報の出現パターンと一致するか否かを判断するようにした。しかしながら、本発明においては、操作情報取得部3206が、操作情報を取得する毎に、取得した操作情報と、予め指定された操作情報の出現パターンが示す操作情報とを、出現順番が古いものから順に比較していくようにし、予め指定された操作情報の出現パターンが示す操作情報の全てが、操作情報取得部3206が取得した一連の操作情報と一致する場合には、出現パターンが一致すると判断しても良い。また、途中で一致しなかった場合、再度予め指定された操作情報の出現パターンの最も古いものとの比較から、比較をやり直すようにすればよい。あるいは、比較の途中で、予め指定された操作情報の出現パターンが示す最も古い操作情報と同じ操作情報が現れた場合、並列して操作情報の出現パターンの比較を開始するようにしても良い。即ち、このように、操作履歴情報を用いずに、取得した操作情報をそのまま利用して出現パターン同士の比較を行うようにしても良い。
 なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
 また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
 また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
 また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
 また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
 なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、形状情報格納部に格納されている1以上の立体オブジェクトの形状を指定する情報である形状情報により形状が指定される1以上の立体オブジェクトに対する操作を含む操作を受け付ける操作受付ステップと、操作受付ステップで受け付けた操作に応じて、1以上の各立体オブジェクトに対する処理を実行する実行ステップと、立体オブジェクトの形状情報と、1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部に格納されている、形状情報が示す立体オブジェクトの1以上の面に配置される配置用情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、画像情報構成ステップで構成した画像情報を出力する出力ステップと、立体オブジェクトの、ロック面指定情報格納部に格納されている立体オブジェクトを構成する面のうちの操作にロックをかけるための面であるロック面を指定する情報であるロック面指定情報が指定するロック面が、予め指定された方向を向いているか否かを判断する方向判断ステップと、方向判断ステップで、ロック面指定情報が指定するロック面が予め指定された方向を向いていると判断した場合に、立体オブジェクトに対する操作を制限する操作制限ステップを実行させるためのプログラムである。
 また、コンピュータに、形状情報格納部に格納されている1以上の立体オブジェクトの形状を指定する情報である形状情報により形状が指定される1以上の立体オブジェクトに対する操作を含む操作を受け付ける操作受付ステップと、操作受付ステップで受け付けた操作に応じて、1以上の各立体オブジェクトに対する処理を実行する実行ステップと、操作受付部が受け付けた操作を示す情報である操作情報を取得する操作情報取得ステップと、操作情報取得ステップで取得した最新の2以上の操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する出現パターン判断ステップと、出現パターン判断ステップで、出現パターンが一致すると判断した場合に、立体オブジェクトに対する操作を制限する操作制限ステップと、立体オブジェクトの形状情報と、1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部に格納されている、形状情報が示す立体オブジェクトの1以上の面に配置される配置用情報とを読み出し、読み出した形状情報が示す1以上の面に対し、それぞれに対応した配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、画像情報構成ステップで構成した画像情報を出力する出力ステップを実行させるためのプログラムである。
 なお、上記各プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
 また、各プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
 図63は、上記プログラムを実行して、上記各実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記各実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
 図63において、コンピュータシステム900は、CD-ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
 図64は、コンピュータシステム900の内部構成を示す図である。図64において、コンピュータ901は、CD-ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
 コンピュータシステム900に、上記各実施の形態による情報処理装置等の機能を実行させるプログラムは、CD-ROM921、またはFD922に記憶されて、CD-ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD-ROM921やFD922、またはネットワークから直接、ロードされてもよい。
 プログラムは、コンピュータ901に、上記各実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
 以上のように、本発明にかかる情報処理装置等は、情報の表示を行うための情報処理装置等として適しており、特に、立体オブジェクトを用いた情報の表示等を行うための装置等として有用である。

Claims (33)

  1. 2以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、
    前記2以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、
    前記2以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得るオブジェクト配置情報格納部と、
    前記立体オブジェクトの形状情報と、当該形状情報が示す1以上の面に配置される前記配置用情報と、当該立体オブジェクトに対応するオブジェクト配置情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトを、前記オブジェクト配置情報が示すよう配置した画像情報を構成する画像情報構成部と、
    前記画像情報構成部が構成した画像情報を出力する出力部と、
    1以上の前記立体オブジェクトの配置に対する変更指示を受け付ける変更指示受付部と、
    前記変更指示受付部が受け付けた変更指示が1以上の立体オブジェクトを回転させる指示である場合に、当該変更指示に応じて当該変更指示の対象となる立体オブジェクトと、当該立体オブジェクト以外の立体オブジェクトとが回転するよう、当該立体オブジェクトの前記オブジェクト配置情報を更新するオブジェクト更新部とを備え、
    前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する情報処理装置。
  2. 前記オブジェクト更新部は、立体オブジェクトを回転させる変更指示を受け付けた場合に、当該変更指示の対象となる立体オブジェクト及び当該立体オブジェクト以外の立体オブジェクトが回転するよう、当該立体オブジェクトの配置情報を更新する第一の回転モードと、当該変更指示の対象となる立体オブジェクトのみが回転するよう、当該立体オブジェクトの配置情報を更新する第二の回転モードとを有し、
    前記第一の回転モードと第二の回転モードとを切り替える指示である切換指示を受け付ける切換指示受付部を更に備え、
    前記オブジェクト更新部は、前記切換指示により指定された前記第一の回転モードと第二の回転モードとのいずれか一方の回転モードで、前記立体オブジェクトの配置情報を更新し、
    前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する請求項1記載の情報処理装置。
  3. 前記立体オブジェクトは、1以上のグループにグループ化されており、
    前記切換指示情報は、前記立体オブジェクトのグループに対する第一の回転モードと第二の回転モードとを切り替える前記切換指示を受け付け、
    前記オブジェクト更新部は、前記切換指示により前記第一の回転モードが指定されたグループに含まれる1以上の立体オブジェクトを回転させる変更指示を受け付けた場合に、当該立体オブジェクトと同じグループ内の立体オブジェクトのみを対象として前記第一の回転モードで、配置情報を更新し、
    前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する請求項2記載の情報処理装置。
  4. 前記複数の立体オブジェクトは、相互に対応する面を有しており、
    前記変更指示受付部は、前記複数の立体オブジェクトに対して向きを揃える指示を更に受け付け可能なものであり、
    前記オブジェクト更新部は、前記変更指示受付部が受け付けた向きを揃える指示に応じて、前記複数の立体オブジェクトのそれぞれの相互に対応する面の一つが同一方向を向くように、前記オブジェクト配置情報を更新し、
    前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する請求項1記載の情報処理装置。
  5. 前記複数の立体オブジェクトをソートする指示であるソート指示を受け付けるソート指示受付部を更に備え、
    前記オブジェクト更新部は、前記ソート指示に応じて、前記複数の立体オブジェクトにそれぞれ配置されている配置用情報によって決定される順番により前記立体オブジェクトが並べて配置されるよう、前記複数の立体オブジェクトの前記オブジェクト配置情報を更新し、
    前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する請求項1記載の情報処理装置。
  6. 前記オブジェクト更新部は、前記ソート指示に応じて、前記複数の立体オブジェクトの、出力画面に正対している面にそれぞれ配置されている配置用情報によって決定される順番により前記立体オブジェクトが並べて配置されるよう、前記複数の立体オブジェクトの前記オブジェクト配置情報を更新し、
    前記出力部は、前記オブジェクト更新部が更新したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する請求項5記載の情報処理装置。
  7. 前記立体オブジェクトに対する検索条件を示す情報である検索条件情報を受け付ける検索条件情報受付部と、
    前記検索条件情報を用いて、検索条件に合致する立体オブジェクトを検索する検索部と、
    前記検索部が検索により検出した立体オブジェクトの配置を指定するオブジェクト配置情報を作成して前記オブジェクト配置情報格納部に蓄積する検索結果配置情報作成部とを更に備え、
    前記出力部は、前記検索結果配置情報作成部が作成したオブジェクト配置情報を用いて前記画像情報構成部が構成する画像情報を用いて出力を更新する請求項1記載の情報処理装置。
  8. 2以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、前記2以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、前記2以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得るオブジェクト配置情報格納部と、画像情報構成部と、出力部と、変更指示受付部と、オブジェクト更新部とを用いて行われる情報処理方法であって、
    前記画像情報構成部が、前記立体オブジェクトの形状情報と、当該形状情報が示す1以上の面に配置される前記配置用情報と、当該立体オブジェクトに対応するオブジェクト配置情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトを、前記オブジェクト配置情報が示すよう配置した画像情報を構成する画像情報構成ステップと、
    前記出力部が、前記画像情報構成ステップで構成した画像情報を出力する出力ステップと、
    前記変更指示受付部が、1以上の前記立体オブジェクトの配置に対する変更指示を受け付ける変更指示受付ステップと、
    前記オブジェクト更新部が、前記変更指示受付ステップで受け付けた変更指示が1以上の立体オブジェクトを回転させる指示である場合に、当該変更指示に応じて当該変更指示の対象となる立体オブジェクトと、当該立体オブジェクト以外の立体オブジェクトとが回転するよう、当該立体オブジェクトの前記オブジェクト配置情報を更新するオブジェクト更新ステップとを備え、
    前記出力ステップは、前記オブジェクト更新ステップで更新したオブジェクト配置情報を用いて前記画像情報構成ステップで構成する画像情報を用いて出力を更新する情報処理方法。
  9. コンピュータに、
    2以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部に格納されている形状情報と、前記2以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部に格納されている前記形状情報が示す1以上の面に配置される、配置用情報と、前記2以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得るオブジェクト配置情報格納部に格納されている前記立体オブジェクトに対応するオブジェクト配置情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトを、前記オブジェクト配置情報が示すよう配置した画像情報を構成する画像情報構成ステップと、
    前記画像情報構成ステップで構成した画像情報を出力する出力ステップと、
    1以上の前記立体オブジェクトの配置に対する変更指示を受け付ける変更指示受付ステップと、
    前記変更指示受付ステップで受け付けた変更指示が1以上の立体オブジェクトを回転させる指示である場合に、当該変更指示に応じて当該変更指示の対象となる立体オブジェクトと、当該立体オブジェクト以外の立体オブジェクトとが回転するよう、当該立体オブジェクトの前記オブジェクト配置情報を更新するオブジェクト更新ステップとを実行させるためのプログラムであって、
    前記出力ステップは、前記オブジェクト更新ステップで更新したオブジェクト配置情報を用いて前記画像情報構成ステップで構成する画像情報を用いて出力を更新するプログラム。
  10. 階層化された1以上のデータで構成される階層構造データが格納され得る階層構造データ格納部と、
    2以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る形状情報格納部と、
    前記階層構造データから、一のノードに従属する1以上のデータを取得する配置用データ取得部と、
    前記配置用データ取得部が取得したデータを、前記形状情報が示す立体オブジェクトの予め指定された方向である第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する画像情報構成部と、
    前記画像情報構成部が構成した画像情報を出力する出力部と、
    前記立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付部と、を備え、
    前記配置用データ取得部は、前記出力部が出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記1以上のデータのうちの1以上に対して所定の従属関係にある1以上のデータを取得し、
    前記画像情報構成部は、前記回転指示に応じて回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した所定の従属関係にある1以上のデータを配置した立体オブジェクトの画像情報を構成し、
    前記出力部は、前記回転指示に応じて前記画像情報構成部が構成した画像情報を出力する情報処理装置。
  11. 前記出力部が出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記1以上のデータのうちの一のデータに対する指定を受け付ける指定受付部を更に備え、
    前記配置用データ取得部は、前記指定受付部が受け付けた指定により指定されるデータに対して従属する1以上のデータを、前記所定の従属関係にある1以上のデータとして階層構造データから取得する請求項10記載の情報処理装置。
  12. 前記配置用データ取得部は、前記出力部が出力する立体オブジェクトの前記第一指定方向を向いた面に配置された1以上のデータの従属先となるノードと同じ階層の異なるノードに従属する1以上のデータを、前記所定の従属関係にある1以上のデータとして取得する請求項10または請求項11記載の情報処理装置。
  13. 前記配置用データ取得部は、前記出力部が出力する立体オブジェクトの前記第一指定方向を向いた面に配置された1以上のデータの従属先となるノードと同じ階層の異なるノードに従属する1以上のデータを、前記所定の従属関係にある1以上のデータとして更に取得し、
    前記回転指示受付部は、前記立体オブジェクトを第一の回転方向に回転させる指示である第一回転指示と、前記立体オブジェクトを前記第二の回転方向とは異なる第二の回転方向に回転させる指示である第二回転指示とを受け付け得るものであり、
    前記画像情報構成部は、
    前記回転指示受付部が第一回転指示を受け付けた場合、前記第一回転指示が示す第一の回転方向に回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した前記指定受付部が受け付けた指定により指定されるデータに対して従属する1以上のデータを配置した立体オブジェクトの画像情報を構成し、
    前記回転指示受付部が第二回転指示を受け付けた場合、前記第二回転指示が示す第二の回転方向に回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得部が取得した回転前の立体オブジェクトの前記第一指定方向を向いた面に配置された1以上のデータの従属先となるノードと同じ階層の異なるノードに従属する1以上のデータを配置した立体オブジェクトの画像情報を構成する請求項11記載の情報処理装置。
  14. 前記階層構造データは、XMLデータである請求項10記載の情報処理装置。
  15. 階層化された1以上のデータで構成される階層構造データが格納され得る階層構造データ格納部と、2以上の面を有する立体オブジェクトの形状を示す情報である形状情報が格納され得る形状情報格納部と、配置用データ取得部と、画像情報構成部と、出力部と、回転指示受付部とを用いて行われる情報処理方法であって、
    前記配置用データ取得部が、前記階層構造データから、一のノードに従属する1以上のデータを取得する配置用データ取得ステップと、
    前記画像情報構成部が、前記配置用データ取得ステップで取得したデータを前記形状情報が示す立体オブジェクトの予め指定された方向である第一指定方向を向いた面に配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、
    前記出力部が、前記画像情報構成ステップで構成した画像情報を出力する出力ステップと、
    前記回転指示受付部が、前記立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付ステップと、を備え、
    前記配置用データ取得ステップは、前記出力ステップで出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記1以上のデータのうちの1以上に対して所定の従属関係にある1以上のデータを取得し、
    前記画像情報構成ステップは、前記回転指示に応じて回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得ステップで取得した所定の従属関係にある1以上のデータを配置した立体オブジェクトの画像情報を構成し、
    前記出力ステップは、前記回転指示に応じて前記画像情報構成ステップで構成した画像情報を出力する情報処理方法。
  16. コンピュータに、
    階層構造データ格納部に格納された階層化された1以上のデータで構成される階層構造データから、一のノードに従属する1以上のデータを取得する配置用データ取得ステップと、
    前記配置用データ取得ステップで取得したデータを、形状情報格納部に格納された2以上の面を有する立体オブジェクトの形状を示す情報である形状情報が示す立体オブジェクトの予め指定された方向を向いた面である第一指定方向に配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、
    前記画像情報構成ステップで構成した画像情報を出力する出力ステップと、
    前記立体オブジェクトを回転させる指示である回転指示を受け付ける回転指示受付ステップとを実行させるためのプログラムであって、
    前記配置用データ取得ステップは、前記出力ステップで出力した立体オブジェクトの前記第一指定方向を向いた面に配置された前記1以上のデータのうちの1以上に対して所定の従属関係にある1以上のデータを取得し、
    前記画像情報構成ステップは、前記回転指示に応じて回転させた前記立体オブジェクトの画像情報であって、回転後に前記第一指定方向を向いた面となった面に、前記配置用データ取得ステップで取得した所定の従属関係にある1以上のデータを配置した立体オブジェクトの画像情報を構成し、
    前記出力ステップは、前記回転指示に応じて前記画像情報構成ステップで構成した画像情報を出力するプログラム。
  17. 1以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、
    前記1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、
    1以上の前記立体オブジェクトに対する操作を含む操作を受け付ける操作受付部と、
    前記操作受付部が受け付けた操作に応じて、前記1以上の各立体オブジェクトに対する処理を実行する実行部と、
    前記形状情報が示す立体オブジェクトを構成する面のうちの、操作にロックをかけるための面であるロック面を指定する情報であるロック面指定情報が格納され得るロック面指定情報格納部と、
    前記立体オブジェクトの形状情報と、当該形状情報が示す立体オブジェクトの1以上の面に配置される前記配置用情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成部と、
    前記画像情報構成部が構成した画像情報を出力する出力部と、
    前記立体オブジェクトの、前記ロック面指定情報が指定するロック面が、予め指定された方向を向いているか否かを判断する方向判断部と、
    前記方向判断部が、前記ロック面指定情報が指定するロック面が予め指定された方向を向いていると判断した場合に、立体オブジェクトに対する操作を制限する操作制限部と、を備えた情報処理装置。
  18. 前記操作制限部は、立体オブジェクトに対する操作の制限を解除するための操作を受け付けた場合に、前記操作に対する制限を解除する請求項17記載の情報処理装置。
  19. 前記形状情報が示す立体オブジェクトに対する操作を制限するか否かを示す情報である操作可否情報が格納され得る操作可否情報格納部を更に備え、
    前記方向判断部は、前記立体オブジェクトの前記ロック面指定情報が指定するロック面が、予め指定された方向を向いていると判断した場合に、操作を制限することを示す操作可否情報を、前記操作可否情報格納部に蓄積し、
    前記操作制限部は、前記操作可否情報格納部に操作を制限する操作可否情報が格納されている場合に、前記立体オブジェクトに対する操作を制限する請求項17記載の情報処理装置。
  20. 前記操作受付部が受け付ける操作は、前記操作可否情報格納部に格納されている操作を制限する操作可否情報を、操作制限しない操作可否情報に変更させるための操作を含み、
    前記操作制限部は、前記操作受付部が前記変更させる操作を受け付けた場合に、前記操作可否情報格納部に格納されている操作可否情報を、操作を制限しない操作可否情報に変更する請求項19記載の情報処理装置。
  21. 前記方向判断部は、前記ロック面指定情報が指定するロック面が正面であるか否かを判断し、
    前記操作制限部は、前記方向判断部が、前記ロック面が正面であると判断した場合に、前記立体オブジェクトに対する操作を制限する請求項17から請求項20いずれか記載の情報処理装置。
  22. 前記形状情報格納部に格納されている一の立体オブジェクトに対するロック面指定情報を受け付けるロック面指定情報受付部と、
    前記形状情報格納部に格納されている1以上の立体オブジェクトのそれぞれについて、前記ロック面指定情報受付部が受け付けたロック面指定情報が指定する面と同じ面を指定するロック面指定情報を取得し、取得したロック面指定情報を各立体オブジェクトと対応付けて、前記ロック面指定情報格納部に格納するロック面指定情報蓄積部とを備えた請求項17から請求項20いずれか記載の情報処理装置。
  23. 1以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、
    前記1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、
    1以上の前記立体オブジェクトに対する操作を含む操作を受け付ける操作受付部と、
    前記操作受付部が受け付けた操作に応じて、前記1以上の各立体オブジェクトに対する処理を実行する実行部と、
    前記操作受付部が受け付けた操作を示す情報である操作情報を取得する操作情報取得部と、
    前記操作情報取得部が取得した最新の2以上の操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する出現パターン判断部と、
    前記出現パターン判断部が、出現パターンが一致すると判断した場合に、立体オブジェクトに対する操作を制限する操作制限部と、
    前記立体オブジェクトの形状情報と、当該形状情報が示す立体オブジェクトの1以上の面に配置される前記配置用情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成部と、
    前記画像情報構成部が構成した画像情報を出力する出力部と、を備えた情報処理装置。
  24. 前記操作受付部が受け付けた操作の履歴を示す情報である操作履歴情報が格納され得る操作履歴情報格納部を更に備え、
    前記操作情報取得部は、前記取得した操作情報を含む前記操作履歴情報を前記操作履歴情報格納部に蓄積し、
    前記出現パターン判断部は、前記操作情報取得部が蓄積した最新の2以上の操作履歴情報に含まれる操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する請求項23記載の情報処理装置。
  25. 前記操作制限部は、立体オブジェクトに対する操作の制限を解除するための操作を受け付けた場合に、前記操作に対する制限を解除する請求項23または請求項24記載の情報処理装置。
  26. 前記形状情報が示す立体オブジェクトに対する操作を制限するか否かを示す情報である操作可否情報が格納され得る操作可否情報格納部を更に備え、
    前記出現パターン判断部は、前記出現パターンが一致すると判断した場合に、操作を制限することを示す操作可否情報を、前記操作可否情報格納部に蓄積し、
    前記操作制限部は、前記操作可否情報格納部に操作を制限する操作可否情報が格納されている場合に、前記立体オブジェクトに対する操作を制限する請求項23または請求項24記載の情報処理装置。
  27. 前記操作受付部が受け付ける操作は、前記操作可否情報格納部に格納されている操作を制限する操作可否情報を、操作制限しない操作可否情報に変更させるための操作を含み、
    前記操作制限部は、前記操作受付部が前記変更させる操作を受け付けた場合に、前記操作可否情報格納部に格納されている操作可否情報を、操作を制限しない操作可否情報に変更する請求項26記載の情報処理装置。
  28. 前記操作情報の出現パターンを示す情報である操作パターン定義情報が格納され得る操作パターン定義情報格納部と、をさらに備えた請求項23または請求項24記載の情報処理装置。
  29. 前記1以上の立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得るオブジェクト配置情報格納部を更に備え、
    前記画像情報構成部は、前記立体オブジェクトの形状情報と、当該形状情報が示す立体オブジェクトの1以上の面に配置される前記配置用情報と、当該立体オブジェクトに対応するオブジェクト配置情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトを、前記オブジェクト配置情報が示すよう配置した画像情報を構成する請求項17または請求項23いずれか記載の情報処理装置。
  30. 1以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、前記1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、操作受付部と、実行部と、前記形状情報が示す立体オブジェクトを構成する面のうちの、操作にロックをかけるための面であるロック面を指定する情報であるロック面指定情報が格納され得るロック面指定情報格納部と、画像情報構成部と、出力部と、方向判断部と、操作制限部とを用いて行われる情報処理方法であって、
    前記操作受付部が、1以上の前記立体オブジェクトに対する操作を含む操作を受け付ける操作受付ステップと、
    前記実行部が、前記操作受付ステップで受け付けた操作に応じて、前記1以上の各立体オブジェクトに対する処理を実行する実行ステップと、
    前記画像情報構成部が、前記立体オブジェクトの形状情報と、当該形状情報が示す立体オブジェクトの1以上の面に配置される前記配置用情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、
    前記出力部が、前記画像情報構成ステップが構成した画像情報を出力する出力ステップと、
    前記方向判断部が、前記立体オブジェクトの、前記ロック面指定情報が指定するロック面が、予め指定された方向を向いているか否かを判断する方向判断ステップと、
    前記操作制限部が、前記方向判断ステップにより、前記ロック面指定情報が指定するロック面が予め指定された方向を向いていると判断した場合に、立体オブジェクトに対する操作を制限する操作制限ステップと、を備えた情報処理方法。
  31. 1以上の立体オブジェクトの形状を指定する情報である形状情報が格納され得る形状情報格納部と、前記1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部と、操作受付部と、実行部と、操作情報取得部と、出現パターン判断部と、操作制限部と、画像情報構成部と、出力部と、を用いて行われる情報処理方法であって、
    前記操作受付部が、1以上の前記立体オブジェクトに対する操作を含む操作を受け付ける操作受付ステップと、
    前記実行部が、前記操作受付ステップで受け付けた操作に応じて、前記1以上の各立体オブジェクトに対する処理を実行する実行ステップと、
    前記操作情報取得部が、前記操作受付ステップで受け付けた操作を示す情報である操作情報を取得する操作情報取得ステップと、
    前記出現パターン判断部が、前記操作情報取得ステップで取得した最新の2以上の操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する出現パターン判断ステップと、
    前記出現パターン判断ステップで、出現パターンが一致すると判断した場合に、前記操作制限部が、立体オブジェクトに対する操作を制限する操作制限ステップと、
    前記画像情報構成部が、前記立体オブジェクトの形状情報と、当該形状情報が示す立体オブジェクトの1以上の面に配置される前記配置用情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、
    前記出力部が、前記画像情報構成ステップで構成した画像情報を出力する出力ステップと、を備えた情報処理方法。
  32. コンピュータに、
    形状情報格納部に格納されている1以上の立体オブジェクトの形状を指定する情報である形状情報により形状が指定される1以上の前記立体オブジェクトに対する操作を含む操作を受け付ける操作受付ステップと、
    前記操作受付ステップで受け付けた操作に応じて、前記1以上の各立体オブジェクトに対して処理を実行する実行ステップと、
    前記立体オブジェクトの形状情報と、前記1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部に格納されている、当該形状情報が示す立体オブジェクトの1以上の面に配置される前記配置用情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、
    前記画像情報構成ステップで構成した画像情報を出力する出力ステップと、
    前記立体オブジェクトの、ロック面指定情報格納部に格納されている当該立体オブジェクトを構成する面のうちの操作にロックをかけるための面であるロック面を指定する情報であるロック面指定情報が指定するロック面が、予め指定された方向を向いているか否かを判断する方向判断ステップと、
     前記方向判断ステップが、前記ロック面指定情報が指定するロック面が予め指定された方向を向いていると判断した場合に、立体オブジェクトに対する操作を制限する操作制限ステップを実行させるためのプログラム。
  33. コンピュータに、
    形状情報格納部に格納されている1以上の立体オブジェクトの形状を指定する情報である形状情報により形状が指定される1以上の前記立体オブジェクトに対する操作を含む操作を受け付ける操作受付ステップと、
    前記操作受付ステップで受け付けた操作に応じて、前記1以上の各立体オブジェクトに対する処理を実行する実行部と、
    前記操作受付ステップで受け付けた操作を示す情報である操作情報を取得する操作情報取得ステップと、
    前記操作情報取得ステップで取得した最新の2以上の操作情報の出現パターンが、予め指定された操作情報の出現パターンと一致するか否かを判断する出現パターン判断ステップと、
    前記出現パターン判断ステップで、出現パターンが一致すると判断した場合に、立体オブジェクトに対する操作を制限する操作制限ステップと、
    前記立体オブジェクトの形状情報と、前記1以上の立体オブジェクトのそれぞれを構成する1以上の面に配置される1以上の情報である配置用情報が格納され得る配置用情報格納部に格納されている、当該形状情報が示す立体オブジェクトの1以上の面に配置される前記配置用情報とを読み出し、当該読み出した形状情報が示す1以上の面に対し、それぞれに対応した前記配置用情報を配置した立体オブジェクトの画像情報を構成する画像情報構成ステップと、
    前記画像情報構成ステップで構成した画像情報を出力する出力ステップを実行させるためのプログラム。
PCT/JP2010/060523 2009-06-25 2010-06-22 情報処理装置、情報処理方法、およびプログラム WO2010150768A1 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2009-151472 2009-06-25
JP2009151472A JP5566632B2 (ja) 2009-06-25 2009-06-25 情報処理装置、情報処理方法、およびプログラム
JP2009245756A JP5513071B2 (ja) 2009-10-26 2009-10-26 情報処理装置、情報処理方法、およびプログラム
JP2009-245756 2009-10-26
JP2009250100A JP5427551B2 (ja) 2009-10-30 2009-10-30 情報処理装置、情報処理方法、およびプログラム
JP2009-250100 2009-10-30

Publications (1)

Publication Number Publication Date
WO2010150768A1 true WO2010150768A1 (ja) 2010-12-29

Family

ID=43386537

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/060523 WO2010150768A1 (ja) 2009-06-25 2010-06-22 情報処理装置、情報処理方法、およびプログラム

Country Status (1)

Country Link
WO (1) WO2010150768A1 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345354A (zh) * 2013-06-27 2013-10-09 Tcl集团股份有限公司 一种图形界面焦点形状处理的方法及系统
US10001817B2 (en) 2013-09-03 2018-06-19 Apple Inc. User interface for manipulating user interface objects with magnetic properties
US10275117B2 (en) 2012-12-29 2019-04-30 Apple Inc. User interface object manipulations in a user interface
US10281999B2 (en) 2014-09-02 2019-05-07 Apple Inc. Button functionality
US10503388B2 (en) 2013-09-03 2019-12-10 Apple Inc. Crown input for a wearable electronic device
US10536414B2 (en) 2014-09-02 2020-01-14 Apple Inc. Electronic message user interface
US10691230B2 (en) 2012-12-29 2020-06-23 Apple Inc. Crown input for a wearable electronic device
US10712824B2 (en) 2018-09-11 2020-07-14 Apple Inc. Content-based tactile outputs
US10884592B2 (en) 2015-03-02 2021-01-05 Apple Inc. Control of system zoom magnification using a rotatable input mechanism
US10921976B2 (en) 2013-09-03 2021-02-16 Apple Inc. User interface for manipulating user interface objects
US11068128B2 (en) 2013-09-03 2021-07-20 Apple Inc. User interface object manipulations in a user interface
US11157143B2 (en) 2014-09-02 2021-10-26 Apple Inc. Music user interface
US11250385B2 (en) 2014-06-27 2022-02-15 Apple Inc. Reduced size user interface
US11402968B2 (en) 2014-09-02 2022-08-02 Apple Inc. Reduced size user in interface
US11435830B2 (en) 2018-09-11 2022-09-06 Apple Inc. Content-based tactile outputs
US11537281B2 (en) 2013-09-03 2022-12-27 Apple Inc. User interface for manipulating user interface objects with magnetic properties

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09171452A (ja) * 1995-10-20 1997-06-30 Fuji Xerox Co Ltd 階層情報表示システム及び装置
JP2009510643A (ja) * 2005-10-07 2009-03-12 ノキア コーポレイション メニューの提供および/またはアクセス・コードの入力を目的としたグラフィカル・ユーザ・インターフェース、方法、デバイスおよびコンピュータ・プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09171452A (ja) * 1995-10-20 1997-06-30 Fuji Xerox Co Ltd 階層情報表示システム及び装置
JP2009510643A (ja) * 2005-10-07 2009-03-12 ノキア コーポレイション メニューの提供および/またはアクセス・コードの入力を目的としたグラフィカル・ユーザ・インターフェース、方法、デバイスおよびコンピュータ・プログラム

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10691230B2 (en) 2012-12-29 2020-06-23 Apple Inc. Crown input for a wearable electronic device
US10275117B2 (en) 2012-12-29 2019-04-30 Apple Inc. User interface object manipulations in a user interface
CN103345354B (zh) * 2013-06-27 2017-07-18 深圳Tcl工业研究院有限公司 一种图形界面焦点形状处理的方法及系统
CN103345354A (zh) * 2013-06-27 2013-10-09 Tcl集团股份有限公司 一种图形界面焦点形状处理的方法及系统
US11656751B2 (en) 2013-09-03 2023-05-23 Apple Inc. User interface for manipulating user interface objects with magnetic properties
US11068128B2 (en) 2013-09-03 2021-07-20 Apple Inc. User interface object manipulations in a user interface
US11829576B2 (en) 2013-09-03 2023-11-28 Apple Inc. User interface object manipulations in a user interface
US10001817B2 (en) 2013-09-03 2018-06-19 Apple Inc. User interface for manipulating user interface objects with magnetic properties
US11537281B2 (en) 2013-09-03 2022-12-27 Apple Inc. User interface for manipulating user interface objects with magnetic properties
US10503388B2 (en) 2013-09-03 2019-12-10 Apple Inc. Crown input for a wearable electronic device
US10921976B2 (en) 2013-09-03 2021-02-16 Apple Inc. User interface for manipulating user interface objects
US11250385B2 (en) 2014-06-27 2022-02-15 Apple Inc. Reduced size user interface
US11720861B2 (en) 2014-06-27 2023-08-08 Apple Inc. Reduced size user interface
US11644911B2 (en) 2014-09-02 2023-05-09 Apple Inc. Button functionality
US11743221B2 (en) 2014-09-02 2023-08-29 Apple Inc. Electronic message user interface
US12001650B2 (en) 2014-09-02 2024-06-04 Apple Inc. Music user interface
US11402968B2 (en) 2014-09-02 2022-08-02 Apple Inc. Reduced size user in interface
US11941191B2 (en) 2014-09-02 2024-03-26 Apple Inc. Button functionality
US11474626B2 (en) 2014-09-02 2022-10-18 Apple Inc. Button functionality
US11157143B2 (en) 2014-09-02 2021-10-26 Apple Inc. Music user interface
US10281999B2 (en) 2014-09-02 2019-05-07 Apple Inc. Button functionality
US10536414B2 (en) 2014-09-02 2020-01-14 Apple Inc. Electronic message user interface
US11068083B2 (en) 2014-09-02 2021-07-20 Apple Inc. Button functionality
US10884592B2 (en) 2015-03-02 2021-01-05 Apple Inc. Control of system zoom magnification using a rotatable input mechanism
US10928907B2 (en) 2018-09-11 2021-02-23 Apple Inc. Content-based tactile outputs
US10712824B2 (en) 2018-09-11 2020-07-14 Apple Inc. Content-based tactile outputs
US11921926B2 (en) 2018-09-11 2024-03-05 Apple Inc. Content-based tactile outputs
US11435830B2 (en) 2018-09-11 2022-09-06 Apple Inc. Content-based tactile outputs

Similar Documents

Publication Publication Date Title
WO2010150768A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5513071B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5566632B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5427551B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US8264488B2 (en) Information processing apparatus, information processing method, and program
CN105339931B (zh) 用于处理数据容器的方法和设备
CN101377787B (zh) 图像搜索装置和图像搜索方法
JP5965477B2 (ja) リレーショナルデータベースを視覚化するマップに基づく方法
US20120151408A1 (en) Dynamic network browser
KR20120031259A (ko) 데이터베이스와 상호작용하는 컴퓨터 지원 설계 시스템의 세션 내에서의 모델링된 객체의 설계
US9035880B2 (en) Controlling images at hand-held devices
KR20160082477A (ko) 객체들의 세트의 뷰포인트의 선택
WO2020214583A1 (en) Augmented reality image retrieval systems and methods
US10296626B2 (en) Graph
Khanwalkar et al. Exploration of large image corpuses in virtual reality
JP5372590B2 (ja) 情報処理装置、情報処理方法、およびプログラム
RU2656818C9 (ru) Управление доступом к паноптически визуализируемому документу
JP5038250B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5175794B2 (ja) 情報処理装置、情報処理方法、およびプログラム
KR20190106107A (ko) 위치정보와 촬영자세를 이용한 스마트 영상의 가상현실 서비스 기술
JP5505984B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5513033B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5615654B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5660604B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20100095247A1 (en) Data-driven interface for managing materials

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10792086

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10792086

Country of ref document: EP

Kind code of ref document: A1