## 1 Introduction
Going from the generic to the specific, this model of using sections as parts of surfaces is exactly what is used in the aerospace industry (see Figure 4b), and the surface of the aircraft or launch vehicle is made of a large number of such sections which are also called panels. These panels are usually manufactured (and inspected) separately and then fitted together into the final vehicle. We show our results on panels taken from the real-world aerospace industry--an octant that is part of a propellant tank and a cylindrical surface with cutouts that is part of a launch vehicle. The notion of constructing a non-developable shape out of sections is far from being restricted to the aerospace industry; see, for example, the construction of a volleyball in Figure 4c. Thus, our technique can be used for a number of other applications as well. In [10] we did not address the problem of partitioning complex doubly curved surfaces into developable patches. No method was given as to how to split up a surface in a way so that each section is near developable, although some manual methods are explored (e.g., Figure 5b where the hemisphere is split into five sections and coverage path planning is performed on each section separately). The entire surface cannot reasonably be mapped by a single grid, or we will run into problems (such as the hemisphere in Figure 5a), because of the non-developable nature of the shape in general, but a section of the surface will always be near-developable. In this paper we improve on our previous concept by introducing the notion of near-developability, i.e., at what point the node propagation algorithm must be stopped in order to avoid the converging or diverging of geodesic lines on the surface. Two approaches are presented here--the 'Indirect' approach, which uses the concept of the Gauss map of the surface normals, and the 'Direct' approach which takes into account the convergence or divergence of a viewpoint node from its neighbors. The results are explored for a wide range of panel shapes relevant to aerospace applications. The coverage algorithm here is \"Semi-automated\", in which the user is expected to select the starting criteria for node propagation and then save the viewpoints. This provides far more versatility than the earlier 'Fully automated' mode which has several failure conditions. Figure 4: Surfaces and sections of a shape. (**a**) Generic shape and section; (**b**) Aircraft structure panels; (**c**) Volleyball. The method presented in this paper has the advantage over optimization-based techniques in being fast and simple to implement. Its advantage over other geometry-based techniques is that it is much more versatile than slicing-based methods. Finally, it has an advantage over just manually planning the path (e.g., as presented in our paper [4]) in that it is semi-automatic and requires much less human intervention than planning the pose of each individual viewpoint. It is to be noted that the current paper focuses primarily on planning the viewpoints given start criteria provided by the human user, by decomposing the surface into regularly arranged neighboring camera viewpoints. The user input is very important to achieving proper coverage using this method, thus making it a semi-automated technique. Once the set of these viewpoints has been generated, they can be linked together into a path. However, the travel planning process can be done trivially, or by using known methods to solve the traveling salesman problem (see Section 6). We also note that in the given application of camera-based non-destructive testing, the position and orientation of the viewpoints and the coverage of the surface that they provide is of paramount importance, while optimally planning the travel plan or sequence of viewpoints is not that important because the robot can move very fast between viewpoints, but needs to hold at a viewpoint for much longer time to record the data. Hence, the algorithms described in this paper are basically about creating a set of viewpoints for covering the surface.