MathOverflow will be down for maintenance for approximately 3 hours, starting Monday evening (06/24/2013) at approximately 9:00 PM Eastern time (UTC-4).

3 added 644 characters in body

The spherical and hyperbolic versions may be proved in a uniform way.

Consider the cross product $\times$ on $\mathbb{R^3}$ or on $\mathbb{R}^{2,1}$. If the vertices of the triangle are $a,b,c$ thought of as vectors in the unit sphere or hyperboloid, then the line through $a,b$ is perpendicular to $a\times b$, etc. The altitude of $c$ to $\overline{ab}$ is the line through $c$ and $a\times b$, which is perpendicular to $c\times (a\times b)$. The intersection of two altitudes is therefore perpendicular to $c\times (a\times b)$ and $a\times (b\times c)$, which is therefore parallel to $(c\times (a\times b))\times (a\times (b\times c)))$. But by the Jacobi identity, $a\times (b\times c) = -c\times (a\times b) -(b\times (c\times a))$, so this is parallel to $-(c\times (a\times b)) \times (b\times (c\times a))$, which is parallel to the intersection of two other altitudes, so the three altitudes intersect.

The Euclidean case is a limit of the spherical or hyperbolic cases by shrinking triangles down to zero diameter, so I think this gives a uniform proof.

Addendum: There are some degenerate spherical cases, when $a\times(b\times c)=0$. This happens when there are two right angles at the corners $b$ and $c$. In this case, two altitudes will be the interval $\overline{bc}$, and the other can be any geodesic going through $a$. If all three angles are right angles, then all three cross products are zero, and altitudes don't necessarily meet (although certainly there are triples of altitudes which intersect at any point on the sphere).

In the hyperbolic case, the orthocenter might lie outside of hyperbolic space, or at its boundary. See jc's links in the comments for a discussion.

The spherical and hyperbolic versions may be proved in a uniform way.

Consider the cross product $\times$ on $\mathbb{R^3}$ or on $\mathbb{R}^{2,1}$. If the vertices of the triangle are $a,b,c$ thought of as vectors in the unit sphere or hyperboloid, then the line through $a,b$ is perpendicular to $a\times b$, etc. The altitude of $c$ to $\overline{ab}$ is the line through $c$ and $a\times b$, which is perpendicular to $c\times (a\times b)$. The intersection of two altitudes is therefore perpendicular to $c\times (a\times b)$ and $a\times (b\times c)$, which is therefore parallel to $(c\times (a\times b))\times (a\times (b\times c)))$. But by the Jacobi identity, $a\times (b\times c) = -c\times (a\times b) -(b\times (c\times a))$, so this is parallel to $-(c\times (a\times b)) \times (b\times (c\times a))$, which is parallel to the intersection of two other altitudes, so the three altitudes intersect.

The Euclidean case is a limit of the spherical or hyperbolic cases by shrinking triangles down to zero diameter, so I think this gives a uniform proof.

1

The spherical and hyperbolic versions may be proved in a uniform way.

Consider the cross product $\times$ on $\mathbb{R^3}$ or on $\mathbb{R}^{2,1}$. If the vertices of the triangle are $a,b,c$ thought of as vectors in the unit sphere or hyperboloid, then the line through $a,b$ is perpendicular to $a\times b$, etc. The altitude of $c$ to $\overline{ab}$ is the line through $c$ and $a\times b$, which is perpendicular to $c\times (a\times b)$. The intersection of two altitudes is therefore perpendicular to $c\times (a\times b)$ and $a\times (b\times c)$, which is therefore parallel to $(c\times (a\times b))\times (a\times (b\times c)))$. But by Jacobi, $a\times (b\times c) = -c\times (a\times b) -(b\times (c\times a))$, so this is parallel to $-(c\times (a\times b)) \times (b\times (c\times a))$, which is parallel to the intersection of two other altitudes, so the three altitudes intersect.

The Euclidean case is a limit of the spherical or hyperbolic cases by shrinking triangles down to zero diameter, so I think this gives a uniform proof.