Of spreads and quadrances

dzach 2005-Sept-29: An interesting article about a new book, DIVINE PROPORTIONS: Rational Trigonometry to Universal Geometry, by N J Wildberger, appeared recently in [2 ]. Here [1 ] is the wikipedia reference to the subject.

In the sample chapter available for review [3 ] the author gives a definition of the terms spread and quadrance. In simple words, the spread is an expression of the separation of two lines ( spread = (sin(angle))**2 ) which "replaces" the angle of classic trigonometry in rational trigonometric calculations, while the quadrance is the square of a distance.

Mathematically inclined minds may add more useful applications in this page. Here is a first take on how to find the spread between two lines, using tcl.

 # Find the spread based on the coordinates of three points P0, P1, P2, which define lines |P0,P1| and |P0,P2|
 #
 #                   P1
 #                  /
 #                 /
 #                /|
 #               / |
 #            P0/  |
 #              \  | spread S0
 #               \ |
 #                \|
 #                 \
 #                  \
 #                   P2
 #
 # use point coordinates to find quadrance 
 proc Qc {x1 y1 x2 y2} {
        return [expr {pow($x2-$x1,2)+pow($y2-$y1,2)}]
 }
 #
 # use side length to find quadrance
 proc Qs sd {
        return [expr {pow($sd,2)}]
 }
 # find spread given coordinates
 proc Sc {x0 y0 x1 y1 x2 y2} {
        # find the quadrances of each side of triangle P0-P1-P2 formed by the points P0,P1,P2
        set q0 [Qc $x2 $y2 $x1 $y1]
        set q1 [Qc $x0 $y0 $x1 $y1]
        set q2 [Qc $x0 $y0 $x2 $y2]
        # use the Cross law to find S0
        return [expr {1-pow($q1+$q2-$q0,2)/(4.0*$q1*$q2)}]
 }
 #
 # find spread given sides
 proc Ss {sd1 sd2 sd3} {
        set q1 [Qs $sd1]
        set q2 [Qs $sd2]
        set q3 [Qs $sd3]
        # use the Cross law to find S1
        set res [expr {1-pow($q2+$q3-$q1,2)/(4.0*$q2*$q3)}]
        if {$res>=0 && $res <=1.0} {
                return $res
        } else {
                error "This triangle cannot exist!"
        }
 }

Examples:

Assume three points P0(0,0), P1(5,0) and P2(10,10), which define a horizontal line |P0,P1| and a slanted line |P0,P2|. The angle between the two lines is 45deg . The spread S0 will be:

 % Sc 0 0 5 0 10 10
 0.5

Other examples:

 % Sc 0 0 50 0 100 75
 0.36
 % Sc 0 0 5 0 10 20
 0.8

Assuming a triangle with sides 4, 5 and 6 units, find the spread opposite to side measuring 4 units (part of an example appearing in the sample chapter of the book mentioned above):

 % Ss 4 5 6
 0.4375

Assuming a triangle with sides 3, 4 and 5 units, find the spread opposite to side measuring 4 units:

 % Ss 3 4 5
 0.36

and for the other sides:

 % Ss 4 5 3
 0.64

 % Ss 5 3 4
 1.0

This last one says that the spread opposite to side 5 corresponds to a right angle.

More on this subject as soon as the book arrives and is read :-).