## 2 Materials and Methods
### 3D Reconstruction and 3D Printing  
After the image and braille label are processed, a 3D point cloud registration algorithm is applied to place the objects into a unified coordinate system. Each point is arranged based on its pixel location, pixel identifier, and pixel value. The pixel location data determines where the pixel is located on the x, y grid. This is important for easier meshing and arrangement of the voxels. The pixel identifier determines if it is part of the object or just the background. From the output of the selective model, only the objects that are within the threshold and are selected are generated from the final image. The pixels that are part of the background remain neutral for most of the process and serve as the base of the educational materials. The details within the images are dictated by the pixel value. Moreover, the pixel value determines the z value of the pixels. This aspect is also affected when adding texture or details to an image. When combined, these aspects register the points into a singular 3D point cloud space and can be used for a meshing method.  
Finally, the point cloud of the different parts of the TEM are combined. These are then passed to a mesh generation algorithm to create the STL file. The point generation of all types of tactile photographs in this system fixes a 3D point array cube, which is represented by a set of values, n\({}_{\text{r}}\) = [n\({}_{\text{r0}}\) n\({}_{\text{r1}}\) n\({}_{\text{r2}}\)... n\({}_{\text{m}}\)], n\({}_{\text{c}}\) = [n\({}_{\text{c0}}\) n\({}_{\text{c1}}\) n\({}_{\text{c2}}\)... n\({}_{\text{m}}\)], and nd = [n\({}_{\text{d0}}\) n\({}_{\text{d1}}\) n\({}_{\text{d2}}\)... n\({}_{\text{dnn}}\)] that are arranged in a 2-dimensional array depicting their positions based on the values. Each value in the array corresponds to a specific point in the 3-dimensional coordinate system in terms of their x, y, z coordinates. Optimal triangulation is achieved to enable the mesh generation of the coordinate points [17]. The STL mesh is generated from the x, y, z points in the R3 set in the image's world coordinates, where x represents the horizontal position, y represents the vertical position, and z represents the height position. These points are dictated by the previous image processing algorithms. The triangulation is performed to enable the representation of the complex geometry of surfaces, in this case the tactile photographs, as a simple geometry for easier interpolation of the numerical values. The optimal triangulation used was Delaunay triangulation, which is used for the efficient computation of the meshes [18]. These meshes are used to generate the STL file of the tactile photographs.  
The materials generated through our algorithm were printed using a conventional extruder-based 3D printer. Different tactile materials were printed for evaluation. The materials were given a consistent size of 100 by 115 mm for the small materials and 148 by 210 mm for the large materials. We used the PING DUAL 300 D300 (Taiwan) with SpiderMaker 3D Matte PLA filaments using consistent printing parameters: layer height = 0.2 mm; wall thickness = 1.2 mm; infill density = 10%; infill pattern = Trihexagonal; printing temperature = 210 \({}^{\circ}\)C; build plate temperature = 60 \({}^{\circ}\)C; retraction speed = 60 mm/s; print speed = 40 mm/s. These parameters were found to be the most compatible with the filament, the 3D printer, and the models being printed.