# Extended General Malfatti's Problem
## 5 Implementation Detail and Potential Applications  
There are two things that we need to consider when implementing Algorithm 2. The first was how to enlarge/reduce the radius, and the second was how to illustrate all radii once they were found.  
To begin with, we set a step value (=0.01), and when the radius r needed to be enlarged, we added the value r = r + step, similarly reducing the radius (r = r - step). This approach made the algorithm very inefficient. For example, it took 20,391 iterations (3 s) to solve the Tri(T\({}_{3}\)) problem, and thus, we required a more effective method of enlarging/reducing the radius. This enlarge/reduce strategy had to correspond to the surrounding angle of  
Figure 13: The Tri(T\({}_{n}\)) problem.  
the circle. The new radius had to have a circumference equal to the circular arc length, whose radius was r and angle was \(\theta\), i.e., \(\mathrm{r}^{\prime}~{}=~{}\frac{\theta}{2\pi}\mathrm{r}\). Note that when \(\theta>2\pi\), we enlarged the radius (\(\mathrm{r}^{\prime}>\mathrm{r}\)), and when \(\theta<2\pi\), we reduced the radius (\(\mathrm{r}^{\prime}<\mathrm{r}\)). Using this approach to enlarge/reduce the radii, the same example took 62 iterations (less than 2 s).  
The main task for the drawing process was to find the center of each circle. Consider three cases as follows (See Figure 2):  
1. The center of C\({}_{1,1}\): This circle is a corner circle, and we want to determine the center of C\({}_{1,1}\) from two edges and a radius value (\(\mathrm{r}_{1,1}\)) for the corner circle.
2. The center of C\({}_{2,1}\): This circle is an edge circle when n \(>1\). From the above step, we can determine the center and radius of C\({}_{1,1}\). With the one side of the triangle \(\overline{AC}\), we can find the center of C\({}_{2,1}\). With this approach, we can find the center of C\({}_{1,1}\) for all circle circles \(1<1<\mathrm{n}\).
3. The center of C\({}_{2,2}\): If we determine the center and radii of C\({}_{1,1}\), C\({}_{2,1}\), from the above two steps and from the radius of C\({}_{2,2}\), we can find the center of C\({}_{2,2}\).  
The above three problems can easily be solved using simple geometry. Furthermore, if we solve the center position for circles row-by-row (from left to right in Figure 2), it falls in one of the above three questions so that every center of the circles can be easily found. After we find the center of all circles with their associated radii, the drawing process becomes simple.  
This problem can be applied to several different applications, such as the following:  
1. Logo design: the design of logos for different products.
2. Product design: for a triangle prism comprising six bottles of different sizes and radii containing different liquids, the radii can be calculated.
3. Radar location design: In a triangle area, a radar system can be established consisting of several radars, with each radar having a different radius working in a circular area. This working circular area is much smaller than the area of the triangle. Our algorithm can determine the center of each radar, and the radii of the circular area should be greater than the radii we find from the algorithm so that every object that passes this triangle area will be detected by one of the radars, i.e., nothing can pass this triangle area.
4. Wireless transmitter location design: Similar to radar location design, the application of the algorithm can determine the center of a wireless transmitter location and what kind of wireless transmitter we should use. Larger radii are used so that the union of the circular area covers the triangle, and any location inside the area can receive wireless signals.
5. Mouse pad design: Suppose that there is a triangle pad, and we want to cut this pad into different sizes of circular mouse pads. The algorithm proposed in this paper can suggest a method for cutting the pad. Notice that a different initial value r can produce a different number of circular pads.