# Triangle

To construct a triangle with vertices on given lines and sides through given points.
That is vertex A on line (p), vertex B on line (q), vertex C on line (r)
Side AB through P, BC through Q and AC through R

Chosing any point A on (p) defines a corresponding point B on (q) with AB through P (projection of line (p) to line (q) through point P)
Then B→C on (r) through Q, then C→A' on (p) through R.
This defines a projective homography A→A' on line (p)
This homography is defined by three pairs of corresponding points, that is A1→A'1, A2→A'2 A3→A'3 with any choice of A1 A2 A3.
We get a solution when A = A' that is for the fixed points of this homography.
To construct these fixed points, we project the homography A→A' on (p) onto any circle, through any point S on this circle. This defines the projected homography a→a' on the circle.
Let a1→a'1 and a2→a'2 be any two pairs of corresponding points in this homography. Then I = a1a'2∩a2a'1 lies on a fixed line, the axis of homography. So that we can construct this from the intersections I and J of two such pairs.
The fixed points of the homography on the circle are the intersections of this axis with the circle, if any.
These fixed points x and y are projected back through S onto line (p) to get the two solutions, if any.

In the applet, of course the points P,Q,R, pp', qq', rr' defining the given lines and points are dragable.
The homography is defined by the dragable points A1 A2 A3 on (p)
Points W and S chose the arbitrary circle.

Sorry, your browser is not Java compliant.

Exchanging the role of P,Q,R may yield other solutions.
For instance, without any other change, if we want AB through Q and BC through P instead of the opposite.
The applet doesn't construct these alternate statements.