CN110490970B - Method and device for storing three-dimensional geometric information and electronic equipment - Google Patents
Method and device for storing three-dimensional geometric information and electronic equipment Download PDFInfo
- Publication number
- CN110490970B CN110490970B CN201910730007.1A CN201910730007A CN110490970B CN 110490970 B CN110490970 B CN 110490970B CN 201910730007 A CN201910730007 A CN 201910730007A CN 110490970 B CN110490970 B CN 110490970B
- Authority
- CN
- China
- Prior art keywords
- coordinates
- dimensional space
- coordinate
- space grid
- base
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/32—Image data format
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
The invention discloses a method, a device and electronic equipment for storing three-dimensional geometric information, which are used for solving the problem of large memory occupation in mesh data storage. The method comprises the following steps: acquiring a three-dimensional space grid; calculating a coordinate reference point of the coordinate; subtracting the coordinates of the reference points of the coordinates from the coordinates of all points to obtain new coordinates, and storing the new coordinates in an unsigned short type numerical value. The further scheme also comprises the following steps: and calculating the dynamic scaling of the three-dimensional space grid, scaling the coordinates of each point, subtracting the coordinates of the coordinate reference points, and obtaining new coordinates to store in an unsigned short type numerical value. The invention adopts the mesh relative coordinate value to replace float type value storage by unsigned short type value with smaller memory consumption. With dynamic scaling, large-size mesh can also be stored with unsigned short-type values.
Description
Technical Field
The invention relates to a processing and storing method of BIM model data.
Background
BIM, which is called building information model (Building Information Modeling), is a three-dimensional information model established based on each item of related information data of building engineering projects, simulates real information of a building through digital information, and has the characteristics of information completeness, information relevance, information consistency, visualization, coordination, simulation, optimality, diagrammability and the like.
In the BIM model, the geometric information of various three-dimensional components is composed of a series of three-dimensional space points, and the three-dimensional space points together form a space grid structure, and the space grid is called a mesh of the BIM components.
In the prior art, the geometric information of the mesh is composed of three-dimensional space points and triangle indexes, wherein the triangle indexes are stored by integer numbers (unsigned int), and the coordinates of the three-dimensional space points are stored by floating point numbers (float) with three dimensions, so that the memory consumption is large, the analysis efficiency is low and other subsequent problems are brought due to the large storage space occupied by the floating point numbers (float) storage.
Disclosure of Invention
The invention aims to solve the problem of larger memory occupation in the existing mesh data storage, and reduces the file size and the memory consumption on the basis of a compact data storage mode.
In order to achieve the above object, the present invention provides a method for storing three-dimensional geometric information, comprising the steps of: 1) Acquiring a three-dimensional space grid; 2) Calculating coordinate reference points of the three-dimensional space grid; 3) Subtracting the coordinates of the coordinate reference points from the coordinates of each point in the three-dimensional space grid to obtain new coordinates of each point; 4) And storing the obtained new point coordinates.
Further, the step 2) calculates the coordinate reference points of the three-dimensional space grid specifically as follows: and setting the coordinates of the coordinate reference points as (x_base, y_base and z_base), wherein x_base is the minimum value of the x coordinates in the three-dimensional space grid, y_base is the minimum value of the y coordinates in the three-dimensional space grid, and z_base is the minimum value of the z coordinates in the three-dimensional space grid.
Further, the step 2) and the step 3) further include calculating a dynamic scaling of the three-dimensional space grid, and the step 3) is to first multiply the coordinates of the points by the dynamic scaling before subtracting the coordinates of the coordinate reference points from the coordinates of the points in the three-dimensional space grid, and then subtract the coordinates of the coordinate reference points from the scaled coordinates.
Further, in the step 3), the dynamic scaling is calculated according to the following formula:
base_scale=65535/MAX (x_d, y_d, z_d), where base_scale represents dynamic scaling, let x_min be the minimum value of the x-coordinate, x_max be the maximum value, y_min be the minimum value of the y-coordinate, y_max be the maximum value, z_min be the minimum value of the z-coordinate, and z_max be the maximum value, then x_d=x_max-x_min, y_d=y_max-y_min, z_d=z_max-z_min, MAX (x_d, y_d, z_d) represents taking the maximum value of x_d, y_d, z_d.
Further, the original coordinates of each point in the three-dimensional space grid are float type values, the dynamic scaling is float type values, and the new coordinates of each point are stored in unsigned short type values.
The invention also provides a device for storing three-dimensional geometric information, which comprises: a grid acquisition unit for acquiring a three-dimensional space grid; a reference point calculation unit for calculating a coordinate reference point of the three-dimensional space grid; the coordinate conversion unit is used for subtracting the coordinates of the coordinate reference points from the coordinates of each point in the three-dimensional space grid to obtain new coordinates of each point; and the storage unit is used for storing the obtained new point coordinates.
Further, the reference point calculating unit calculates the coordinate reference points of the three-dimensional space grid as follows: and setting the coordinates of the coordinate reference points as (x_base, y_base and z_base), wherein x_base is the minimum value of the x coordinates in the three-dimensional space grid, y_base is the minimum value of the y coordinates in the three-dimensional space grid, and z_base is the minimum value of the z coordinates in the three-dimensional space grid.
Further, the apparatus for storing three-dimensional geometric information further includes a scaling calculation unit for calculating a dynamic scaling of the three-dimensional space grid, and the coordinate conversion unit multiplies the coordinates of points in the three-dimensional space grid by the dynamic scaling before subtracting the coordinates of the coordinate reference points from the coordinates of the points, and then subtracts the coordinates of the coordinate reference points from the scaled coordinates.
Further, the dynamic scaling is calculated according to the following formula: base_scale=65535/MAX (x_d, y_d, z_d), where base_scale represents dynamic scaling, let x_min be the minimum value of the x-coordinate, x_max be the maximum value, y_min be the minimum value of the y-coordinate, y_max be the maximum value, z_min be the minimum value of the z-coordinate, and z_max be the maximum value, then x_d=x_max-x_min, y_d=y_max-y_min, z_d=z_max-z_min, MAX (x_d, y_d, z_d) represents taking the maximum value of x_d, y_d, z_d.
Further, the original coordinates of each point in the three-dimensional space grid are float type values, the dynamic scaling is float type values, and the new coordinates of each point are stored in unsigned short type values.
The invention also provides an electronic device, comprising: a storage device; one or more processors; wherein the storage device is configured to store one or more programs that, when executed by the one or more processors, cause the one or more processors to implement the aforementioned methods.
The present invention also provides a computer readable storage medium having stored thereon a computer program which, when executed, implements the aforementioned method.
Compared with the prior art, the invention has the following beneficial effects:
1. by subtracting the coordinates of the coordinate reference points, the absolute coordinates of each point in the mesh space are changed into relative coordinates, so that the coordinate values in the mesh space become relatively smaller, and the memory consumption is reduced. Preferably, the coordinates are converted from an original floating point type (float) memory to an unsigned full memory, so that the memory space of the same mesh can be reduced by half.
2. By adopting dynamic scaling, large-size mesh (three-dimensional space grid) can be stored by adopting unsigned short values, low-precision storage can be realized for the mesh with large size and less details because the scaling base_scale is smaller than 1, and high-precision storage can be realized for the mesh with small size and rich details because the scaling base_scale is larger than 1, so that the mesh information can be stored with dynamic precision.
In general, the invention realizes a compact mesh data storage mode, reduces the file size, reduces the memory consumption, can reduce the storage space for large-size meshes, and can improve the storage precision for small-size meshes.
Drawings
FIG. 1 is a schematic flow chart of a method according to a first embodiment of the invention;
FIG. 2 is a schematic diagram of a device according to a first embodiment of the present invention;
FIG. 3 is a flow chart of a second embodiment of the present invention;
fig. 4 is a schematic diagram of a device structure according to a second embodiment of the invention.
Detailed Description
In order to facilitate the understanding and practice of the present invention, a technical solution of the present invention will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the described embodiments are merely illustrative of the present invention and are not limiting thereof.
It should be noted that the illustrations provided in the following embodiments merely illustrate the basic concept of the present invention by way of illustration, and only the components related to the present invention are shown in the drawings and are not drawn according to the number, shape and size of the components in actual implementation, and the form, number and proportion of the components in actual implementation may be arbitrarily changed, and the layout of the components may be more complicated.
Example 1
The present embodiment provides a method of storing three-dimensional geometric information. The method for storing three-dimensional geometric information provided in this embodiment may be performed by a computing device, which may be implemented as software, or as a combination of software and hardware, and the computing device may be integrally provided in a server, a terminal device, or the like. As shown in fig. 1, the method for storing three-dimensional geometric information mainly comprises the following steps:
s1: acquiring a three-dimensional space grid (mesh);
s2: calculating coordinate reference points of the three-dimensional space grid;
s3: subtracting the coordinates of the coordinate reference points from the coordinates of each point in the three-dimensional space grid to obtain new coordinates of each point;
s4: and storing the obtained new point coordinates.
In step S1 of this embodiment, it is assumed that the acquired mesh is composed of n space points, and the three-dimensional coordinates of each space point are represented by floating point values (float), as follows:
v0(65537,65541,65545),
v1(65540,65538,65542),
v2(65543,65544,65539),
……
vn(65546,65547,65548)。
in step S2 of this embodiment, when calculating the coordinate reference points basePoint (x_base, y_base, z_base) in the mesh, x_base takes the minimum value 65537 of the x coordinate in the three-dimensional space grid, y_base takes the minimum value 65538 of the y coordinate in the three-dimensional space grid, and z_base takes the minimum value 65539 of the z coordinate in the three-dimensional space grid, so as to obtain basePoint (65537, 65538, 65539).
In step S3, the coordinates of the coordinate reference points are subtracted from the coordinates of the points in the three-dimensional space grid to obtain new coordinates of the points, i.e. the new coordinates are converted into relative coordinates.
The coordinates of the new points in the mesh after conversion, namely the relative coordinates are as follows:
v_0(0,3,6),
v_1(3,0,3),
v_2(6,6,0),
……
v_n(9,9,9)。
wherein: v_n (9,9,9) =vn (65546, 65547, 65548) -basePoint (65537, 65538, 65539).
After the mesh is converted in this way, all absolute coordinate values become relative coordinate values which are relatively smaller, and the unsigned short type numerical value with smaller memory consumption can be used for replacing the float type numerical value storage, so that the memory consumption is reduced, and the storage space of the same mesh can be reduced by half. In a program implementation, the variable new_mesh may be used to represent a new three-dimensional space grid stored as an unsigned short type value.
In the foregoing, although the steps in the above method embodiments are described in the above order, it should be clear to those skilled in the art that other steps may be added based on the above steps, and these obvious modifications or equivalent alternatives are included in the protection scope of the present invention, which is not described herein.
The embodiment also provides a device for storing three-dimensional geometric information, which can be used for executing the steps implemented by the method embodiment of the present invention, and for convenience of explanation, only the relevant parts of the method embodiment of the present invention are shown, and specific technical details are not disclosed, please refer to the method embodiment of the present invention.
The apparatus for storing three-dimensional geometric information according to this embodiment may perform the steps described in the above embodiments of the method for storing three-dimensional geometric information. As shown in fig. 2, the apparatus mainly includes:
a grid acquisition unit 100 for acquiring a three-dimensional space grid;
a reference point calculation unit 200 for calculating coordinate reference points of the three-dimensional space grid;
a coordinate conversion unit 300, configured to subtract the coordinates of the coordinate reference points from the coordinates of each point in the three-dimensional space grid to obtain new coordinates of each point;
and a storage unit 400, configured to store the obtained new coordinates of each point.
Further, the reference point calculation unit calculates a coordinate minimum point in the three-dimensional space grid as the coordinate reference point.
Further, the original coordinates of each point in the three-dimensional space grid are float type numerical values, and the new coordinates of each point are stored in an unsigned short type numerical value.
The apparatus shown in fig. 2 may perform the method of the embodiment shown in fig. 1, and reference is made to the relevant description of the embodiment shown in fig. 1 for parts of this embodiment not described in detail. The implementation process and the technical effect of this technical solution refer to the description in the method embodiment shown in fig. 1, and are not repeated here.
Example two
The present embodiment provides a method for storing three-dimensional geometric information, and adds the steps of calculating dynamic scaling and performing coordinate scaling on the basis of the first embodiment. The method for storing three-dimensional geometric information provided in this embodiment may also be performed by a computing device, which may be implemented as software, or as a combination of software and hardware, and the computing device may be integrally provided in a server, a terminal device, or the like. As shown in fig. 3, the method for storing three-dimensional geometric information mainly comprises the following steps:
s1: acquiring a three-dimensional space grid (mesh);
s2: calculating coordinate reference points of the three-dimensional space grid;
s2': calculating the dynamic scaling of the three-dimensional space grid;
s3': the following operations are performed on each point in the three-dimensional space grid: multiplying the point coordinates by the dynamic scaling, and then subtracting the coordinates of the coordinate reference points to obtain new point coordinates;
s4: and storing the obtained new point coordinates.
In this embodiment, the specific operation of steps S1-S2, S4 is the same as steps S1-S2, S4 of the first embodiment, and the coordinate minimum point in the three-dimensional space grid is calculated as the coordinate reference point. For convenience and brevity of description, a detailed description is omitted herein. The following description is made with respect to the proposed background and specific principles of steps S2 'and S3'.
When the relative coordinates are used to store the mesh coordinates, since the storage type is an unsigned short type, the numerical value should be expressed in the range of [0,65535].
Let x_min (i.e., x_base) be the minimum value of the x-coordinate, x_max be the maximum value of the x-coordinate, y_min (i.e., y_base) be the minimum value of the y-coordinate, y_max be the maximum value of the y-coordinate, z_min (i.e., z_base) be the minimum value of the z-coordinate, z_max be the maximum value of the z-coordinate, then the relative coordinates (x_d, y_d, z_d) of the maximum value of the coordinates (x_max, y_max, z_max) with respect to the minimum value of the coordinates (x_min, y_min, z_min) are:
x_d=x_max-x_min,
y_d=y_max-y_min,
z_d=z_max-z_min,
for large size mesh, if x_d >65535 or y_d >65535 or z_d >65535, then v_max (x_d, y_d, z_d) cannot be stored with unsigned short type values (numerical expression range 0,65535), so dynamic scaling is introduced, i.e., scaling the coordinates of the points of the mesh before converting the mesh to relative coordinates, scaling to float base scale,
base_scale=65535/MAX(x_d,y_d,z_d)
at this time, MAX (x_d, y_d, z_d) >65535, so that 0< base_scale <1, the mesh point coordinates are multiplied by the scaling, and then the relative coordinate conversion is performed, that is, the coordinates of the coordinate reference point basePoint (x_base, y_base, z_base) are subtracted, and the obtained relative coordinate values are necessarily all between [0,65535], and can be stored as unsigned short type numerical values.
Also for small size mesh, if the values of x_d, y_d, z_d are particularly small, although the range of values belonging to the unsigned short type [0,65535] can be stored with unsigned short type values, since the values are concentrated in a small area, the mesh details will not be well represented, and dynamic scaling can be introduced at this time, i.e. scaling the coordinates of the points of the mesh first before converting the mesh to relative coordinates, the scaling being float base scale,
base_scale=65535/MAX(x_d,y_d,z_d)
at this time, MAX (x_d, y_d, z_d) is small, so that base_scale >1 is or is far greater than 1, after the mesh point coordinates are multiplied by the scaling, the details are amplified, and then relative coordinate conversion is performed, that is, the coordinates of the coordinate reference point base point are subtracted, so that the obtained relative coordinate values can represent richer mesh details.
In step S2' of the present embodiment, the dynamic scaling is calculated according to the following formula:
base_scale=65535/MAX (x_d, y_d, z_d), where base_scale represents dynamic scaling, let x_min be the minimum value of the x-coordinate, x_max be the maximum value, y_min be the minimum value of the y-coordinate, y_max be the maximum value, z_min be the minimum value of the z-coordinate, and z_max be the maximum value, then x_d=x_max-x_min, y_d=y_max-y_min, z_d=z_max-z_min, MAX (x_d, y_d, z_d) represents taking the maximum value of x_d, y_d, z_d.
Further, the dynamic scaling is of the float type, and the new point coordinates are stored in an unsigned short type numerical value.
The second embodiment also provides a device for storing three-dimensional geometric information, which can be used for executing the steps implemented in the second embodiment of the method, and for convenience of explanation, only the relevant parts of the embodiment of the invention are shown, and specific technical details are not disclosed, please refer to the embodiment of the method of the invention. As shown in fig. 2, the apparatus mainly includes:
a grid acquisition unit 100 for acquiring a three-dimensional space grid;
a reference point calculation unit 200 for calculating coordinate reference points of the three-dimensional space grid;
a scaling calculation unit 200' for calculating a dynamic scaling of the three-dimensional spatial grid.
A coordinate conversion unit 300, configured to perform the following operations on each point in the three-dimensional space grid: multiplying the point coordinates by the dynamic scaling, and then subtracting the coordinates of the coordinate reference points to obtain new point coordinates;
and a storage unit 400, configured to store the obtained new coordinates of each point.
Further, the storage unit 400 stores the new coordinates of each point in an unsigned short type numerical value.
It can be clearly understood by those skilled in the art that the specific working process of each module corresponds to the foregoing method steps of the second embodiment, and for convenience and brevity of description, reference is made to the corresponding process of the foregoing method embodiment, which is not repeated herein.
In summary, the above technical solution disclosed in the present invention makes the coordinate value of the three-dimensional space grid (mesh) relatively smaller by subtracting the reference point coordinate, and the space coordinate is converted from the original floating point (float) storage to the short integer (unsignedshort) storage, so that the storage space of the same mesh can be reduced by half, thereby reducing the memory consumption. On the basis, the large-size mesh can be stored by using an unsigned short type numerical value by a coordinate dynamic scaling method. The setting of the scaling ratio base_scale enables the mesh with a large size and less details to realize low-precision storage, and the mesh with a small size and rich details to realize high-precision storage.
In general, the invention realizes a compact mesh data storage mode, reduces the file size and reduces the memory consumption.
The embodiment of the invention also discloses an electronic device, which comprises: a storage device; one or more processors; wherein the storage means is for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the methods of the preceding embodiments.
The electronic device in the embodiment of the present invention may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a car-mounted terminal (e.g., car navigation terminal), etc., and a stationary terminal such as a digital TV, a desktop computer, etc. The electronic device may include a processing means (e.g., a central processing unit, a graphics processor, etc.) that may perform the methods of the foregoing embodiments in accordance with a program stored in a Read Only Memory (ROM) or a program loaded from a storage means into a Random Access Memory (RAM).
The present invention also provides a computer readable storage medium having stored thereon a computer program which, when executed, implements the method of the foregoing embodiments of the present invention.
The computer readable medium of the present invention may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present invention, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Claims (10)
1. A method of storing three-dimensional geometric information, comprising the steps of:
1) Acquiring a three-dimensional space grid;
2) Calculating coordinate reference points of the three-dimensional space grid; the step 2) of calculating the coordinate reference points of the three-dimensional space grid is specifically as follows: setting the coordinates of the coordinate reference points as (x_base, y_base and z_base), wherein x_base is the minimum value of the x coordinates in the three-dimensional space grid, y_base is the minimum value of the y coordinates in the three-dimensional space grid, and z_base is the minimum value of the z coordinates in the three-dimensional space grid;
3) Subtracting the coordinates of the coordinate reference points from the coordinates of each point in the three-dimensional space grid to obtain new coordinates of each point;
4) And storing the new point coordinates.
2. The method of claim 1, further comprising calculating a dynamic scaling of the three-dimensional space grid between step 2) and step 3), wherein step 3) multiplies the coordinates of points in the three-dimensional space grid by the dynamic scaling before subtracting the coordinates of the coordinate reference points from the coordinates of the points in the three-dimensional space grid, and then subtracts the coordinates of the coordinate reference points from the scaled coordinates.
3. The method of claim 2, wherein in step 3), the dynamic scaling is calculated according to the following formula:
base_scale=65535/MAX (x_d, y_d, z_d), where base_scale represents dynamic scaling, let x_min be the minimum value of the x-coordinate, x_max be the maximum value, y_min be the minimum value of the y-coordinate, y_max be the maximum value, z_min be the minimum value of the z-coordinate, z_max be the maximum value, z_base take the minimum value of the z-coordinate in the three-dimensional space grid, x_d=x_max-x_min, y_d=y_max-y_min, z_d=z_max-z_min, MAX (x_d, y_d, z_d) represents taking the maximum value of x_d, y_d, z_d.
4. A method according to claim 3, wherein the original coordinates of points in the three-dimensional space grid are float-type values, the dynamic scaling is float-type values, and the new coordinates of points are stored as unsigned-type values.
5. An apparatus for storing three-dimensional geometric information, comprising:
a grid acquisition unit for acquiring a three-dimensional space grid;
a reference point calculation unit for calculating a coordinate reference point of the three-dimensional space grid; the reference point calculating unit calculates the coordinate reference points of the three-dimensional space grid as follows: setting the coordinates of the coordinate reference points as (x_base, y_base and z_base), wherein x_base is the minimum value of the x coordinates in the three-dimensional space grid, y_base is the minimum value of the y coordinates in the three-dimensional space grid, and z_base is the minimum value of the z coordinates in the three-dimensional space grid;
the coordinate conversion unit is used for subtracting the coordinates of the coordinate reference points from the coordinates of each point in the three-dimensional space grid to obtain new coordinates of each point;
and the storage unit is used for storing the obtained new point coordinates.
6. The apparatus of claim 5, further comprising a scaling calculation unit for calculating a dynamic scaling of the three-dimensional space grid, the coordinate conversion unit multiplying the coordinates of points in the three-dimensional space grid by the dynamic scaling before subtracting the coordinates of the coordinate reference points from the coordinates of the points, and then subtracting the coordinates of the coordinate reference points from the scaled coordinates.
7. The apparatus of claim 6, wherein the dynamic scaling is calculated according to the following formula:
base_scale=65535/MAX (x_d, y_d, z_d), where base_scale represents dynamic scaling, let x_min be the minimum value of the x-coordinate, x_max be the maximum value, y_min be the minimum value of the y-coordinate, y_max be the maximum value, z_min be the minimum value of the z-coordinate, z_max be the maximum value, z_base take the minimum value of the z-coordinate in the three-dimensional space grid, x_d=x_max-x_min, y_d=y_max-y_min, z_d=z_max-z_min, MAX (x_d, y_d, z_d) represents taking the maximum value of x_d, y_d, z_d.
8. The apparatus of claim 7, wherein the original coordinates of points in the three-dimensional spatial grid are float-type values, the dynamic scaling is float-type values, and the new coordinates of points are stored as unsigned-type values.
9. An electronic device, comprising: a storage device; one or more processors; wherein the storage means is for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1-4.
10. A computer readable storage medium having stored thereon a computer program which, when executed, implements the method of any of claims 1-4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910730007.1A CN110490970B (en) | 2019-08-08 | 2019-08-08 | Method and device for storing three-dimensional geometric information and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910730007.1A CN110490970B (en) | 2019-08-08 | 2019-08-08 | Method and device for storing three-dimensional geometric information and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110490970A CN110490970A (en) | 2019-11-22 |
CN110490970B true CN110490970B (en) | 2023-05-05 |
Family
ID=68550001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910730007.1A Active CN110490970B (en) | 2019-08-08 | 2019-08-08 | Method and device for storing three-dimensional geometric information and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110490970B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010617A (en) * | 2019-12-19 | 2021-06-22 | 江苏北斗地下管线研究院有限公司 | Lightweight storage method of three-dimensional space coordinates based on bit compression |
CN111415411B (en) * | 2020-03-02 | 2023-12-12 | 重庆市勘测院 | Space coordinate correcting and encrypting method for three-dimensional model |
CN111737330A (en) * | 2020-06-19 | 2020-10-02 | 广联达科技股份有限公司 | Spatial data standardization method and device, computer equipment and storage medium |
CN112257365B (en) * | 2020-12-08 | 2021-03-12 | 南京集成电路设计服务产业创新中心有限公司 | Method for establishing timing diagram in parallel based on geometric information |
CN114186317A (en) * | 2021-12-14 | 2022-03-15 | 博锐尚格科技股份有限公司 | Model lightweight storage method and device based on optimized geometric information storage |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981779A (en) * | 1995-09-08 | 1997-03-28 | Ainesu:Kk | Method and device for generating partially solid model |
JP2003216980A (en) * | 2002-01-23 | 2003-07-31 | Sanyo Electric Co Ltd | Device and method for generating three-dimensional likeness, and computer-readable recording medium with program for generating three-dimensional likeness recorded thereon |
JP2005037996A (en) * | 2003-07-15 | 2005-02-10 | Matsushita Electric Ind Co Ltd | Image processing apparatus and method |
CN1614637A (en) * | 2003-11-08 | 2005-05-11 | Lg电子有限公司 | Method for displaying three-dimensional polygon on screen |
JP2007114916A (en) * | 2005-10-19 | 2007-05-10 | Kazuo Iwane | Old/new video image coordinate integration unit |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320583A (en) * | 1997-05-22 | 1998-12-04 | Meidensha Corp | Method for compressing and expanding data |
JP3375879B2 (en) * | 1998-03-11 | 2003-02-10 | シャープ株式会社 | Graphic processing method and apparatus |
JP2002008059A (en) * | 2000-06-23 | 2002-01-11 | Hitachi Ltd | Data processing device |
JP2006293484A (en) * | 2005-04-06 | 2006-10-26 | Canon Inc | Information processing method, information processor, computer program and storage medium |
US8269767B2 (en) * | 2009-02-03 | 2012-09-18 | Autodesk, Inc. | Multiscale three-dimensional reference grid |
KR101551741B1 (en) * | 2015-04-07 | 2015-09-10 | (주)이지스 | Method for Configuring Vertex of Three-dimensional Object Model |
WO2018039871A1 (en) * | 2016-08-29 | 2018-03-08 | 北京清影机器视觉技术有限公司 | Method and apparatus for processing three-dimensional vision measurement data |
-
2019
- 2019-08-08 CN CN201910730007.1A patent/CN110490970B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981779A (en) * | 1995-09-08 | 1997-03-28 | Ainesu:Kk | Method and device for generating partially solid model |
JP2003216980A (en) * | 2002-01-23 | 2003-07-31 | Sanyo Electric Co Ltd | Device and method for generating three-dimensional likeness, and computer-readable recording medium with program for generating three-dimensional likeness recorded thereon |
JP2005037996A (en) * | 2003-07-15 | 2005-02-10 | Matsushita Electric Ind Co Ltd | Image processing apparatus and method |
CN1614637A (en) * | 2003-11-08 | 2005-05-11 | Lg电子有限公司 | Method for displaying three-dimensional polygon on screen |
JP2007114916A (en) * | 2005-10-19 | 2007-05-10 | Kazuo Iwane | Old/new video image coordinate integration unit |
Also Published As
Publication number | Publication date |
---|---|
CN110490970A (en) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110490970B (en) | Method and device for storing three-dimensional geometric information and electronic equipment | |
KR20210092751A (en) | Dot product calculator and its calculation method | |
CN112306301B (en) | Touch data processing method, device, equipment and storage medium | |
CN109754464B (en) | Method and apparatus for generating information | |
CN112237739A (en) | Game role rendering method and device, electronic equipment and computer readable medium | |
CN116700663B (en) | Floating point number processing method and device | |
CN114820972A (en) | Contour line and/or contour surface generation method, system, device and storage medium | |
CN114494564A (en) | Normal map generating method, normal map generating device, electronic device and storage medium | |
CN110487264B (en) | Map correction method, map correction device, electronic equipment and storage medium | |
CN114067030A (en) | Dynamic fluid effect processing method and device, electronic equipment and readable medium | |
CN110069195B (en) | Image dragging deformation method and device | |
CN110619675B (en) | OsgEarth-based surface vector data loading method | |
CN111354070B (en) | Stereoscopic graph generation method and device, electronic equipment and storage medium | |
CN111415306A (en) | Method and device for processing human chest body beautification in picture and electronic equipment | |
CN111275799A (en) | Animation generation method and device and electronic equipment | |
CN107025106B (en) | Graph drawing method and device | |
CN114663276B (en) | Method, device, equipment and storage medium for compressing map data | |
CN111694833B (en) | Data processing method, device, electronic equipment and computer readable storage medium | |
CN112489101B (en) | Method, device, equipment and medium for expressing scene information based on spherical harmonic function | |
CN108287915A (en) | The coordinate transformation method and system of surveying and mapping result in GIS-Geographic Information System | |
CN118097029B (en) | Method and device for generating hyperbolic aluminum plate based on TreeColumn three-dimensional scanning point Yun Nixiang | |
CN111311665B (en) | Video processing method and device and electronic equipment | |
CN113470131B (en) | Sea surface simulation image generation method and device, electronic equipment and storage medium | |
CN111259579B (en) | Electronic device, simulation apparatus, and computer-readable medium | |
CN111815749A (en) | Particle calculation method, particle calculation device, electronic equipment and computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |