A remote control method and system compatible with multiple models of 3D printers
By identifying and processing triangular face sheets with the same spatial size in the three-dimensional model and their rigid body transformation matrix, the problem of poor compression effect in the prior art is solved, and more efficient data storage and transmission is achieved.
Patent Information
- Application Number
- CN202510037818.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-10
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2045-01-10
AI Technical Summary
In the prior art, when compressing three-dimensional model STL files, the LZ77 compression algorithm is difficult to find a compressible mode, and the compression effect is poor because the triangle face vertex coordinates and direction vectors do not repeat but can be transformed by rigid body.
By identifying triangular faces with the same spatial dimensions, compute the rigid body transformation matrix between two triangular faces, reorganize and store triangular face data, and use compression algorithms to obtain the compressed three-dimensional model data.
By identifying and storing fewer rigid body transformation matrices, it reduces repeated storage of patches of the same space size, improves compression efficiency, reduces storage size, and improves program stability and graphics processing efficiency.
Smart Images

Figure CN119473189B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of data processing, and more specifically, to a remote control method and system compatible with multiple models of 3D printers. Background Art
[0002] When using a remote control system compatible with multiple 3D printer models for 3D printing, the STL file and related operating instructions need to be packaged and compressed before being transmitted to the 3D printer control end. After decompression, the 3D printer control end extracts the STL file of the model to be printed and the operating instructions, converts the STL file into G code that the 3D printer can recognize, and completes the printing task according to the operating instructions. The compressed data can effectively utilize the network bandwidth and significantly reduce the time required for file transmission.
[0003] The existing Chinese patent application document with publication number CN114693817A discloses a compression and decompression method for a 3D mesh model, wherein the compression method includes: obtaining an STL model in binary format and converting it into a Buffer stream; retaining file information of bytes 0-83, wherein bytes 0-79 are the file name and bytes 80-83 are the number of triangular faces; processing every 50 bytes of triangular face information after the 83rd byte; after each triangular face is processed, returning a new Buffer stream based on the new protocol format, wherein bytes 0-83 of the new Buffer stream are file information; the following is each vertex information, separated by 4 bytes of 0; if S1-S4 fails, the compression fails. By using the new STL storage protocol, the compressed STL model occupies less bandwidth during transmission; it is not easy to be deciphered when intercepted on the transmission pipeline; and server space is saved. The efficiency and security of STL model data transmission are improved; and it matches the existing medical scenarios; the model structure is not distorted after compression and decompression.
[0004] In the above method, Buffer stream is a way to process binary data. It reads and writes data and can be used for compression and decompression operations. However, the amount of data written is not as large as the buffer, and the buffer is not full, so multiple copy operations will be performed, which increases the running burden. If the final data volume of the file is smaller than the buffer, it may not be written by default, resulting in file data loss. Currently, the LZ77 compression algorithm can also be used to reduce data redundancy by identifying repeated strings. Its compression purpose is different. When LZ77 is used to compress a 3D model STL file, the 3D model data stored in the STL file usually contains a large amount of triangular patch data that can be rigidly transformed, and the triangular patch vertex coordinates and face direction vectors are not repeated but can be rigidly transformed. If there are not enough repeated patterns in the data, the LZ77 algorithm will find it difficult to find a compressible pattern, resulting in poor compression effect. Summary of the invention
[0005] In order to solve the problem that the three-dimensional model data stored in the STL file usually contains a large amount of triangular face data that can be rigidly transformed, and the triangular face vertex coordinates and face direction vectors are not repeated but can be rigidly transformed, resulting in poor compression effect, the present invention provides solutions in the following multiple aspects.
[0006] In a first aspect, a remote control method compatible with multiple models of 3D printers includes: obtaining triangular patch data of a three-dimensional model file, and based on the triangular patch data, obtaining triangular patches of the same spatial size and a rigid body transformation matrix between two triangular patches; calculating the space saved by storing the triangular patches in each rigid body transformation matrix according to the rigid body transformation matrix according to the byte size of the rigid body transformation matrix and the maximum byte size that can be saved by the triangular patches, and determining whether to use the rigid body transformation matrix to store a group of triangular patches; determining the priority storage degree of the triangular patches in each rigid body transformation matrix according to the total number of triangular patches obtained by all triangular patches in each rigid body transformation matrix through different rigid body transformation matrices, reorganizing and storing the triangular patch data according to the saved space size and the priority storage degree, and compressing it using a compression algorithm to obtain compressed three-dimensional model data; wherein the priority storage degree of the rigid body transformation matrix satisfies the following relationship: , where Indicates In the rigid body transformation matrix The priority storage of triangle patches, Indicates In the rigid body transformation matrix The total number of triangle patches in the triangle patch set is obtained through different rigid body matrices. Indicates The number of triangle patches corresponding to the rigid body transformation matrix, Represents the normalization function.
[0007] The effect is: by identifying triangular patches with the same spatial size, data can be organized efficiently, and the rigid body transformation matrix between two triangular patches can be calculated, allowing data to be reused through the transformation matrix, reducing duplicate storage and thus saving space. By comparing the byte size of the rigid body transformation matrix and the maximum byte size that can be saved by the triangular patch, the storage savings can be quantified and the storage priority of each triangular patch can be determined, which helps to optimize the storage order and compression strategy.
[0008] Preferably, the triangular patch data includes: coordinates of three vertices of the triangular patch and a normal vector of the triangular patch.
[0009] Preferably, the step of obtaining triangular facets of the same spatial size includes:
[0010] According to the three vertex coordinates of the triangular patch data, the distance between any two vertices is used as the side length of the triangular patch, and different triangular patches are traversed in pairs, and triangular patches with three equal side lengths are selected as triangular patches with the same spatial size.
[0011] The effect is that triangular patches of the same spatial size may have more common features, which helps to identify and utilize these features during the compression process, thereby improving compression efficiency. By identifying and storing fewer rigid body transformation matrices, the repeated storage of patches of the same spatial size can be reduced, saving storage space.
[0012] Preferably, obtaining the rigid body transformation matrix between the two triangular facets comprises:
[0013] Construct a triangle patch set from all triangle patches of the same spatial size, take any triangle patch in the triangle patch set as a reference triangle, obtain the vertices in the triangle patch set corresponding to the reference triangle, and calculate the translation vectors between the corresponding vertices;
[0014] The local coordinates of the vertices of the triangular patch are transformed to form a rotation matrix, and a rigid body transformation matrix is constructed according to the rotation matrix, the translation vector, the zero vector and the scalar.
[0015] The effect is: find the points corresponding to the vertices of the reference triangle in the patch set, determine the correspondence between them, and for each pair of corresponding vertices, calculate the translation vector between them, which will be used to determine the translation part of the rigid body transformation, and construct a rotation matrix through the local coordinate transformation of the vertices to align the direction of the reference triangle with other triangular patches, ensuring that all triangular patches of the same size in space are accurately aligned in space for subsequent processing and analysis.
[0016] Preferably, transforming the local coordinates of the vertices of the triangular patch to form a rotation matrix comprises:
[0017] Take any triangular patch in the triangular patch set as a reference triangle, select any vertex in the reference triangle as a reference vertex, find the vertex corresponding to the reference vertex on other triangular patches, calculate the vector from the reference vertex to other vertices of the reference triangle, and use Rodriguez formula to calculate the rotation matrix of each vector pair.
[0018] The effect is that the vectors from the reference vertex to the other vertices of the reference triangle are calculated, which define the shape and orientation of the reference triangle. For each pair of vectors, the rotation matrix is calculated using the Rodriguez formula, which can generate a rotation matrix based on the difference between the two vectors.
[0019] Preferably, the step of calculating the amount of space saved by storing the triangular facets in each rigid body transformation matrix according to the rigid body transformation matrix comprises:
[0020] Get the byte size of each triangle patch and the byte size of each rigid body transformation matrix. According to each rigid body transformation matrix, calculate the difference between the byte size of the triangle patch and the byte size of the rigid body transformation matrix, determine whether to use the rigid body transformation matrix to store a group of triangle patches, and get the space saved by storing the rigid body transformation matrix.
[0021] The effect is: since the amount of data that needs to be transmitted is reduced, the data transmission speed can be increased, and when processing a large number of triangular faces, memory usage can be reduced, which helps to improve the stability and performance of the program, reduce the amount of calculation in the data processing and rendering process, and improve graphics processing efficiency.
[0022] Preferably, the determining whether to use a rigid body transformation matrix to store a group of triangular facets comprises:
[0023] In response to the size of the saved space being greater than a preset threshold, more space is saved by using the rigid body transformation matrix instead of storing each triangular facet separately.
[0024] Preferably, the space saved by storing the rigid body transformation matrix satisfies the following relationship:
[0025] ;
[0026] In the formula, Indicates The rigid body transformation matrix is stored in the rigid body transformation matrix to save space. Indicates In the rigid body transformation matrix The first triangle patch in the group The size of a triangle patch in bytes, Indicates In the rigid body transformation matrix The first triangle patch in the group The size of a triangle patch in bytes, Indicates The size of the rigid body transformation matrix in bytes, Indicates The number of triangle patches in the rigid body transformation matrix, Represents the maximum value function.
[0027] In a second aspect, a remote control system compatible with multiple models of 3D printers includes: a processor and a memory, wherein the memory stores computer program instructions, and when the computer program instructions are executed by the processor, the above-mentioned remote control method compatible with multiple models of 3D printers is implemented.
[0028] The present invention has the following effects:
[0029] 1. The present invention obtains a rigid body transformation matrix according to triangular patch data, calculates the byte size of the rigid body transformation matrix and the maximum byte size that can be saved by the triangular patch, obtains the space saved by storing the triangular patches contained in each rigid body transformation matrix according to the rigid body transformation matrix, obtains the storage priority of each rigid body transformation matrix according to the total number of triangular patches that can be corresponding to other triangular patches through other rigid body transformation matrices, and re-stores the triangular patch data according to the saved space size and storage priority, so as to improve the compression effect, reduce the storage size, and help improve the stability of the program.
[0030] 2. The present invention can improve data transmission speed, reduce the amount of calculation in data processing and rendering, and improve graphics processing efficiency by reducing the overall storage requirements of three-dimensional model data. For three-dimensional models of different complexity and different features, this method can dynamically adapt to and optimize storage requirements. The optimized data structure can reduce model processing time and speed up the slicing and printing process. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] By reading the following detailed description with reference to the accompanying drawings, the above and other objects, features and advantages of the exemplary embodiments of the present invention will become readily understood. In the accompanying drawings, several embodiments of the present invention are shown in an exemplary and non-limiting manner, and the same or corresponding reference numerals represent the same or corresponding parts, wherein:
[0032] Figure 1 It is a method flow chart of steps S1 to S3 in a remote control method compatible with multiple models of 3D printers according to an embodiment of the present invention.
[0033] Figure 2 The present invention is a block diagram of a remote control system compatible with multiple models of 3D printers. DETAILED DESCRIPTION
[0034] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0035] The specific embodiments of the present invention are described in detail below with reference to the accompanying drawings.
[0036] Reference Figure 1 A remote control method compatible with multiple models of 3D printers includes steps S1 to S3, which are as follows:
[0037] S1: Obtain triangular patch data of a three-dimensional model file, and based on the triangular patch data, obtain triangular patches of the same spatial size and a rigid body transformation matrix between any two triangular patches.
[0038] The triangle patch data includes: the coordinates of the three vertices of the triangle patch and the normal vector of the triangle patch.
[0039] It should be noted that the designed three-dimensional model to be printed is stored as an STL file, and the triangular patch data in the STL file is read, and the missing value detection is performed on the above data. If there are missing values, the STL file of the three-dimensional model to be printed should be re-collected.
[0040] Specifically, the steps for obtaining triangular patches of the same spatial size are as follows:
[0041] According to the coordinates of the three vertices of the triangular patch data, the distance between any two vertices is used as the side length of the triangular patch, and different triangular patches are traversed every two of them, and triangular patches with three equal side lengths are selected as triangular patches with the same spatial size.
[0042] It can be understood that when two triangular patches can be rigidly transformed in space, the two triangular patches appear as congruent triangles in space. Therefore, the triangular patches with the same spatial size among all triangular patches can be found through the vertex coordinates of the triangular patches. The distance relationship between the vertex coordinates in the triangular patch data represents the triangular patch structure. When the three sides of a triangular patch are equal to the three sides of another triangular patch, the two triangular patches are congruent. Among them, the spacing between two vertices is calculated by Euclidean distance.
[0043] It should be noted that the rigid body transformation keeps the target shape and size unchanged and only changes the position and direction. The 3D model to be printed contains a large number of triangular patches with the same spatial size and there are triangular patch groups with the same rigid body transformation matrix. Therefore, storing the rigid body transformation matrix can effectively reduce the amount of triangular patch data transformed by the rigid body transformation matrix. The more triangular patches that can be transformed by the same rigid body transformation matrix, the smaller the amount of data stored for the 3D model using the above method. When the total number of triangular patches corresponding to the rigid body transformation matrix that can be corresponded to other triangular patches through other rigid body transformation matrices is larger, then when the triangular patches are stored, different rigid body transformation matrices can be used to correspond to multiple triangular patches, and the storage priority is high.
[0044] Specifically, the steps to obtain the rigid body transformation matrix between two triangle patches are as follows:
[0045] Construct a triangle patch set from all triangle patches of the same spatial size, take any triangle patch in the triangle patch set as a reference triangle, obtain the vertices in the triangle patch set corresponding to the reference triangle, and calculate the translation vectors between the corresponding vertices;
[0046] The local coordinates of the vertices of the triangle patch are transformed to form a rotation matrix, and the rigid body transformation matrix is constructed based on the rotation matrix, translation vector, zero vector and scalar.
[0047] Specifically, the steps to obtain the rotation matrix are as follows:
[0048] Take any triangle patch in the triangle patch set as the reference triangle, and select any vertex in the reference triangle as the reference vertex, find the vertex corresponding to the reference vertex on other triangle patches, calculate the vector from the reference vertex to the corresponding vertex on other triangle patches, and use Rodriguez formula to calculate the rotation matrix of each vector pair.
[0049] Specifically, the Rodriguez formula is:
[0050] ;
[0051] In the formula, Indicates A rotation matrix, Indicates The identity matrix, Represents the angle between the reference vertex vector and the corresponding vertex vectors on other triangle patches. represents the sine function, represents the cosine function, Indicates An opposition matrix, Indicates The above formula is well known to those skilled in the art and will not be described in detail.
[0052] To further explain, since there are a large number of structures such as symmetry, inversion, and rotation in the design process of 3D printed molded parts, there are a large number of triangle face groups in the triangle facets of the molded parts that can be converted through rigid body transformation. When this triangle face group contains a large number of triangle facets, some of the triangle facets can be saved by storing the rigid body transformation matrix.
[0053] S2: According to the byte size of the rigid body transformation matrix and the maximum byte size that can be saved by the triangular patch, the space saved by storing the triangular patch in each rigid body transformation matrix according to the rigid body transformation matrix is calculated, and it is determined whether to use the rigid body transformation matrix to store a group of triangular patches.
[0054] Get the byte size of each triangular patch and the byte size of each rigid body transformation matrix. According to each rigid body transformation matrix, calculate the difference between the byte size of the triangular patch and the byte size of the rigid body transformation matrix, determine whether to use the rigid body transformation matrix to store a group of triangular patches, and get the space size saved by storing the rigid body transformation matrix.
[0055] Among them, the triangular patch is composed of 3 vertices, each vertex has 3 coordinate components, and the product of the three vertices and the three components in the triangular patch data and the corresponding byte size of each component is calculated as the byte size of the triangular patch. The rigid body transformation matrix is a 4×4 matrix, and the product of the byte size of each row, each column and each element is calculated as the byte size of the rigid body transformation matrix; the above byte size calculation method is a well-known technology to personnel in this field and will not be described in detail.
[0056] Specifically, the amount of space saved by storing the rigid body transformation matrix satisfies the following relationship:
[0057] ;
[0058] In the formula, Indicates The rigid body transformation matrix is stored in the rigid body transformation matrix to save space. Indicates In the rigid body transformation matrix The first triangle patch in the group The size of a triangle patch in bytes, Indicates In the rigid body transformation matrix The first triangle patch in the group The size of a triangle patch in bytes, Indicates The size of the rigid body transformation matrix in bytes, Indicates The number of triangle patches in the rigid body transformation matrix, Represents the maximum value function.
[0059] Further explanation: Indicates When a rigid body transformation matrix is compressed according to the rigid body transformation matrix, the corresponding triangular face can save a maximum byte size. When the maximum byte size that can be saved is higher, the space resources that can be saved by storing the rigid body transformation matrix are higher.
[0060] In response to the size of the saved space being greater than a preset threshold, more space is saved by using the rigid body transformation matrix instead of storing each triangular facet separately.
[0061] It can be understood that in this embodiment, the preset threshold is set to 0. and The higher the value, the greater the degree to which the maximum byte size can be saved above the byte size of the rigid body transformation matrix, and the greater the degree to which space resources can be saved by storing the rigid body transformation matrix.
[0062] It should be noted that, since a triangle patch can correspond to different triangle patches through different rigid body transformation matrices, the priority of rigid body transformation matrix storage should also be considered in the process of saving resources. The rigid body transformation matrix containing the most triangle patches is selected first, and the number of other triangle patches that its corresponding triangle patch can correspond to through other rigid body transformation matrices is obtained; the specific steps are as follows:
[0063] S3: Determine the priority storage of the triangle patches in each rigid body transformation matrix according to the total number of triangle patches in each rigid body transformation matrix obtained through different rigid body transformation matrices, reorganize and store the triangle patch data according to the saved space size and the priority storage, and compress it using a compression algorithm to obtain compressed three-dimensional model data.
[0064] Specifically, the rigid body transformation matrix is preferentially stored to satisfy the following relationship:
[0065] ;
[0066] In the formula, Indicates In the rigid body transformation matrix The priority storage of triangle patches, Indicates In the rigid body transformation matrix The total number of triangle patches in the triangle patch set is obtained through different rigid body matrices. Indicates The number of triangle patches corresponding to the rigid body transformation matrix, Represents the normalization function.
[0067] That is to say, when the The higher the degree to which all triangular patches corresponding to a rigid body transformation matrix can correspond to other triangular patches through other rigid body transformation matrices, the higher the degree to which all triangular patches corresponding to a rigid body transformation matrix can correspond to other triangular patches through other rigid body transformation matrices. The higher the possibility of storing triangle patches in the rigid body transformation matrix, the more likely it is that the LZ77 compression process can effectively compress duplicate data. The rigid body transformation matrices with higher storage priority are preferred.
[0068] It should be noted that the data that needs to be stored in the storage process includes, in addition to the rigid body transformation matrix, the vertex coordinates of a single triangle patch in the triangle patch group that can be transformed according to the rigid body transformation matrix, the vector of the face, and whether the orientations of two triangle patches are consistent. Since the LZ77 algorithm can effectively compress repeated information in the subsequent compression process, the more triangle patches a single triangle patch can transform through different rigid body transformation matrices, the more the same triangle patch vertex coordinates are contained in the re-stored data, so the higher the priority of retention. When the number of triangle patches that can be transformed by different rigid body transformation matrices for two triangle patches in the triangle patch group is the same, the repetition situation is the same. At this time, the byte size occupied by the vertex coordinates is given priority. In order to further reduce the size of the data after storage, the triangle patch data that occupies less bytes should be selected for storage.
[0069] Specifically, during the storage process, triangular patches that can correspond to the total number of other triangular patches through other rigid body transformation matrices are preferentially selected as retained triangular patches. If the total number of other triangular patches that can be corresponded to by two triangular patches through other rigid body transformation matrices is equal, the one with the smaller byte size is retained according to the byte size. If the byte sizes are also the same, one of them is selected to be retained. Among them, if the direction vectors of two triangular patches are different after being transformed to the same position according to the rigid body transformation matrix, they are marked as 0, and if they are the same, they are marked as empty, and the data after being stored again is obtained.
[0070] The present invention also provides a remote control system compatible with multiple models of 3D printers. Figure 2 As shown, the system includes a processor and a memory, the memory stores computer program instructions, and when the computer program instructions are executed by the processor, a remote control method compatible with multiple models of 3D printers according to the first aspect of the present invention is implemented.
[0071] The system also includes other components familiar to those skilled in the art, such as a communication bus and a communication interface. The configuration and functions of these components are known in the art and will not be described in detail here.
[0072] In the present invention, the aforementioned memory may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, apparatus or device. For example, a computer-readable storage medium may be any appropriate magnetic storage medium or magneto-optical storage medium, such as a resistive random access memory RRAM (Resistive Random Access Memory), a dynamic random access memory DRAM (Dynamic Random Access Memory), a static random access memory SRAM (Static Random-Access Memory), an enhanced dynamic random access memory EDRAM (Enhanced Dynamic Random Access Memory), a high-bandwidth memory HBM (High-Bandwidth Memory), a hybrid memory cube HMC (Hybrid Memory Cube), etc., or any other medium that can be used to store the required information and can be accessed by an application, a module, or both. Any such computer storage medium may be part of a device or accessible or connectable to a device. Any application or module described in the present invention may be implemented using computer-readable / executable instructions that may be stored or otherwise maintained by such a computer-readable medium.
[0073] In the description of this specification, "plurality" or "several" means at least two, such as two, three or more, etc., unless otherwise clearly and specifically defined.
[0074] Although this specification has shown and described a number of embodiments of the present invention, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. Those skilled in the art will conceive of many modifications, changes and alternatives without departing from the ideas and spirit of the present invention. It should be understood that in the practice of the present invention, various alternatives to the embodiments of the present invention described herein may be employed.
Claims
1. A remote control method compatible with multiple models of 3D printers, characterized in that: include: Acquire triangular patch data of a three-dimensional model file, and acquire triangular patches of the same spatial size based on the triangular patch data; Construct a triangle patch set from all triangle patches of the same spatial size, take any triangle patch in the triangle patch set as a reference triangle, obtain the vertices in the triangle patch set corresponding to the reference triangle, and calculate the translation vectors between the corresponding vertices; The local coordinates of the vertices of the triangular patch are transformed to form a rotation matrix, and a rigid body transformation matrix is constructed according to the rotation matrix, the translation vector, the zero vector and the scalar; According to the byte size of the rigid body transformation matrix and the maximum byte size that can be saved by the triangular facets, the space size saved by storing the triangular facets in each rigid body transformation matrix according to the rigid body transformation matrix is calculated, and it is determined whether to use the rigid body transformation matrix to store a group of triangular facets; Determine the priority storage degree of the triangle facets in each rigid body transformation matrix according to the total number of triangle facets obtained by all the triangle facets in each rigid body transformation matrix through different rigid body transformation matrices, reorganize and store the triangle facet data according to the saved space size and the priority storage degree, and compress them using a compression algorithm to obtain compressed three-dimensional model data; The rigid body transformation matrix preferably stores the following relationship: , where Indicates In the rigid body transformation matrix The priority storage of triangle patches, Indicates In the rigid body transformation matrix The total number of triangle patches in the triangle patch set is obtained through different rigid body matrices. Indicates The number of triangle patches corresponding to the rigid body transformation matrix, Represents the normalization function.
2. A remote control method compatible with multiple models of 3D printers according to claim 1, characterized in that: in, The triangular patch data includes: the coordinates of three vertices of the triangular patch and the normal vector of the triangular patch.
3. The remote control method compatible with multiple models of 3D printers according to claim 1, characterized in that: The step of obtaining triangular facets of the same spatial size includes: According to the three vertex coordinates of the triangular patch data, the distance between any two vertices is used as the side length of the triangular patch, and different triangular patches are traversed in pairs, and triangular patches with three equal side lengths are selected as triangular patches with the same spatial size.
4. The remote control method compatible with multiple models of 3D printers according to claim 1, characterized in that: The local coordinates of the vertices of the triangular patch are transformed to form a rotation matrix, including: Take any triangular patch in the triangular patch set as a reference triangle, select any vertex in the reference triangle as a reference vertex, find the vertex corresponding to the reference vertex on other triangular patches, calculate the vector from the reference vertex to other vertices of the reference triangle, and use Rodriguez formula to calculate the rotation matrix of each vector pair.
5. The remote control method compatible with multiple models of 3D printers according to claim 1, characterized in that: The calculation of the space saved by storing the triangular facets in each rigid body transformation matrix according to the rigid body transformation matrix includes: Get the byte size of each triangle patch and the byte size of each rigid body transformation matrix. According to each rigid body transformation matrix, calculate the difference between the byte size of the triangle patch and the byte size of the rigid body transformation matrix, determine whether to use the rigid body transformation matrix to store a group of triangle patches, and get the space saved by storing the rigid body transformation matrix.
6. The remote control method compatible with multiple models of 3D printers according to claim 1, characterized in that: The determining whether to use a rigid body transformation matrix to store a group of triangular facets includes: In response to the size of the saved space being greater than a preset threshold, more space is saved by using the rigid body transformation matrix instead of storing each triangular facet separately.
7. The remote control method compatible with multiple models of 3D printers according to claim 1, characterized in that: The amount of space saved by storing the rigid body transformation matrix satisfies the following relationship: ; In the formula, Indicates The rigid body transformation matrix is stored in the rigid body transformation matrix to save space. Indicates In the rigid body transformation matrix The first triangle patch in the group The size of a triangle patch in bytes, Indicates In the rigid body transformation matrix The first triangle patch in the group The size of a triangle patch in bytes, Indicates The size of the rigid body transformation matrix in bytes, Indicates The number of triangle patches in the rigid body transformation matrix, Represents the maximum value function.
8. A remote control system compatible with multiple models of 3D printers, characterized in that: include: A processor and a memory, wherein the memory stores computer program instructions, and when the computer program instructions are executed by the processor, the remote control method for compatible multi-model 3D printers according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Compression and decompression method of 3D mesh model
CN114693817A
KR20200111976A