The medical, engineering, industrial, and IT fields are examples of fields that utilize a computer display to present virtual 3D models for the purpose of analysis, design, or interaction. In essence, when a computer displays a 3D model, it perceives it mainly as raw data, in the form of a point cloud, lines of a wireframe, plurality of curves, collections of polygons, and the like. This contrasts with how humans perceive graphical data: they see it as information, or data in its usable form that is initially processed by analysis of the constituent parts of a whole, then synthesized as a whole, and finally interpreted. However, until recently there have not been any methods or techniques that enable a computer to perceive 3D models in the same manner of perception as a human. A computer lacks the capacity to help a human by being unable to automate many simple and complex tasks that depend mainly on interpreting the visual data inherent in virtual 3D models.
Should such a method of interpretation come into being, a computer would be capable of helping humans complete complex professional tasks in various fields such as medical, engineering, industrial, and IT fields. For example, in the medical field, creating a 3D medical model of a patient's ailing organ on the computer display will allow a computer equipped with a “human” method of interpretation to diagnose the medical problem afflicting this organ. In the engineering field, it would be possible to display a video of a 3D model representing a collapse or explosion of a building and enable the computer to analyze and identify the specific cause of this collapse or explosion. These and other examples can be performed in a manner similar to a human's method of perception once the computer is able to extract useful information from the digital data of the 3D models.
In one embodiment, the present invention discloses a method to immerse a 3D model in a 3D grid and map the 3D model with a 3D matrix representing the immersion of the 3D model in the 3D grid. This method is comprised of four steps. The first step is to immerse the 3D model in a 3D grid comprised of 3D units. The second step is to identify each inner 3D unit of the 3D units that are located inside the 3D model. The third step is to tag each inner 3D unit with an identifier representing its surrounding 3D units. The fourth step is to form a 3D matrix comprised of layers of 2D matrices, where each cell of the 2D matrices represents a 3D unit and contains the identifier of the 3D unit. In one embodiment, the 3D model is created using a 3D grid and, in this case, this 3D grid is used to immerse the 3D model. In another embodiment, the 3D model is a three-dimensional wireframe model represented by sets of lines abiding to a vector graphics format, where each set of lines represents a surface. In this case, when using a 3D grid, the inner 3D units of the 3D grid are the 3D units that are completely located inside the three-dimensional wireframe model.
In one embodiment of the present invention, the 3D units of the 3D grid are identical, meaning they have the same shape and dimensions. In another embodiment of the present invention, the 3D units are not identical, which means they do not have the same shape or dimensions. In one embodiment, each one of the 2D matrices of the 3D matrix is comprised of two sets of data that can be represented by a rectangular array. In another embodiment, each one of the 2D matrices is comprised of two sets of data that can be represented by a circular array. There are other arrays as well which are not rectangular or circular and hold another form entirely. In another embodiment, each one of the 2D matrices is comprised of more than two sets of data. In the cases of certain 3D models, two or more 3D grids are simultaneously used to immerse the 3D model. In this case, each one of the 2D matrices is comprised of two or more matrices representing the two or more 3D grids.
Analyzing the identifiers located in the 2D matrices using an analysis program allows the computer system to extract useful information from the digital data provided by the 3D model. In one embodiment of the present invention, analyzing the identifiers of the cells of the 2D matrices allows the computer system to recognize the identity of the 3D model. In another embodiment, analyzing the identifiers allows the computer system to extract positional information related to the parts of the 3D model relative to each other. This is achieved by comparing the positions of the cells of 2D matrices relative to each other or relative to a base point or spot. In one embodiment, analyzing the identifiers of the 2D matrices allows the computer system to extract numerical information, such as length, area or volume, related to the 3D model. This is achieved by computing the number of specific cells of the 2D matrices that represent this length, area, or volume. In yet another embodiment, analyzing the identifiers of the 2D matrices allows the computer system to find a path between two separate parts of the 3D models. This is done by determining which group of cells in the 2D matrices are attached to each other and follows this creating a path. In one embodiment, analyzing the identifiers of the 2D matrices enables the computer system to detect an error in the 3D model. This is achieved by comparing the identifiers of the cells of the 2D matrices to a particular criteria related to this error.
The above Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The previous figures illustrate examples of 2D grids that a user can utilize to create 2D shapes by selecting some 2D units locating on the 2D grids. In a similar manner, it is possible to use 3D grids comprised of 3D units to create 3D objects. For example,
Generally, the present invention discloses a method that allows a computer system to extract information about the 3D model in an automated manner. The method is comprised of four steps. The first step is to immerse the 3D model in a 3D grid comprised of 3D units. The second step is to identify each inner 3D unit of the 3D units located within the 3D model. The third step is to tag each inner 3D unit with an identifier representing the surrounding 3D units. The fourth step is to form a 3D matrix comprised of layers of 2D matrices, wherein each cell of the 2D matrices represent a 3D unit and contains the identifier of the 3D unit.
In one embodiment, if the 3D model was already created using a 3D grid, this specific 3D grid is used to immerse and divide the 3D model into 3D units. For example,
After immersing the 3D model in a 3D grid, the inner units of the 3D grid are determined. As mentioned previously, if the 3D model was created using a 3D grid, and the 3D model is defined with the units of this 3D grid, then the inner units are already defined. If the 3D model is in the form of a three-dimensional wireframe and a 3D grid is used to immerse this 3D model, then each 3D unit of the 3D grid will be checked if it is located or not within the 3D model. To achieve this, each face of a 3D unit has its location checked to make sure it is located or not within the 3D model. If all faces of the same 3D unit are located inside the 3D model, then the 3D unit is considered an inner unit. If one or more faces of a 3D unit are partially or entirely located outside the 3D model, then this 3D unit is not considered an inner unit.
Once the inner units are determined, each one of them is tagged with an identifier representing its surrounding 3D units. For example, if the inner units are cubes, where each cube is surrounded by six other cubes, then the identifier of each inner unit is comprised of six digits representing the six faces of the cube. Each digit of the six digits is either “1” to indicate a face of the cube that is attached to another inner unit, or “0” to indicate a face of the cube that is not attached to another inner unit. For example,
As previously mentioned, analyzing the 3D matrix that represent a 3D model allows the computer system to extract information regarding the 3D model. In one embodiment, the analysis of the 3D matrix automatically identifies the shape or form of the 3D model. For example, to identify a 3D model of a hollow sphere represented by a 3D gird, such as the 3D grid illustrated in
In another embodiment, analyzing the identifiers of a 3D matrix representing a 3D model allows the computer system to extract positional information. For example,
In another embodiment, analyzing the identifiers of a 3D matrix representing a 3D model allows the computer system to extract numerical information, such as an area or volume relative to the 3D model. For example, to determine the area of the 3D model that has a direct view to the top, each cell of a 2D matrix is compared to other cells located right on top of it in the upper layers of the 2D matrixes. If a cell has an identifier and other cells located above it have no identifiers, then this cell is considered to be a direct view of the top direction. The total number of such cells represents all cells that have a direct view of the top direction. Calculating the areas of these cells determines the area of the 3D model that have a direct view of the top direction. Another example, to calculate the volume of the 3D model or a part of the 3D model, the number of the inner units located inside the 3D model or the part of the 3D model are used to represent the required volume. The number of the inner units can be represented by the number of cells that include identifiers. Multiplying this number by the volume of the 3D unit determines the required volume.
In one embodiment, analyzing the identifiers of a 3D matrix representing a 3D model allows the computer system to find a path between two separate parts of the 3D model. For example, to find a path located on the exterior surface of the 3D model to connect the two spots 440 and 450, such as the path 460 which is indicated by the dashed lines. In this case, the inner units that intersect with a line connecting the two spots are determined. Each one of these inner units will contain a part of the line, this part is projected on one side of each inner unit that has an exterior exposure. The exterior exposure of the inner unit can be determined by the analysis of the cell identifier that represents the inner unit. For example, an identifier that includes the digit “0” of a 3D unit side means this 3D unit has an exterior exposure from this side. Connecting the projected lines on each exterior side of exterior 3D unit leads to automatically generating the path 460, which is illustrated in the figure.
In another embodiment, analyzing the identifiers of a 3D matrix representing a 3D model allows the computer system to detect an error in the 3D model. This is achieved by comparing the identifiers of the cells of the 2D matrices to a particular criteria related to this error. In one embodiment, the particular criteria includes a form of a group of identifiers that represent an identity of a 3D model or a part of the 3D model. In another embodiment, the particular criteria includes positional data related to the parts of the 3D model relative to each other. In one embodiment, the particular criteria includes numerical information such as lengths, areas, or volume related to the 3D model or its parts. In yet another embodiment, the particular criteria includes a description of one or more paths connecting two points, spots, or objects on the 3D model.
Conclusively, while a number of exemplary embodiments have been presented in the description of the present invention, it should be understood that a vast number of variations exist, and these exemplary embodiments are merely representative examples, and are not intended to limit the scope, applicability or configuration of the disclosure in any way. Various of the above-disclosed and other features and functions, or alternative thereof, may be desirably combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications variations, or improvements therein or thereon may be subsequently made by those skilled in the art which are also intended to be encompassed by the claims, below. Therefore, the foregoing description provides those of ordinary skill in the art with a convenient guide for implementation of the disclosure, and contemplates that various changes in the functions and arrangements of the described embodiments may be made without departing from the spirit and scope of the disclosure defined by the claims thereto.
This application is a Continuation-in-Part of co-pending U.S. patent application Ser. No. 12/072,976, filed Feb. 29, 2008, titled “Graphical Data Mapping technique”, and Ser. No. 13/507,745, filed Jul. 24, 2012, titled “3-D Representation Method and System”.
Number | Date | Country | |
---|---|---|---|
Parent | 12072976 | Feb 2008 | US |
Child | 14320673 | US | |
Parent | 13507745 | Jul 2012 | US |
Child | 12072976 | US |