This picture shows the orthocenter, the circumcircle and the incircle of an affine triangle.

You say circle don't you ???
Yes ! There are two ways of looking at this drawing :

Through any affine transform of the usual Euclidean pattern.

Directly as is, by choosing a non standard metric structure.

That is, given any coordinate system (Ox^{>},Oy^{>})
we can define a distance d from the scalar product d² = AB^{>}.AB^{>}
which with the usual scalar product xx' + yy' gives d² = x² + y².

But any bilinear form for the scalar product works !

Despite the (apparent) distorsion of the figures, many properties and triangle centers
appear to be just affine properties, hence don't depend on the choosen metric structure.

The "angle bisectors" and the "perpendicular bisectors" intersect on the circumcircle for
instance (even if they don't look like what they are).

Given any triangle ABC, let's **choose** any point H,
then **state** that this point is ... orthocenter !

This is always possible, and defines then all the sequel, by defining the metric structure
used in this affine plane.

However, to be not completely lost, it's better not to choose an hyperbolic structure
(in which circles look like hyperbolas !)
and restrict point H in the "allowed" regions.

The "altitudes" are by definition "perpendicular" to the sides (in this metric, defined by this unusual scalar product).

We shall now consider constructing all other triangle centers,
from only affine methods : dilations, parallels...

The "circles" just can't be drawn with a usual compass.
We then carefully avoid to construct intersections of circles and lines.

More precisely, we'll restrict to construct intersections of lines with **conic sections**,
only when these conic sections may be **arbitrarily choosen**,
hence that we may then **choose** as drawable with our usual compass, that is look like circles.

In the affine plane, ratio of distances on a same line are invariant,
hence specifically the midpoints of sides, the medians and the centroid G,
constructed "as usual" without any problem.

We might wonder how to draw the midpoint without a compass, using just parallels :

no problem, the diagonals of a parallelogram intersect in their midpoint.

We get then the perpendicular bisectors as "perpendicular" to sides,
that is parallel to the "altitudes" defined by point H.

This gives the circumcenter O.

We also may get point O from intersecting GH (Euler line)
with the parallel from M_{b} to BH_{b} (which is the perpendicular bisector).

Remains to draw the "circumcircle" itself, which looks like a conic section (an ellipse) through A,B,C with center O.

In the applet, the conic section is drawn by constructing two other points,
for instance the symmetric of orthocenter to feet of altitudes.
(or the symmetric of B and C to O).

Symmetric of points can be obtained with parallels only, using the already constructed midpoints of sides :

The parallel to HaMb from A intersects BC in N.
The parallel to NH from C intersects AH in a, symmetric of H to Ha.

We get then a conic section defined by 5 points that we can draw "with the straightedge"
(projective construction from the Pascal theorem).

An important note : all the "circles" in the affine plane are similar to this one.

We can then easily draw other circles from this one by a simple dilation.

We already get many properties : the symmetric of orthocenter through the foot of altitude is on the circumcircle, Euler circle and line, etc... which are obtained by only affine operations (dilations and parallels).

We then care of the incircle. The problem being the "angle bisectors".

As seen in the example, they don't look like what they are, and we have to find affine properties.

We could as well use the above mentionned property of angle bisectors and
perpendicular bisectors intersecting on the circumcircle,
but the intersection with a conic section representing the circumcircle is not so easy...
Even if it is among the "basic affine construction", this is not offered in the (Euclidean) tools available in the applet.

The tangential triangle A'B'C' (tangent to circumcircle in the vertices) is parallel to the orthic triangle HaHbHc,
hence can easily be constructed.

This allows to construct the Lemoine point, intersection of symmedians,
without angle constructions but with a purely affine method :
the Lemoine point K is the intersection of lines AA', BB', CC',
A'B'C' being the tangential triangle (that is these lines **are** the symmedians).

This Lemoine point is not very important by itself, but just may be
used to construct the angle bisectors :

The Lemoine point K is the isogonal conjugate of centroid G.

We have another couple of isogonal conjugates :
H and O. This then "defines" the isogonality.

The Isogonal relation defines an involution of the pencil of lines through A.

The angle bisectors are then the invariant lines in this involution.

A projective point of view allows to construct them :
Let's project this pencil on any conic section through A,

of course we choose this arbitrary conic section as being drawable with an ordinary compass,
hence looking like a circle.

This involution on the conic section is defined by two couples of homologuous points,
the projections of (O→o, H→h) and of (K→k, G→g).

We construct the axis xx' of this involution with x = ok∩gh and x' = og∩kh

It intersects the conic section (circle) in the invariant points u and v.

Au and Av are then the angle bisectors of angle A.

If A,O,H are in line, the triangle is "isosceles" and the angle bisector is directly line AH.

The external angle bisector is in this case parallel to BC.

We similarily construct the angle bisector of B and we get the incenter I.

As stated above, the incircle is then drawn by a dilation of the circumcircle.

Two parallel radii of these circles are OUa and IXa, Ua intersection of perpendicular bisector
and angle bisector (on the circumcircle),
Xa is the contact point, projection of I on BC in parallel direction from altitude.

This gives the dilation center as intersection of OI and UaXa.

In the applet, points A,B,C,H are of course draggable.

When constructing the angle bisector, the yellow draggable point chooses the free circle (alias conic section)
going through A.

We shall here construct this affine transform.

We shall define it as a product of a shear and a stretch.

The transform is choosen as holding BC invariant.

We search the shear, hence parallel to BC, which transforms the "altitude" AH_{a}
into a true perpendicular.

A is then transformed into A', intersection of the parallel to BC
from A and the perpendicular to BC in H_{a}.

The transform of any point by this shear is easy obtained from the following construction :

MA intersects BC in I. Then IA' and a parallel to BC from M intersect in M'.

For points on a parallel to BC through A, this construction fails,
but it is then a simple translation by AA'^{>}

To find now a stretch perpendicular to BC which yields CH_{c} perpendicular to AB.

The perpendicular from H'_{c} to BC intersects the circle with diameter BC in H"_{c}

This defines the stretch ratio as KH"_{c}/KH'_{c}.

Now we have the corresponding A"BC in the transform from our "weird" orthocenter ABCH into an Euclidean one A"BCH".

The "usual" (Euclidean) constructions on A"BC can then be performed,
and the inverse transform defined by A" → A transforms the Euclidean figure into the affine one.

This inverse transform A" → A is the inverse stretch in ratio H_{a}A'/H_{a}A",
followed by the inverse shear A' → A.

The inverse stretch of M" → M' is done by similar triangles IM"M' and IA"A',

I being the intersection of M"A" with the fixed line BC.

Then the inverse shear M'→M by similar triangles IM'M and IA'A.

The two transforms can then be combined into M"→M :

Line M"A" intersects BC in I.

Line IA and a parallel from M" to A"A intersect in M.

Constructing then all affine centers and "circles" from the Euclidean ones is easy, but tedious.