A method for accurate calculation of regular grid visual area based on skyline clipping

Through the skyline-based cropping method, the skyline is quickly updated and cropped, and the problem of low time efficiency of existing visual field calculation methods is solved, achieving high-precision and high-efficiency visual field calculation.

CN114741928BActive Publication Date: 2025-05-20CHINA UNIV OF MINING & TECH +2
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202210421228.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-21
Publication Date
2025-05-20
Estimated Expiration
2042-04-21

AI Technical Summary

Technical Problem

While ensuring the accuracy of the results, the existing visual field calculation methods are low in time and difficult to meet the needs of efficient calculations.

Method used

The precise calculation method of regular grid viewable field is adopted based on skyline cropping. By cropping and updating the predecessor skyline, the visibility of grid points is quickly calculated and the time complexity is reduced.

Benefits of technology

While ensuring the results are completely accurate, the time complexity is reduced to O(n2), and the computing efficiency is improved. It is suitable for applications with high precision and high efficiency requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114741928B_ABST
    Figure CN114741928B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for accurately calculating the visual area of ​​a regular grid based on skyline clipping, comprising the steps of: S1, dividing the surface grid of the object into square rings and sectors, and setting a vertical projection surface for each sector; S2, projecting each grid point of the innermost square ring to the vertical projection surface to calculate the skyline of the first square ring, setting the second square ring as the current square ring, and setting the skyline of the first square ring as the previous skyline of the current square ring; S3, calculating the visibility of each grid point of the current square ring in combination with the previous skyline of the current square ring, clipping and updating the previous skyline; S4, setting the next square ring as the current square ring, and considering the updated previous skyline as the previous skyline of the current square ring; S5, repeating steps S3 to S4 until all square rings are processed. The current skyline can be quickly updated to the previous skyline through the skyline clipping algorithm, so that the result of the method is completely accurate and the efficiency is greatly improved, and it can be used for applications with high requirements on accuracy and time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of geographic information spatial analysis, and particularly relates to an accurate calculation method for a regular grid visibility field based on skyline clipping. Background Art

[0002] Visibility field calculation is an analysis method that, given a regular grid surface and a viewpoint, finds the grids visible relative to the viewpoint. As one of the common spatial analysis tools in geographic information systems, visibility field calculation algorithms have extensive applications in problems such as facility location, security monitoring, landscape analysis and planning, military penetration, and signal blind area calculation.

[0003] Currently, a variety of publicly available visibility field calculation methods can be divided into two types: exact algorithms and approximate algorithms. Exact algorithms are represented by the R3 algorithm and the scan line algorithm, with corresponding time complexities of O(n 3 ) and O(n 2 log n ), where n is the number of grids in a certain dimension. The R3 algorithm is a typical non-reusable calculation method. Its principle is to, given grid data, draw a line of sight LOS from the observation point position to each grid point within the field of view, and judge its visibility by whether the LOS is blocked by other grids. Since the visibility of each grid involves not only the current grid but also the grids passed by the LOS, the calculation amount of the R3 algorithm is huge and the calculation time consumed is long. The scan line algorithm is a calculation method improved for the R3 algorithm, and its accuracy is equivalent to that of the R3 algorithm.

[0004] Approximate algorithms are represented by the reference plane algorithm, the xDraw algorithm, the R2 algorithm, etc., and their time complexities are all O(n 2 ). Compared with exact algorithms, approximate algorithms are more efficient but less accurate. However, in many practical applications, the accuracy of visibility field calculation is also an important measurement factor.

[0005] The patent document with the application number 201710863903.6 discloses a synthetic visual plane (SVP) algorithm. This method divides the ground surface represented by a regular quadrilateral grid into 4 sectors and several concentric square rings centered on the viewpoint, and then projects each grid point onto the projection planes established in each sector, and connects the projection points to obtain a skyline. In this method, by making the occlusion information of each grid point within any ring be reflected on the latest skyline, the line of sight occlusion situation between the target point and the viewpoint can be truthfully reflected, which is an exact calculation method with more reliable results, but its time complexity is O(n 2 log n) It has a lower time efficiency compared to approximate algorithms. To improve the efficiency, the patent document with the application number 201710863894.0 discloses an improved method for calculating the terrain visibility field based on this. It divides the projection plane into several strips and discretizes each skyline after projection using the strips. During the update, if the current projection elevation of a certain strip is greater than the existing projection elevation, the projection elevation of this strip is updated. During the visibility judgment, if the projection elevation of the projection point is greater than the elevation of the corresponding strip, it is visible; otherwise, it is invisible. Although the discretization process brings extremely high time efficiency, it also generates calculation errors, resulting in a large loss of accuracy.

[0006] Accuracy and efficiency are two important aspects for measuring the visibility field algorithm. Therefore, the existing methods for calculating the visibility field need to be further improved to significantly improve the time efficiency of calculating the visibility field while ensuring accurate results. Summary of the Invention

[0007] The technical problem to be solved by the present invention is to provide an accurate calculation method for the regular grid visibility field based on skyline clipping in view of the deficiencies of the prior art. By using the idea of skyline clipping, it can quickly update the current skyline to the previous skyline, which can not only ensure accuracy but also improve efficiency. It can achieve that the algorithm accuracy is equivalent to that of the R3 exact algorithm, and the time efficiency is improved to be equivalent to that of the R2 approximate algorithm.

[0008] The present invention adopts the following technical solutions to achieve the above invention purposes:

[0009] An accurate calculation method for the regular grid visibility field based on skyline clipping, comprising the following steps:

[0010] S1. Divide the regular grid on the ground surface into square rings and sectors, and set up a vertical projection plane for each sector;

[0011] S2. Project each grid point of the innermost square ring onto the vertical projection plane to calculate the skyline of the first square ring, set the second square ring as the current square ring, and set the skyline of the first square ring as the previous skyline of the current square ring;

[0012] S3. Combine the previous skyline of the current square ring to calculate the visibility of each grid point of the current square ring, clip and update the previous skyline;

[0013] S4. Set the next square ring as the current square ring, and regard the updated previous skyline as the previous skyline corresponding to the current square ring;

[0014] S5. Repeat steps S3 to S4 until all square rings have been processed;

[0015] The regular grid square ring division of the ground object surface in step S1 is centered on the viewpoint and numbered sequentially from the innermost square ring outwards, with the innermost square ring numbered 1.

[0016] In step S2, the specific method of projecting each grid point of the innermost square ring onto the vertical projection plane to calculate the skyline of the first square ring is to project each grid point of the innermost square ring onto the corresponding vertical projection plane according to its elevation, forming several projection points on the vertical projection plane, and connecting the projection points in sequence to obtain the skyline of the first square ring;

[0017] In step S3, the visibility calculation method for each grid point of the current square ring: compare the height of the projection point of each grid point of the current square ring on the vertical projection plane with the height of the previous skyline. If the former is greater than the latter, the projection point is visible; otherwise, the projection point is invisible;

[0018] In step S3, the specific method of clipping and updating the previous skyline is as follows:

[0019] (1) Project each grid point of the current square ring onto the vertical projection plane according to its elevation to form several projection points, and connect the projection points in sequence to obtain the current skyline;

[0020] (2) Consider each line segment of the current skyline as a clipping line segment, consider all line segment sets in the previous skyline that have an intersection with the jurisdiction area of the clipping line segment as the associated arcs of the clipping line segment, and combine the visibility of each projection point of the current square ring to use the clipping line segment to clip each line segment of its associated arc one by one.

[0021] Furthermore, to avoid frequent reading and addition and deletion of the vertices of the skyline during the skyline update process, an array structure is adopted to store the vertices of the previous skyline or the current skyline, and the vertex sequence of the new skyline after clipping is output as another array, that is, the new skyline array.

[0022] Furthermore, the sector division method in step S1 is to divide the entire regular grid of the ground object surface into 4 sectors along the two 45° diagonal lines of the square ring, and each sector is composed of two adjacent diagonal lines and one side of the outermost square ring.

[0023] Furthermore, in step S1, vertical projection planes are established at the maximum viewing radius of each sector.

[0024] Furthermore, the specific steps of step S3 are as follows:

[0025] S301. Initialize the starting point of the current clipping line segment as the starting point of the current skyline; initialize the starting point of the associated arc of the current clipping line segment as the starting point of the previous skyline;

[0026] S302. Calculate the visibility of the starting point of the current clipped line segment. If it is visible, output this point to the new skyline array;

[0027] S303. Calculate the visibility of the starting point of the arc associated with the current clipped line segment; if it is visible, output this point to the new skyline array;

[0028] S304. Clip the arc associated with the current clipped line segment using the current clipped line segment, and output the vertices or intersection points to the new skyline array

[0029] S305. Set the starting point serial number of the arc associated with the next clipped line segment as the serial number before the ending point serial number of the arc associated with the current clipped line segment. Let the next clipped line segment be the current clipped line segment, and let the arc associated with the next clipped line segment be the arc associated with the current clipped line segment. Repeat steps S302 to S304 until all the clipped line segments in the current skyline are processed;

[0030] S306. Calculate and output the visibility of the ending point of the current skyline; if it is visible, output this point to the new skyline array; otherwise, output the ending point of the previous skyline to the new skyline array; S307. Update the previous skyline using the vertex sequence in the new skyline array.

[0031] Further, the specific method for clipping the arc associated with the current clipped line segment in step S304 includes:

[0032] S3041. Initialize the starting point of the currently clipped line segment in the arc associated with the current clipped line segment;

[0033] S3042. Clip the currently clipped line segment using the current clipped line segment, and output the vertices or intersection points to the new skyline array;

[0034] S3043. Repeat the above step S3042 until all the clipped line segments in the arc associated with the current clipped line segment are processed;

[0035] Among them, the specific method for clipping the currently clipped line segment using the current clipped line segment in step S3042 includes:

[0036] (1) If both the starting point and the ending point of the currently clipped line segment are above the current clipped line segment, and the ending point of the currently clipped line segment falls within the jurisdiction of the current clipped line segment, output this ending point to the new skyline array;

[0037] (2) If the starting point of the currently clipped line segment is above the current clipped line segment, and the ending point of the currently clipped line segment is below the current clipped line segment, output the intersection point of the currently clipped line segment and the current clipped line segment to the new skyline array;

[0038] (3) If the starting point of the currently clipped line segment is below the current clipping line segment, and the ending point of the currently clipped line segment is above the current clipping line segment, and this ending point falls within the jurisdiction of the current clipping line segment, then output both this ending point and the intersection point of the currently clipped line segment and the current clipping line segment to the new skyline array;

[0039] (4) If the starting point of the currently clipped line segment is below the current clipping line segment, and the ending point of the currently clipped line segment is above the current clipping line segment, and this ending point is outside the jurisdiction of the current clipping line segment, then output the intersection point of the currently clipped line segment and the current clipping line segment to the new skyline array.

[0040] When the horizontal coordinates of the endpoints of a clipping line segment and an associated arc endpoint are the same and this associated arc endpoint is visible, this associated arc endpoint will be output once by the current clipping line segment and the next clipping line segment respectively. To avoid its repeated output, define a boolean array of the same length for the previous skyline and the current skyline respectively, which is used to record whether this endpoint has been output. Before the endpoint is output, first determine whether this endpoint has been output; if not, then output; if so, then do not output this vertex.

[0041] Adopting the above technical solutions, the present invention has at least the following beneficial effects:

[0042] 1. The viewshed based on horizon clip (VHC) algorithm of the present invention regards the update process of the skyline as the clipping process of the skyline. By using each clipping line segment of the current skyline to clip the associated arcs located on the previous skyline corresponding to each clipping line segment one by one, the new algorithm based on this clipping method can control the time complexity within O(n 2 m), where n is the number of grid cells along a certain dimension in the maximum field of view range, and m is the average number of line segments of the associated arcs. Among them, experiments show that m is much smaller than n and can be basically ignored, that is, the time complexity of the new algorithm can be regarded as O(n 2 ), which can be used in applications with high requirements for both accuracy and time, such as low-altitude penetration and signal blind area calculation, etc.

[0043] 2. In the specific clipping process of the clipping line segments of the present invention, according to whether there are intersection points and whether the endpoints of the clipped line segments fall within the jurisdiction of the clipping line segments, the clipping of a clipping line segment to any of its clipped line segments is divided into multiple cases. Different vertices are output through different cases during clipping, which can greatly improve the accuracy of the results of this method.

[0044] 3. The present invention avoids the process of frequently reading, adding, and deleting each vertex during the skyline update process. By adopting a random access structure to output and store the clipped skyline to another array, it can achieve fast reading and writing of each vertex and effectively improve the skyline update efficiency. Description of the Drawings

[0045] Figure 1 It is a flow chart of the accurate calculation method for the visible field of the regular grid based on skyline clipping according to the present invention;

[0046] Figure 2 It is a schematic diagram of dividing the regular grid on the ground object surface into square rings and sector divisions according to the present invention;

[0047] Figure 3 It is a schematic diagram of setting the vertical projection plane and generating the skyline of the first square ring according to the present invention;

[0048] Figure 4 It is a schematic diagram of the associated arcs of the clipping line segments corresponding to the respective clipping line segments in a current skyline according to the present invention;

[0049] Figure 5 It is a schematic diagram of the jurisdiction area of a clipping line segment according to the present invention;

[0050] Figure 6 It is a schematic diagram of point output in line segment clipping according to the present invention;

[0051] Figure 7 It is a schematic diagram of the skyline vertex data storage structure according to the present invention;

[0052] Figure 8 It is a schematic diagram of the current skyline and the previous skyline according to the present invention;

[0053] Figure 9 It is the time performance comparison of different visible field algorithms. Detailed Implementation Manner

[0054] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings in the embodiments of the present invention. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0055] As Figures 1 to 8 shown, a method for accurately calculating the visible field of a regular grid based on skyline clipping according to the present invention is as follows:

[0056] S1. As Figure 2 shown, with the viewpoint as the center, divide the regular grid on the ground object surface into several square rings, and then divide the entire regular grid on the ground object surface into 4 sectors along the two 45° diagonal lines of the square ring, and set up vertical projection planes at the maximum viewing radius of the sectors respectively.

[0057] S2. As Figure 3As shown in the figure, project the 3 grid points of the first square ring in the current sector onto the vertical projection plane according to their elevations, forming 3 projection points on the vertical projection plane. Connect the projection points in sequence to obtain the skyline of the first square ring. Set the second square ring as the current square ring and set the skyline of the first square ring as the previous skyline of the current square ring.

[0058] Establish a plane coordinate system on the vertical projection plane, with the horizontal right direction as the positive direction of the y-axis and the vertical upward direction as the positive direction of the z-axis, for describing the vertex coordinates of each skyline; then use an array structure to read, write, and store the y-coordinates and z-coordinates of the vertices of the previous skyline or the current skyline, and arrange all the vertices according to the magnitude of their y-coordinates.

[0059] S3. Calculate the visibility of each grid point of the current square ring in combination with the previous skyline, and clip and update the previous skyline. The specific steps are as follows:

[0060] S301. Initialize the starting point of the current clipped line segment as the starting point of the current skyline; initialize the starting point of the associated arc of the current clipped line segment as the starting point of the previous skyline, as Figure 4 shown in the schematic diagram of the associated arc of the clipped line segment;

[0061] S302. Calculate the visibility of the starting point of the current clipped line segment. If it is visible, output this point to the new skyline array.

[0062] S303. Calculate the visibility of the starting point of the associated arc of the current clipped line segment; if it is visible, output this point to the new skyline array;

[0063] S304. Initialize the starting point of the currently clipped line segment in the associated arc of the current clipped line segment;

[0064] S305. As Figure 6 shown in a, if both the starting point and the ending point of the currently clipped line segment are above the current clipped line segment, and the ending point of the currently clipped line segment falls within the jurisdiction of the current clipped line segment, then output this ending point to the new skyline array. Figure 5 shown in the schematic diagram of the jurisdiction of a clipped line segment;

[0065] S306. As Figure 6 shown in b and Figure 6 c, if the starting point of the currently clipped line segment is above the current clipped line segment and the ending point of the currently clipped line segment is below the current clipped line segment, then output the intersection point of the currently clipped line segment and the current clipped line segment to the new skyline array;

[0066] S307. As Figure 6As shown in d, if the starting point of the currently clipped line segment is below the current clipping line segment, and the ending point of the currently clipped line segment is above the current clipping line segment, and the ending point falls within the jurisdiction of the current clipping line segment, then output both the ending point and the intersection point of the currently clipped line segment and the current clipping line segment to the new skyline array;

[0067] S308, as Figure 6 As shown in e, if the starting point of the currently clipped line segment is below the current clipping line segment, and the ending point of the currently clipped line segment is above the current clipping line segment, and the ending point is outside the jurisdiction of the current clipping line segment, then output the intersection point of the currently clipped line segment and the current clipping line segment to the new skyline array;

[0068] S309. Repeat steps S305 to S308 until all the clipped line segments in the current clipping line segment associated arc are processed;

[0069] S310. Set the starting serial number of the next clipping line segment associated arc to the serial number before the ending serial number of the current clipping line segment associated arc. Let the next clipping line segment be the current clipping line segment, and let the next clipping line segment associated arc be the current clipping line segment associated arc. Repeat steps S302 to S309 until all the clipping line segments in the current skyline are processed;

[0070] S311. Calculate the visibility of the ending point of the current skyline; if it is visible, output this point to the new skyline array; otherwise, output the ending point of the previous skyline to the new skyline array;

[0071] S312. Update the previous skyline using the vertex sequence in the new skyline array, Figure 7 The figure shows a schematic diagram of the storage structure of the current skyline or the previous skyline for illustrative purposes, and its vertex sequence is arranged according to the y - coordinate magnitudes of each vertex.

[0072] S4. Set the next square ring as the current square ring, and regard the updated previous skyline as the previous skyline of the current square ring.

[0073] Figure 8 The figure shows a schematic diagram of the current skyline (i.e., the skyline of the 3rd square ring) and its previous skyline, where the previous skyline of the 3rd square ring is obtained by synthesizing the skyline of the 1st square ring and the skyline of the 2nd square ring.

[0074] S5. Repeat steps S3 to S4 to process the remaining square rings in turn.

[0075] The following further describes the effect of the present invention in combination with performance test and comparison experiments.

[0076] (1) Verification of algorithm accuracy

[0077] To verify the accuracy of the VHC algorithm, the same experimental data, viewpoints, and viewing heights as in the above embodiments were used. The maximum field of view radius was set to 2 km (corresponding to 2000 grids), and the number of grids with different results between the VHC algorithm and the R3 algorithm was counted, that is, the number of abnormal networks. For ease of comparison, the experiment also counted the number of abnormal grids of two approximate algorithms, R2 and SVP. Table 1 shows the statistics of the number of abnormal grids.

[0078] Table 1 Comparison of the number of abnormal grids in different methods

[0079]

[0080] It can be found from Table 1 that there are 15 abnormal grids in the VHC algorithm only when the terrain has high undulations and the viewing height is 50 m. In contrast, there are abnormal grids in the two approximate algorithms in all cases, and the number is much larger than that of the VHC algorithm. Further experiments show that the 15 abnormal grids in the VHC algorithm are all caused by floating-point calculation errors. This means that the VHC algorithm is an accurate algorithm.

[0081] (2) Time performance test

[0082] Experimental conditions and content: The R3, scan line algorithm (SL, provided by the open-source software GRASS), VHC, R2, SVP, and reference plane (RP) algorithms were implemented using C++. Visibility calculation experiments were carried out in a hardware environment with an Intel i5-7500 CPU (single-core main frequency 3.40 GHz, 64-bit), 8 GB DDR memory, and a Toshiba 1TB 7200-rpm mechanical hard drive. For ease of vertical comparison, the initial maximum field of view range was set to 500 m, and then it was increased by 500 m at intervals until 5 km.

[0083] Test results: As can be seen from Figure 9 it, as the maximum field of view range increases, the time consumption of the R3 algorithm and the scan line algorithm increases steeply. The increase rate of the R3 algorithm is significantly greater than that of the scan line algorithm. The time consumption of the VCH and R2 algorithms is basically the same, and their speeds are significantly higher than those of the R3 and scan line algorithms. The time consumption of the SVP and reference plane algorithms is basically the same, and their time efficiency is higher than that of the VCH and R2 algorithms. It should be noted that the VCH algorithm is an accurate algorithm while the SVP and RP algorithms are approximate algorithms.

[0084] The above is only a specific application example of the present invention and is not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the scope of the present invention.

Claims

1. A method for accurately calculating the visual area of ​​a regular grid based on skyline clipping, characterized in that: The following steps are involved: S1. Divide the regular grid on the surface of the object into square rings and sectors, and set up a vertical projection surface for each sector; S2, projecting each grid point of the innermost square ring onto the vertical projection plane to calculate the skyline of the first square ring, setting the second square ring as the current square ring and setting the skyline of the first square ring as the previous skyline corresponding to the current square ring; S3, calculate the visibility of each grid point of the current square ring in combination with the previous skyline of the current square ring, and clip and update the previous skyline; S4, setting the next square ring as the current square ring, and considering the updated previous skyline as the previous skyline corresponding to the current square ring; S5, repeat steps S3 to S4 until all square rings are processed; The regular grid square ring division of the surface of the object in step S1 is performed with the viewpoint as the center, and the square rings are numbered from the innermost square ring outwards, with the innermost square ring being numbered 1; The specific method of projecting each grid point of the innermost square ring onto the vertical projection plane to calculate the skyline of the first square ring in step S2 is to project each grid point of the innermost square ring onto the corresponding vertical projection plane according to its elevation, form a plurality of projection points on the vertical projection plane, and sequentially connect each projection point to obtain the skyline of the first square ring; The method for calculating the visibility of each grid point of the current square ring in step S3 is as follows: comparing the projection point height of each grid point of the current square ring on the vertical projection plane with the height of the previous skyline. If the former is greater than the latter, the projection point is visible; otherwise, the projection point is not visible. The specific method of clipping and updating the preceding skyline in step S3 is: (1) Project each grid point of the current square ring onto the vertical projection plane according to its elevation to form a number of projection points, and connect each projection point in sequence to obtain the current skyline; (2) Each line segment of the current skyline is regarded as a clipping line segment, and the set of all line segments in the previous skyline that intersect with the jurisdiction of the clipping line segment is regarded as the clipping line segment associated arc. Combined with the visibility of each projection point of the current square ring, each line segment of its associated arc is clipped one by one using the clipping line segment.

2. The method for accurately calculating the visual area of ​​a regular grid based on skyline clipping according to claim 1, characterized in that: An array structure is used to store the vertices of the previous skyline or the current skyline, and the clipped new skyline vertex sequence is output as another array, namely, a new skyline array.

3. The method for accurately calculating the visual area of ​​a regular grid based on skyline clipping according to claim 2, characterized in that: The specific steps of step S3 are: S301, initializing the starting point of the current clipping line segment as the starting point of the current skyline; initializing the starting point of the arc associated with the current clipping line segment as the starting point of the previous skyline; S302, calculating the visibility of the starting point of the current clipping line segment, and if it is visible, outputting the point to the new skyline array; S303, calculating the visibility of the starting point of the arc associated with the current clipping line segment; If visible, output the point to the new skyline array; S304: Using the current clipping line segment to clip the arc associated with the current clipping line segment, and outputting vertices or intersections to a new skyline array S305, setting the start number of the next clipping line segment associated arc to the previous number of the end number of the current clipping line segment associated arc, setting the next clipping line segment to the current clipping line segment, setting the next clipping line segment associated arc to the current clipping line segment associated arc, and repeating steps S302 to S304 until all clipping line segments in the current skyline are processed; S306, calculating and outputting the visibility of the current skyline endpoint; If it is visible, output the point to the new skyline array; otherwise, output the end point of the previous skyline to the new skyline array; S307 . Update the previous skyline using the vertex sequence in the new skyline array.

4. The method for accurately calculating the visual area of ​​a regular grid based on skyline clipping according to claim 3, characterized in that: The specific method of cutting the arc associated with the current cutting line segment in step S304 includes: S3041, initializing the starting point of the current clipped line segment in the arc associated with the current clipped line segment; S3042, using the current clipping line segment to clip the current clipped line segment, and outputting vertices or intersections to a new skyline array; S3043, repeating the above step S3042 until all the clipped line segments in the arc associated with the current clipping line segment are processed; The specific method of using the current cutting line segment to cut the current cut line segment in step S3042 includes: (1) If the starting point and end point of the current clipped segment are both above the current clipping segment, and the end point of the current clipped segment falls within the jurisdiction of the current clipping segment, then output the end point to the new skyline array; (2) If the starting point of the current clipped segment is above the current clipping segment and the ending point of the current clipped segment is below the current clipping segment, then the intersection of the current clipped segment and the current clipping segment is output to the new skyline array; (3) If the starting point of the current clipped segment is below the current clipping segment, and the end point of the current clipped segment is above the current clipping segment, and the end point falls within the jurisdiction of the current clipping segment, then the end point and the intersection of the current clipped segment and the current clipping segment are output to the new skyline array at the same time; (4) If the starting point of the current clipped segment is below the current clipping segment, and the end point of the current clipped segment is above the current clipping segment, and the end point is outside the jurisdiction of the current clipping segment, then output the intersection of the current clipped segment and the current clipping segment to the new skyline array.

5. The method for accurately calculating the regular grid visual area based on skyline clipping according to claim 3, characterized in that: A Boolean array of the same length is defined for the previous skyline and the current skyline respectively, which is used to record whether the endpoint of the clipping segment is output when the horizontal coordinates of the endpoint of an associated arc are the same and the associated arc endpoint is visible. Before the endpoint is output, it is first determined whether the endpoint has been output; if not, it is output; if so, the vertex is not output.

6. A method for accurately calculating the regular grid visual area based on skyline clipping according to any one of claims 1 to 5, characterized in that: The sector division method in step S1 is to divide the entire surface of the object into four sectors along two 45° diagonal lines of the square ring as boundaries, and each sector is composed of two adjacent diagonal lines and an edge of the outermost square ring.

7. A method for accurately calculating the regular grid visual area based on skyline clipping according to any one of claims 1 to 5, characterized in that: In the step S1, a vertical projection surface is set up at the maximum field of view radius of each sector.

Citation Information

Patent Citations

  • A projection-based method for calculating the visible field of view of regular grid terrain.

    CN107862743B

  • A method for calculating the field of view that balances accuracy and efficiency

    CN107886570B

  • Advanced driver-assistance system (ADAS) operation utilizing algorithmic skyline detection

    US20210056317A1

  • Electronic chart display method and system

    WO2016169521A1