A clustering display method and device based on simulation space points and a terminal device
By judging the attribute updates of simulated spatial points within the camera's field of view, a new clustering image is generated, which solves the problem of poor clustering display effect caused by data loss in the existing technology and improves the user's visual experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XIAN ZHONGKE TIANTA TECH CO LTD
- Filing Date
- 2023-10-10
- Publication Date
- 2026-07-10
AI Technical Summary
Existing technologies fail to effectively maintain the integrity of simulated spatial point data when the camera's perspective changes, resulting in poor clustering display effects and a poor user visual experience.
By obtaining the difference between the current position of the camera and the previous time point, it is determined whether the point is within the field of view, the point attribute is updated to be clustered or hidden, and a new clustering image is generated to avoid data loss.
It achieves the maintenance of point data integrity when the camera perspective changes, improving the clustering display effect and user visual experience.
Smart Images

Figure CN117333689B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of display technology for simulated spatial points, and in particular to a clustering display method, apparatus and terminal equipment based on simulated spatial points. Background Technology
[0002] Existing multi-point display in 3D simulation space essentially involves clustering and displaying various points within a certain range. As the camera's perspective changes, it's necessary to re-acquire and re-cluster and display the points within the current camera's field of view. However, existing technologies, after selecting and clustering a subset of points from the camera's perspective, directly delete the data of points that are not clustered or not displayed, resulting in data loss. Consequently, as the camera's perspective changes, the used point data may become incomplete, leading to poor clustering and display effects and a negative visual experience for the user. Summary of the Invention
[0003] This invention provides a clustering display method, apparatus, and terminal device based on simulated spatial points. It can effectively solve the problem in the prior art that after selecting some points under the camera's view for clustering and display, the data of points that are not clustered or not displayed are directly cleared, resulting in the loss of intermediate data, which leads to poor clustering display effect and also a poor visual experience for users.
[0004] One embodiment of the present invention provides a clustering display method based on simulated spatial points, comprising:
[0005] Obtain the current position of the camera at the current time point, and compare the current position of the camera with the previous position of the camera obtained at the previous time point to obtain the first distance;
[0006] When it is determined that the first distance is greater than the first preset distance threshold, it is then determined whether each point is within the current field of view of the camera based on the stored position information of each point.
[0007] If so, the attributes of points within the current view range will be updated to points to be clustered; otherwise, the attributes of points outside the current view range will be updated to hidden points.
[0008] After hiding and not displaying the points with the attribute of "hidden", and clustering and displaying the points to be clustered, a new clustering image is generated;
[0009] If the first distance is determined to be no greater than a preset distance threshold, the original clustering image is maintained.
[0010] Preferably, determining whether each point is within the current field of view of the camera based on the stored location information of each point includes:
[0011] For each point, the coordinates of the point are transformed into the clipping space corresponding to the current camera position to obtain the second distance from the point to each clipping plane in the clipping space;
[0012] For each point, determine whether the corresponding second distances are all greater than the second preset distance threshold;
[0013] If the corresponding second distance is determined to be greater than the second preset distance threshold, then the point is determined to be within the current field of view of the camera.
[0014] If the corresponding second distance is not greater than the second preset distance threshold, then the point is determined to be outside the current field of view of the camera.
[0015] Preferably, the step of transforming the coordinates of the point into the clipping space corresponding to the current camera position to obtain the second distance from the point to each clipping plane in the clipping space includes:
[0016] For each cutting plane, the second distance from the point to the cutting plane is calculated using the following formula:
[0017] Ax + By + Cz - D = distance;
[0018] Where distance is the second distance, the components of the normal vector corresponding to the clipping plane are (A,B,C), the coordinates of the point are (x,y,z), and D is the offset of the clipping plane.
[0019] Preferably, the step of clustering and displaying the points to be clustered includes:
[0020] Calculate and obtain the bounding box for each point to be clustered;
[0021] Points to be clustered that have bounding boxes intersecting with other cluster points are marked with a first identifier to indicate that they need to be clustered, and points to be clustered that do not have bounding boxes intersecting with other cluster points are marked with a second identifier to indicate that they do not need to be clustered.
[0022] After clustering the points to be clustered with the first identifier, several target points are generated;
[0023] Display several target points and points to be clustered with a second identifier.
[0024] Preferably, after clustering the points to be clustered with the first identifier, several target points are generated, including:
[0025] One by one, the points to be clustered that have a first identifier and have not been marked as clustered are obtained. The points to be clustered that are within a first preset distance range and have not been marked as clustered are marked as clustered and then clustered simultaneously to generate the corresponding target points.
[0026] After determining that all points with the first identifier have been clustered, several target points are obtained.
[0027] Preferably, displaying a plurality of target points and points to be clustered with a second identifier includes:
[0028] Calculate the third distance between each target point and the current position of the camera, and calculate the fourth distance between the points to be clustered with the second identifier and the current position of the camera;
[0029] The points corresponding to the third or fourth distance within the second preset distance range will be displayed according to the first preset icon;
[0030] The points corresponding to the third or fourth distance within the third preset distance range will be displayed according to the second preset icon.
[0031] Preferably, each point corresponds to a status indicator indicating whether it is selected;
[0032] Before clustering and displaying the points to be clustered, the following steps are also included:
[0033] For each point to be clustered, if the status flag of the point to be clustered is selected, then the point to be clustered will not be clustered, and the point to be clustered will be displayed.
[0034] Preferably, after generating a new clustering image, the method further includes:
[0035] Obtain data of points in a clustered image; wherein, the data of points includes point identifiers, each point identifier corresponds to an entity identifier, and each entity identifier corresponds to a rendering attribute;
[0036] For each point in the clustered image, the entity corresponding to that point is displayed according to the rendering attributes.
[0037] Based on the above method embodiments, the present invention provides corresponding apparatus embodiments.
[0038] An embodiment of the present invention provides a clustering display device based on simulated spatial points, comprising: a first distance calculation module and a clustering image update module;
[0039] The first distance calculation module is used to obtain the current position of the camera at the current time point, compare the current position of the camera with the previous position of the camera obtained at the previous time point, and obtain the first distance;
[0040] The clustering image update module is used to determine whether each point is within the current field of view of the camera based on the stored position information of each point when the first distance is determined to be greater than the first preset distance threshold; if so, the attributes of the points within the current field of view are updated to the points to be clustered; otherwise, the attributes of the points not within the current field of view are updated to the hidden points; after hiding and not displaying the points with the attribute of hidden, and clustering and displaying the points to be clustered, a new clustering image is generated.
[0041] If the first distance is determined to be no greater than a preset distance threshold, the original clustering image is maintained.
[0042] Based on the above method embodiments, the present invention provides corresponding terminal device embodiments.
[0043] Another embodiment of the present invention provides a terminal device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor. When the processor executes the computer program, it implements a clustering display method based on simulated spatial points as described in the above-described embodiment of the invention.
[0044] The following benefits can be obtained by implementing the present invention:
[0045] This invention provides a clustering display method, apparatus, and terminal device based on simulated spatial points. The method includes: acquiring the current position of a camera at the current time point; comparing the current position of the camera with the previous position of the camera acquired at the previous time point to obtain a first distance; when the first distance is determined to be greater than a first preset distance threshold, determining whether each point is within the current viewing angle range of the camera based on the stored position information of each point; if so, updating the attributes of points within the current viewing angle range to points to be clustered; otherwise, updating the attributes of points not within the current viewing angle range to hidden points; after hiding and not displaying the points with the hidden attribute, and clustering and displaying the points to be clustered, generating a new clustering image; when the first distance is determined not to be greater than the preset distance threshold, maintaining the original clustering image. Compared with existing technologies, this invention, each time it determines whether a new clustering image needs to be generated for display, if it is determined based on the first distance that the clustering image needs to be updated, acquires all point location data to determine whether a point is within the current viewing angle range, and updates the attributes of each point. That is, by updating the attributes of points within the current viewing angle range to points to be clustered, and updating the attributes of points outside the current viewing angle range to be hidden, the invention enables subsequent generation of new clustering images to hide or cluster points based on their attributes, without deleting the data of points that should be hidden to achieve clustering display. There is no data loss problem, and it provides sufficient and complete point data for when points within the camera's viewing angle range need to be reacquired as the camera's viewing angle changes, thereby achieving better clustering and display effects and improving the user's visual experience. Attached Figure Description
[0046] Figure 1 This is a flowchart illustrating a clustering display method based on simulated spatial points provided in an embodiment of the present invention.
[0047] Figure 2 This is a schematic diagram of another clustering display process provided in an embodiment of the present invention.
[0048] Figure 3 This is a schematic diagram of the structure of a clustering display device based on simulated spatial points provided in an embodiment of the present invention. Detailed Implementation
[0049] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0050] like Figure 1 The diagram shown is a flowchart illustrating a clustering display method based on simulated spatial points according to an embodiment of the present invention. The clustering display method based on simulated spatial points includes:
[0051] Step S1: Obtain the current position of the camera at the current time point, and compare the current position of the camera with the previous position of the camera obtained at the previous time point to obtain the first distance;
[0052] Step S2: When it is determined that the first distance is greater than the first preset distance threshold, it is then determined whether each point is within the current field of view of the camera based on the stored position information of each point.
[0053] If so, the attributes of points within the current view range will be updated to points to be clustered; otherwise, the attributes of points outside the current view range will be updated to hidden points.
[0054] After hiding and not displaying the points with the attribute of "hidden", and clustering and displaying the points to be clustered, a new clustering image is generated;
[0055] Step S3: If the first distance is determined to be no greater than the preset distance threshold, the original clustering image is maintained.
[0056] In a preferred embodiment, for step S1, the present invention continuously acquires the current camera position and compares it with the camera position of the previous frame to determine whether the camera has moved a large distance.
[0057] Specifically, this invention sets up a pre-rendering event listener: in the setUpdater method, the preUpdate.addEventListener listener is triggered before each frame is rendered to obtain the current camera position, compare it with the camera position of the previous frame, and determine whether the camera has moved a large distance.
[0058] For step S2, if the camera position in the previous frame is not empty and the distance between the camera position in the current frame and the camera position in the previous frame is greater than a first preset distance threshold, then aggregation calculation is performed and the camera position is updated; wherein, the first preset distance threshold can be 1500; illustratively, if it is determined that the camera position in the previous frame is empty or the aggregated image is empty, it means that the clustered image generated this time is the first generation, and then aggregation calculation is performed directly.
[0059] In a preferred embodiment, the method initialization and parameter settings of the present invention are specifically as follows:
[0060] The constructor Cluster initializes the cluster and accepts an options parameter, which includes settings such as pixelRange (the range of pixels used to determine when to aggregate points) and minimumClusterSize (the minimum number of points required to form a cluster).
[0061] Create instance variables _pixelRange, _minimumClusterSize, viewer, czmlEntity, _preRenderRemover, _lastCameraPosition, _hidedPoints, and _showPoints.
[0062] Among them, variables such as _pixelRange and _minimumClusterSize determine the conditions and effects of clustering, while viewer and czmlEntity are associated with scene and entity data for manipulation and rendering.
[0063] _preRenderRemover is used to cancel the pre-render listener, _lastCameraPosition records the camera position of the previous frame, and _hidedPoints and _showPoints store the hidden and shown points to achieve dynamic clustering effects.
[0064] When it is determined that the first distance is greater than a first preset distance threshold, it is then determined whether each point is within the current field of view of the camera based on the stored position information of each point. Figure 2 As shown, specifically:
[0065] For each point, the coordinates of the point are transformed into the clipping space corresponding to the current camera position to obtain the second distance from the point to each clipping plane in the clipping space; wherein, the second distance from the point to the clipping plane is calculated according to the following formula:
[0066] Ax + By + Cz - D = distance;
[0067] Where distance is the second distance, the components of the normal vector corresponding to the clipping plane are (A,B,C), the coordinates of the point are (x,y,z), and D is the offset of the clipping plane.
[0068] Determine whether each corresponding second distance is greater than a second preset distance threshold. If the corresponding second distance is greater than the second preset distance threshold, then the point is determined to be within the current field of view of the camera. If the corresponding second distance is not greater than the second preset distance threshold, then the point is determined not to be within the current field of view of the camera.
[0069] Specifically, the camera parameters are first obtained, including the camera position and the camera's view matrix. This information will be used to calculate the view frustum.
[0070] Calculate the vector between the camera and the point: Use the coordinates of the point and the camera position to calculate a vector representing the direction vector from the camera to that point.
[0071] Calculating the view projection matrix: A view projection matrix is obtained by multiplying the camera position, the view matrix, and the projection matrix. Illustratively, transforming point coordinates to the camera's projected coordinate system is equivalent to transforming the point coordinates to the view projection matrix.
[0072] Calculating clipping parameters: Using the camera's view projection matrix, six clipping planes are calculated, representing the near clipping plane, far clipping plane, left, right, top, and bottom clipping planes. The parameters of these clipping planes are defined in clipping space and are used to map points to clipping space for clipping testing.
[0073] Clipping test for a point: Transform the coordinates of the point to clip space, and then compare them with the various clipping planes. Return true if the point is on the positive side of all clipping planes (i.e., the point is inside the view frustum), otherwise return false.
[0074] Specifically, transforming the coordinates of a point into clipping space yields several corresponding clipping planes. Each clipping plane is typically defined by a normal vector and a point. The plane equations are as follows:
[0075] Ax + By + Cz - D = 0
[0076] Where (A,B,C) are the components of the normal vector, (x,y,z) are the coordinates of the point, and D is the offset of the plane.
[0077] Using the plane equation described above, the signed distance from a point to the plane can be calculated. Substituting the point's coordinates (x, y, z) into the plane equation, we obtain the distance value: distance = Ax + By + Cz - D. This distance value indicates which side of the plane the point is on. If distance > 0, the point is on the positive side of the plane; if distance < 0, the point is on the negative side. If distance = 0, the point is on the plane.
[0078] Determining whether a point is within the camera's current field of view essentially means determining whether the point is on the front side of the clipping plane, i.e., whether the distance is greater than 0. If the second distance from the point to each clipping plane in the clipping space is greater than 0, then the point is within the camera's current field of view.
[0079] Based on the above judgment process, the attributes of points within the current view range will be updated to points to be clustered, and the attributes of points outside the current view range will be updated to hidden points.
[0080] The implementation process of the point clustering (_calculateCluster) method of this invention is as follows:
[0081] Create an array named points, iterate through each entity in czmlEntity, extract its position and ID, and store them in the array.
[0082] Call _getScreenSpacePositions to calculate whether each point is within the screen range, and mark invisible points as culled.
[0083] Based on the elimination results, culledPoint and notCulledPoint are divided.
[0084] Call _clusterFilter to process notCulledPoint and perform cluster filtering.
[0085] In a preferred embodiment, for points whose attribute is to be clustered, the bounding box of each point to be clustered is calculated and obtained.
[0086] Use range query to get neighboring points. Mark the points to be clustered that have bounding boxes that intersect with other cluster points as a first identifier to indicate that they need to be clustered. Mark the points to be clustered that do not have bounding boxes that intersect with other cluster points as a second identifier to indicate that they do not need to be clustered.
[0087] One by one, the points to be clustered that have a first identifier and have not been marked as already clustered are obtained. Then, the points to be clustered that are within a first preset distance range and have not been marked as already clustered are marked as already clustered and then clustered simultaneously to generate the corresponding target point. Specifically, one by one, the points to be clustered are obtained, and the points to be clustered that are within a first preset distance range and have not been marked as already clustered are marked as already clustered, which can avoid duplicate clustering. After clustering, a target point is generated.
[0088] Understandably, if the number of neighboring points of a point to be clustered reaches the minimum cluster size, the point is marked as clustered, and its neighbors are marked as already clustered, in order to avoid duplicate clustering.
[0089] Furthermore, iterate through all points within the visual range (points in culledPoint and notCulledPoint), hide and do not display points with the attribute of hidden, and cluster and display the points to be clustered to generate a new clustering image.
[0090] Specifically, when displaying several target points and clustering points with second identifiers, the third distance between each target point and the current position of the camera is calculated, and the fourth distance between the clustering points with second identifiers and the current position of the camera is calculated; points corresponding to the third or fourth distance within a second preset distance range are displayed according to the first preset icon; points corresponding to the third or fourth distance within a third preset distance range are displayed according to the second preset icon.
[0091] The `Cartesian3.distance` function is used in the `Cluster` class. A method `calculateDistance` is added to calculate the distance between two points based on a distance threshold, returning different effect settings, such as using large icons for close proximity and small icons for greater distance. In this invention, dynamic distance changes during aggregation are used to adjust the aggregation effect based on the actual spatial distance between the point and the camera, thereby achieving subtle visual changes. The following is the processing relationship between dynamic distance changes and aggregation:
[0092] Calculating Spatial Distance: In the `_calculateCluster` method, we iterate through all points and use the `calculateDistance` method to calculate the spatial distance between each point and the camera's current position. During the iteration, we obtain the calculated distance and pass it to the `applyDistanceBasedEffect` method. Depending on the distance, we can apply different aggregation effects, such as using large icons for close-range points and small icons for distant points. Specifically, points within a second preset distance range will use large icons, while points within a third preset distance range will use small icons.
[0093] This invention can also select different aggregation effects based on a distance threshold in the applyDistanceBasedEffect method. The rendering attributes of the entity can be adjusted according to the effect, such as changing the icon size, color, and shape.
[0094] This invention calculates distances that change with variations in camera angle and relative positions between points, thus triggering different aggregation effects. This allows the aggregation effect to dynamically change under different angles and relative positions, better aligning with human visual intuition.
[0095] This invention can also call the `adjustCameraView` method to calculate a bounding sphere based on the position of the visible points, and then adjust the camera view to suit the display of the entire clustering result. The built-in `setView` method sets the camera's view parameters, including camera position, orientation, and pitch angle, to ensure that the clustering result is always at a suitable viewpoint when the camera moves.
[0096] In a preferred embodiment, each point corresponds to a status indicator indicating whether it is selected; before clustering and displaying the points to be clustered, the present invention further includes:
[0097] For each point to be clustered, if the status flag of the point to be clustered is selected, then the point to be clustered will not be clustered, and the point to be clustered will be displayed.
[0098] This invention allows the viewer to see whether an entity is being tracked. If so, the aggregation process is skipped, and the focus remains on the tracked entity. If no entity is being tracked, and the camera position has changed significantly (either in the first frame or after the camera has moved a certain distance), the aggregation process is triggered.
[0099] In a preferred embodiment, for step S3, when it is determined that the first distance is not greater than a preset distance threshold, there is no need to perform clustering, that is, the original clustering image is maintained.
[0100] In a preferred embodiment, after generating the new clustering image, the present invention further includes:
[0101] Obtain data of points in a clustered image; wherein, the data of points includes point identifiers, each point identifier corresponds to an entity identifier, and each entity identifier corresponds to a rendering attribute;
[0102] For each point in the clustered image, the entity corresponding to that point is displayed according to the rendering attributes.
[0103] This invention can traverse `culledPoint` and `notCulledPoint`, processing the entity corresponding to each point. If a point is marked as culled or clustered, the entity is hidden and its label and icon are cleared. If a point is not clustered but is visible, the corresponding entity is found by its ID, the display effect is selected based on spatial distance, and the entity's rendering attributes are updated. It should be noted that the clustering display method of this invention can be applied to large-scale satellite simulation displays in the aerospace industry, where each point can correspond to a satellite, achieving a dynamic clustering effect in the satellite simulation space.
[0104] This invention stores all space target data after spatial aggregation, meaning it can transfer and save both aggregated and unaggregated data. Users can perform individual operations according to their needs without data loss, enabling continued operation. This invention can also handle the clustering of large numbers of space targets, achieving flexible and dynamic display and solving the problem of chaotic display in large-scale satellite simulations in the aerospace industry.
[0105] like Figure 3 As shown, based on the above embodiments of clustering display methods based on simulated spatial points, the present invention provides corresponding device embodiments;
[0106] An embodiment of the present invention provides a clustering display device based on simulated spatial points, comprising: a first distance calculation module and a clustering image update module;
[0107] The first distance calculation module is used to obtain the current position of the camera at the current time point, compare the current position of the camera with the previous position of the camera obtained at the previous time point, and obtain the first distance;
[0108] The clustering image update module is used to determine whether each point is within the current field of view of the camera based on the stored position information of each point when the first distance is determined to be greater than the first preset distance threshold; if so, the attributes of the points within the current field of view are updated to the points to be clustered; otherwise, the attributes of the points not within the current field of view are updated to the hidden points; after hiding and not displaying the points with the attribute of hidden, and clustering and displaying the points to be clustered, a new clustering image is generated.
[0109] If the first distance is determined to be no greater than a preset distance threshold, the original clustering image is maintained.
[0110] It should be noted that the device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules; they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the device embodiments provided by this invention, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.
[0111] Those skilled in the art will clearly understand that, for convenience and simplicity, the specific working process of the device described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0112] Based on the embodiments of the various methods described above, the present invention provides corresponding embodiments of terminal devices.
[0113] One embodiment of the present invention provides a terminal device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor. When the processor executes the computer program, it implements a clustering display method based on simulated spatial points as described in any embodiment of the present invention.
[0114] The terminal device may be a desktop computer, laptop, handheld computer, or cloud server, etc. The terminal device may include, but is not limited to, a processor and a memory.
[0115] The processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor. The processor is the control center of the terminal device, connecting all parts of the terminal device via various interfaces and lines.
[0116] The memory can be used to store the computer program. The processor implements various functions of the terminal device by running or executing the computer program stored in the memory and calling data stored in the memory. The memory may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function, etc.; the data storage area may store data created based on the use of the mobile phone, etc. In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, RAM, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0117] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.
Claims
1. A clustering display method based on simulated spatial points, characterized in that, include: Obtain the current position of the camera at the current time point, and compare the current position of the camera with the previous position of the camera obtained at the previous time point to obtain the first distance; When it is determined that the first distance is greater than the first preset distance threshold, it is then determined whether each point is within the current field of view of the camera based on the stored position information of each point. If so, the attributes of points within the current view range will be updated to points to be clustered; otherwise, the attributes of points outside the current view range will be updated to hidden points. After hiding and not displaying the points with the attribute of "hidden", and clustering and displaying the points to be clustered, a new clustering image is generated; If the first distance is determined to be no greater than a preset distance threshold, the original clustering image is maintained.
2. The clustering display method based on simulated spatial points as described in claim 1, characterized in that, The step of determining whether each point is within the current field of view of the camera based on the stored position information of each point includes: For each point, the coordinates of the point are transformed into the clipping space corresponding to the current camera position to obtain the second distance from the point to each clipping plane in the clipping space; For each point, determine whether the corresponding second distances are all greater than the second preset distance threshold; If the corresponding second distance is determined to be greater than the second preset distance threshold, then the point is determined to be within the current field of view of the camera. If the corresponding second distance is not greater than the second preset distance threshold, then the point is determined to be outside the current field of view of the camera.
3. The clustering display method based on simulated spatial points as described in claim 2, characterized in that, The step of transforming the coordinates of the point into the clipping space corresponding to the current camera position, and obtaining the second distance from the point to each clipping plane in the clipping space, includes: For each cutting plane, the second distance from the point to the cutting plane is calculated using the following formula: Ax + By + Cz - D = distance; Where distance is the second distance, the components of the normal vector corresponding to the clipping plane are (A,B,C), the coordinates of the point are (x,y,z), and D is the offset of the clipping plane.
4. The clustering display method based on simulated spatial points as described in claim 1, characterized in that, The process of clustering and displaying the points to be clustered includes: Calculate and obtain the bounding box for each point to be clustered; Points to be clustered that have bounding boxes intersecting with other cluster points are marked with a first identifier to indicate that they need to be clustered, and points to be clustered that do not have bounding boxes intersecting with other cluster points are marked with a second identifier to indicate that they do not need to be clustered. After clustering the points to be clustered with the first identifier, several target points are generated; Display several target points and points to be clustered with a second identifier.
5. The clustering display method based on simulated spatial points as described in claim 4, characterized in that, After clustering the points to be clustered with the first identifier, several target points are generated, including: One by one, the points to be clustered that have a first identifier and have not been marked as clustered are obtained. The points to be clustered that are within a first preset distance range and have not been marked as clustered are marked as clustered and then clustered simultaneously to generate the corresponding target points. After determining that all points with the first identifier have been clustered, several target points are obtained.
6. The clustering display method based on simulated spatial points as described in claim 5, characterized in that, The step of displaying several target points and points to be clustered with a second identifier includes: Calculate the third distance between each target point and the current position of the camera, and calculate the fourth distance between the points to be clustered with the second identifier and the current position of the camera; The points corresponding to the third or fourth distance within the second preset distance range will be displayed according to the first preset icon; The points corresponding to the third or fourth distance within the third preset distance range will be displayed according to the second preset icon.
7. The clustering display method based on simulated spatial points as described in claim 6, characterized in that, Each point corresponds to a status indicator indicating whether it is selected; Before clustering and displaying the points to be clustered, the following steps are also included: For each point to be clustered, if the status flag of the point to be clustered is selected, then the point to be clustered will not be clustered, and the point to be clustered will be displayed.
8. The clustering display method based on simulated spatial points as described in claim 1, characterized in that, After generating the new clustering image, the following is also included: Obtain data of points in a clustered image; wherein, the data of points includes point identifiers, each point identifier corresponds to an entity identifier, and each entity identifier corresponds to a rendering attribute; For each point in the clustered image, the entity corresponding to that point is displayed according to the rendering attributes.
9. A clustering display device based on simulated spatial points, characterized in that, include: The first distance calculation module and the clustering image update module; The first distance calculation module is used to obtain the current position of the camera at the current time point, compare the current position of the camera with the previous position of the camera obtained at the previous time point, and obtain the first distance; The clustering image update module is used to determine whether each point is within the current field of view of the camera based on the stored position information of each point when the first distance is determined to be greater than the first preset distance threshold; if so, the attributes of the points within the current field of view will be updated to the points to be clustered; otherwise, the attributes of the points not within the current field of view will be updated to the hidden points. After hiding and not displaying the points with the attribute of "hidden", and clustering and displaying the points to be clustered, a new clustering image is generated; If the first distance is determined to be no greater than a preset distance threshold, the original clustering image is maintained.
10. A terminal device, characterized in that, The system includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor, when executing the computer program, implements a clustering display method based on simulated spatial points as described in any one of claims 1 to 8.