1. Introduction
Elucidating the geometric properties of the elements of nature has been crucial for human development. Continuous evolution for millions of years has allowed many living beings to adopt their optimal geometric forms. This process has always been observed with interest by humans, who have carefully studied the forms around them, and their functions, aiming to find practical uses. Recently, for example, the geometry of dandelions was found to facilitate their propagation by inducing the formation of a vortex ring in response to the wind. This effect might be explored as a means of improving the flying efficiency of small aircraft [
1]. This is but one example of the many illustrating the benefits that science can derive from geometric analysis (particularly in the design, engineering and architectural fields) [
2].
Although computer-aided design (CAD) was conceived back in the early 1950s, it was not until 1963 that Ivan E. Sutherland developed the first proper CAD tool: SketchPad [
3]. Since then, but especially after the inception of parametric design [
4], commercial CAD software has dramatically evolved by introducing computer-assisted engineering (CAE) tools for optimal, more-economical design [
5]. The best-known and most widely used CAE tools are those for finite element analysis (FEA) and computational fluid dynamics (CFD). Some CAE tools have been especially difficult to integrate into computer design software and success in this area can be viewed as a technological landmark because CAD and, for example, FEA, use rather different approaches [
6]. In fact, each type of software has specific requirements for geometric processing that must be fulfilled by using reliable, flexible algorithms [
7].
In the past two decades, CAD software development has relied on a functional branch called “computer-aided innovation” (CAI). CAI is intended to stimulate creativity among designers and engineers and to boost the development of innovative, longer-lived products [
8,
9]. At present, CAI tools play a major role in product design [
10,
11], which has been deemed the main route for the long-term development of organizations and a key factor for corporate survival [
12]. Sketch-based modelling (SMB), which is probably the primary CAI tool, is a current focus of CAD research and development towards the simplified creation of 3D shapes from sketches [
13,
14]. Sketching is in fact a dynamic process with high relevance to product development [
15,
16,
17,
18,
19]. However, digitizing sketches and automatically converting them into 3D shapes remains a complex, costly and not-always-efficient task [
20]. In any case, CAD software has, unarguably, dramatically evolved since its inception, when it was conceived to simplify the representation and communication of complex technical elements such as parts, mechanisms, facilities or buildings. With time, however, CAD software has become an integral solution for a wide variety of design, engineering and architectural problems.
Automating geometric representation with CAD software has enormously facilitated engineering and architectural drawing tasks. To many experts, universities and scientific and technical schools, mastering CAD software has become even more important than having a sound knowledge of geometry and its representations [
21,
22]. Most daily objects are industrially designed in simple shapes for easier manufacturing and management. Other objects, however, are still functional but geometrically complex. Such is the case with ergonomic products, aircraft or large structures, for example, the construction of which often requires drawing complex classic geometric forms for which existing software falls short [
23]. In some cases, to address specific problems, designers require special geometric knowledge they have not been taught. Digital representation has allowed the Euclidian drawing tools (ruler, square, bevel, compass) to be replaced with a much more efficient alternative: CAD software. However, may graphical representation processes, including sketching, require a solid knowledge and skill in classic geometry [
24]. Also, conceiving and creating new products often requires mastering geometry, 3D viewing and some special skills [
21,
25]. It can therefore be highly useful to expand the functionality of CAD software for classic geometry in order to allow designers with a limited knowledge of geometry to address more-complex problems. Also, educational institutions should be aware of the significance of geometry to innovation [
26], a key factor for prosperity and economic development, and make students especially proficient in this branch of mathematics.
The primary aim of this work was to develop a software tool to simplify and automate the identification and viewing of geometric loci in the plane. Loci problems are considered difficult in mathematical and graphical subjects all over the world [
27], and their visual information can be useful in learning and professional contexts [
28]. The tool, which is intended for educational used, can be implemented in any type of commercially available CAD software. This is because the application involves, as an input of their functions, simple entities that exist in current CAD software (points, line, circumferences, etc.) and mathematical equations to calculate the graphical solution. Although the range of potential problems involving planar loci is almost unlimited, the proposed tool was conceived to address only a few. Its potential benefits where previously discussed by the authors elsewhere [
29]. No similar tools have to date been reported. Research started by identifying geometric locus cases of special engineering significance. Then, geometric mathematics was used to solve each individual case, and the procedure was implemented, as a function, to allow future users to select the most suitable among those provided according to the particular case to be addressed. The major advantage of the tool is to be able to get the solution to different loci problems in plane only through the selection of the graphical entities involved in the problem and also the selection of the type of loci case. In contrast with commercial available software, there is no need to make any graphical procedures. All functions of the tool were checked for correct performance.
2. Definitions and Foundations
A geometric locus (
Figure 1) is an entity in which all points, whether in the plane or in space, fulfil a given geometric condition (e.g., distance, angle, another parameter). In other words, a locus is a set of points that share the same metric condition. The plural of locus is loci. Relying on this definition to solve graphical problems involving tangents proved highly useful in the past as it allowed a substantial number of graphical procedures to be replaced by a unified approach [
30]. However, the range of potential cases is almost unlimited, and each individual instance must be examined in isolation for optimal resolution [
29].
The number of geometric locus functions to be included in the proposed tool was restricted by compiling a series of exercises of tangents in the plane taught in the subject engineering graphics at the Aerospace Engineering School of the Polytechnical University of Catalonia. On the basis of occurrence frequency and complexity, the most interesting geometric loci for teaching purposes were found to fall into two categories:
Those involving a circle and an external point where the point curve (hyperbola) containing the centres of all possible circles, tangent to the given circle and passing through the point, was to be analytically defined.
Those involving any two mutually external circles where the point curve (hyperbola branch) containing the centres of a circle tangent to the two given circles was to be analytically defined.
A total of six cases (
Table 1) were thus identified according to the geometric requirements of the tangent circle for implementation in the proposed tool. The first two sections of this paper examine and solve the six cases for the characteristics of the curves fulfilling the specific requirements (especially the hyperbola and which branch meets the conditions).
As shown below, the output curves were applicable to other relative positions of the circles (e.g., tangent, secant, inscribed), albeit with some restrictions. These special cases will be the subject of future work because some led to other types of conical curves or because a curve segment failed to share the characteristics of the tangent (e.g., with circles of an identical radius, the result is a straight line). The analysis of each case was followed by two steps:
The implementation of the routines allowing software to depict the correct function in situ and checking that the results were accurate by providing a graphical output as in professional CAD software.
Defining and solving an exercise to illustrate the process and envisage the potential for solving actual geometries in order to compare the proposed procedures with those used by existing graphical software.
In this sense, the procedure for solving the loci cases referred to in
Table 1 is not automated in any available CAD software, to the authors’ knowledge, making it necessary to carry out graphic procedures that can be complex and lengthy and where the solution is often not 100% accurate (because they are often approximations that cause errors in subsequent trim, expand or tangency operations). Automation is a relevant advantage because the user is required to select only the entities that participate in the problem and define the locus to be solved. The function returns to the user the calculated and precise solution for the indicated problem without the need for graphical procedures.
Case 1: With a circle and an external point (
Figure 2), any circle tangent to the given circle and passing by the given point will fulfil the following conditions:
Its centre will be a point in the geometric locus of the points lying at the smallest possible distance from the circle coinciding with its distance from the point. This will allow the centres of all circles passing by the point and being external tangents to the given circle to be identified.
Its centre will be a point in the geometric locus of the points lying at the greatest possible distance from a circle coinciding with its distance from the point. This will allow the centres of all circles passing by the point and being internal tangents to the given circle to be identified.
The geometric locus of the points with variable coordinates (X1, Y1) (i.e., the curve where the centres of circles tangent to the given circle of radius R1 and centre A (A1, A2) that also pass through the point B (B1, B2)) is shown in cyan in
Figure 2. Although the Figures are shown separately for easier understanding, the circle and the point in both are identical. Also, the geometric loci are the two branches of a hyperbola whose axis is at one-half the distance between points A (A1, A2) and B (B1, B2) and normal to the connecting segment. One of the circles for each case is highlighted in black in the Figure. D1 and D2 are the distance between the original entities’ circles and point to the point (X, Y) of the loci curve, respectively. According to the definition of the locus, D1 and D2 are equal.
Although the foregoing is obvious, the discussion is simplified by taking this case to be a particular one of the next, where the point is assumed to be a circle of zero radius. It will thus suffice to identify and solve the cases of two circles to check the assumptions.
Case 2: In the case of circles tangent to two external ones of radius R1 and R2 (
Figure 3), one of the following conditions must be fulfilled:
The centre will be a point in the geometric locus of the points lying at the maximum distance from the two circles, which will allow the centres of all circles having the two given circles as internal tangents to be determined.
The centre will be a point in the geometric locus of the points lying at the shortest possible distance from the two given circles, which will allow the centres of all externally tangent circles to be identified.
The centre will be a point in the geometric locus of the points lying at the shortest possible distance from one given circle and greatest from the other, which will allow the centres of all circles being externally tangent to the first and internally tangent to the second to be identified.
The centre will be a point in the geometric locus of the points lying at the greatest distance from one of the given circles and shortest from the other, which will allow the centres of all circles being internally tangent to the former and externally tangent to the latter to be identified.
As shown below, the solution to this case is a hyperbolic branch. With secant or inscribed circles, the solutions can differ, however. Therefore, only those cases where the solution is a whole hyperbola branch or a portion are considered.
The problem is depicted graphically in
Figure 3, the curve fulfilling the requirements and the given (external) circles shown together with the solution (i.e., a circle being internally tangent to both given circles whose centre lies in the curve).
The given circles, in blue, represent any combination of external circles including external tangents. The maximum distances from the points in the curve (in red) are denoted by their generic coordinates (X, Y) and represent the whole curve—a condition that allows the equation making all distances identical to be established.
For the purpose of better characterizing the curve by considering relationships between tangents, the curve can be assumed to contain the centres of all circles having the given circles as internal tangents and hence fulfilling the following conditions for distances:
As can be seen, the points in the curve (X, Y) must meet the condition that the difference between the distances at two points A (A1, A2) and B (B1, B2) should be constant and identical with the difference between radii, which constitutes the definition of a hyperbolic branch. Simply making R2 = 0 provides the equation for one of the branches of case A (a circle and an external point), which is depicted in
Figure 2, left.
The hyperbola can be better characterized by considering the other branch and its symmetry axis. Obviously, for each coordinate X, there will be two points in the curve lying in the same vertical line and in the curve that is symmetric to the hyperbolic axis. This information allows one to determine the gradient and its centre (O1, O2), which in turn will allow the axes to be transformed in order to place the centre at point (0, 0).
The centre of the hyperbola will fall at the midpoint of the segment connecting the centres of the two circles; also, its coordinates can be expressed in terms of the gradient of the centre-connecting segment, which is taken to be the angle
as measured counter-clockwise:
The coordinates of the midpoint of the connecting segment can also be expressed in terms of those of the two centres:
However, the curve can be better characterized by placing it at point (0, 0) with a vertical hyperbolic axis and then making the connecting axis horizontal by rotating the whole system by an angle
:
The last step involves translating the whole system as needed to have the centre of coordinates fall at (0, 0) in the new system of axes, where all parameters can be more easily identified.
Because neither rotating nor translating the system will affect coordinate Z, the combined transformation defining the two transformations can be expressed with the following matrix:
The four intermediate values correspond to rotation about Z for horizontal positioning, and the first three values in the rightmost column define the vector for the translation of the coordinate centre in the X, Y, Z direction under constancy of Z (i.e., ΔZ = 0), under the provision that the signs of coordinates X and Y at the centre of the hyperbola have been reversed. As can be seen in
Figure 4, the hyperbola is easier to recognize with its axes centred at point (0, 0).
The other branch will obey the following equation:
In this more easily recognized form, the hyperbola can be fully characterized. The process is made easier by using its canonical equation, defining the other branch and viewing the asymptotes (
Figure 5).
As can easily be seen by viewing the two branches in their original position, the other branch can be useful with externally tangent circles (
Figure 6); also, the centre of the hyperbola lies at the midpoint of the segment connecting the centres of the circles—where point O (O1, O2) is to fall upon rotation and translation.
Once the centre of the hyperbola is at the centre of coordinates, the equation can be expressed in canonical form, which is useful to calculate
y in terms of
x,
all other parameters being known. Thus,
c is one-half the distance between the centres of the circles,
And
a is the distance from the midpoint of the horizontal segment, which coincides with the maximum distance from the circles to point (0,0):
On the basis of the relationships between the previous three parameters,
b can be expressed as:
In our case,
y can be obtained in terms of
x as follows:
With −a ≤ x ≥ +a, this equation allows one to easily calculate the y values needed to draw the curve and represent the target geometric locus by using a suitable mathematical method.
Ensuring that the curve will be correctly placed and rotated only requires subjecting the points to the transformation that restores their original places by using the following matrix:
As can be seen, angle α is now positive, and so are the coordinates of the centre of the hyperbola, which has become the entire geometric locus because its points are all at an identical maximum distance from the two circles. Therefore, all are possible centres of the circles that are internal tangents to the given circles (i.e., the new circle will contain the other two as internal tangents). Likewise, any of the points of the other hyperbolic branch (
Figure 6) will be at an identical minimum distance from the two circles; with secant circles, however, not all points can be centres of externally tangent circles—rather, the segment joining the points of contact with the original circles will inevitably contain the potential centres for internally tangent circles as such centres will fall inside both circles.
We thought it especially important to identify the hyperbolic branch corresponding to the particular type of tangency. For this reason, we focused on algorithms allowing the target curve to be identified and individually obtained. Geometric design is made easier by CAD software capable of showing the target curve only.
The problem of a circle that is tangent to another two can be approached in a number of ways, depending on its specific properties and on the particular type of tangency. This paper focuses on the geometric loci that allow the hyperbolic curves containing the centres of circles exhibiting various types of tangency (external−external, internal−external, external−internal and internal−internal) to be defined.
We have so far examined two hyperbolic branches corresponding to circles that are externally or internally tangent to the given circles (Cases 1 and 2). There are, however, another two branches corresponding to mixed tangency types (i.e., to an externally tangent circle and an internally tangent one: Cases 3 to 6). These other equidistant curves obey the equations that equalize the maximum distance to a circle and the minimum distance to the other. Therefore, they will form another two hyperbolic branches.
The tangent circles must be externally tangent to the first given circle, centred at A (A1, A2), and internally tangent to the second, centred at B (B1, B2) (
Figure 7).
The equidistant curve will obey the following equation:
On the other hand, when the tangent circles are internally tangent to the first given circle and externally tangent to the second, the applicable equation is:
These two cases can be approached very similarly to those of the other two hyperbolic branches. Therefore, the process will involve taking the curve to its canonical position and identifying the parameters that are altered by the transformation in order to include them in the routines—which should also provide for two branches resulting from the opposite relationships to the given circles.
Figure 8 depicts the two canonical hyperboles at the position of the starting circles. The branch on the right is the geometric locus containing the centres of all circles that are internal tangents to the circle of radius R2 and external tangents to that of radius R1.
This allows one to use very similar algorithms for the four curves. In fact, at their canonical position, the two branches of each hyperbola will obey the same equation—specific parameters excepted—as a result of their having a common centre:
Also, because
c will be identical, only
a and
b need be changed. Thus,
a can be calculated as:
For obvious reasons, some of these curves (specifically, the first two examined here) can also be used with secant circles because the last two are required to be external. This is so because with secant or inscribed circles, the geometric loci containing the centres of the circles that are externally tangent to one and internally tangent to the other are not hyperbolic but conical curves of a different type and thus warrant separate treatment.
A tool for viewing and using the previous four types of geometric loci is not a purely theoretical development. In fact, such loci are useful to solve real-life problems, and implementing the tool in CAD software can enormously facilitate their geometric definition.
Appendix A shows the feasibility of dealing with the different types of curves by implementing the required algorithms in CAD software.
3. Practical Example
For example, the practicality of the proposed tool is demonstrated here by solving the following problem: identifying the geometric locus of the points falling at the maximum possible distance from two given circles (Case 1). Such a locus will contain the centres of all circles internally tangent to the two given circles (Case 3). This problem has an infinite number of solutions that can be reduced to a unique one by imposing some constraints.
This can indeed be a real-life problem, such as finding where the centre of the red cogwheel in
Figure 9 is to be placed in order to have its periphery externally connected to the outside of two straight-toothed cogwheels (green in the figure) of fixed size and position. All three cogwheels are assumed to have an identical modulus—otherwise, they would not engage properly.
The original circles of the three cogwheels can be dealt with like the theoretical geometry problem of identifying circles having an internal tangent to the two fixed circles. Because there can be infinite solutions, this is an indeterminate problem; in all, however, the centre will lie in a curve at the same maximum distance from the two fixed circles.
Because properly defining the problem entails imposing some constraint, we used another condition involving geometric loci in the plane (e.g., the centre should lie at a distance of two-thirds from the centres of the fixed cogwheels). This condition is depicted in green in the next figure and clearly illustrates that nonequidistant geometric loci can provide a highly useful tool for implementation in CAD software.
Imposing a spatial constraint would lead to a much more complex problem that is not addressed in this paper, because no 3D geometric loci are dealt with here. As we all know, however, the actual geometry of objects includes an infinite number of geometric loci that very often require points in lines or surfaces in space to fulfil some metric conditions.
Figure 10 shows a circular locus that can be illustrated in practice with a slotted disc (
Figure 11) along which the output cogwheel can move.
These characteristics are depicted in the design of
Figure 12, where the target toothed cogwheel has been excluded for easier viewing of the slot.
As can be seen, implementing these geometric loci in commercial CAD software would allow two solutions to be obtained and the right one to be identified.
4. Implementation of the Software Tool
The above-described process was illustrated and checked here by developing a tool containing a toolbar populated with buttons similar to those in top commercial CAD software to allow the most common types of equidistant geometric loci used in design processes to be used.
Drawing a hyperbola involves building a matrix of ordered points and representing it in the form of local spline curves (specifically, curves of the second order formed by three points each) that will obey the following equation:
The initial curve starts at the precise point of the axis where the tangent is normal to the axis. Each three-point segment of the curve must meet the following conditions:
- -
The ends connecting the segment to the next should have the same tangent.
- -
The tangent at its midpoint should have the same direction as the segment connecting the previous and next point.
- -
The segment should pass through the three points.
These boundary conditions provide a hyperbolic branch defined by the size and position of the initial circles according to their specific relationship (external−external, internal−internal, external−internal or internal−external). Thanks to its smoothness, the resulting curve will be very similar to the actual curve, provided that it contains a large-enough number of points. Also, when the curve point to be used to draw the circle is selected, the proposed tool accurately determines the centre and radius of the circle.
As confirmed by using the tool, these curves are potential centres of tangent circles with the above-defined characteristics—in this case, the four hyperbolic branches specified for any pair of external circles. The tool could be expanded to address circles externally tangent to one of the given circles and externally tangent to the other when the two are secant or inscribed. Such cases involve other characteristics and will be examined in future work.
The proposed tool was developed with the aid of the software Authorware v. 7.0.2 from Adobe (San José, CA, USA), which uses instructions similar to those of in C++ programming language. This software was previously used by the authors to develop various interactive tools [
31,
32].
Figure 13 depicts a simplified flowchart for the process.
Because Authorware’s programming language allows graphical viewing as a scheme (
Figure 14), we chose to show the four main routines (bottom right) used to obtain the six target hyperbolic branches. The first two allowed the hyperbolae with R2 = 0 (i.e., the case of a circle and a point), which were combined into a particular case of the first two (i.e., two circles), to be solved.
Appendix A shows some of the programming code used.
Below are shown various sections of the tool’s illustrating the use of specific routines to confirm that the sought auxiliary curves are indeed obtained and also that they fulfil every requirement to become highly relevant auxiliary elements for the qualitative improvement of existing professional CAD software.
Although the proposed tool was conceived to examine and incorporate various types of loci, this paper deals with only a few involving two entities (specifically, a point and a circle, or two circles external to each other), the minimum and maximum distance between which is considered. Each point is assumed to be a potential centre of the circle tangent to both entities—and hence of “zero” radius.
Because it is intended to encompass all possible cases and because cases might involve one, two or three entities, the initial screen allows one to choose the number of entities involved in the equidistance situation (
Figure 17).
Once the number of entities has been selected, the tool will show all possibilities for points, lines or circles (i.e., all possible pairs of combinations: point−point, point−line, point−circle, line−line, line−circle and circle−circle). The previous six cases can be split into a minimum of 18 to deal with maximum or minimum distances (e.g., with externally and internally tangent circles, respectively). For this reason, the interface includes 18 access buttons (
Figure 18).
This paper focuses on eight buttons that allow one to deal with the following cases: point−circle (6 and 7), two external circles (10–13) and two secant circles (14 and 15). Button 14 depicts the zone containing solutions of external tangents to the two circles, which allows one to distinguish the zone encompassing centres of external tangents and the hyperbolic segment containing no solutions to be discarded.
The first case to be displayed is that of the minimum, equal distance to a circle and a point (button 6, shaded in
Figure 18), which allows the interactive introduction of the blue circle and the point (
Figure 19 and
Figure 20).
Finally,
Figure 25 shows the case of internal tangents to two inscribed circles;
Figure 26 that of tangent circles outside the first given circle and inside the second; and
Figure 27 the opposite situation.