Cross sections of quadrilateral pryamids

Question: Given two convex quadrilaterals, is there a pyramid having each of these as a cross section?

[Maple OLE 2.0 Object]

pryamid1

Analysis: Let VOrABC be an arbitrary quadrilateral pyramid, with base OrABC in the xy-plane and vertex V. By translation and scaling we can assume that Or is the origin and [Maple Math] . So the three points B, C, and V determine the pyramid.

> Or := [0,0,0]: A := [1,0,0]: B := [b1,b2,0]:
C:= [c1,c2,0]: V := [v1,v2,v3]:

Now any cross-section of the pyramid is similar, by parallel translation, to one containing the origin Or. So we can fix one point of the square to be Or. Call the other vertices of the cross-section Ap, Bp, and Cp as shown in the diagram above. Since Ap is on the line through A and V we can write Ap = (1-r)A + rV, for some number r. Similarly, Bp = (1-s)B + sV and Cp = (1-t)C + tV for some numbers s and t.

> Ap := expand((1-r)*A + r*V):
Bp := expand((1-s)*B + s*V ):
Cp := expand((1-t)*C + t*V):

Since Or, Ap, Bp, and Cp all lie in the cross sectioning plane, and Ap and Cp are independent, we also know that Bp is a linear combination of Ap and Cp, say [Maple Math] for some numbers s1 and s2.

> eqn := expand(Bp-(s1*Ap+s2*Cp));

[Maple Math]
[Maple Math]

There are three (linear) equations in s, s1, and s2. These can be solved directly with 'solve'.

> sol:=solve({op(eqn)},{s1,s2,s});

[Maple Math]
[Maple Math]
[Maple Math]

>

This shows that s, s1, and s2 are functions of r and t, given that b1, b2, c1, and c2 are constants. Note that v1 and v2 do not appear in the expressions for s, s1, and s2 given in sol.

> indets(eqn),indets(sol);

[Maple Math]

>

Also, notice that there is a denominator %1 in sol. When %1 = 0, the system has no solution.

>

We are left with 4 variables, v1, v2, r, and t. The idea is we want to choose values for these so that Or Ap Bp Cp is a square. What are the equations which force Or Ap Bp Cp to be a square? First it must be the case that [Maple Math] , that is [Maple Math] and [Maple Math] .

> eq1 := s1 =1;
eq2 := s2 = 1;

[Maple Math]

[Maple Math]

These equations taken together say that Or Ap Bp Cp is a parallelogram. To get a square, we need two other conditions: Or Ap and Or Ap have the same length (equation 3) and are perpendicular (equation 4).

> eq3 := Ap[1]^2+Ap[2]^2=Bp[1]^2+Bp[2]^2;

[Maple Math]

> eq4 := Ap[1]*Bp[1]+Ap[2]*Bp[2] ;

[Maple Math]

Now solve these 4 equations for the 4 variables r, t, v1 and v2 in terms of b1,b2, c1, and c2.

> sln :=solve(subs(sol,{eq1,eq2,eq3,eq4}),{v1,v2,r,t});

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> indets([sln]);

[Maple Math]

There are two solutions to this system. Each solution contains two denominators, %1 and %2. When either of these is 0, the system of equations does not have a solution.

Here is a word which draws a picture of the square cross section of the pyramid with base Or A B C.

> cross_section := proc(h,x,y,z,w,i)
local vars, vars2, vert, quad2, quad1, rays;
vars :=subs({b1=x,b2=y,c1=z,c2=w},sln[i]);
vars2 := subs({b1=x,b2=y,c1=z,c2=w,op(vars)},sol);
vert := subs([v3=h,b1=x,b2=y,c1=z,c2=w,op(vars2),op(vars)],[v1,v2,v3]);
quad2 :=plots[polygonplot3d](
subs([v3=h,b1=x,b2=y,c1=z,c2=w,op(vars2),op(vars)],
[Or,Ap, s1*Ap+s2*Cp,Cp]),style=patch,color=tan,scaling=constrained);
quad1 :=plots[polygonplot3d](
subs([v3=h,b1=x,b2=y,c1=z,c2=w,op(vars2),op(vars)],
[Or ,A,B,C]),style=patch,color=grey,scaling= constrained);
rays := plots[polygonplot3d](
subs([v3=h,b1=x,b2=y,c1=z,c2=w,op(vars2),op(vars)],
{[[0,0,0],vert],[A,vert],[Ap,vert],[B,vert],[Bp,vert],[C,vert],[Cp,vert]}),
thickness=2,color=blue);
plots[display]([rays,quad1,quad2]);
end:

Here is a display showing that for a given height and base, there are two distinct square cross sections.

> plots[display]([cross_section(1,2,3,0,1,1),
cross_section(1,2,3,0,1,2)]);

[Maple Plot]

This picture shows that when the quadrilateral is not convex, the square has three vertices on the reflection of the pyramid through its vertex.

> cross_section(1,1/2,1/2,0,2,1);

[Maple Plot]

Exercises

Exercise: Solve these equations for s, s1, and s2 by elimination. That is, solve eqn[1] for s and substitute that into eqn[2]. Then solve eqn[2] for s1 and substitute that and the value for s into eqn[3]. Then solve eqn[3] for s2, and substitute that into the values for s and s2. Check your result by substituting that back into the original equations.

Solution.

First solve eqn[1] for s.

> ssln := solve(eqn[1],s);

[Maple Math]

Then substitute that value for s into eqn[2] and solve the result for s1.

> s1sln := solve(subs( s=ssln,eqn[2]),s1);

[Maple Math]
[Maple Math]
[Maple Math]

Then substitute that value for s1 into

> ssln := simplify(subs(s1=s1sln,ssln));

[Maple Math]
[Maple Math]
[Maple Math]

> eqn;

[Maple Math]
[Maple Math]

> s2sln := solve(subs({s=ssln,s1=s1sln},eqn[3]),s2);

[Maple Math]

> ssln := simplify(subs(s2=s2sln ,ssln));

[Maple Math]

> s1sln := simplify(subs(s2=s2sln,s1sln));

[Maple Math]

Checking, we see the equations are satisfied.

> simplify(subs({s=ssln,s1=s1sln,s2=s2sln},eqn));

[Maple Math]

Table of Contents