A Parallel Analysis Method for Lunar Illumination Conditions

Through the allocation of parallel computing resources and the allocation of lunar surface light calculation correlation parameters, the problem of low calculation efficiency of lunar surface light conditions in the existing technology is solved, efficient lunar surface light analysis is achieved, and the efficiency of lunar exploration mission planning is improved.

CN119903271BActive Publication Date: 2025-06-24MOON EXPLORATION & SPACE ENG CENT
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510377088.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2025-06-24
Estimated Expiration
2045-03-28

AI Technical Summary

Technical Problem

When analyzing the lunar surface lighting conditions, the prior art uses serial algorithms to lead to low computational efficiency and cannot meet the needs of real-time mission planning on the lunar surface.

Method used

By configuring the lunar surface illumination in the set area of ​​the moon surface to calculate the associated parameters and allocating parallel computing resources, the parallel calculation method is used to calculate the lighting conditions of each point in the set area of ​​the moon surface.

Benefits of technology

The calculation efficiency of lunar surface lighting conditions is improved, and the lunar surface can be efficiently analyzed in large-scale and long-term lunar illumination conditions, thereby improving the efficiency of future lunar exploration mission planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119903271B_ABST
    Figure CN119903271B_ABST
Patent Text Reader

Abstract

An embodiment of the present invention discloses a method for parallel analysis of lunar surface illumination conditions, including: configuring lunar surface illumination calculation correlation parameters for a set area on the lunar surface; the lunar surface illumination calculation correlation parameters include lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters; allocating parallel computing resources to the lunar surface illumination calculation correlation parameters for the set area on the lunar surface; the parallel computing resources include parallel thread resources and memory resources; converting the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface according to the parallel computing resources and the lunar surface illumination calculation correlation parameters to obtain converted longitude and latitude coordinates; calculating the illumination calculation results of each point in the set area on the lunar surface in parallel according to the parallel computing resources, the lunar surface illumination calculation correlation parameters, and the converted longitude and latitude coordinates. The technical solution of the embodiment of the present invention can improve the calculation efficiency of the lunar surface illumination conditions, and further improve the efficiency of future lunar exploration mission planning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of aerospace technology, and in particular, to a method, device, electronic device, storage medium and program for parallel analysis of lunar surface illumination conditions. Background Art

[0002] In lunar exploration missions, especially for lunar surface (hereinafter referred to as the moon surface) soft landing missions and the construction of future lunar research stations, the analysis of lunar surface illumination conditions is of great significance for site selection and overall mission planning.

[0003] Currently, when analyzing lunar surface illumination conditions, a serial algorithm is usually adopted, that is, the illumination conditions of each point on the moon surface are calculated sequentially.

[0004] In the process of implementing the present invention, the inventor found that due to factors such as the complex terrain of the lunar surface being rough and uneven and the change of the relative azimuth of the sun to the moon, the illumination conditions of each point on the moon surface change with time. The traditional method for analyzing lunar surface illumination conditions uses a serial calculation method, and the calculation efficiency is low when considering large-scale and long-term illumination changes on the moon surface, and it cannot meet the needs of real-time mission planning on the moon surface. Summary of the Invention

[0005] The embodiments of the present invention provide a method, device, electronic device, storage medium and program for parallel analysis of lunar surface illumination conditions, which can efficiently analyze the illumination conditions of large areas and long periods on the moon surface, improve the calculation efficiency of lunar surface illumination conditions, and further improve the efficiency of future lunar exploration mission planning.

[0006] According to one aspect of the present invention, there is provided a method for parallel analysis of lunar surface illumination conditions, including:

[0007] Configuring lunar surface illumination calculation correlation parameters for a set area on the lunar surface; wherein, the lunar surface illumination calculation correlation parameters include lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters;

[0008] Allocating parallel computing resources to the lunar surface illumination calculation correlation parameters for the set area on the lunar surface; wherein, the parallel computing resources include parallel thread resources and memory resources;

[0009] Converting the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface according to the parallel computing resources and the lunar surface illumination calculation correlation parameters to obtain converted longitude and latitude coordinates;

[0010] Parallelly calculating the illumination calculation results of each point in the set area on the lunar surface according to the parallel computing resources, the lunar surface illumination calculation correlation parameters and the converted longitude and latitude coordinates.

[0011] According to another aspect of the present invention, there is provided a lunar surface illumination condition parallel analysis device, including:

[0012] A lunar surface illumination calculation correlation parameter configuration module for configuring lunar surface illumination calculation correlation parameters for a set area on the lunar surface; wherein, the lunar surface illumination calculation correlation parameters include lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters;

[0013] A parallel computing resource allocation module for allocating parallel computing resources to the lunar surface illumination calculation correlation parameters of the set area on the lunar surface; wherein, the parallel computing resources include parallel thread resources and memory resources;

[0014] A pixel longitude and latitude coordinate conversion module for converting the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface according to the parallel computing resources and the lunar surface illumination calculation correlation parameters to obtain converted longitude and latitude coordinates;

[0015] An illumination calculation result calculation module for calculating the illumination calculation results of each point in the set area on the lunar surface according to the parallel computing resources, the lunar surface illumination calculation correlation parameters, and the converted longitude and latitude coordinates.

[0016] According to another aspect of the present invention, there is provided an electronic device, the electronic device includes:

[0017] At least one processor; and

[0018] A memory communicatively connected to the at least one processor; wherein,

[0019] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the lunar surface illumination condition parallel analysis method according to any embodiment of the present invention.

[0020] According to another aspect of the present invention, there is provided a computer-readable storage medium storing computer instructions for causing a processor to implement the lunar surface illumination condition parallel analysis method according to any embodiment of the present invention when executed.

[0021] According to another aspect of the present invention, there is also provided a computer program product including a computer program, and the computer program implements the lunar surface illumination condition parallel analysis method according to any embodiment of the present invention when executed by a processor.

[0022] In the embodiments of the present invention, by configuring the lunar surface illumination calculation related parameters such as the lunar surface illumination calculation condition parameters and the digital elevation parameters of the lunar surface topography in a set area of the lunar surface, parallel thread resources and memory resources and other parallel computing resources are allocated to the lunar surface illumination calculation related parameters in the set area of the lunar surface, so as to convert the pixel coordinates and longitude and latitude coordinates in the set area of the lunar surface according to the parallel computing resources and the lunar surface illumination calculation related parameters to obtain the converted longitude and latitude coordinates. Finally, according to the parallel computing resources, the lunar surface illumination calculation related parameters and the converted longitude and latitude coordinates, the illumination calculation results of each point in the set area of the lunar surface are calculated in parallel, which can solve the problem of low calculation efficiency existing in the existing serial calculation of the lunar surface illumination conditions, can efficiently analyze the illumination conditions of a large range and long period on the lunar surface, improve the calculation efficiency of the lunar surface illumination conditions, and further improve the efficiency of future lunar exploration mission planning.

[0023] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present invention, nor is it used to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained according to these drawings.

[0025] Figure 1 is a flowchart of a method for parallel analysis of lunar surface illumination conditions provided by an embodiment of the present invention;

[0026] Figure 2 is a flowchart of another method for parallel analysis of lunar surface illumination conditions provided by an embodiment of the present invention;

[0027] Figure 3 is a schematic diagram of a device for parallel analysis of lunar surface illumination conditions provided by an embodiment of the present invention;

[0028] Figure 4 is a schematic structural diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0029] To enable those skilled in the art to better understand the solution of the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0030] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present invention described here can be implemented in an order other than those illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily need to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0031] Figure 1 is a flowchart of a parallel analysis method for lunar surface illumination conditions provided by an embodiment of the present invention. This embodiment is applicable to the case of parallel calculation of illumination conditions for each point in a set area on the lunar surface. This method can be executed by a parallel analysis device for lunar surface illumination conditions, which can be implemented in a software and / or hardware manner and is generally integrated in an electronic device. The electronic device can be a terminal device or a server device, as long as it can execute the parallel analysis method for lunar surface illumination conditions. The specific device type of the electronic device is not limited in the embodiments of the present invention. Correspondingly, as Figure 1 shown, the method includes the following operations:

[0032] S110. Configure the associated parameters for lunar surface illumination calculation in a set area on the lunar surface; wherein, the associated parameters for lunar surface illumination calculation include lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters.

[0033] Among them, the set area on the lunar surface can be a set area on the lunar surface for which the illumination conditions need to be calculated. The specific range size of the set area on the lunar surface is not limited in the embodiments of the present invention. The associated parameters for lunar surface illumination calculation can be relevant parameters that need to be referred to when calculating the lunar surface illumination conditions. The lunar surface illumination calculation condition parameters can be relevant parameters of the illumination calculation conditions. The lunar surface terrain digital elevation parameters can be preprocessing parameters of lunar surface terrain digital elevation (Digital Elevation Model, DEM) data.

[0034] Before calculating the illumination conditions on the lunar surface, the area on the lunar surface where the illumination conditions need to be calculated can be determined first as the set area on the lunar surface. Optionally, the set area on the lunar surface can be a relatively large area on the lunar surface. After determining the set area on the lunar surface, the lunar surface illumination calculation condition parameters and the lunar surface terrain digital elevation parameters of the set area on the lunar surface can be configured as the lunar surface illumination calculation correlation parameters of the set area on the lunar surface.

[0035] S120. Allocate parallel computing resources to the lunar surface illumination calculation correlation parameters of the set area on the lunar surface; wherein, the parallel computing resources include parallel thread resources and memory resources.

[0036] Among them, the parallel computing resources can be computing resources capable of parallel computing the lunar surface illumination conditions. The parallel thread resources can be thread resources capable of parallel computing the lunar surface illumination conditions.

[0037] In order to realize the parallel computing of the lunar surface illumination conditions, after configuring the lunar surface illumination calculation correlation parameters of the set area on the lunar surface, parallel thread resources and memory resources and other parallel computing resources can be allocated to the lunar surface illumination calculation correlation parameters of the set area on the lunar surface. The so-called parallel computing resources mean that in the calculation process, the lunar surface illumination conditions of each point in the set area on the lunar surface can be synchronously calculated in a parallel manner.

[0038] S130. Convert the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface according to the parallel computing resources and the lunar surface illumination calculation correlation parameters to obtain the converted longitude and latitude coordinates.

[0039] Among them, the converted longitude and latitude coordinates can be the longitude coordinates and latitude coordinates calculated and converted by using the pixel coordinates of a certain point in the set area on the lunar surface.

[0040] Correspondingly, after allocating the corresponding parallel computing resources to the lunar surface illumination calculation correlation parameters of the set area on the lunar surface, the mapping relationship between the pixel coordinates and the parallel computing resources can be established. Thus, based on the mapping relationship between the pixel coordinates and the parallel computing resources, combined with the parallel computing resources and the lunar surface illumination calculation correlation parameters, the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface are converted to obtain the converted longitude and latitude coordinates of each point in the set area on the lunar surface.

[0041] S140. Parallelly calculate the illumination calculation results of each point in the set area on the lunar surface according to the parallel computing resources, the lunar surface illumination calculation correlation parameters and the converted longitude and latitude coordinates.

[0042] Correspondingly, after calculating the converted longitude and latitude coordinates of each point in the set area on the lunar surface, the illumination calculation results of each point in the set area on the lunar surface can be further calculated synchronously in a parallel computing manner based on the parallel computing resources, the lunar surface illumination calculation correlation parameters, and the converted longitude and latitude coordinates.

[0043] It can be seen that the above technical solution allocates parallel computing resources to the lunar surface illumination calculation correlation parameters according to the specific configuration of the lunar surface illumination calculation correlation parameters in the set area on the lunar surface, so that after calculating the converted longitude and latitude coordinates of each point in the set area on the lunar surface, the parallel computing resources are used to calculate the illumination calculation results of each point in the set area on the lunar surface in parallel, which can greatly improve the calculation efficiency of the illumination calculation results of each point in the set area on the lunar surface, thereby efficiently analyzing the illumination conditions in a large range and long period on the lunar surface, and helping to improve the efficiency of future lunar exploration mission planning.

[0044] In the embodiment of the present invention, by configuring the lunar surface illumination calculation correlation parameters such as the lunar surface illumination calculation condition parameters and the lunar surface terrain digital elevation parameters in the set area on the lunar surface, parallel thread resources and memory resources and other parallel computing resources are allocated to the lunar surface illumination calculation correlation parameters in the set area on the lunar surface, so as to convert the pixel coordinates and longitude and latitude coordinates in the set area on the lunar surface according to the parallel computing resources and the lunar surface illumination calculation correlation parameters to obtain the converted longitude and latitude coordinates, and finally calculate the illumination calculation results of each point in the set area on the lunar surface in parallel according to the parallel computing resources, the lunar surface illumination calculation correlation parameters, and the converted longitude and latitude coordinates, which can solve the problem of low calculation efficiency existing when calculating the lunar surface illumination conditions in a serial manner, can efficiently analyze the illumination conditions in a large range and long period on the lunar surface, improve the calculation efficiency of the lunar surface illumination conditions, and further improve the efficiency of future lunar exploration mission planning.

[0045] Figure 2 FIG. 10 is a flowchart of another method for parallel analysis of lunar surface illumination conditions provided by an embodiment of the present invention. This embodiment is a specific implementation based on the above embodiment. In this embodiment, various specific and optional implementation manners for configuring the lunar surface illumination calculation correlation parameters in the set area on the lunar surface, allocating parallel computing resources, converting the pixel coordinates and longitude and latitude coordinates in the set area on the lunar surface, and calculating the illumination calculation results of each point in the set area on the lunar surface in parallel are given. Correspondingly, as Figure 2 shown, the method of this embodiment may include:

[0046] S210. Configure the lunar surface illumination calculation correlation parameters in the set area on the lunar surface; wherein, the lunar surface illumination calculation correlation parameters include lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters.

[0047] In an alternative embodiment of the present invention, configuring the lunar surface illumination calculation correlation parameters for a set area on the lunar surface may include: configuring the lunar longitude range, lunar latitude range, terrain search range, time span, longitude resolution, latitude resolution, and time resolution of the set area on the lunar surface as the lunar surface illumination calculation condition parameters; for the equidistant cylindrical projection method, configuring the first lunar surface terrain digital elevation parameters for the set area on the lunar surface; wherein, the first lunar surface terrain digital elevation parameters include a first resolution, a scale factor, the offset of the projection system origin relative to the target point, the origin longitude, the origin latitude, the first number of rows, and the number of columns; and / or, for the polar azimuth stereographic projection method, configuring the second lunar surface terrain digital elevation parameters for the set area on the lunar surface; wherein, the second lunar surface terrain digital elevation parameters include a second resolution, a scale factor, the second number of rows, and a pole identifier.

[0048] Among them, the lunar longitude range may be the longitude range of the set area on the lunar surface. The lunar latitude range may be the latitude range of the set area on the lunar surface. The terrain search range may be the distance searched outward from a certain point on the lunar surface. The first lunar surface terrain digital elevation parameters may be the lunar surface terrain digital elevation parameters configured for the equidistant cylindrical projection method. The first resolution may be the map resolution. The first number of rows may be the row number parameter involved in the first lunar surface terrain digital elevation parameters. The second lunar surface terrain digital elevation parameters may be the lunar surface terrain digital elevation parameters configured for the polar azimuth stereographic projection method. The second resolution may be the map scale. The second number of rows may be the row number parameter involved in the second lunar surface terrain digital elevation parameters.

[0049] Specifically, the illumination calculation conditions can be set first, and the lunar longitude range, lunar latitude range, terrain search range, time span, longitude resolution, latitude resolution, and time resolution of the set area on the lunar surface are configured as the lunar surface illumination calculation condition parameters.

[0050] In a specific example, the lunar longitude range can be set to , the lunar latitude range can be set to , the terrain search range is set to R, the time span is set to D, the longitude resolution is N_lon, the latitude resolution is set to N_lat, and the time resolution is set to N_t.

[0051] Meanwhile, different types of lunar terrain digital elevation parameters can be set according to different projection methods. Optionally, for the equidistant cylindrical projection method, parameters such as the first resolution, scale factor, offset of the projection system origin relative to the target point, origin longitude, origin latitude, first number of rows, and number of columns can be configured as the first lunar terrain digital elevation parameters corresponding to the equidistant cylindrical projection method. For the polar azimuth stereographic projection method, the second resolution, scale factor, second number of rows, and pole identifier can be configured as the second lunar terrain digital elevation parameters corresponding to the polar azimuth stereographic projection method.

[0052] In a specific example, continuing with the above example, after the lunar surface illumination calculation condition parameters are configured, the lunar terrain digital elevation parameters can be set according to different projection methods. Optionally, for the equidistant cylindrical projection method, the first resolution MAP_RESOLUTION, scale factor SCALING_FACTOR, origin longitude CENTER_LONGITUDE, origin latitude CENTER_LATITUDE, first number of rows LINES, and number of columns LINE_SAMPLES can be configured. The offset of the projection system origin relative to the target point can be the offset of the projection system origin relative to the first grid point in the upper left corner, and can include two offset amounts, namely the horizontal offset SAMPLE_PROJECTION_OFFSET and the vertical offset LINE_PROJECTION_OFFSET.

[0053] Optionally, for the polar azimuth stereographic projection method, the second resolution MAP_SCALE, scale factor SCALING_FACTOR, second number of rows N, and pole identifier NS can be configured, where the south pole NS = -1 and the north pole NS = 1.

[0054] S220. Determine the resource allocation reference parameters according to the target projection method adopted for the set area of the lunar surface.

[0055] Among them, the target projection method can be the projection method adopted during lunar surface illumination analysis. The resource allocation reference parameters can be relevant parameters used for reference in allocating parallel computing resources. It can be understood that different target projection methods correspond to different types of resource allocation reference parameters.

[0056] When allocating parallel computing resources, the target projection method adopted for lunar surface illumination analysis of the set area of the lunar surface can be determined first, and then the resource allocation reference parameters for allocating parallel computing resources can be determined according to the target projection method.

[0057] S230. Use a two-dimensional thread block to allocate the memory resources for the lunar terrain digital elevation parameters in the processor video memory according to the resource allocation reference parameters.

[0058] Among them, a two-dimensional thread block means that there are multiple threads in both the x and y directions in the thread block, forming a two-dimensional array. Each two-dimensional thread block contains multiple threads, and these threads will be assigned to different stream processors on a processor such as a GPU (Graphics Processing Unit) during execution. Each thread executes the same instruction but operates on different data, thereby achieving parallel computing. The processor video memory is also the video memory of the processor. Exemplarily, the type of the processor may include but is not limited to a CPU (Central Processing Unit) and a GPU, etc.

[0059] After determining the resource allocation reference parameters according to the target projection method adopted for the set area on the lunar surface, a two-dimensional thread block can be used to allocate memory resources for the lunar surface terrain digital elevation parameters in the processor video memory according to the resource allocation reference parameters through a function for dynamically allocating memory, etc.

[0060] Exemplarily, if the target projection method is an equidistant cylindrical projection method, the resource allocation reference parameters may be the number of rows LINES and the number of columns LINE_SAMPLES in the first lunar surface terrain digital elevation parameters. Correspondingly, a two-dimensional thread block can be used to allocate memory resources for the first lunar surface terrain digital elevation parameters in the GPU video memory through a function for dynamically allocating memory. For example, the memory size that can be allocated for the equidistant cylindrical projection method is: , where is a memory capacity measurement function used to calculate the size of a variable.

[0061] Exemplarily, if the target projection method is a polar azimuthal stereographic projection method, the resource allocation reference parameters may be the number of rows N in the second lunar surface terrain digital elevation parameters. Correspondingly, a two-dimensional thread block can be used to allocate memory resources for the second lunar surface terrain digital elevation parameters in the GPU video memory through a function for dynamically allocating memory. For example, the memory size that can be allocated for the polar azimuthal stereographic projection method is: .

[0062] S240. Allocate the parallel thread resources to the set area on the lunar surface according to the correspondence between the pixel coordinates of the set area on the lunar surface and the thread indices of the two-dimensional thread block.

[0063] In a specific example, assume that the pixel coordinates of a set area on the lunar surface are (SAMPLE, LINE), and the thread indices of a two-dimensional thread block are (I, J). Then the correspondence between the pixel coordinates of the set area on the lunar surface and the thread indices is I = SAMPLE, J = LINE. Among them, I = threadIdx.x + blockIdx.x * blockDim.x, J = threadIdx.y + blockIdx.y * blockDim.y. threadIdx.x and threadIdx.y are the thread index values of the specified thread in the two-dimensional thread block, blockIdx.x and blockIdx.y are the indices of the two-dimensional thread block, and blockDim.x and blockDim.y are the dimensions of the threads in the two-dimensional thread block. Since the number of pixels in the set area on the lunar surface is determined, its pixel coordinates are also determined values. Correspondingly, based on the known pixel coordinates (SAMPLE, LINE), the thread indices of the two-dimensional thread blocks corresponding to the pixel coordinates of each point can be calculated in sequence. Thus, the total amount of parallel thread resources to be allocated to the set area on the lunar surface is the thread indices of all two-dimensional thread blocks corresponding to the pixel coordinates of all points in the entire set area on the lunar surface. That is to say, each point in the set area on the lunar surface corresponds to a thread resource.

[0064] S250. Determine the target projection method adopted for the set area on the lunar surface.

[0065] S260. According to the correspondence between the pixel coordinates of the set area on the lunar surface and the thread indices of the two-dimensional thread block, and the lunar surface terrain digital elevation parameters corresponding to the target projection method, convert the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface to obtain the converted longitude and latitude coordinates.

[0066] It can be understood that if the target projection method adopted for the set area on the lunar surface is different, the method for converting its pixel coordinates and longitude and latitude coordinates is also different.

[0067] In a specific example, continuing with the above example, for the equidistant cylindrical projection method, according to the correspondence between the pixel coordinates of the set area on the lunar surface and the thread indices of the two-dimensional thread block, and the first lunar surface terrain digital elevation parameters corresponding to the equidistant cylindrical projection method, convert the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface, and the converted longitude and the converted latitude are respectively:

[0068]

[0069] I = threadIdx.x + blockIdx.x * blockDim.x

[0070] J = threadIdx.y + blockIdx.y * blockDim.y

[0071] For the azimuthal stereographic projection method, according to the correspondence between the pixel coordinates of the set area on the lunar surface and the thread indices of the two-dimensional thread block, and the second lunar topographic digital elevation parameter corresponding to the azimuthal stereographic projection method, the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface are converted to obtain the converted longitude and the converted latitude which are respectively

[0072]

[0073] I = threadIdx.x + blockIdx.x * blockDim.x

[0074] J = threadIdx.y + blockIdx.y * blockDim.y

[0075] wherein, R represents the terrain search range. If the pole identifier is the North Pole, then NS = 1; if the pole identifier is the South Pole, then NS = -1.

[0076] S270. Calculate the maximum horizontal height angle between each point in the set area on the lunar surface according to the lunar surface illumination calculation correlation parameter and the converted longitude and latitude coordinates.

[0077] Furthermore, according to the illumination calculation conditions set in the lunar surface illumination calculation correlation parameter, calculate the horizontal height angles between all points on the lunar surface within the lunar longitude range and the lunar latitude range in a processor such as a GPU , and statistically calculate the maximum horizontal height angle in different directions of each point according to the azimuth angle. Form a horizontal height angle database according to the maximum horizontal height angle between each point in the set area on the lunar surface.

[0078] In an alternative embodiment of the present invention, calculating the maximum horizon altitude angle between points in a set area on the lunar surface based on the associated parameters calculated from the lunar surface illumination and the converted longitude and latitude coordinates may include: calculating the time resolution in the associated parameters calculated from the lunar surface illumination, and centering on each point where each thread in the parallel thread resources is located, searching for the distance of the terrain search range outward according to the azimuth calculation interval and the distance interval, and performing equidistant interpolation calculation on each point to calculate the corresponding geodetic coordinates; wherein the geodetic coordinates include the converted longitude and latitude coordinates and the elevation; converting the geodetic coordinates of each point in the set area on the lunar surface into the three-dimensional position vectors in the lunar fixed coordinate system; calculating in parallel according to the thread index of each thread in the parallel thread resources the horizon altitude angle of other points in each azimuth direction relative to the point where each thread is located within the terrain search range centered on the point where each thread is located; and performing reduction calculation in parallel according to the azimuth of each point in the set area on the lunar surface, and selecting the maximum horizon altitude angle of the azimuth of each point in the set area on the lunar surface.

[0079] Among them, the azimuth calculation interval may be the interval for calculating the azimuth. Exemplarily, assuming that the azimuth calculation interval is 5°, it may mean that the azimuth is calculated every 5°.

[0080] Specifically, first, according to the requirement of the time resolution in the associated parameters calculated from the lunar surface illumination, centering on each point where each thread in a processor such as a GPU is located, searching for the distance R of the terrain search range outward in the direction of the azimuth from 0 - 360° based on the calculation interval and the distance interval, and performing equidistant interpolation calculation on each point in the set area on the lunar surface to calculate the corresponding longitude, latitude and elevation. Among them, the azimuth calculation interval may be , where is the lunar rotation speed, and N_t is the time resolution. The distance interval may be determined according to the DEM resolution or a specified distance resolution. Optionally, the DEM resolution may be the first resolution MAP_RESOLUTION or the second resolution MAP_SCALE. Exemplarily, the specific process of performing equidistant interpolation calculation on each point in the set area on the lunar surface to calculate the corresponding longitude, latitude and elevation may be:

[0081] S1. Use the function of dynamically allocating memory to allocate memory for the horizon altitude angle of each azimuth in the GPU.

[0082] S2. In the GPU, use the threads corresponding to each point to calculate in parallel the longitude, latitude and elevation corresponding to each azimuth within the distance R of the terrain search range. Assume that the central grid point of the projection coordinate system corresponding to the target projection method is denoted as O, and its geodetic coordinates are denoted as , where , To directly read the elevation value of the DEM, SCALING_FACTOR is the scale factor. The grid point at a distance H in the azimuth angle α direction from the central grid point is denoted as M, and its geodetic coordinates are . Optionally, the above geodetic coordinates can be the converted longitude coordinates and converted latitude coordinates. Then, search for n nearby known points around point M in the up, down, left, and right directions. The elevation of point M is: .

[0083] Among them, is the distance from point M to the n nearby known points, is the elevation value of the n nearby known points, and m is the goodness of fit. Optionally, the lunar topographic digital elevation data, i.e., DEM data, can be read according to the pixel coordinates and thread index in the GPU to obtain the corresponding elevation values of each point on the lunar surface .

[0084] Furthermore, according to the requirements of the longitude resolution and latitude resolution, the geodetic coordinates of each point within the specified longitude and latitude range corresponding to the set area on the lunar surface are converted into three-dimensional position vectors in the lunar fixed coordinate system. Assume that the geodetic coordinates of each point in the set area on the lunar surface are , which are the converted longitude, converted latitude, and elevation respectively. Then, the position vectors of each point in the set area on the lunar surface in the lunar fixed coordinate system can be:

[0085]

[0086] Among them, , is the equatorial radius of the lunar reference ellipsoid, is the flattening of the reference ellipsoid.

[0087] Furthermore, each thread calculates in parallel according to the thread index the horizon altitude angles of other points in each azimuth direction within the terrain search range R centered on the point where the thread is located relative to this point. Denote the position vector of point i in the lunar fixed coordinate system as , and the position vector of point j as . First, convert the position vector of point j relative to point i from the lunar fixed coordinate system to the horizon coordinate system with a certain point on the lunar surface as the origin. The conversion method is: . Among them, and represent the rotation matrices around the y-axis and z-axis respectively, and are the converted longitude and converted latitude of point i respectively. Denote , then the horizon altitude angle of point j relative to point i is: .

[0088] After obtaining the horizon altitude angles between points, reduction calculations can be further performed in the GPU according to the azimuth angle, that is, the maximum horizon altitude angle in each azimuth angle direction is selected to form a database of the maximum lunar surface horizon altitude angle. Specifically, all points with the same azimuth angle can be divided into blocks, and the horizon altitude angles of the points where each thread is located are compared pairwise, and the larger value of the two is stored in a temporary variable, and all threads in the thread block are synchronized through a thread synchronization command used to ensure data consistency and cooperative calculations within the thread block. Then, the step size is halved, and the above reduction process is repeated for the temporary variable to obtain the maximum altitude angle corresponding to the azimuth angle as the maximum horizon altitude angle in this direction. Similarly, the above calculations are performed in parallel for different azimuth angles in the GPU to obtain the maximum horizon altitude angles in each azimuth angle direction, forming a database of horizon altitude angles.

[0089] S280. According to the time resolution in the lunar surface illumination calculation related parameters, the parallel thread resources are divided into blocks according to different moments.

[0090] The time resolution refers to the minimum time interval between two illumination calculations performed in the same area. According to the time resolution and time span D in the lunar surface illumination calculation related parameters, the parallel thread resources are divided into blocks according to different moments, that is, the parallel thread resources are divided into blocks according to the time resolution within the time span D, and each moment corresponds to a group of thread resources.

[0091] S290. The threads at each moment obtain the solar altitude angle and solar azimuth angle in parallel, and according to the maximum horizon altitude angle between points in the set area of the lunar surface, interpolate and calculate the maximum horizon altitude angle corresponding to the solar azimuth angle in parallel.

[0092] Optionally, the threads at each moment t can call the ephemeris to obtain the solar position at moment t, and convert it to the solar altitude angle according to the solar position at moment t and solar azimuth angle . Further, combining the maximum horizon altitude angle between points in the set area of the lunar surface calculated by the above scheme, the threads at each moment interpolate and calculate the maximum horizon altitude angle corresponding to the solar azimuth angle .

[0093] S2110. The threads at each moment compare the solar altitude angle and the maximum horizon altitude angle corresponding to the solar altitude angle in parallel to obtain the illumination calculation results of points in the set area of the lunar surface.

[0094] Further, the threads at each moment compare the solar altitude angle and the maximum horizon altitude angle corresponding to the solar altitude angle in parallel. Let the solar altitude angle of a certain point in the set area of the lunar surface be , and the maximum horizon altitude angle of this point be , if , then this point is sunlight; if , then this point is shadow; if , then this point is penumbra. Among them, is the apparent radius of the solar disk.

[0095] Thus, the solar altitude angle and azimuth angle of all points on the lunar surface within the specified lunar longitude and latitude range and within the specified time span D can be calculated in parallel through parallel thread resources in the processor, and compared with the maximum horizon altitude angle corresponding to each point, so as to obtain the lunar surface illumination conditions of each point within the specified time span and within the specified lunar surface range. Further, the calculation results of the lunar surface illumination conditions in the set area on the lunar surface can be output, such as copying the calculation results of the illumination conditions in the GPU to the CPU for output.

[0096] The above technical solution provides a high-performance parallel analysis method for lunar surface illumination conditions, which parallelizes the lunar surface illumination calculation process by using parallel computing resources, can efficiently analyze the illumination conditions of a large range and long period on the lunar surface, improve the calculation efficiency of the lunar surface illumination conditions, and further improve the efficiency of future lunar exploration mission planning.

[0097] In the technical solution of the present disclosure, the processing of the collection, storage, use, processing, transmission, provision, and disclosure of user personal information complies with the provisions of relevant laws and regulations and does not violate public order and good customs.

[0098] It should be noted that the relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for display, analysis data, etc.) involved in the present disclosure are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of the relevant data comply with the relevant laws, regulations, and standards in the relevant regions.

[0099] It should be noted that any permutation and combination of the technical features in the above embodiments also belong to the protection scope of the present invention.

[0100] Figure 3 is a schematic diagram of a parallel analysis device for lunar surface illumination conditions provided by an embodiment of the present invention. As Figure 3 shown, the device includes: a lunar surface illumination calculation correlation parameter configuration module 310, a parallel computing resource allocation module 320, a pixel longitude and latitude coordinate conversion module 330, and an illumination calculation result calculation module 340, where:

[0101] The lunar surface illumination calculation correlation parameter configuration module 310 is used to configure the lunar surface illumination calculation correlation parameters for the set area on the lunar surface; among them, the lunar surface illumination calculation correlation parameters include lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters;

[0102] A parallel computing resource allocation module 320 is configured to allocate parallel computing resources to the lunar surface illumination calculation related parameters in a set area of the lunar surface; wherein, the parallel computing resources include parallel thread resources and memory resources;

[0103] A pixel longitude and latitude coordinate conversion module 330 is configured to convert the pixel coordinates and longitude and latitude coordinates in a set area of the lunar surface according to the parallel computing resources and the lunar surface illumination calculation related parameters to obtain converted longitude and latitude coordinates;

[0104] An illumination calculation result calculation module 340 is configured to calculate the illumination calculation results of each point in a set area of the lunar surface according to the parallel computing resources, the lunar surface illumination calculation related parameters, and the converted longitude and latitude coordinates.

[0105] In an embodiment of the present invention, by configuring lunar surface illumination calculation related parameters such as lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters in a set area of the lunar surface, parallel thread resources and memory resources and other parallel computing resources are allocated to the lunar surface illumination calculation related parameters in the set area of the lunar surface, so that the pixel coordinates and longitude and latitude coordinates in the set area of the lunar surface are converted according to the parallel computing resources and the lunar surface illumination calculation related parameters to obtain converted longitude and latitude coordinates, and finally, the illumination calculation results of each point in the set area of the lunar surface are calculated in parallel according to the parallel computing resources, the lunar surface illumination calculation related parameters, and the converted longitude and latitude coordinates, which can solve the problem of low calculation efficiency existing in the existing serial method for calculating the lunar surface illumination conditions, can efficiently analyze the illumination conditions of a large range and long period on the lunar surface, improve the calculation efficiency of the lunar surface illumination conditions, and further improve the efficiency of future lunar exploration mission planning.

[0106] Optionally, the lunar surface illumination calculation related parameter configuration module 310 is further configured to: configure the lunar surface longitude range, lunar surface latitude range, terrain search range, time span, longitude resolution, latitude resolution, and time resolution in the set area of the lunar surface as the lunar surface illumination calculation condition parameters;

[0107] For the equidistant cylindrical projection method, configure the first lunar surface terrain digital elevation parameter in the set area of the lunar surface; wherein, the first lunar surface terrain digital elevation parameter includes a first resolution, a scale factor, an offset of the projection system origin relative to the target point, an origin longitude, an origin latitude, a first number of rows, and a number of columns; and / or

[0108] For the polar azimuth stereographic projection method, configure the second lunar surface terrain digital elevation parameter in the set area of the lunar surface; wherein, the second lunar surface terrain digital elevation parameter includes a second resolution, a scale factor, a second number of rows, and a pole identifier.

[0109] Optionally, the parallel computing resource allocation module 320 is further configured to: determine a resource allocation reference parameter according to the target projection method adopted by the set area on the lunar surface; use a two-dimensional thread block to allocate the memory resource for the lunar terrain digital elevation parameter in the processor video memory according to the resource allocation reference parameter; and allocate the parallel thread resource for the set area on the lunar surface according to the correspondence between the pixel coordinates of the set area on the lunar surface and the thread index of the two-dimensional thread block.

[0110] Optionally, the pixel latitude and longitude coordinate conversion module 330 is further configured to: determine the target projection method adopted by the set area on the lunar surface; and convert the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface to obtain the converted longitude and latitude coordinates according to the correspondence between the pixel coordinates of the set area on the lunar surface and the thread index of the two-dimensional thread block, and the lunar terrain digital elevation parameter corresponding to the target projection method.

[0111] Optionally, the illumination calculation result calculation module 340 is further configured to: calculate the maximum horizon height angle between points in the set area on the lunar surface according to the lunar surface illumination calculation correlation parameter and the converted longitude and latitude coordinates; divide the parallel thread resource according to different time points according to the time resolution in the lunar surface illumination calculation correlation parameter; the threads at each time point parallelly obtain the solar altitude angle and the solar azimuth angle, and parallelly interpolate and calculate the maximum horizon height angle corresponding to the solar azimuth angle according to the maximum horizon height angle between points in the set area on the lunar surface; and the threads at each time point parallelly compare the solar altitude angle and the maximum horizon height angle corresponding to the solar altitude angle to obtain the illumination calculation result of each point in the set area on the lunar surface.

[0112] Optionally, the illumination calculation result calculation module 340 is further configured to: according to the time resolution in the lunar surface illumination calculation correlation parameter, take each point where each thread in the parallel thread resource is located as the center, search for the distance of the terrain search range outward according to the azimuth angle calculation interval and the distance interval, and perform equidistant interpolation calculation on each point to calculate the corresponding geodetic coordinates; wherein the geodetic coordinates include the converted longitude and latitude coordinates and the elevation; convert the geodetic coordinates of each point in the set area on the lunar surface to the three-dimensional position vector in the lunar fixed coordinate system; parallelly calculate the horizon height angle of other points in each azimuth direction relative to the point where each thread is located within the terrain search range centered on each point where each thread in the parallel thread resource is located according to the thread index of each thread in the parallel thread resource; and perform reduction calculation in parallel according to the azimuth angle of each point in the set area on the lunar surface, and select the maximum horizon height angle of the azimuth angle of each point in the set area on the lunar surface.

[0113] The above lunar surface illumination condition parallel analysis device can execute the lunar surface illumination condition parallel analysis method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects for executing the method. For the technical details not described in detail in this embodiment, reference may be made to the lunar surface illumination condition parallel analysis method provided in any embodiment of the present invention.

[0114] Since the above-introduced lunar surface illumination condition parallel analysis device is a device that can execute the lunar surface illumination condition parallel analysis method in the embodiments of the present invention, based on the lunar surface illumination condition parallel analysis method introduced in the embodiments of the present invention, those skilled in the art can understand the specific implementation manners and various variations of the lunar surface illumination condition parallel analysis device in this embodiment. Therefore, the details of how the lunar surface illumination condition parallel analysis device implements the lunar surface illumination condition parallel analysis method in the embodiments of the present invention will not be described in detail here. As long as the devices adopted by those skilled in the art to implement the lunar surface illumination condition parallel analysis method in the embodiments of the present invention fall within the scope of protection of this application.

[0115] Figure 4 FIG. shows a schematic structural diagram of an electronic device 10 that can be used to implement the embodiments of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present invention described and / or claimed herein.

[0116] As Figure 4 shown, the electronic device 10 includes at least one processor 11, and a memory communicatively connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc. Among them, the memory stores a computer program executable by the at least one processor. The processor 11 can execute various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. The input / output (I / O) interface 15 is also connected to the bus 14.

[0117] Multiple components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disc, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0118] The processor 11 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the lunar surface illumination condition parallel analysis method.

[0119] Optionally, the lunar surface illumination condition parallel analysis method may include: configuring the lunar surface illumination calculation correlation parameters for a set area on the lunar surface; wherein, the lunar surface illumination calculation correlation parameters include lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters; allocating parallel computing resources to the lunar surface illumination calculation correlation parameters for the set area on the lunar surface; wherein, the parallel computing resources include parallel thread resources and memory resources; converting the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface according to the parallel computing resources and the lunar surface illumination calculation correlation parameters to obtain converted longitude and latitude coordinates; and calculating the illumination calculation results of each point in the set area on the lunar surface in parallel according to the parallel computing resources, the lunar surface illumination calculation correlation parameters, and the converted longitude and latitude coordinates.

[0120] In some embodiments, the lunar surface illumination condition parallel analysis method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the lunar surface illumination condition parallel analysis method described above can be executed. Alternatively, in other embodiments, the processor 11 can be configured to execute the lunar surface illumination condition parallel analysis method by any other suitable means (e.g., by means of firmware).

[0121] The various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems-on-chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be a special-purpose or general-purpose programmable processor that receives data and instructions from a storage system, at least one input device, and at least one output device, and transmits the data and instructions to the storage system, the at least one input device, and the at least one output device.

[0122] The computer programs for implementing the methods of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions / operations specified in the flowchart and / or block diagram to be implemented. The computer programs can be executed entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.

[0123] In the context of the present invention, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0124] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0125] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected to each other by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.

[0126] The computing system can include a client and a server. The client and the server are generally remote from each other and typically interact through a communication network. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system and solves the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services.

[0127] It should be understood that various forms of the processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and no limitation is made herein.

[0128] The above specific embodiments do not constitute a limitation on the protection scope of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principle of this disclosure shall be included within the protection scope of this disclosure.

Claims

1. A parallel analysis method for lunar illumination conditions, characterized in that: include: Configuring lunar surface illumination calculation associated parameters for a set area on the lunar surface; wherein the lunar surface illumination calculation associated parameters include lunar surface illumination calculation condition parameters and lunar surface terrain digital elevation parameters; Allocating parallel computing resources to the lunar illumination calculation-related parameters of the set area on the lunar surface; wherein the parallel computing resources include parallel thread resources and memory resources; Convert the pixel coordinates and the longitude and latitude coordinates of the set area on the lunar surface according to the parallel computing resources and the lunar illumination calculation associated parameters to obtain converted longitude and latitude coordinates; Parallel calculation of the illumination calculation results of each point in the set area on the lunar surface according to the parallel computing resources, the lunar illumination calculation associated parameters and the converted longitude and latitude coordinates; The configuration of the lunar surface illumination calculation associated parameters for the set area on the lunar surface includes: Configuring the lunar surface longitude range, lunar surface latitude range, terrain search range, time span, longitude resolution, latitude resolution and time resolution of the set area on the lunar surface as the lunar surface illumination calculation condition parameters; For the equidistant cylindrical projection mode, configuring the first lunar surface topographic digital elevation parameters of the set area on the lunar surface; wherein the first lunar surface topographic digital elevation parameters include a first resolution, a scale factor, an offset of the projection system origin relative to the target point, the origin longitude, the origin latitude, a first number of rows and columns; and / or For the polar azimuth stereographic projection mode, configuring the second lunar surface topographic digital elevation parameters of the set area on the lunar surface; wherein the second lunar surface topographic digital elevation parameters include a second resolution, a scale factor, a second number of rows and a pole mark; The step of calculating the illumination calculation results of each point in the set area on the lunar surface according to the parallel computing resources, the lunar illumination calculation associated parameters and the converted longitude and latitude coordinates includes: Calculate the maximum altitude angle between points in the set area on the lunar surface according to the lunar illumination calculation associated parameter and the converted longitude and latitude coordinates; According to the time resolution in the lunar illumination calculation associated parameter, the parallel thread resources are divided into blocks at different times; The threads at each moment obtain the solar altitude angle and the solar azimuth angle in parallel, and according to the maximum altitude angle between the points in the set area on the lunar surface, interpolate and calculate the maximum altitude angle corresponding to the solar azimuth angle in parallel; The threads at each moment compare in parallel the solar altitude angle and the maximum altitude angle corresponding to the solar altitude angle to obtain the illumination calculation results of each point in the set area on the lunar surface.

2. The method according to claim 1, characterized in that The step of allocating parallel computing resources to the parameters associated with the lunar illumination calculation for the set area on the lunar surface includes: Determining resource allocation reference parameters according to the target projection method adopted by the set area on the lunar surface; Using a two-dimensional thread block, allocating the memory resources for the lunar surface topography digital elevation parameters in a processor video memory according to the resource allocation reference parameters; The parallel thread resources are allocated to the set area on the lunar surface according to the correspondence between the pixel coordinates of the set area on the lunar surface and the thread index of the two-dimensional thread block.

3. The method according to claim 2, characterized in that The step of converting the pixel coordinates and the longitude and latitude coordinates of the set area on the lunar surface according to the parallel computing resources and the lunar illumination calculation associated parameters to obtain converted longitude and latitude coordinates includes: Determining a target projection method to be used for the set area on the lunar surface; According to the correspondence between the pixel coordinates of the set area on the lunar surface and the thread index of the two-dimensional thread block, and the digital elevation parameters of the lunar topography corresponding to the target projection method, the pixel coordinates and the longitude and latitude coordinates of the set area on the lunar surface are converted to obtain the converted longitude and latitude coordinates.

4. The method according to claim 1, characterized in that: The step of calculating the maximum altitude angle between points in the set area on the lunar surface according to the lunar illumination calculation associated parameter and the converted longitude and latitude coordinates includes: According to the time resolution in the moon illumination calculation associated parameter, with each point where each thread in the parallel thread resource is located as the center, search the distance of the terrain search range outward according to the azimuth calculation interval and the distance interval, and interpolate and calculate the corresponding geodetic coordinates of each point at equal distances; wherein the geodetic coordinates include the converted latitude and longitude coordinates and elevation; Converting the geodetic coordinates of each point in the set area on the lunar surface into a three-dimensional position vector of the lunar solid system coordinates; Parallel calculation of the ground elevation angles of other points in various azimuth directions relative to the points where the threads are located within a terrain search range centered on the points where the threads are located according to the thread index of each thread in the parallel thread resource; The reduction calculation is performed in parallel according to the azimuth angles of each point in the set area on the lunar surface, and the maximum altitude angle of the azimuth angles of each point in the set area on the lunar surface is selected.

5. A parallel analysis device for lunar illumination conditions, characterized in that: include: A lunar illumination calculation-related parameter configuration module is used to configure lunar illumination calculation-related parameters of a set area on the lunar surface; wherein the lunar illumination calculation-related parameters include lunar illumination calculation condition parameters and lunar terrain digital elevation parameters; A parallel computing resource allocation module, used to allocate parallel computing resources to the lunar surface illumination calculation associated parameters of the set area on the lunar surface; wherein the parallel computing resources include parallel thread resources and memory resources; A pixel longitude and latitude coordinate conversion module, used to convert the pixel coordinates and longitude and latitude coordinates of the set area on the lunar surface according to the parallel computing resources and the lunar illumination calculation associated parameters to obtain converted longitude and latitude coordinates; An illumination calculation result calculation module, used to calculate the illumination calculation result of each point in the set area on the lunar surface according to the parallel computing resources, the lunar surface illumination calculation associated parameters and the converted longitude and latitude coordinates; The lunar illumination calculation associated parameter configuration module is also used to: configure the lunar surface longitude range, lunar surface latitude range, terrain search range, time span, longitude resolution, latitude resolution and time resolution of the set area on the lunar surface as the lunar surface illumination calculation condition parameters; For the equidistant cylindrical projection mode, configuring the first lunar surface topographic digital elevation parameters of the set area on the lunar surface; wherein the first lunar surface topographic digital elevation parameters include a first resolution, a scale factor, an offset of the projection system origin relative to the target point, the origin longitude, the origin latitude, a first number of rows and columns; and / or For the polar azimuth stereographic projection mode, configuring the second lunar surface topographic digital elevation parameters of the set area on the lunar surface; wherein the second lunar surface topographic digital elevation parameters include a second resolution, a scale factor, a second number of rows and a pole mark; The illumination calculation result calculation module is also used to: calculate the maximum altitude angle between each point in the set area on the lunar surface according to the lunar illumination calculation associated parameters and the converted longitude and latitude coordinates; divide the parallel thread resources into blocks according to different times according to the time resolution in the lunar illumination calculation associated parameters; the threads at each time obtain the solar altitude angle and the solar azimuth in parallel, and according to the maximum altitude angle between each point in the set area on the lunar surface, interpolate and calculate the maximum altitude angle corresponding to the solar azimuth in parallel; the threads at each time compare the solar altitude angle and the maximum altitude angle corresponding to the solar altitude angle in parallel to obtain the illumination calculation results of each point in the set area on the lunar surface.

6. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the parallel analysis method for lunar illumination conditions as described in any one of claims 1-4.

7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the parallel analysis method for lunar illumination conditions described in any one of claims 1-4 when executed.

8. A computer program product comprising a computer program / instructions, wherein: When the computer program / instructions are executed by a processor, the parallel analysis method for lunar illumination conditions described in any one of claims 1-4 is implemented.

Citation Information

Patent Citations

  • Beidou high-precision satellite navigation and position service system

    CN113031011A

  • Real-time sunlight detection method and system

    CN113820756A