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 PDF

Info

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
Application number
CN201910730007.1A
Other languages
Chinese (zh)
Other versions
CN110490970A (en
Inventor
牟文杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Glodon Co Ltd
Original Assignee
Glodon Co Ltd
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
Application filed by Glodon Co Ltd filed Critical Glodon Co Ltd
Priority to CN201910730007.1A priority Critical patent/CN110490970B/en
Publication of CN110490970A publication Critical patent/CN110490970A/en
Application granted granted Critical
Publication of CN110490970B publication Critical patent/CN110490970B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image 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

Method and device for storing three-dimensional geometric information and electronic equipment
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.
CN201910730007.1A 2019-08-08 2019-08-08 Method and device for storing three-dimensional geometric information and electronic equipment Active CN110490970B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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