Rational Trigonometry

A new form of trigonometry which uses quadrance and spread instead of distance and angle. It thereby removes the need for transcendental trig functions. In many cases it allows calculations which are both simpler and more accurate.

Its also much easier to learn!!

Universal Hyperbolic Geometry

Universal hyperbolic geometry is a new approach to the subject. Its main features are

  • works over a general field, not of characteristic zero. In particular there is a complete theory over the rational numbers, and also there are complete theories over a finite prime field
  • it extends the familiar Beltrami Klein model to the outside of the unit disk
  • connects more naturally with Einstein's special theory of relativity in the geometrical context of Minkowski
  • allows faster and more accurate calculations
  • allows simpler and more effective constructions
  • many new theorems

Reference: The main reference paper is the paper `Universal Hyperbolic Geometry I: Trigonometry' available on the ArXiV.

Geometer's Sketchpad worksheets and Java applets

Below you may download a number of Geometer's Sketchpad worksheets which illustrate various constructions and theorems from Universal Hyperbolic Geometry. To run these files you will need a copy of the commercially available program `The Geometer's Sketchpad'. More GSP worksheets will be added, so be sure to come back periodically and have a look.

Some of the GSP worksheets have Java applets associated to them that you can run in your browser without having Geometer's Sketchpad. These do not has as much functionality as the GSP worksheets, but still allow you to manipulate points and lines and see how configurations change. MORE JAVA APPLETS WILL BE ADDED...

These worksheets give an affine picture of the projective plane associated to the quadratic form x^2+y^2-z^2 in 3 dimensional space, via the plane z=1. This is essentially the Beltrami Klein view, in which hyperbolic points are represented by ordinary points, and hyperbolic lines are represented by ordinary lines. Points lying on the null circle are null points, and lines tangent to the null circle are null lines. Note that the constructions work equally well inside or outside the null circle.

Each worksheet shows the null circle, in blue, together with control points that allow you to change the center and size of the null circle. All worksheets come with a number of built-in programs that perform various functions, such as creating the pole (dual) of a line, or the polar (dual) of a point, or measuring a quadrance or spread. Some of the objects in a worksheet may be manually manipulated into different positions, these are usually points, and are usually in red, and labelled.

Each worksheet contains a short description of what it explains. Some of the worksheets also contain various measurements, usually of quadrance between points, of spreads between lines, or of quadreas or quadreals of triangles. These measurements are dynamic, in that they typically change as the contral points controlling the illustrations are moved. Some of them don't change, because of a theorem that states they have some fixed value.

BK1_Basics.gsp The basic setup showing the null circle, and containing all the programs.

BK1_Point_line_duality.gsp Or Java Applet for Point_line_duality Sows the duality between a (hyperbolic) point and a (hyperbolic) line.

BK2_Polar_construction.gsp OR Java Applet for Polar_construction Shows how the polar of a point is constructed using projective constructions involving the null circle.

BK3_Sides_and_vertices.gsp Shows a side, namely a set of two points, together with the corresponding perpendicular point and perpendicular line, and the opposite points and opposite lines.

BK4_Triangle_and_dual_trilateral.gsp Shows a triangle and its dual trilateral, whose points are the duals of the lines of the triangle, and whose lines are the duals of the point of the triangle.

BK5_Reflection_in_a_point.gsp OR Java Applet for Reflection_in_a_point Shows how to reflect a point in another point, which is the same as the reflection in the dual line.

BK6_Quadrances_and_spreads.gsp Calculates the three quadrances and three spreads of a triangle. Valid inside and outside the unit disk.

BK7_Pythagoras'_theorem.gsp Illustrates Pythagoras' theorem for a right triangle. This is a deformation of the Euclidean Pythagoras' theorem, with an additional quadratic term.

BK8_Triple_quad_formula.gsp Illustrates the Triple quad formula satisfied by the three quadrances formed by three collinear points. This is a deformation of the Euclidean Triple quad formula, with an additional cubic term. It also agrees with the Euclidean Triple spread formula.

BK9_Triple_spread_formula.gsp Illustrates the Triple spread formula satisfied by the three spreads formed by three concurrent lines. This is the same as the Euclidean Triple spread formula.

BK10_Thales'_theorem.gsp Illustrates Thales' theorem, which has the same form as in the Euclidean case. Note that only this particular ratio is independent of the choice of right triangle.

BK11_Midpoints_and midlines.gsp Shows how to construct the two midpoints of a side, which are perpendicular, as well as the two midlines of the side, known in Euclidean geometry as perpendicular bisectors.

BK12_Orthocenter_and_ortholine.gsp Gives a construction for the orthocenter and ortholine of a triangle. These are dual.

BK13_Circumcenters_and_circumlines.gsp A hyperbolic triangle has four circumcenters, and dually four circumlines.


Built-in GSP programs

Here is a list of the various in-built GSP programs available on the above worksheets.

Polar Constructs the dual line of a point, which is the usual polar of that point with respect to the null circle.

Pole Constructs the dual point of a line, which is the usual pole of that line with respective to the null circle.

SideEnds Constructs the perpendicular point and perpendicular line of a side, along with the opposite points and opposite lines.

TriangleDual Constructs the dual of a triangle, namely the trilateral whose lines are the dual of the points of the triangle, and whose points are the dual of the lines of the triangle.

Midpoints_of_sides Constructs the two midpoints of a side, which lie on the common line and make equal quadrances with the two points.

Midlines_of_sides Constructs the two midlines of a side. These are called perpendicular bisectors in Euclidean geometry. They are dual to the midpoints of the side.

Circumcenters_circumlines Constructs the four circumcenters of a triangle, namely the common intersections of the midlines, as well as the four circumlines, which are the common joins of the midpoints. The circumcenters and circumlines are dual.

Bilines_of_vertex Constructs the two bilines of a vertex, which pass through the common point and make equal spreads with the two lines.

Bipoints_of_vertex Constructs the two bipoints of a side. These are dual to the two bilines of the vertex.

Incenters_inlines Constructs the four incenters of a triangle, namely the common intersections of the bilines, as well as the four inlines, which are the common joins of the bipoints. The incenters and inlines are dual.

Raise_perpendicular Constructs a line through a first point perpendicular to the line joining the first point to the second point.

Drop_perpendicular Constructs a line perpendicular to the line formed by two points through a third point.

Circle_through_center_point Constructs a circle with a given center and through a given point.

Quadrance Measures the quadrance between two points.

Spread Measures the spread between two lines.

Quadrances_spreads Measures the three quadrances and the three spreads of a triangle.

Quadrea Measures the quadrea of a triangle.

Quadreal Measures the quadreal of a triangle/trilateral.

Circle_center_tangent Construct the circle with a given center and a given tangent.

Circumcircles Contructs the four circumcircles through three given points. These generally look like ellipses or hyperbolas in the BJ model, differing considerably depending on whether the center is inside or outside the null circle.

Reflection_point Consturcts a center of reflection and then reflects a point about that center.

Altitudes_Orthocenter Constructs the altitudes and the orthocenter of a triangle.