A didactic proposal for applying matrix diagonalisation:

Parametrising the intersection of a sphere and plane with the aid of GeoGebra

Work done in collaboration with Bradley Welch

Part 1:

Context and problem formulation

Main Problem: Find the parametrisation of the intersection curve of a sphere and a plane.

  • What are the conditions for a sphere and a plane to intersect?
  • How can we determine the parametric equations of the intersection curve of these geometric objects?

Part 1: Context and problem formulation

Part 1: Context and problem formulation

  • What are the conditions for a sphere and a plane to intersect?
S:(xx0)2+(yy0)2+(zz0)2=R2S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
Π:Ax+By+Cz=D\Pi: Ax+By+Cz=D
\Pi: Ax+By+Cz=D

Sphere of radius R>0,R>0, centred at (x0,y0,z0)(x_0,y_0,z_0):

Plane defined by:

A,BA,B and CC real constants, not all simultaneaously zero.

Part 1: Context and problem formulation

  • What are the conditions for a sphere and a plane to intersect?
S:(xx0)2+(yy0)2+(zz0)2=R2S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
Π:Ax+By+Cz=D\Pi: Ax+By+Cz=D
\Pi: Ax+By+Cz=D

Let ρ\rho be the shortest signed distance between the centre of the sphere and the plane.

ρ=Ax0+By0+Cy0DA2+B2+C2\rho = \dfrac{Ax_0+By_0+ Cy_0-D}{\sqrt{A^2+B^2+C^2}}
\rho = \dfrac{Ax_0+By_0+ Cy_0-D}{\sqrt{A^2+B^2+C^2}}

That is,

Part 1: Context and problem formulation

  • What are the conditions for a sphere and a plane to intersect?
S:(xx0)2+(yy0)2+(zz0)2=R2S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
Π:Ax+By+Cz=D\Pi: Ax+By+Cz=D
\Pi: Ax+By+Cz=D
ρ=Ax0+By0+Cy0DA2+B2+C2\rho = \dfrac{Ax_0+By_0+ Cy_0-D}{\sqrt{A^2+B^2+C^2}}
\rho = \dfrac{Ax_0+By_0+ Cy_0-D}{\sqrt{A^2+B^2+C^2}}

We can set the following cases for the intersection ΠS\Pi\cap S:

1. If ρ<R,|\rho|<R, then ΠS\Pi\cap S is a circle.

2. If ρ=R,|\rho|=R, then ΠS\Pi\cap S is a point.

3. If ρ>R,|\rho|>R, then ΠS\Pi\cap S is a empty.

Part 1: Context and problem formulation

  • What are the conditions for a sphere and a plane to intersect?

Part 1: Context and problem formulation

Find the parametrisation of the intersection curve of a sphere and a plane.

X=(xc,yc,zc)+(C1cos(t)+C2sin(t),C3cos(t)+C4sin(t),C5sin(t))X=\left(x_c,y_c,z_c\right)+\left(C_1 \cos(t)+ C_2\sin(t), C_3 \cos(t)+ C_4\sin(t), C_5\sin(t)\right)
X=\left(x_c,y_c,z_c\right)+\left(C_1 \cos(t)+ C_2\sin(t), C_3 \cos(t)+ C_4\sin(t), C_5\sin(t)\right)
{x=C1cos(t)+C2sin(t)+xcy=C3cos(t)+C4sin(t)+ycz=C5sin(t)+zc\left\{ \begin{array}{l} x=C_1 \cos(t)+ C_2\sin(t)+x_c\\ y= C_3 \cos(t)+ C_4\sin(t)+y_c\\ z=C_5\sin(t)+z_c \end{array} \right.
\left\{ \begin{array}{l} x=C_1 \cos(t)+ C_2\sin(t)+x_c\\ y= C_3 \cos(t)+ C_4\sin(t)+y_c\\ z=C_5\sin(t)+z_c \end{array} \right.

or

Conjecture: The solution provided by Geogebra takes the general vector form given as

The dynamic exploration in GeoGebra with different semiotic representations provides some clues to solve our main problem:

Part 1: Context and problem formulation

{x=C1cos(t)+C2sin(t)+xcy=C3cos(t)+C4sin(t)+ycz=C5sin(t)+zc\left\{ \begin{array}{l} x=C_1 \cos(t)+ C_2\sin(t)+x_c\\ y= C_3 \cos(t)+ C_4\sin(t)+y_c\\ z=C_5\sin(t)+z_c \end{array} \right.
\left\{ \begin{array}{l} x=C_1 \cos(t)+ C_2\sin(t)+x_c\\ y= C_3 \cos(t)+ C_4\sin(t)+y_c\\ z=C_5\sin(t)+z_c \end{array} \right.
  • But how does GeoGebra compute this parametrisation?
  • What are the mathematical concepts or relationships necessary to determine the values for the constants Ck,  xc,yc,zcC_k, \;x_c, y_c, z_c?

Conjecture: The solution provided by Geogebra takes the general vector form given as

Part 2: Learning trajectory

Part 2: Learning trajectory

Problem 1: Find the parametric equation of the curve obtained by intersecting the sphere S:x2+y2+z2=1S:x^2 +y^2 +z^2 =1 and the plane Π:z=12.\Pi:z= \dfrac{1}{2}.

Find the parametrisation of the intersection curve of a sphere and a plane.

Before solving the general problem:

Let's try to relax the conditions and solve the simplest case:

Part 2: Learning trajectory

Problem 1: Find the parametric equation of the curve obtained by intersecting the sphere S:x2+y2+z2=1S:x^2 +y^2 +z^2 =1 and the plane Π:z=12.\Pi:z= \dfrac{1}{2}.

Substitute z=12z=\dfrac{1}{2} in the equation of the sphere:

x2+y2+(12)2=1x^2+y^2+\left(\dfrac{1}{2}\right)^2=1

Using the identity   cos2(t)+sin2(t)=1\;\cos^2(t)+\sin^2(t)=1

   43x2+43y2=1\Rightarrow\;\dfrac{4}{3}x^2+\dfrac{4}{3}y^2=1

{x=32cos(t)y=32sin(t)z=12t[0,2π].\Rightarrow \left\{ \begin{array}{rcl} x&=&\dfrac{\sqrt{3}}{2}\cos(t) \\ \\ y&=&\dfrac{\sqrt{3}}{2}\sin(t) \\ \\ z&=&\dfrac{1}{2} \end{array} \right. \qquad t\in[0, 2\pi].
\Rightarrow \left\{ \begin{array}{rcl} x&=&\dfrac{\sqrt{3}}{2}\cos(t) \\ \\ y&=&\dfrac{\sqrt{3}}{2}\sin(t) \\ \\ z&=&\dfrac{1}{2} \end{array} \right. \qquad t\in[0, 2\pi].

Part 2: Learning trajectory

{x=32cos(t)y=32sin(t)z=12t[0,2π].\Rightarrow \left\{ \begin{array}{rcl} x&=&\dfrac{\sqrt{3}}{2} \cos(t) \\ y&=&\dfrac{\sqrt{3}}{2}\sin(t) \\ z&=&\dfrac{1}{2} \end{array} \right. \qquad t\in[0, 2\pi].
\Rightarrow \left\{ \begin{array}{rcl} x&=&\dfrac{\sqrt{3}}{2} \cos(t) \\ y&=&\dfrac{\sqrt{3}}{2}\sin(t) \\ z&=&\dfrac{1}{2} \end{array} \right. \qquad t\in[0, 2\pi].

Part 2: Learning trajectory

{x=32cos(t)y=32sin(t)z=12t[0,2π].\Rightarrow \left\{ \begin{array}{rcl} x&=&\dfrac{\sqrt{3}}{2} \cos(t) \\ y&=&\dfrac{\sqrt{3}}{2}\sin(t) \\ z&=&\dfrac{1}{2} \end{array} \right. \qquad t\in[0, 2\pi].
\Rightarrow \left\{ \begin{array}{rcl} x&=&\dfrac{\sqrt{3}}{2} \cos(t) \\ y&=&\dfrac{\sqrt{3}}{2}\sin(t) \\ z&=&\dfrac{1}{2} \end{array} \right. \qquad t\in[0, 2\pi].

Part 2: Learning trajectory

Problem 2: Compute the parametric equations of the curve obtained by intersecting the sphere and plane given by

S:x2+y2+z2=4  S:x^2 +y^2 +z^2 =4\; and   Π:2x+2y+z=3,\;\Pi:2x+2y+z=-3,

respectively.

Rewrite the plane as   z=32x2y\;z=-3-2x-2y

Then we obtain   x2+y2+(32x2y)2=4\;x^2+y^2+\left(-3-2-x-2y\right)^2=4

That is   5x2+8xy+5y2+12x+12y+5=0\;5x^2+8xy+5y^2+12x+12y+5=0

This is a conic section, also known as a quadratic form in R2,\mathbb R^2, and can be written in matrix form as

xTMx+Kx+f=0\mathbf x^T M \mathbf x+ K \mathbf x+f=0

Now let's try a slightly more difficult problem!

Part 2: Learning trajectory

Problem 2: Compute the parametric equations of the curve obtained by intersecting the sphere and plane given by

S:x2+y2+z2=4  S:x^2 +y^2 +z^2 =4\; and   Π:2x+2y+z=3,\;\Pi:2x+2y+z=-3,

respectively.

That is   5x2+8xy+5y2+12x+12y+5=0\;5x^2+8xy+5y^2+12x+12y+5=0

Let x=(xy).\mathbf{x}=\begin{pmatrix}x\\y\end{pmatrix}.

xTMx+Kx+f=0\mathbf x^T M \mathbf x+ K \mathbf x+f=0

Then we have

(xy)(5445)(xy)+(1212)(xy)+5=0.\begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} 5&4\\4&5 \end{pmatrix} \begin{pmatrix}x\\y \end{pmatrix}+ \begin{pmatrix} 12&12\end{pmatrix} \begin{pmatrix}x\\ y \end{pmatrix}+5=0.
\begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} 5&4\\4&5 \end{pmatrix} \begin{pmatrix}x\\y \end{pmatrix}+ \begin{pmatrix} 12&12\end{pmatrix} \begin{pmatrix}x\\ y \end{pmatrix}+5=0.

By means of a rotation of the plane about the origin, a translation of the plane, or both, it is possible to represent every conic in a simplified standard, or canonical, form.

Part 2: Learning trajectory

That is   5x2+8xy+5y2+12x+12y+5=0\;5x^2+8xy+5y^2+12x+12y+5=0

xTMx+Kx+f=0\mathbf x^T M \mathbf x+ K \mathbf x+f=0

By means of a rotation of the plane about the origin, a translation of the plane, or both, it is possible to represent every conic in a simplified standard, or canonical, form.

This process is known as diagonalisation of quadratic forms.

Let x=(xy).\mathbf{x}=\begin{pmatrix}x\\y\end{pmatrix}.

Then we have

(xy)(5445)(xy)+(1212)(xy)+5=0.\begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} 5&4\\4&5 \end{pmatrix} \begin{pmatrix}x\\y \end{pmatrix}+ \begin{pmatrix} 12&12\end{pmatrix} \begin{pmatrix}x\\ y \end{pmatrix}+5=0.
\begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} 5&4\\4&5 \end{pmatrix} \begin{pmatrix}x\\y \end{pmatrix}+ \begin{pmatrix} 12&12\end{pmatrix} \begin{pmatrix}x\\ y \end{pmatrix}+5=0.

Problem 2: Compute the parametric equations of the curve obtained by intersecting the sphere and plane given by

S:x2+y2+z2=4  S:x^2 +y^2 +z^2 =4\; and   Π:2x+2y+z=3,\;\Pi:2x+2y+z=-3,

respectively.

Part 2: Learning trajectory

That is   5x2+8xy+5y2+12x+12y+5=0\;5x^2+8xy+5y^2+12x+12y+5=0

xTMx+Kx+f=0\mathbf x^T M \mathbf x+ K \mathbf x+f=0

Let x=(xy).\mathbf{x}=\begin{pmatrix}x\\y\end{pmatrix}.

Then we have

The diagonalisation process and a change of variables provides the following expression:

9u2+v2+122u+5=09u^2+v^2+12\sqrt{2}u+5=0
9u^2+v^2+12\sqrt{2}u+5=0

the simplified standard form of

Problem 2: Compute the parametric equations of the curve obtained by intersecting the sphere and plane given by

S:x2+y2+z2=4  S:x^2 +y^2 +z^2 =4\; and   Π:2x+2y+z=3,\;\Pi:2x+2y+z=-3,

respectively.

(xy)(5445)(xy)+(1212)(xy)+5=0.\begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} 5&4\\4&5 \end{pmatrix} \begin{pmatrix}x\\y \end{pmatrix}+ \begin{pmatrix} 12&12\end{pmatrix} \begin{pmatrix}x\\ y \end{pmatrix}+5=0.
\begin{pmatrix} x & y \end{pmatrix} \begin{pmatrix} 5&4\\4&5 \end{pmatrix} \begin{pmatrix}x\\y \end{pmatrix}+ \begin{pmatrix} 12&12\end{pmatrix} \begin{pmatrix}x\\ y \end{pmatrix}+5=0.

Part 2: Learning trajectory

Using again the identity cos2(t)+sin2(t)=1\cos^2(t)+\sin^2(t)=1 and rewriting everything back with the variables x,yx,y and z;z;

{x=66cos(t)62sin(t)23y=66cos(t)+62sin(t)23z=263cos(t)13t[0,2π].\left\{ \begin{array} {rcl} x &=&\dfrac{\sqrt{6}}{6}\cos(t)-\dfrac{\sqrt{6}}{2}\sin(t)-\dfrac{2}{3} \\ \\ y &=&\dfrac{\sqrt{6}}{6}\cos(t)+\dfrac{\sqrt{6}}{2}\sin(t)-\dfrac{2}{3} \\ \\ z &=&-\dfrac{2\sqrt{6}}{3}\cos(t)-\dfrac{1}{3} \end{array} \right. \qquad t\in[0, 2\pi].
\left\{ \begin{array} {rcl} x &=&\dfrac{\sqrt{6}}{6}\cos(t)-\dfrac{\sqrt{6}}{2}\sin(t)-\dfrac{2}{3} \\ \\ y &=&\dfrac{\sqrt{6}}{6}\cos(t)+\dfrac{\sqrt{6}}{2}\sin(t)-\dfrac{2}{3} \\ \\ z &=&-\dfrac{2\sqrt{6}}{3}\cos(t)-\dfrac{1}{3} \end{array} \right. \qquad t\in[0, 2\pi].

Problem 2: Compute the parametric equations of the curve obtained by intersecting the sphere and plane given by

S:x2+y2+z2=4  S:x^2 +y^2 +z^2 =4\; and   Π:2x+2y+z=3,\;\Pi:2x+2y+z=-3,

respectively.

we obtain the solution:

Part 2: Learning trajectory

{x=66cos(t)62sin(t)23y=66cos(t)+62sin(t)23z=263cos(t)13t[0,2π].\left\{ \begin{array} {rcl} x &=&\dfrac{\sqrt{6}}{6}\cos(t)-\dfrac{\sqrt{6}}{2}\sin(t)-\dfrac{2}{3} \\ y &=&\dfrac{\sqrt{6}}{6}\cos(t)+\dfrac{\sqrt{6}}{2}\sin(t)-\dfrac{2}{3} \\ z &=&-\dfrac{2\sqrt{6}}{3}\cos(t)-\dfrac{1}{3} \end{array} \right. \qquad t\in[0, 2\pi].
\left\{ \begin{array} {rcl} x &=&\dfrac{\sqrt{6}}{6}\cos(t)-\dfrac{\sqrt{6}}{2}\sin(t)-\dfrac{2}{3} \\ y &=&\dfrac{\sqrt{6}}{6}\cos(t)+\dfrac{\sqrt{6}}{2}\sin(t)-\dfrac{2}{3} \\ z &=&-\dfrac{2\sqrt{6}}{3}\cos(t)-\dfrac{1}{3} \end{array} \right. \qquad t\in[0, 2\pi].

Part 2: Learning trajectory

Problem 3:  Find the parametrisation of the intersection curve of the sphere and plane {S:(xx0)2+(yy0)2+(zz0)2=R2Π:Ax+By+Cz=D,  \left\{ \begin{array} {rl} S: &(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2 \\ \\ \Pi: & Ax+By+Cz=D,  \\ \end{array} \right. where A,B,CA,B,C are not all simultaneously zero.

General problem!

To simplify some calculations, first we translate both objects to the origin: {S0:x2+y2+z2=R2Π0:A(x+x0)+B(y+y0)+C(z+z0)=D  \left\{ \begin{array} {rl} S_0: &x^2+y^2+z^2=R^2 \\ \\ \Pi_0: & A(x+x_0)+B(y+y_0)+C(z+z_0)=D  \\ \end{array} \right.  

Part 2: Learning trajectory

Problem 3:  Find the parametrisation of the intersection curve of the sphere and plane {S:(xx0)2+(yy0)2+(zz0)2=R2Π:Ax+By+Cz=D,  \left\{ \begin{array} {rl} S: &(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2 \\ \\ \Pi: & Ax+By+Cz=D,  \\ \end{array} \right. where A,B,CA,B,C are not all simultaneously zero.

Substituing the equation of the plane Π0\Pi_0 into the sphere S0S_0 yields

{S0:x2+y2+z2=R2Π0:A(x+x0)+B(y+y0)+C(z+z0)=D  \left\{ \begin{array} {rl} S_0: &x^2+y^2+z^2=R^2 \\ \\ \Pi_0: & A(x+x_0)+B(y+y_0)+C(z+z_0)=D  \\ \end{array} \right.  

x2+y2+(α0α1xα2yα3)2=R2x^2+y^2+(\alpha_0-\alpha_1x-\alpha_2y -\alpha_3)^2=R^2
x^2+y^2+(\alpha_0-\alpha_1x-\alpha_2y -\alpha_3)^2=R^2
whereα0=DC,α1=AC,α2=BCandα3=z0+ACx0+BCy0\text{where}\quad \alpha_0=\frac{D}{C}, \quad \alpha_1=\frac{A}{C}, \quad \alpha_2=\frac{B}{C} \quad \text{and} \quad \alpha_3=z_0+ \frac{A}{C} x_0 + \frac{B}{C}{y_0}
\text{where}\quad \alpha_0=\frac{D}{C}, \quad \alpha_1=\frac{A}{C}, \quad \alpha_2=\frac{B}{C} \quad \text{and} \quad \alpha_3=z_0+ \frac{A}{C} x_0 + \frac{B}{C}{y_0}

Part 2: Learning trajectory

Problem 3:  Find the parametrisation of the intersection curve of the sphere and plane {S:(xx0)2+(yy0)2+(zz0)2=R2Π:Ax+By+Cz=D,  \left\{ \begin{array} {rl} S: &(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2 \\ \\ \Pi: & Ax+By+Cz=D,  \\ \end{array} \right. where A,B,CA,B,C are not all simultaneously zero.

x2+y2+(α0α1xα2yα3)2=R2x^2+y^2+(\alpha_0-\alpha_1x-\alpha_2y -\alpha_3)^2=R^2
x^2+y^2+(\alpha_0-\alpha_1x-\alpha_2y -\alpha_3)^2=R^2

This expression is in fact a quadratic form:

ax2+bxy+cy2+dx+ey+f=0ax^2+bxy+cy^2+dx+ey+f=0

So we can rewrite it as

xTMx+Kx+f=0\mathbf{x}^{T} M\mathbf{x}+K\mathbf{x}+f=0

Thus we can apply the process of diagonalisation

to obtain the solution of the general problem.

Part 2: Learning trajectory

Problem 3:  Find the parametrisation of the intersection curve of the sphere and plane {S:(xx0)2+(yy0)2+(zz0)2=R2Π:Ax+By+Cz=D,  \left\{ \begin{array} {rl} S: &(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2 \\ \\ \Pi: & Ax+By+Cz=D,  \\ \end{array} \right. where A,B,CA,B,C are not all simultaneously zero.

Thus we can apply the process of diagonalisation

to obtain the solution of the general problem.

{x=p1,1u+p1,2vy=p2,1u+p2,2vz=α0α1xα2yα3t[0,2π].\left\{ \begin{array} {rcl} x &=& p_{1,1}u+p_{1,2}v \\ \\ y &=&p_{2,1}u+p_{2,2}v \\ \\ z &=&\alpha_0-\alpha_1x-\alpha_2y -\alpha_3 \end{array} \right. \quad\quad t\in[0, 2\pi].
\left\{ \begin{array} {rcl} x &=& p_{1,1}u+p_{1,2}v \\ \\ y &=&p_{2,1}u+p_{2,2}v \\ \\ z &=&\alpha_0-\alpha_1x-\alpha_2y -\alpha_3 \end{array} \right. \quad\quad t\in[0, 2\pi].
+x0+\,x_0
+\,x_0
+y0+\,y_0
+\,y_0
+z0+\,z_0
+\,z_0

Part 3: Final comments

Part 3: Final comments

  • The sequence of problems mentioned before can be adapted within a problem-solving learning environment for:
    • discussing the geometric properties of the intersection curve of the sphere and plane,
S:(xx0)2+(yy0)2+(zz0)2=R2S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
Π:Ax+By+Cz=D\Pi: Ax+By+Cz=D
\Pi: Ax+By+Cz=D
ρ=Ax0+By0+Cy0DA2+B2+C2\rho = \dfrac{Ax_0+By_0+ Cy_0-D}{\sqrt{A^2+B^2+C^2}}
\rho = \dfrac{Ax_0+By_0+ Cy_0-D}{\sqrt{A^2+B^2+C^2}}

Part 3: Final comments

  • The sequence of problems mentioned before can be adapted within a problem-solving learning environment for:
    • discussing the geometric properties of the intersection curve of the sphere and plane,
    • establishing mathematical connections, in this case, with the process of diagonalisation of quadratic forms to solve a geometric problem.
S:(xx0)2+(yy0)2+(zz0)2=R2S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
S: (x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
Π:Ax+By+Cz=D\Pi: Ax+By+Cz=D
\Pi: Ax+By+Cz=D
ρ=Ax0+By0+Cy0DA2+B2+C2\rho = \dfrac{Ax_0+By_0+ Cy_0-D}{\sqrt{A^2+B^2+C^2}}
\rho = \dfrac{Ax_0+By_0+ Cy_0-D}{\sqrt{A^2+B^2+C^2}}

xTMx+Kx+f=0\mathbf{x}^{T} M\mathbf{x}+K\mathbf{x}+f=0

{x=p1,1u+p1,2v+x0y=p2,1u+p2,2v+y0z=α0α1xα2yα3+z0t[0,2π].\left\{ \begin{array} {rcl} x &=& p_{1,1}u+p_{1,2}v + x_0 \\ y &=&p_{2,1}u+p_{2,2}v + y_0 \\ z &=&\alpha_0-\alpha_1x-\alpha_2y -\alpha_3 + z_0 \end{array} \right. \\t\in[0, 2\pi].
\left\{ \begin{array} {rcl} x &=& p_{1,1}u+p_{1,2}v + x_0 \\ y &=&p_{2,1}u+p_{2,2}v + y_0 \\ z &=&\alpha_0-\alpha_1x-\alpha_2y -\alpha_3 + z_0 \end{array} \right. \\t\in[0, 2\pi].

Part 3: Final comments

  • GeoGebra offers different semiotic representations (e.g. geometric, algebraic, CAS) and a set of affordances for students to explore and model these problems dynamically.
Algebraic view
CAS view
3D view

Part 3: Final comments

  • The exploration of these models opens up novel approaches for learners to engage in mathematical thinking since they can generate different representations of a problem to visualise and contrast how numeric, graphic, and algebraic approaches are connected.
Algebraic view
CAS view
3D view

Part 3: Final comments

  • Collaboration with Bradley Welch, a UQ student soon to become a senior maths and chemistry teacher.
  • Future work: Implement the didactic proposal in the classroom to analise how this can help students to develop their problem-solving skills and create more meaningful mathematical connections.
  • The general solution, together with the didactic proposal, has been recently published in the International Journal of Mathematical Education in Science and Technology:
  • But how does GeoGebra compute this parametrisation?
  • What are the mathematical concepts or relationships necessary to determine the values for the constants Ck,  xc,yc,zcC_k, \;x_c, y_c, z_c?
{x=C1cos(t)+C2sin(t)+xcy=C3cos(t)+C4sin(t)+ycz=C5sin(t)+zc\left\{ \begin{array}{l} x=C_1 \cos(t)+ C_2\sin(t)+x_c\\ y= C_3 \cos(t)+ C_4\sin(t)+y_c\\ z=C_5\sin(t)+z_c \end{array} \right.
\left\{ \begin{array}{l} x=C_1 \cos(t)+ C_2\sin(t)+x_c\\ y= C_3 \cos(t)+ C_4\sin(t)+y_c\\ z=C_5\sin(t)+z_c \end{array} \right.
/* 
GeoGebra - Dynamic Mathematics for Everyone
http://www.geogebra.org

This file is part of GeoGebra.

This program is free software; you can redistribute it and/or modify it 
under the terms of the GNU General Public License as published by 
the Free Software Foundation.

 */

/*
 * AlgoJoinPointsSegment
 *
 * Created on 21. August 2003
 */

package org.geogebra.common.geogebra3D.kernel3D.algos;

import org.geogebra.common.geogebra3D.kernel3D.geos.GeoConic3D;
import org.geogebra.common.kernel.Construction;
import org.geogebra.common.kernel.StringTemplate;
import org.geogebra.common.kernel.commands.Commands;
import org.geogebra.common.kernel.geos.GeoElement;
import org.geogebra.common.kernel.kernelND.GeoCoordSys2D;
import org.geogebra.common.kernel.kernelND.GeoQuadricND;
import org.geogebra.common.kernel.matrix.CoordMatrix;

/**
 *
 * @author ggb3D
 * 
 */
public class AlgoIntersectPlaneQuadric extends AlgoElement3D {

	// inputs
	/** plane */
	protected GeoCoordSys2D plane;
	/** second coord sys */
	protected GeoQuadricND quadric;

	// output
	/** intersection */
	protected GeoConic3D conic;

	private CoordMatrix cm = new CoordMatrix(3, 3);
	private CoordMatrix tmpMatrix = new CoordMatrix(3, 4);
	private CoordMatrix parametricMatrix;

	/**
	 * Creates new AlgoIntersectLinePlane
	 * 
	 * @param cons
	 *            the construction
	 * @param plane
	 *            plane
	 * @param quadric
	 *            quadric
	 * @param addToCons
	 *            whether to add to cons
	 */
	AlgoIntersectPlaneQuadric(Construction cons, GeoCoordSys2D plane,
			GeoQuadricND quadric, boolean addToCons) {

		super(cons, addToCons);

		this.plane = plane;
		this.quadric = quadric;

		conic = newConic(cons);

		// end
		if (addToCons) {
			end();
		}
	}

	/**
	 * Creates new AlgoIntersectLinePlane
	 * 
	 * @param cons
	 *            the construction
	 * @param plane
	 *            plane
	 * @param quadric
	 *            quadric
	 */
	AlgoIntersectPlaneQuadric(Construction cons, GeoCoordSys2D plane,
			GeoQuadricND quadric) {

		this(cons, plane, quadric, true);

	}

	/**
	 * end of contructor for this algo
	 */
	protected void end() {
		setInputOutput(new GeoElement[] { plane.toGeoElement(), quadric },
				new GeoElement[] { conic });
	}

	/**
	 * 
	 * @param cons1
	 *            construction
	 * @return new conic for intersection
	 */
	protected GeoConic3D newConic(Construction cons1) {
		return new GeoConic3D(cons1, true);
	}

	/**
	 * return the intersection
	 * 
	 * @return the intersection
	 */
	public GeoConic3D getConic() {
		return conic;
	}

	// /////////////////////////////////////////////
	// COMPUTE

	@Override
	public void compute() {
		conic.setCoordSys(plane.getCoordSys());
		if (!quadric.isDefined() || !plane.isDefined()) {
			conic.setUndefined();
			return;
		}
		intersectPlaneQuadric(plane, quadric, conic);
	}

	private void intersectPlaneQuadric(GeoCoordSys2D inputPlane,
			GeoQuadricND inputQuad, GeoConic3D outputConic) {
		if (parametricMatrix == null) {
			parametricMatrix = new CoordMatrix(4, 3);
		}
		CoordMatrix qm = inputQuad.getSymetricMatrix();
		CoordMatrix pm = inputPlane.getCoordSys()
				.getParametricMatrix(parametricMatrix);

		// sets the conic matrix from plane and quadric matrix
		cm.setMul(tmpMatrix.setMulT1(pm, qm), pm);

		outputConic.setCoordSys(inputPlane.getCoordSys());
		outputConic.setMatrix(cm);

	}

	@Override
	public Commands getClassName() {
		return Commands.IntersectPath;
	}

	@Override
	final public String toString(StringTemplate tpl) {
		StringBuilder sb = new StringBuilder();

		sb.append(getLoc().getPlain("IntersectionCurveOfAB",
				plane.getLabel(tpl), quadric.getLabel(tpl)));

		return sb.toString();
	}

}

We need to study the source code of  GeoGebra, which is written in Java.

For example this:

  • Future work: Investigate more in depth the source code of GeoGebra