intersection of a conical surface and a plane is an ellipse
Source:
May 31, 2019
geometryconicsellipseSpheres
Problem Statement
A conical surface is cut by a plane as shown in the figure on the back of this sheet. Show that is an ellipse. You can use as an aid the fact that if you consider the two spheres tangent to and as shown in the figure, they intersect in the bulbs.[asy]
// calculate intersection of line and plane
// p = point on line
// d = direction of line
// q = point in plane
// n = normal to plane
triple lineintersectplan(triple p, triple d, triple q, triple n)
{
return (p + dot(n,q - p)/dot(n,d)*d);
}// projection of point A onto line BC
triple projectionofpointontoline(triple A, triple B, triple C)
{
return lineintersectplan(B, B - C, A, B - C);
}// calculate area of space triangle with vertices A, B, and C
real trianglearea(triple A, triple B, triple C)
{
return abs(cross(A - C, B - C)/2);
}// calculate incentre of space triangle ABC
triple triangleincentre(triple A, triple B, triple C)
{
return (abs(B - C) * A + abs(C - A) * B + abs(A - B) * C)/(abs(B - C) + abs(C - A) + abs(A - B));
}// calculate inradius of space triangle ABC
real triangleinradius(triple A, triple B, triple C)
{
return 2*trianglearea(A,B,C)/(abs(B - C) + abs(C - A) + abs(A - B));
}// calculate excentre of space triangle ABC
triple triangleexcentre(triple A, triple B, triple C)
{
return (-abs(B - C) * A + abs(C - A) * B + abs(A - B) * C)/(-abs(B - C) + abs(C - A) + abs(A - B));
}// calculate exradius of space triangle ABC
real triangleexradius(triple A, triple B, triple C)
{
return 2*trianglearea(A,B,C)/(-abs(B - C) + abs(C - A) + abs(A - B));
}unitsize(2 cm);pair project (triple A, real t) {
return((A.x, A.y*Sin(t) + A.z*Cos(t)));
}real alpha, beta, theta, t;
real coneradius = 1, coneheight = 3;
real a, b, c;
real[] m, r;
triple A, B, V;
triple ellipsecenter, ellipsex, ellipsey;
triple[] F, O, P, R, W;
path[] ellipse, spherering;theta = 15;
V = (0,0,-coneheight);m[1] = sqrt(Cos(theta)^2*coneheight^2 - Sin(theta)^2*coneradius^2)/coneradius;
m[2] = -m[1];
alpha = -aTan(Sin(theta)/m[1]);
beta = -aTan(Sin(theta)/m[2]) + 180;
A = (coneradius*Cos(alpha), coneradius*Sin(alpha), 0);
B = (coneradius*Cos(beta), coneradius*Sin(beta), 0);W[1] = interp(V,(coneradius,0,0),0.6);
W[2] = interp(V,(-coneradius,0,0),0.4);
O[1] = triangleexcentre(V,W[1],W[2]);
O[2] = triangleincentre(V,W[1],W[2]);
r[1] = triangleexradius(V,W[1],W[2]);
r[2] = triangleinradius(V,W[1],W[2]);
F[1] = projectionofpointontoline(O[1],W[1],W[2]);
F[2] = projectionofpointontoline(O[2],W[1],W[2]);P[1] = O[1] - (0,0,r[1]*coneradius/sqrt(coneradius^2 + coneheight^2));
P[2] = O[2] - (0,0,r[2]*coneradius/sqrt(coneradius^2 + coneheight^2));
spherering[11] = shift(project(P[1],theta))*yscale(Sin(theta))*arc((0,0),r[1]*coneheight/sqrt(coneradius^2 + coneheight^2),alpha,beta);
spherering[12] = shift(project(P[1],theta))*yscale(Sin(theta))*arc((0,0),r[1]*coneheight/sqrt(coneradius^2 + coneheight^2),beta,alpha + 360);
spherering[21] = shift(project(P[2],theta))*yscale(Sin(theta))*arc((0,0),r[2]*coneheight/sqrt(coneradius^2 + coneheight^2),alpha,beta);
spherering[22] = shift(project(P[2],theta))*yscale(Sin(theta))*arc((0,0),r[2]*coneheight/sqrt(coneradius^2 + coneheight^2),beta,alpha + 360);ellipsecenter = (W[1] + W[2])/2;
a = abs(W[1] - ellipsecenter);
c = abs(F[1] - ellipsecenter);
b = sqrt(a^2 - c^2);
ellipsex = (W[1] - W[2])/abs(W[1] - W[2]);
ellipsey = (0,1,0);ellipse[1] = project(ellipsecenter + a*ellipsex, theta);for (t = 0; t <= 180; t = t + 5) {
ellipse[1] = ellipse[1]--project(ellipsecenter + a*Cos(t)*ellipsex + b*Sin(t)*ellipsey, theta);
}ellipse[2] = project(ellipsecenter - a*ellipsex, theta);for (t = 180; t <= 360; t = t + 5) {
ellipse[2] = ellipse[2]--project(ellipsecenter + a*Cos(t)*ellipsex + b*Sin(t)*ellipsey, theta);
}R[1] = ellipsecenter + 1*ellipsex + ellipsey;
R[2] = ellipsecenter - 1.2*ellipsex + ellipsey;
R[3] = ellipsecenter - 1*ellipsex - ellipsey;
R[4] = ellipsecenter + 1.2*ellipsex - ellipsey;fill(ellipse[1]--ellipse[2]--cycle, gray(0.9));
draw(yscale(Sin(theta))*Circle((0,0),coneradius));
draw(project(V,theta)--project(A,theta));
draw(project(V,theta)--project(B,theta));
draw(Circle(project(O[1],theta),r[1]));
draw(Circle(project(O[2],theta),r[2]));
draw(spherering[11], dashed);
draw(spherering[12]);
draw(spherering[21], dashed);
draw(spherering[22]);
draw(ellipse[1], dashed);
draw(ellipse[2]);
draw(project(R[1],theta)--interp(project(R[1],theta),project(R[2],theta),0.13));
draw(interp(project(R[1],theta),project(R[2],theta),0.13)--interp(project(R[1],theta),project(R[2],theta),0.76), dashed);
draw(interp(project(R[1],theta),project(R[2],theta),0.76)--project(R[2],theta));
draw(project(R[2],theta)--project(R[3],theta)--project(R[4],theta)--project(R[1],theta));label("", (-1,0.3));
label("", (1.2,-0.8));
dot(project(F[1],theta));
dot(project(F[2],theta));
//dot("", project(F[1],theta));
//dot("", project(F[2],theta));
//dot("", project(O[1],theta));
//dot("", project(O[2],theta));
//dot("", project(P[1],theta));
//dot("", project(V,theta));
//dot("", project(W[1],theta));
//dot("", project(W[2],theta));
[/asy]