# Camera Path Generation for Triangular Mesh Using Toroidal Patches
## 1 Introduction  
It is known that 3D models are widely used in computer graphics, such as computer-aided design (CAD), 3D printing, animation, virtual reality (VR), augmented reality (AR), and so on. The digital twin concept has made 3D models a crucial component across various industries, from state-of-the-art IT sectors to traditional manufacturing, as they continue to embrace digital twin technology for innovation. Among the various data structures for these 3D models, the triangular mesh, which comprises a set of vertices (\(V\)), edges (\(E\)), and triangles (\(F\)), stands out as a predominant choice in both industry and academic research [1; 2; 3; 4].  
For the effective utilization of 3D models (including triangular meshes) across various domains, it is essential to identify the overall shape of the model and observe its characteristics. Commercial 3D computer graphics software like Blender 3.5 or 3 ds Max 2024 offer tools for generating camera paths to aid in model observation. As illustrated, Figure 1a shows the camera path generation process in Blender, and Figure 1b shows the same process in 3 ds Max. Within this software, although users can directly inspect the model's shape, generating the optimal camera path can be labor-intensive and time-consuming. Moreover, the results are frequently limited by the user's knowledge, resulting in inconsistencies. Previous studies have proposed various camera path generation methods to deal with these problems [5; 6; 7; 8; 9; 10; 11; 12; 13; 14].  
In this paper, we introduce a new method for generating a camera path that utilizes the curvature of triangular meshes. Initially, we approximate the curvature of the vertices and construct toroidal patches [15; 16]. Each toroidal patch is generated based on the curvature information of its corresponding vertex and extends its domain to approximate neighboringfaces, all within a predetermined tolerance [16]. In a given area, if there is a significant number of toroidal patches, it suggests that the area possesses intricate geometric details. This is because each toroidal patch is generated within a specified tolerance (e.g., \(e=10^{-3}\)) from the mesh's faces, making it a potential candidate for observation.  
To ensure that a camera path captures all the intricate geometric details and follows a seamless and continuous, we enclosed the entire triangular mesh within a cylinder and placed a third-order periodic B-spline curve on the lateral surface of the cylinder. The curve's control points can be selected one by one from the grids that contain the most toroidal patches as they move along the lateral surface. Two paths derive from the B-spline curve: the camera position path, which traces the camera's spatial trajectory, and the camera gaze path, which determines the camera's focal orientation.  
The main contributions of this research are summarized as follows:  
* We introduce a new method to automatically generate camera paths for observing meshes. This is made possible by utilizing a toroidal patch-based spatial data structure [16], which is constructed using the curvature information that is inherent in triangular meshes.
* We enclose the triangular mesh in a cylinder and divide it into uniform grids. Each grid is assigned a weight based on its relation to neighboring triangles and toroidal patches.
* We observe that the mesh areas with considerable curvature variation have more toroidal patches. This enables quick exploration of the mesh's geometrically distinct areas.
* The camera's movement is determined by a third-order periodic B-spline curve, which is aligned with the cylindrical structure's periphery. This technique ensures that the camera's path is continuous and smooth, and the curve's control points are selected with a focus on the center of the grid that carries the highest curvature variation. Section 3 provides a detailed explanation of this algorithmic process.