CoCalc Public Filessagelets / Problem_4.htmlOpen with one click!
Author: Carl Eberhart
Views : 226
Description: A Sagemath interact to investigate quadrilaterals.
Compute Environment: Ubuntu 18.04 (Deprecated)
Sage Cell Server

Problem 4 from Quiz 2 of Wildberger's YouTube lectures on Rational Trigonometry

Problem: Suppose Q is a (convex) quadliateral with sides 5, 7, 8 and 9. Suppose also that the spread of the diagonals is 3/4. Find the diagonals of the quadrilateral. Generalize.

WildTrig Video 64

Solution: As it turns out there is no convex quadrilateral with the given sides and and a diagonal spread of 3/4. The minimum diagonal spread of a quadrilateral with sides 5,7,8,9 is approximately .7709, representing an acute angle of approximately 61.04 degrees. By changing the 5 to a 6, we can surmise from the Sage interact below that there is a unique quadrilateral with diagonal spread 3/4, although we don't know the exact quadrilateral.

A non convex quadrilateral with sides 5,7,8,9 and diagonal spread of 3/4.
If the quadrilateral is allowed to be non convex, then there are two solutions. The diagonals ACAC and BDBD are shown in red.

One solution. One solution.

Question: Find the quadrilaterals with rational diagonal spread whose sides have integer length.
There are some easy examples -- Any kite with sides of integer length. Also, any quadrilateral with integer sides can be flexed to an infinite number of positions so that the diagonal spread is rational. Note: Partial solution.

A generalization of problem 4: Given the consecutive sides a,b,c,da,b,c,d of a quadrilateral and the spread of the diagonals, determine the quadrilateral.

Discussion: As is remarked in the lecture, it is easy to prove that all you need is the 4 sides and 1 diagonal to completely determine the quadrilateral. You can also get by with the 4 sides and the angle between two adjacent sides. But, in general, four sides and the spread of the diagonals do not suffice, as you can see by experimenting with the Sage interact below.

Setup: Label the vertices of the quadrilateral A,B,C,DA,B,C,D in counterclock order with AB=aAB=a at the bottom, BC=bBC=b on the right, CD=cCD=c at the top and DA=dDA=d on the left. By relabeling, we can assume that adba\ge d \ge b and aca\ge c. By scaling, normalize the quadrilateral so that a=1a=1. Set up a coordinate system so that A=(0,0)A=(0,0) and B=(1,0)B=(1,0) and C=(x1,y1)C=(x_1,y_1) and D=(x2,y2)D=(x_2,y_2) lie above or on the xx-axis.

We can imagine the quadrilateral flexing as CC moves along a circle of radius bb about BB, starting at a triangle with sides of length a=1a=1, b+cb+c (if b+c<a+db+c \lt a+d ), and dd or a segment of length a+da+d (if b+c=a+db+c=a+d) and ending at a triangle with sides aa, bb, and c+dc+d (if b<db \lt d) or sides a+ba+b, cc, and dd (if a+b<c+da+b\lt c+d) or a segment of length a+ba+b (if a+b=c+da+b=c+d). Note that $a\lt b+c+d

This motion is controlled by the position of x1x_1, the first coordinate of CC, for we can express y1,x2,y2y_1, x_2, y_2 in terms of x1x_1: y1=b2(1x1)2y_1=\sqrt{b^2-(1-x_1)^2}, x2=(wzdisc)/(1+z2)x_2=(w\,z - \sqrt {disc})/(1+z^2) where z=x1/y1z=x_1/y_1, w=(d2c2+b21+2x1)/(2y1)w=(d^2-c^2+b^2-1+2\,x_1)/(2\,y_1), and disc=d2(1+z2)w2disc= d^2\,(1+z^2)-w^2, and y2=d2x22y_2=\sqrt{d^2-x_2^2}. We can compute the leftmost and rightmost positions of x1x_1, call them lbdlbd and ubdubd respectively. In the interact, the variable t[0,1]t\in [0,1] sets x1=(1t)lbd+tubdx_1=(1-t)\,lbd + t\,ubd and computes the quadrilateral.

Instructions: Click on the Start button to get started.

1)You can change any or all of the values for the left or right side and top.

2) At the Start, an animation of the possible positions of the quadrilateral with the given sides and top is shown.

3) To see the quadrilaterals with a given spread, put that value in the spread box and put a -1 in the tt box. Then press Update.(At the bottom)

4) To see the quadrilateral at position tt (where t=0t=0 and t=1t=1 are the extreme positions), put that value in the tt box, and put a -1 in the spread box. Then press Update.