Three-dimensional space point cloud display method, electronic equipment and storage medium

By determining the minimum range area of ​​the three-dimensional point cloud and establishing the target point cloud space, and using offset coordinate points to copy and scale the three-dimensional point cloud, the problem of the inability to integrate and display two independent object models in three-dimensional space in the existing technology is solved, and the problem of realizing the Convenient changes and presentation of models.

CN119295666APending Publication Date: 2025-01-10MOBILE TECH COMPANY CHINA TRAVELSKY HLDG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411409954.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-10
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

The prior art cannot directly integrate and display two independent object models in three-dimensional space, and the changes to the model are not convenient for developers.

Method used

By determining the minimum range area center coordinates and radius of the three-dimensional point cloud, the target point cloud space is established, and the offset coordinate points are used to copy and scale the three-dimensional point cloud to achieve integrated display.

Benefits of technology

It realizes the integration and display of two three-dimensional point clouds in three-dimensional space, which facilitates developers to change and display the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119295666A_ABST
    Figure CN119295666A_ABST
Patent Text Reader

Abstract

The invention provides a three-dimensional space point cloud display method, electronic equipment and a storage medium, and the method comprises the steps: determining a center coordinate point of a minimum range region corresponding to a first three-dimensional point cloud according to the coordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud; determining the radius of the minimum range area according to the center coordinate point of the minimum range area and a plurality of vertexes in the first three-dimensional point cloud; establishing a target point cloud space corresponding to the minimum range region according to the center coordinate point and the radius of the minimum range region; and copying the zoomed three-dimensional point cloud to each offset coordinate point for display according to the center coordinate point of the zoomed three-dimensional point cloud and the plurality of offset coordinate points on the surface of the target point cloud space, thereby realizing the purpose of performing integrated display on the first three-dimensional point cloud and the zoomed three-dimensional point cloud in the three-dimensional space.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] When modeling an object, you need to first collect images of the object's surface shape, and then model it based on the collected object images. If you want to integrate the models of two independent objects, you need to first collect the integrated image of the two objects, and then model it. It is impossible to integrate the models of the two objects in three-dimensional space, which is inconvenient for developers to change the models. Summary of the invention

[0003] In view of the above technical problems, the technical solution adopted by the present invention is:

[0004] According to one aspect of the present application, a three-dimensional point cloud display method is provided, comprising the following steps:

[0005] Step S100, determining the center coordinate point of the minimum range area corresponding to the first three-dimensional point cloud according to the coordinates of each first three-dimensional coordinate point included in the first three-dimensional point cloud;

[0006] Step S200, determining the radius of the minimum range area according to the central coordinate point of the minimum range area and a number of vertices in the first three-dimensional point cloud;

[0007] Step S300: establishing a target point cloud space corresponding to the minimum range area according to the central coordinate point and radius of the minimum range area; the shape of the target point cloud space is a sphere;

[0008] Step S400: According to the center coordinate point of the scaled 3D point cloud and a number of offset coordinate points on the surface of the target point cloud space, the scaled 3D point cloud is copied to each offset coordinate point for display.

[0009] In an exemplary embodiment of the present application, step S100 includes:

[0010] Step S110: Obtain the horizontal coordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first horizontal coordinate list X1=(X 11 ,X 12 ,...,X 1i ,...,X 1n ), wherein i=1, 2, ..., n, and n is the number of first three-dimensional coordinate points included in the first three-dimensional point cloud; X 1i is the horizontal coordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud;

[0011] Step S120: Obtain the ordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first ordinate list Y1=(Y 11 ,Y 12 ,...,Y 1i,...,Y 1n ), where Y 1i is the ordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud;

[0012] Step S130: Obtain the vertical coordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first vertical coordinate list Z1=(Z 11 ,Z 12 ,...,Z 1i ,...,Z 1n ), where Z 1i is the vertical coordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud;

[0013] Step S140, according to the first horizontal coordinate list X1, the first vertical coordinate list Y1 and the first vertical coordinate list Z1, determine the center coordinate point I=(I1, I2, I3) of the minimum range area corresponding to the first three-dimensional point cloud; wherein I1 is the horizontal coordinate corresponding to I; I1=(∑ n i=1 X 1i ) / n; I2 is the ordinate corresponding to I; I2=(∑ n i=1 Y 1i ) / n; I3 is the vertical coordinate corresponding to I; I3=(∑ n i=1 Z 1i ) / n.

[0014] In an exemplary embodiment of the present application, step S200 includes:

[0015] Step S210, determining the first three-dimensional coordinate points corresponding to MAX(X1), MIN(X1), MAX(Y1), MIN(Y1), MAX(Z1), and MIN(Z1) as vertices; wherein MAX() is a preset maximum value determination function; and MIN() is a preset minimum value determination function;

[0016] Step S220: Obtain the coordinates of each vertex in the first three-dimensional point cloud to obtain a vertex coordinate list P = (P1, P2, ..., P a ,...,P6); where a=1,2,...,6; P a is the coordinate of the ath vertex in the first three-dimensional point cloud; P a =(P a1 ,P a2 ,P a3 );P a1 P a The corresponding horizontal axis; P a2 P a The corresponding vertical coordinate; Pa3 P a The corresponding vertical coordinate;

[0017] Step S230: Determine the center coordinate point I and the vertex P a The distance between a =((P a1 -I1) 2 +(P a2 -I2) 2 +(P a3 -I3) 2 ) 1 / 2 ;

[0018] Step S240: MAX(N1, N2, ..., N a ,...,N6) is determined as the radius of the minimum range area.

[0019] In an exemplary embodiment of the present application, the scaled three-dimensional point cloud is determined by the following steps:

[0020] Step S010: determining a scaling factor corresponding to the second three-dimensional point cloud according to the coordinates of each second three-dimensional coordinate point included in the second three-dimensional point cloud; the three-dimensional coordinate system corresponding to the second three-dimensional point cloud and the three-dimensional coordinate system corresponding to the first three-dimensional point cloud are the same three-dimensional coordinate system;

[0021] Step S020: Scale each second three-dimensional coordinate point included in the second three-dimensional point cloud according to the scaling factor to obtain a scaled three-dimensional point cloud.

[0022] In an exemplary embodiment of the present application, step S010 includes:

[0023] Step S011, obtain the horizontal coordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second horizontal coordinate list X2=(X 21 ,X 22 ,...,X 2j ,...,X 2k ), wherein j=1, 2, ..., k, k is the number of second three-dimensional coordinate points included in the second three-dimensional point cloud, X 2j is the abscissa of the j-th second three-dimensional coordinate point included in the second three-dimensional point cloud;

[0024] Step S012: Obtain the ordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second ordinate list Y2=(Y 21 ,Y 22 ,...,Y 2j ,...,Y 2k ), where Y 2jis the ordinate of the jth second three-dimensional coordinate point included in the second three-dimensional point cloud;

[0025] Step S013: Obtain the vertical coordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second vertical coordinate list Z2=(Z 21 ,Z 22 ,...,Z 2j ,...,Z 2k ), where Z 2j is the vertical coordinate of the j-th second three-dimensional coordinate point included in the second three-dimensional point cloud;

[0026] Step S014, determining the length scaling ratio L3 corresponding to the second three-dimensional point cloud according to the first horizontal coordinate list X1 and the second horizontal coordinate list X2, which is L3=((MAX(X1)-MIN(X1))×s) / (MAX(X2)-MIN(X2)); wherein s is a preset scaling ratio, 0<s<1;

[0027] Step S015, determining the width scaling ratio W3 corresponding to the second three-dimensional point cloud according to the first ordinate list Y1 and the second ordinate list Y2 = ((MAX(Y1)-MIN(Y1))×s) / (MAX(Y2)-MIN(Y2));

[0028] Step S016, determining the height scaling ratio H3 corresponding to the second three-dimensional point cloud according to the first vertical coordinate list Z1 and the second vertical coordinate list Z2 = ((MAX(Z1)-MIN(Z1))×s) / (MAX(Z2)-MIN(Z2));

[0029] Step S017: Determine MIN(L3, W3, H3) as the scaling factor corresponding to the second three-dimensional point cloud.

[0030] In an exemplary embodiment of the present application, step S020 includes:

[0031] Step S021, determine the center coordinate point F1 of the second three-dimensional point cloud = (F 11 ,F 12 ,F 13 ), where F 11 is the horizontal coordinate corresponding to F1; F 11 =(MAX(X2)+MIN(X2)) / 2; F 12 is the ordinate corresponding to F1; F 12 =(MAX(Y2)+MIN(Y2)) / 2; F 13 is the vertical coordinate corresponding to F1; F 13 =(MAX(Z2)+MIN(Z2)) / 2;

[0032] Step S022: scaling the j-th second three-dimensional coordinate point included in the second three-dimensional point cloud to obtain a scaled three-dimensional coordinate point G after scaling the j-th second three-dimensional coordinate point. j =(G j1 ,G j2 ,G j3 ), where G j1 G j The corresponding horizontal coordinate is G j2 G j The corresponding vertical coordinate; G j3 G j The corresponding vertical coordinate;

[0033] G j1 The following conditions are met:

[0034] |F 11 -G j1 |=|F 11 -X 2j |×M; M is the scaling factor corresponding to the second three-dimensional point cloud;

[0035] G j2 The following conditions are met:

[0036] |F 12 -G j2 |=|F 12 -Y 2j |×M;

[0037] G j3 The following conditions are met:

[0038] |F 13 -G j3 |=|F 13 -Z 2j |×M;

[0039] Step S023: Determine a point cloud composed of a plurality of scaled three-dimensional coordinate points as a scaled three-dimensional point cloud.

[0040] In an exemplary embodiment of the present application, step S400 includes:

[0041] Step S410: Determine the center coordinate point F2 of the scaled 3D point cloud. 21 ,F 22 ,F 23 );

[0042] Among them, F 21 =(MAX(G 11 ,G 21 ,...,G j1 ,...,G k1 )+MIN(G11 ,G 21 ,...,G j1 ,...,G k1 )) / 2; F 21 is the horizontal coordinate corresponding to F2;

[0043] F 22 =(MAX(G 12 ,G 22 ,...,G j2 ,...,G k2 )+MIN(G 12 ,G 22 ,...,G j2 ,...,G k2 )) / 2; F 22 is the ordinate corresponding to F2;

[0044] F 23 =(MAX(G 13 ,G 23 ,...,G j3 ,...,G k3 )+MIN(G 13 ,G 23 ,...,G j3 ,...,G k3 )) / 2; F 23 is the vertical coordinate corresponding to F2;

[0045] Step S420: On the surface of the target point cloud space, at every preset interval, the corresponding three-dimensional coordinate point is determined as an offset coordinate point to obtain an offset coordinate point list A=(A1, A2, ..., A m ,...,A p ), where m = 1, 2, ..., p, p is the number of offset coordinate points; A m is the three-dimensional coordinate of the mth offset coordinate point; A m =(A m1 ,A m2 ,A m3 );A m1 A m The corresponding horizontal axis is A m2 A m The corresponding vertical coordinate: A m3 A m The corresponding vertical coordinate;

[0046] Step S430: Determine the coordinates of F2 to A according to the center coordinate point F2 and the offset coordinate point list A. m The horizontal axis corresponds to the offset B m1 , F2 to A mThe vertical axis corresponds to the offset B m2 and F2 to A m The vertical axis corresponding to the offset B m3 ;

[0047] Step S440: According to B m1 , B m2 and B m3 , copy and offset each scaled 3D coordinate point included in the scaled 3D point cloud to obtain a 3D coordinate point list C of the offset 3D point cloud corresponding to the scaled 3D point cloud copied to the mth offset coordinate point = (C m1 ,C m2 ,...,C mj ,...,C mk ), where C mj is the three-dimensional coordinate of the j-th point cloud coordinate point in the offset three-dimensional point cloud corresponding to the m-th offset coordinate point; C mj =(C mj1 ,C mj2 ,C mj3 );C mj1 C mj The corresponding horizontal axis; C mj1 =G j1 +B m1 ; C mj2 C mj The corresponding vertical coordinate; C mj2 =G j2 +B m2 ; C mj3 C mj The corresponding vertical coordinate; C mj3 =G j3 +B m3 .

[0048] In an exemplary embodiment of the present application, F2 to A m The horizontal axis corresponds to the offset B m1 =A m1 -F 21 ; F2 to A m The vertical axis corresponds to the offset B m2 =A m2 -F 22 ; F2 to A m The vertical axis corresponding to the offset B m3 =A m3 -F 23 .

[0049] According to one aspect of the present application, a non-transitory computer-readable storage medium is provided, in which at least one instruction or at least one program is stored, and the at least one instruction or the at least one program is loaded and executed by a processor to implement the aforementioned three-dimensional point cloud display method.

[0050] According to one aspect of the present application, an electronic device is provided, including a processor and the aforementioned non-transitory computer-readable storage medium.

[0051] The present invention has at least the following beneficial effects:

[0052] The three-dimensional space point cloud display method of the present invention first determines the center coordinate point of the minimum range area corresponding to the first three-dimensional point cloud according to the coordinates of several first three-dimensional coordinate points included in the first three-dimensional point cloud, and then determines the radius of the minimum range area according to the center coordinate point of the minimum range area and several vertices in the first three-dimensional point cloud, and establishes a target point cloud space corresponding to the minimum range area. Finally, according to the center coordinate point of the scaled three-dimensional point cloud that needs to be integrated and several offset coordinate points on the surface of the target point cloud space, the scaled three-dimensional point cloud is copied to each offset coordinate point for display, so as to achieve the purpose of integrating and displaying the first three-dimensional point cloud and the scaled three-dimensional point cloud in three-dimensional space. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0054] Figure 1 A flowchart of a three-dimensional point cloud display method provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0055] 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 only 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.

[0056] like Figure 1 As shown, the three-dimensional point cloud display method described in this application includes the following steps:

[0057] Step S100, determining the center coordinate point of the minimum range area corresponding to the first three-dimensional point cloud according to the coordinates of each first three-dimensional coordinate point included in the first three-dimensional point cloud;

[0058] Further, step S100 includes steps S110 to S140:

[0059] Step S110: Obtain the horizontal coordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first horizontal coordinate list X1=(X 11 ,X 12 ,...,X 1i ,...,X 1n ), wherein i=1, 2, ..., n, and n is the number of first three-dimensional coordinate points included in the first three-dimensional point cloud; X 1i is the horizontal coordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud;

[0060] Step S120: Obtain the ordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first ordinate list Y1=(Y 11 ,Y 12 ,...,Y 1i ,...,Y 1n ), where Y 1i is the ordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud;

[0061] Step S130: Obtain the vertical coordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first vertical coordinate list Z1=(Z 11 ,Z 12 ,...,Z 1i ,...,Z 1n ), where Z 1i is the vertical coordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud;

[0062] Step S140, according to the first horizontal coordinate list X1, the first vertical coordinate list Y1 and the first vertical coordinate list Z1, determine the center coordinate point I=(I1, I2, I3) of the minimum range area corresponding to the first three-dimensional point cloud; wherein I1 is the horizontal coordinate corresponding to I; I1=(∑ n i=1 X 1i ) / n; I2 is the ordinate corresponding to I; I2=(∑ n i=1 Y 1i ) / n; I3 is the vertical coordinate corresponding to I; I3=(∑ n i=1 Z 1i ) / n.

[0063] The central coordinate point of the minimum range area corresponding to the first three-dimensional point cloud is the center point of the minimum enclosing sphere corresponding to the first three-dimensional point cloud.

[0064] Step S200, determining the radius of the minimum range area according to the central coordinate point of the minimum range area and a number of vertices in the first three-dimensional point cloud;

[0065] Further, step S200 includes steps S210 to S240:

[0066] Step S210, determining the first three-dimensional coordinate points corresponding to MAX(X1), MIN(X1), MAX(Y1), MIN(Y1), MAX(Z1), and MIN(Z1) as vertices; wherein MAX() is a preset maximum value determination function; and MIN() is a preset minimum value determination function;

[0067] Step S220: Obtain the coordinates of each vertex in the first three-dimensional point cloud to obtain a vertex coordinate list P = (P1, P2, ..., P a ,...,P6); where a=1,2,...,6; P a is the coordinate of the ath vertex in the first three-dimensional point cloud; P a =(P a1 ,P a2 ,P a3 );P a1 P a The corresponding horizontal axis; P a2 P a The corresponding vertical coordinate; P a3 P a The corresponding vertical coordinate;

[0068] Step S230: Determine the center coordinate point I and the vertex P a The distance between a =((P a1 -I1) 2 +(P a2 -I2) 2 +(P a3 -I3) 2 ) 1 / 2 ;

[0069] Step S240: MAX(N1, N2, ..., N a ,...,N6) is determined as the radius of the minimum range area.

[0070] Step S300: establishing a target point cloud space corresponding to the minimum range area according to the central coordinate point and radius of the minimum range area; the shape of the target point cloud space is a sphere;

[0071] Step S400, according to the center coordinate point of the scaled 3D point cloud and a number of offset coordinate points on the surface of the target point cloud space, copy the scaled 3D point cloud to each offset coordinate point for display;

[0072] The scaled 3D point cloud is a point cloud fused with the first 3D point cloud. For example, if the first 3D point cloud is an object and the scaled 3D point cloud is a product logo corresponding to the object, the scaled 3D point cloud needs to be fused with the first 3D point cloud so that the product logo (logo) can be displayed on the object.

[0073] The offset coordinate point is the point where the center coordinate point of the scaled 3D point cloud is moved. After obtaining the scaled 3D point cloud, the first 3D point cloud and the scaled 3D point cloud need to be fused, that is, the scaled 3D point cloud is moved to the surface of the first 3D point cloud. The target point of the movement is the offset coordinate point. In order to enable developers to obtain models of the scaled 3D point cloud at different positions on any surface of the first 3D point cloud, it is necessary to determine several offset coordinate points on the surface of the first 3D point cloud for the scaled 3D point cloud to copy and move.

[0074] Setting the shape of the target point cloud space to a sphere can make the scaled 3D point cloud better presented on the first 3D point cloud, present a smooth point cloud shape, and reduce the display error of the scaled 3D point cloud on the model.

[0075] Further, step S400 includes step S410-step S440:

[0076] Step S410: Determine the center coordinate point F2 of the scaled 3D point cloud. 21 ,F 22 ,F 23 );

[0077] Among them, F 21 =(MAX(G 11 ,G 21 ,...,G j1 ,...,G k1 )+MIN(G 11 ,G 21 ,...,G j1 ,...,G k1 )) / 2; F 21 is the horizontal coordinate corresponding to F2;

[0078] F 22 =(MAX(G 12 ,G 22 ,...,G j2 ,...,G k2 )+MIN(G 12 ,G 22,...,G j2 ,...,G k2 )) / 2; F 22 is the ordinate corresponding to F2;

[0079] F 23 =(MAX(G 13 ,G 23 ,...,G j3 ,...,G k3 )+MIN(G 13 ,G 23 ,...,G j3 ,...,G k3 )) / 2; F 23 is the vertical coordinate corresponding to F2;

[0080] Step S420: On the surface of the target point cloud space, at every preset interval, the corresponding three-dimensional coordinate point is determined as an offset coordinate point to obtain an offset coordinate point list A=(A1, A2, ..., A m ,...,A p ), where m = 1, 2, ..., p, p is the number of offset coordinate points; A m is the three-dimensional coordinate of the mth offset coordinate point; A m =(A m1 ,A m2 ,A m3 );A m1 A m The corresponding horizontal axis is A m2 A m The corresponding vertical coordinate: A m3 A m The corresponding vertical coordinate;

[0081] Step S430: Determine the coordinates of F2 to A according to the center coordinate point F2 and the offset coordinate point list A. m The horizontal axis corresponds to the offset B m1 =A m1 -F 21 , F2 to A m The vertical axis corresponds to the offset B m2 =A m2 -F 22 and F2 to A m The vertical axis corresponding to the offset B m3 =A m3 -F 23 ;

[0082] Step S440: According to B m1 , B m2 and B m3, copy and offset each scaled 3D coordinate point included in the scaled 3D point cloud to obtain a 3D coordinate point list C of the offset 3D point cloud corresponding to the scaled 3D point cloud copied to the mth offset coordinate point = (C m1 ,C m2 ,...,C mj ,...,C mk ), where C mj is the three-dimensional coordinate of the j-th point cloud coordinate point in the offset three-dimensional point cloud corresponding to the m-th offset coordinate point; C mj =(C mj1 ,C mj2 ,C mj3 );C mj1 C mj The corresponding horizontal axis; C mj1 =G j1 +B m1 ; C mj2 C mj The corresponding vertical coordinate; C mj2 =G j2 +B m2 ; C mj3 C mj The corresponding vertical coordinate; C mj3 =G j3 +B m3 .

[0083] Further, scaling the three-dimensional point cloud is determined through steps S010 to S020:

[0084] Step S010: determining a scaling factor corresponding to the second three-dimensional point cloud according to the coordinates of each second three-dimensional coordinate point included in the second three-dimensional point cloud; the three-dimensional coordinate system corresponding to the second three-dimensional point cloud and the three-dimensional coordinate system corresponding to the first three-dimensional point cloud are the same three-dimensional coordinate system;

[0085] The second 3D point cloud is the point cloud of the scaled 3D point cloud before scaling. Since the second 3D point cloud and the first 3D point cloud are independent of each other before fusion, the ratio between the two may not meet the actual standard. For example, if the length of the second 3D point cloud is the same as that of the first 3D point cloud, the second 3D point cloud needs to be scaled so that the ratio of the length of the second 3D point cloud to the length of the first 3D point cloud meets the preset ratio standard.

[0086] Wherein, step S010 includes steps S011 to S017:

[0087] Step S011, obtain the horizontal coordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second horizontal coordinate list X2=(X 21 ,X 22 ,...,X 2j,...,X 2k ), wherein j=1, 2, ..., k, k is the number of second three-dimensional coordinate points included in the second three-dimensional point cloud, X 2j is the abscissa of the j-th second three-dimensional coordinate point included in the second three-dimensional point cloud;

[0088] Step S012: Obtain the ordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second ordinate list Y2=(Y 21 ,Y 22 ,...,Y 2j ,...,Y 2k ), where Y 2j is the ordinate of the jth second three-dimensional coordinate point included in the second three-dimensional point cloud;

[0089] Step S013: Obtain the vertical coordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second vertical coordinate list Z2=(Z 21 ,Z 22 ,...,Z 2j ,...,Z 2k ), where Z 2j is the vertical coordinate of the j-th second three-dimensional coordinate point included in the second three-dimensional point cloud;

[0090] Step S014, determining the length scaling ratio L3 corresponding to the second three-dimensional point cloud according to the first horizontal coordinate list X1 and the second horizontal coordinate list X2, which is L3=((MAX(X1)-MIN(X1))×s) / (MAX(X2)-MIN(X2)); wherein s is a preset scaling ratio, 0<s<1;

[0091] Step S015, determining the width scaling ratio W3 corresponding to the second three-dimensional point cloud according to the first ordinate list Y1 and the second ordinate list Y2 = ((MAX(Y1)-MIN(Y1))×s) / (MAX(Y2)-MIN(Y2));

[0092] Step S016, determining the height scaling ratio H3 corresponding to the second three-dimensional point cloud according to the first vertical coordinate list Z1 and the second vertical coordinate list Z2 = ((MAX(Z1)-MIN(Z1))×s) / (MAX(Z2)-MIN(Z2));

[0093] Step S017: Determine MIN(L3, W3, H3) as the scaling factor corresponding to the second three-dimensional point cloud.

[0094] Step S020: scaling each second three-dimensional coordinate point included in the second three-dimensional point cloud according to the scaling factor to obtain a scaled three-dimensional point cloud;

[0095] Wherein, step S020 includes steps S021 to S023:

[0096] Step S021, determine the center coordinate point F1 of the second three-dimensional point cloud = (F 11 ,F 12 ,F 13 ), where F 11 is the horizontal coordinate corresponding to F1; F 11 =(MAX(X2)+MIN(X2)) / 2; F 12 is the ordinate corresponding to F1; F 12 =(MAX(Y2)+MIN(Y2)) / 2; F 13 is the vertical coordinate corresponding to F1; F 13 =(MAX(Z2)+MIN(Z2)) / 2;

[0097] Step S022: scaling the j-th second three-dimensional coordinate point included in the second three-dimensional point cloud to obtain a scaled three-dimensional coordinate point G after scaling the j-th second three-dimensional coordinate point. j =(G j1 ,G j2 ,G j3 ), where G j1 G j The corresponding horizontal coordinate is G j2 G j The corresponding vertical coordinate; G j3 G j The corresponding vertical coordinate;

[0098] G j1 The following conditions are met:

[0099] |F 11 -G j1 |=|F 11 -X 2j |×M; M is the scaling factor corresponding to the second three-dimensional point cloud;

[0100] G j2 The following conditions are met:

[0101] |F 12 -G j2 |=|F 12 -Y 2j |×M;

[0102] G j3 The following conditions are met:

[0103] |F 13 -G j3 |=|F 13 -Z 2j |×M;

[0104] Step S023: Determine a point cloud composed of a plurality of scaled three-dimensional coordinate points as a scaled three-dimensional point cloud.

[0105] The attributes of the 3D points in the scaled 3D point cloud meet the following conditions:

[0106] I1=I2+log(M); I2 is the radius of any three-dimensional point in the scaled three-dimensional point cloud before scaling; I1 is the radius of the three-dimensional point corresponding to I2 after scaling; log() is a preset logarithmic function.

[0107] The three-dimensional space point cloud display method of the present invention first determines the center coordinate point of the minimum range area corresponding to the first three-dimensional point cloud according to the coordinates of several first three-dimensional coordinate points included in the first three-dimensional point cloud, and then determines the radius of the minimum range area according to the center coordinate point of the minimum range area and several vertices in the first three-dimensional point cloud, and establishes a target point cloud space corresponding to the minimum range area. Finally, according to the center coordinate point of the scaled three-dimensional point cloud that needs to be integrated and several offset coordinate points on the surface of the target point cloud space, the scaled three-dimensional point cloud is copied to each offset coordinate point for display, so as to achieve the purpose of integrating and displaying the first three-dimensional point cloud and the scaled three-dimensional point cloud in three-dimensional space.

[0108] An embodiment of the present invention further provides a computer program product, which includes program code. When the program product is run on an electronic device, the program code is used to enable the electronic device to execute the steps of the method according to various exemplary embodiments of the present invention described above in this specification.

[0109] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.

[0110] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0111] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.

[0112] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as a system, method or program product. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as a "circuit", "module" or "system".

[0113] The electronic device according to this embodiment of the present invention is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0114] The electronic device is presented in the form of a general-purpose computing device. The components of the electronic device may include, but are not limited to: the at least one processor mentioned above, the at least one storage device mentioned above, and a bus connecting different system components (including storage devices and processors).

[0115] The storage stores program codes, which can be executed by the processor, so that the processor executes the steps according to various exemplary embodiments of the present invention described in the above “Exemplary Method” section of this specification.

[0116] The memory may include readable media in the form of volatile memory, such as random access memory (RAM) and / or cache memory, and may further include read only memory (ROM).

[0117] The storage may also include a program / utility having a set (at least one) of program modules, such program modules including but not limited to: an operating system, one or more application programs, other program modules and program data, each of which or some combination may include the implementation of a network environment.

[0118] The bus may represent one or more of several types of bus structures including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures.

[0119] The electronic device may also communicate with one or more external devices (e.g., keyboards, pointing devices, Bluetooth devices, etc.), one or more devices that enable a user to interact with the electronic device, and / or any device that enables the electronic device to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface. Furthermore, the electronic device may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter.

[0120] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0121] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present invention can also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of the present specification.

[0122] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0123] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0124] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.

[0125] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).

[0126] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to an exemplary embodiment of the present invention, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.

[0127] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0128] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed by the present invention should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims

1. A three-dimensional point cloud display method, characterized in that: The method comprises the following steps: Step S100: determining the center coordinate point of the minimum range area corresponding to the first three-dimensional point cloud according to the coordinates of each first three-dimensional coordinate point included in the first three-dimensional point cloud; Step S200: determining the radius of the minimum range area according to the central coordinate point of the minimum range area and a number of vertices in the first three-dimensional point cloud; Step S300: establishing a target point cloud space corresponding to the minimum range area according to the central coordinate point and radius of the minimum range area; the shape of the target point cloud space is a sphere; Step S400: According to the central coordinate point of the scaled three-dimensional point cloud and a plurality of offset coordinate points on the surface of the target point cloud space, the scaled three-dimensional point cloud is copied to each of the offset coordinate points for display.

2. The method according to claim 1, characterized in that The step S100 includes: Step S110: Obtain the horizontal coordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first horizontal coordinate list X1=(X 11 ,X 12 ,...,X 1i ,...,X 1n ), wherein i=1, 2, ..., n, and n is the number of first three-dimensional coordinate points included in the first three-dimensional point cloud; X 1i is the horizontal coordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud; Step S120: Obtain the ordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first ordinate list Y1=(Y 11 ,Y 12 ,...,Y 1i ,...,Y 1n ), where Y 1i is the ordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud; Step S130: Obtain the vertical coordinate of each first three-dimensional coordinate point included in the first three-dimensional point cloud, and obtain a first vertical coordinate list Z1=(Z 11 ,Z 12 ,...,Z 1i ,...,Z 1n ), where Z 1i is the vertical coordinate of the i-th first three-dimensional coordinate point included in the first three-dimensional point cloud; Step S140: Determine the center coordinate point I=(I1, I2, I3) of the minimum range area corresponding to the first three-dimensional point cloud according to the first horizontal coordinate list X1, the first vertical coordinate list Y1 and the first vertical coordinate list Z1; wherein I1 is the horizontal coordinate corresponding to I; I1=(∑ n i=1 X 1i ) / n; I2 is the ordinate corresponding to I; I2=(∑ n i=1 Y 1i ) / n; I3 is the vertical coordinate corresponding to I; I3=(∑ n i=1 Z 1i ) / n.

3. The method according to claim 2, characterized in that The step S200 includes: Step S210, determining the first three-dimensional coordinate points corresponding to MAX(X1), MIN(X1), MAX(Y1), MIN(Y1), MAX(Z1), and MIN(Z1) as vertices; wherein MAX() is a preset maximum value determination function; and MIN() is a preset minimum value determination function; Step S220: Obtain the coordinates of each vertex in the first three-dimensional point cloud to obtain a vertex coordinate list P = (P1, P2, ..., P a ,...,P6); where a=1,2,...,6; P a is the coordinate of the ath vertex in the first three-dimensional point cloud; a =(P a1 ,P a2 ,P a3 );P a1 P a The corresponding horizontal axis; P a2 P a The corresponding vertical coordinate; P a3 P a The corresponding vertical coordinate; Step S230: Determine the center coordinate point I and the vertex P a The distance N a =((P a1 -I1) 2 +(P a2 -I2) 2 +(P a3 -I3) 2 ) 1 / 2 ; Step S240: MAX(N1, N2, ..., N a ,...,N6) is determined as the radius of the minimum range area.

4. The method according to claim 3, characterized in that The scaled 3D point cloud is determined by the following steps: Step S010: determining a scaling factor corresponding to the second three-dimensional point cloud according to the coordinates of each second three-dimensional coordinate point included in the second three-dimensional point cloud; the three-dimensional coordinate system corresponding to the second three-dimensional point cloud and the three-dimensional coordinate system corresponding to the first three-dimensional point cloud are the same three-dimensional coordinate system; Step S020: Scale each second three-dimensional coordinate point included in the second three-dimensional point cloud according to the scaling factor to obtain a scaled three-dimensional point cloud.

5. The method according to claim 4, characterized in that The step S010 includes: Step S011: Obtain the horizontal coordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second horizontal coordinate list X2=(X 21 ,X 22 ,...,X 2j ,...,X 2k ), wherein j=1, 2, ..., k, k is the number of second three-dimensional coordinate points included in the second three-dimensional point cloud, X 2j is the horizontal coordinate of the jth second three-dimensional coordinate point included in the second three-dimensional point cloud; Step S012: Obtain the ordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second ordinate list Y2=(Y 21 ,Y 22 ,...,Y 2j ,...,Y 2k ), where Y 2j is the ordinate of the jth second three-dimensional coordinate point included in the second three-dimensional point cloud; Step S013: Obtain the vertical coordinate of each second three-dimensional coordinate point included in the second three-dimensional point cloud, and obtain a second vertical coordinate list Z2=(Z 21 ,Z 22 ,...,Z 2j ,...,Z 2k ), where Z 2j is the vertical coordinate of the j-th second three-dimensional coordinate point included in the second three-dimensional point cloud; Step S014: Determine, according to the first horizontal coordinate list X1 and the second horizontal coordinate list X2, a length scaling ratio L3 corresponding to the second three-dimensional point cloud = ((MAX(X1)-MIN(X1))×s) / (MAX(X2)-MIN(X2)); wherein s is a preset scaling ratio, 0<s<1; Step S015, determining a width scaling ratio W3 corresponding to the second three-dimensional point cloud according to the first ordinate list Y1 and the second ordinate list Y2 = ((MAX(Y1)-MIN(Y1))×s) / (MAX(Y2)-MIN(Y2)); Step S016: Determine, according to the first vertical coordinate list Z1 and the second vertical coordinate list Z2, a height scaling ratio H3 corresponding to the second three-dimensional point cloud = ((MAX(Z1)-MIN(Z1))×s) / (MAX(Z2)-MIN(Z2)); Step S017: Determine MIN(L3, W3, H3) as the scaling factor corresponding to the second three-dimensional point cloud.

6. The method according to claim 5, characterized in that The step S020 includes: Step S021: determine the center coordinate point F1 of the second three-dimensional point cloud = (F 11 ,F 12 ,F 13 ), where F 11 is the horizontal coordinate corresponding to F1; F 11 =(MAX(X2)+MIN(X2)) / 2; F 12 is the ordinate corresponding to F1; F 12 =(MAX(Y2)+MIN(Y2)) / 2; F 13 is the vertical coordinate corresponding to F1; F 13 =(MAX(Z2)+MIN(Z2)) / 2; Step S022: scaling the j-th second three-dimensional coordinate point included in the second three-dimensional point cloud to obtain a scaled three-dimensional coordinate point G after scaling the j-th second three-dimensional coordinate point. j =(G j1 ,G j2 ,G j3 ), where G j1 G j The corresponding horizontal coordinate is G j2 G j The corresponding vertical coordinate; G j3 G j The corresponding vertical coordinate; G j1 The following conditions are met: |F 11 -G j1 |=|F 11 -X 2j |×M; M is the scaling factor corresponding to the second three-dimensional point cloud; G j2 The following conditions are met: |F 12 -G j2 |=|F 12 -Y 2j |×M; G j3 The following conditions are met: |F 13 -G j3 |=|F 13 -Z 2j |×M; Step S023: Determine a point cloud composed of a plurality of scaled three-dimensional coordinate points as a scaled three-dimensional point cloud.

7. The method according to claim 6, characterized in that The step S400 includes: Step S410: Determine the center coordinate point F2 of the scaled 3D point cloud = (F 21 ,F 22 ,F 23 ); Among them, F 21 =(MAX(G 11 ,G 21 ,...,G j1 ,...,G k1 )+MIN(G 11 ,G 21 ,...,G j1 ,...,G k1 )) / 2; F 21 is the horizontal coordinate corresponding to F2; F 22 =(MAX(G 12 ,G 22 ,...,G j2 ,...,G k2 )+MIN(G 12 ,G 22 ,...,G j2 ,...,G k2 )) / 2; F 22 is the ordinate corresponding to F2; F 23 =(MAX(G 13 ,G 23 ,...,G j3 ,...,G k3 )+MIN(G 13 ,G 23 ,...,G j3 ,...,G k3 )) / 2; F 23 is the vertical coordinate corresponding to F2; Step S420: On the surface of the target point cloud space, at every preset interval, the corresponding three-dimensional coordinate point is determined as an offset coordinate point to obtain an offset coordinate point list A=(A1, A2, ..., A m ,...,A p ), wherein m=1, 2, ..., p, and p is the number of the offset coordinate points; A m A is the three-dimensional coordinate of the mth offset coordinate point; m =(A m1 ,A m2 ,A m3 );A m1 A m The corresponding horizontal axis is A m2 A m The corresponding vertical coordinate: A m3 A m The corresponding vertical coordinate; Step S430: Determine the coordinates of F2 to A according to the center coordinate point F2 and the offset coordinate point list A. m The offset B corresponding to the horizontal axis m1 , F2 to A m The vertical axis corresponds to the offset B m2 and F2 to A m The vertical axis corresponding to the offset B m3 ; Step S440: According to B m1 , B m2 and B m3 , copy and offset each scaled 3D coordinate point included in the scaled 3D point cloud to obtain a 3D coordinate point list C of the offset 3D point cloud corresponding to the mth offset coordinate point when the scaled 3D point cloud is copied. m1 ,C m2 ,...,C mj ,...,C mk ), where C mj is the three-dimensional coordinate of the j-th point cloud coordinate point in the offset three-dimensional point cloud corresponding to the m-th offset coordinate point; C mj =(C mj1 ,C mj2 ,C mj3 );C mj1 C mj The corresponding horizontal axis; C mj1 =G j1 +B m1 ; C mj2 C mj The corresponding vertical coordinate; C mj2 =G j2 +B m2 ; C mj3 C mj The corresponding vertical coordinate; C mj3 =G j3 +B m3 .

8. The method according to claim 7, characterized in that F2 to A m The offset B corresponding to the horizontal axis m1 =A m1 -F 21 ; F2 to A m The vertical axis corresponds to the offset B m2 =A m2 -F 22 ; F2 to A m The vertical axis corresponding to the offset B m3 =A m3 -F 23 .

9. A non-transitory computer-readable storage medium, wherein at least one instruction or at least one program is stored in the storage medium, characterized in that: The at least one instruction or the at least one program is loaded and executed by the processor to implement the three-dimensional point cloud display method as described in any one of claims 1-8.

10. An electronic device, characterized in that: The invention comprises a processor and the non-transitory computer-readable storage medium as claimed in claim 9.