Euclidean geometry
Basic
-
Line at infinity
-
Two special points and on play an important role in Euclidean Geometry:
- ,
-
-
-
If we choose another line as line of infinity
Rational Trigonometry in Euclidean geometry
Notations
- To distinguish with Euclidean geometry, points are written in capital letters.
Quadrance and Spread in Euclidean geometry
-
The quadrance between points and is:
-
The spread between lines and is:
-
The cross between lines and is:
Triple formulate
-
Let , and are points with , and . Let , and are lines with , and .
-
Theorem (Triple quad formula): If , and are collinear points then
-
Theorem (Triple spread formula): If , and are concurrent lines then
Spread Law
-
Suppose that triangle form quadrances , and , and it dual trilateral form spreads , and . Then:
-
Theorem (Spread Law)
-
(Compare with the sine law in Euclidean Geometry):
Cross Law
-
Theorem (Cross law)
-
(Compare with the Cosine law)
Right triangles and Pythagoras
-
Suppose that is a right triangle with . Then
-
Theorem (Thales)
-
Theorem (Pythagoras)
Archimedes' function
-
Archimedes' function
-
Non-symmetric but more efficient version:
Theorems
- Theorem (Archimedes' formula): If , and , then =
Theorems (cont'd)
-
Theorem: As a quadratic equation in , the TQF can be rewritten as:
-
Theorem: The quadratic equations and has a common solutions iff
Heron's formula (Hero of Alexandria 60BC)
- The area of a triangle with side lengths is where is the semi-perimeter.
{#fig:heron}
Archimedes' theorem
-
The area of a planar triangle with quadrances is given by
-
Note: Given . The area is maximum precisely when .
Brahmagupta's formula (convex)
-
Brahmagupta's theorem: where
-
Preferred form: =
Quadratic compatibility theorem
-
Two quadratic equations are compatible iff or
-
In this case, if then there is a unique sol'n:
Quadruple Quad Formula
-
Quadruple Quad Formula
-
Note that
can be computed efficiently as:
Brahmagupta's formula
-
Brahmagupta's formula (convex): =
-
Robbin's formula (non-convex): =
-
Brahmagupta's identity
Cyclic quadrilateral quadrea theorem
where
Ptolemy's theorem & generalizations
-
Claudius Ptolemy: 90-168 A.D. (Alexandria) Astronomer & geographer & mathematician
-
Ptolemy's theorem If is a cyclic quadrilateral with the lengths and diagonal lengths , then [Actually needs convexity!]
Ptolemy's theorem
{#fig:Ptolemy}
Exercise
-
Ex. , , ,
-
Then the quadrances are:
-
The diagonal quadrances are:
Ptolemy's theorem (rational version)
-
Ptolemy's theorem (rational version): If _ is a cyclic quadrilateral with quadrances then
-
Ex. For , , , with
-
we can verify directly that .
-
Note that with the rational form of Ptolemy's theorem, the three quantities appear symmetrically: so convexity of the cyclic quadrilateral is no longer required!
Proof of Ptolemy's theorem
Sketch of the proof:
- Without loss of generality, we can assume that the circle is a unit circle.
- Recall that a point on a unit circle can be parameterized as: where and are not both zero.
- Let .
- Express in terms of 's and 's
- Express in terms of 's and 's.
- Simplify the expression and derive that it is equal to 0. (we may use the Python's symbolic package for the calculation. It took about 8 minutes on my computer :-)
🐍 Python Code
import numpy as np
from fractions import *
from proj_geom import *
def quad1(x1, z1, x2, z2):
if isinstance(x1, int):
return (Fraction(x1,z1) - Fraction(x2,z2))**2
else:
return (x1/z1 - x2/z2)**2
def quadrance(a1, a2):
return quad1(a1[0], a1[2], a2[0], a2[2]) + \
quad1(a1[1], a1[2], a2[1], a2[2])
def uc_point(lambda1, mu1):
return pg_point([lambda1**2 - mu1**2,
2*lambda1*mu1, lambda1**2 + mu1**2])
def Ar(a, b, c):
''' Archimedes's function '''
return (4*a*b) - (a + b - c)**2
🐍 Python Code
if __name__ == "__main__":
import sympy
sympy.init_printing()
lambda1, mu1 = sympy.symbols("lambda1 mu1", integer=True)
lambda2, mu2 = sympy.symbols("lambda2 mu2", integer=True)
lambda3, mu3 = sympy.symbols("lambda3 mu3", integer=True)
lambda4, mu4 = sympy.symbols("lambda4 mu4", integer=True)
a1 = uc_point(lambda1, mu1)
a2 = uc_point(lambda2, mu2)
a3 = uc_point(lambda3, mu3)
a4 = uc_point(lambda4, mu4)
q12 = quadrance(a1, a2)
q23 = quadrance(a2, a3)
q34 = quadrance(a3, a4)
q14 = quadrance(a1, a4)
q24 = quadrance(a2, a4)
q13 = quadrance(a1, a3)
t = Ar(q12*q34, q23*q14, q13*q24)
t = sympy.simplify(t)
print(t) # get 0
Backup
> pandoc -t latex -F pandoc-crossref -o temp2.svg .\01proj_geom.md .\02ck_geom.md .\03RT.md .\04RT_2.md latex.yaml .\crossref.yaml
> pandoc -t beamer -F pandoc-crossref -o temp2.svg .\01proj_geom.md .\02ck_geom.md .\03RT.md .\04RT_2.md beamer.yaml .\crossref_2.yaml