3.1.1. Surface to surface intersections
The encounter or intersection curve between two 3D surfaces, and , , may be defined as the set of all 3D points, P, that pertain to both surfaces ().
We define as collection of auxiliary surfaces that intersects both with and when the argument , where is a reference set on for n = 1 or . Accordingly, the point will pertain to , for and .
If we choose a reference set , such that the collection sweeps all the points from and , then we may set the intersection curve, , as the set of points for .
The projection of
from
onto a plane is called
(
), in such a way that
is the projection curve of
on that plane. As we may completely define a 3D curve from any two non-degenerated plane projections [
14], we may compute the intersection curve
through their orthogonal projections on the dihedral planes,
(horizontal) and
(vertical).
Descriptive geometry gives algebraic procedures that solve
projection for any value of
. The encapsulation of that sequence of algebraic procedures through dependent algebraic objects for the parameter
may achieve a reliable locus entity, defining the following equation for the horizontal projection curve,
:
where
is a 2D parametric function in
, and locus is the algebraic entity that gives the points
associated with the value
. The vertical projection,
, is achieved by the same equation when the horizontal projection of
is substituted by the vertical projection,
. This method was applied successfully to build
models using GeoGebra as dynamic geometry software [
10].
Figure 3 presents the computation of the intersection between an oblique cone with an oblique cylinder using this method. They are defined by their circular sections with an horizontal plane (bases) and their axis. The vertical contour of the cone has been added to facilitate the interpretation.
We select the collection
of planes that contain the cone vertex, v’ - v, and a line parallel to the cylinder axis, called r’ - r. As the incidence of this plane onto the horizontal plane is the h’ - h point, a plane from this collection may be defined through the s’ - s horizontal line, as shown in
Figure 3. The line must intersect the two circular bases to assure that
intersects the two surfaces. The lines h - PLI and h - PLS define the boundary planes of this collection for the relative position of the surfaces. These lines must be tangents to any of the circular bases. This manner, the PLS point is computed as PLS = If(y(1)<y(3) then point 1 else point 3), where 1 and 3 are presented in
Figure 3 and y is the vertical coordinate. A similar condition with points 2 and 4 defines the PLI point. This conditional logic attends any relative position of these oblique surfaces.
We have defined as the angle between lines s and h - PLS (9.8° in the figure). Therefore the reference set, , is the interval [0, ], where is the angle between lines PLI - h - PLS (12.8° in the figure).
A general plane
intersects in two generatrix lines (
) for the cylinder and other two for the cone (
), which intersects to gives four intersection points (
), from
, as shown in
Figure 3 (ac’ - ac, bc’ - bc, ad’ - ad, bd’ - bd) . The constructive procedure is shown. Therefore, the vertical projection of
,
, is given by the following four leaves parametric curve:
The leaves of
have been emphasized through alternating colours (see
Figure 3). The horizontal projection of
,
, is also a four - leaves parametric curve given by
Figure 4.
Projection curves of cone - cylinder intersection (penetration) in a model.
Figure 4.
Projection curves of cone - cylinder intersection (penetration) in a model.
Reducing the distance between the centers of circular bases, o -
, the bite between surfaces changes to a penetration of the cylinder into the cone, as shown in
Figure 4. The boundary planes are now both tangent to the cylinder bases (PLS is 3 and PLI is 4). The intersection curve splits into two separates pieces, that are defined by the
parametric curve of equation (
3) for the vertical projection and
of equation (
4) for the horizontal projection.
An interesting property of this technique is that it keeps the geometric integrity of the intersection curve (i.e. these curves are not approximations but the true algebraic object). As
Figure 3 and
Figure 4 illustrate, it may be implemented in dynamic geometry tools through the graphical entities associated with the descriptive geometry’s algebraic objects. The input surfaces are not limited to ruled or quadric surfaces, but to smooth surfaces for which some computable auxiliary surface produces low complexity intersection curves. Most technical surfaces fulfil with these requirements.
3.1.2. Surface flattening
Ruled single curvature surfaces can be flattened without deformation. Here we present a locus based technique that gives the exact flat transformed of any 3D curve in this type of surfaces. It has been implemented in GeoGebra as part of the built-in features of .
The flat transformation of a curve
that pertains to a ruled single curvature surface,
, may be formally computed by means of a two-stage procedure. First, a generic generatrix line of
, g, that contains a point
is transformed to the flat domain. This transformation is equivalent to the placement of a line in the flat domain. Secondly, the point P is transformed to the flat domain, that is, it is placed onto the g transformed. This two-stage procedure defines a sequence of dependent algebraic objects, which builds the locus entity that defines the flat transformed of
through a parametric function.
Figure 5 shows a scheme of this process for a cylinder and a cone, both oblique with generic directrix.
In the case of a cylinder (
Figure 5 - left), we must intersect it with a plane perpendicular to the axis, to give the section
. The flat transformed of
is the R straight line, perpendicular to transformed generatrix lines. We may use any generatrix line as reference in the flat domain, as shown in
Figure 5 (dashed line). Then, defining
as a parameter, it is transformed to
(
) onto R, assuring the invariance of lengths of transformed paths. That is, the distance between
(
) and
(
) is equal to the length of
between
and
. The flat transformed of the generatrix line through
is parallel to the reference one. The function
converts its argument from
into the transformed in R.
Finally, the flat transformed of in the cylinder is , which pertains to the flat transformed of its generatrix line, with a distance between and () equal to the distance between and .
Considering that descriptive geometry provides mathematical procedures to achieve the invariance conditions and manipulate the 3D space through algebraic objects, the flat transformed of
,
, may be computed as:
where
is a 2D parametric function of
,
is a subset of
that defines the cylinder piece to be flattened, and
is a point of
defined by the generatrix line through
.
In the case of an oblique cone as surface
to be flattened (
Figure 5 - right), we first intersect this surface with a sphere centered in cone’s vertex (V) to obtain a warped curve in
,
, which is called
support curve. We know that the flat transformed of
is a circular arch (D) with the radius of the sphere. The flat transformed of
is
, with a distance to the reference point
along D equal to the distance of
to
along
(see
Figure 5). The flat transformed of a generatrix line through
contains the flat transformed of vertex (
is placed together with the reference generatrix line) and
.
The flat transformed of
in the cone is
, which pertains to the flat transformed of its generatrix line, with a distance between
and
(
) equal to the distance between
and
. Under the same consideration of equation
5, the flat transformed of
(
) may be computed as:
where
is a 2D parametric function of
, such that the generatrix line through
contains
, and
is a plane section of the cone that facilitates the algebraic manipulation of this surface.
The variable may be substituted by other variable , if there exists any mapping function between and .
The computation of the distance from to along is not trivial since is a warped curve with a geometry that depends on the conical surface. We use the flat transformed of as pertaining to a cylinder, taking advantage of the invariance of lengths during the flat transformation.
This method for surface flattening is applied to the conical surface intersected with the cylinder (bite) from the previous
model, between two selected generatrix lines, as presented in
Figure 6.
According to our nomenclature, projections are presented in lowercase, whereas flat transformations are in uppercase (excepting for Greek symbols). In
Figure 6,
is a point in
, which is the circular arch from
to
in the circular base of the conical surface (plane section). It is defined as
=
Point(circular base,
), where
is a real parameter in
and
Point is the mapping function between
and
.
The generatrix line through
intersects to the sphere (radius equal to segment v’ -
) in
-
. Accordingly,
pertains to the horizontal projection of the support curve
, which is calculated through equation (
2) using
in the circular base, defined between
and
. Therefore, the horizontal projection of
between
and
is locus(
,
) (orange horizontal projection).
We define a right cylinder from the horizontal projection of
(bottom base) to the support curve (warped)
. The flat transformed of
as a curve of the cylinder is
, which is shown in
Figure 6 (upper - right). According to the equation (
5),
is defined as locus(
,
). The distance between
and
in the horizontal projection of
is computed through
Perimeter(locus) command.
The distance between
and
along D (circular arch in cone flat domain,
Figure 6 bottom - right) must be equal to the distance between
and
along
curve, which is known. Therefore,
in D and its associated generatrix line through
may be placed in the flat domain. The flat transformation of the cone base through
to
may be computed as locus((
),
), according equation (
6). Finally, the flat transformation of the cone - cylinder intersection inside the flat pattern is defined by two parametric functions: locus(
F,
) and locus(
E,
), since
f’ -
f and
e’ -
e are the intersections of the generatrix line through
with the cylinder.
The
model updates dynamically to changes of the parameters, what includes the modification of the intersection. This manner, if we reduce the distance between the centers of circular bases o -
, as was performed in
Figure 4, the bite will change to penetration, splitting in two pieces, and the flat pattern dynamically changes to give what shows
Figure 7. It must be noted that we have also moved
to increase the cone surface that is flattened.
Figure 7.
Cone surface intersected with cylinder (penetrated,
Figure 4) flattened between generatrix lines through
and
.
Figure 7.
Cone surface intersected with cylinder (penetrated,
Figure 4) flattened between generatrix lines through
and
.