Barycentric coordinates provide a simple method. Let we assume that our triangle is $ABC$ and the side lengths are $a,b,c$. $a,b,c$ can be easily computed from the Pythagorean theorem, and the following barycentric coordinates
$$ I=[a,b,c],\qquad O=[a^2(b^2+c^2-a^2),b^2(a^2+c^2-b^2),c^2(a^2+b^2-c^2)]$$
$$ H=\left[\frac{1}{b^2+c^2-a^2},\frac{1}{a^2+c^2-b^2},\frac{1}{a^2+b^2-c^2}\right] $$
that we may summarize as $P=[p_a,p_b,p_c]$, give the vector identity
$$ P = \frac{p_a A+p_b B+p_c C}{p_a+p_b+p_c}$$
from which it is straightforward to compute the cartesian coordinates of $P$ from the coordinates of $A,B,C$. It is interesting to point out that Euler's theorem gives a further shortcut, since $3G=A+B+C=2O+H$ allows us to compute the coordinates of $H$ from the coordinates of $O$ (or the opposite) in a very simple way.
Here, as usual, $G,I,O,H$ stand for the centroid, incenter, circumcenter and orthocenter of a triangle. The derivation of their barycentric coordinates is straightforward from the computation of their trilinear coordinates, i.e. from the computation of their distances from the triangle sides in terms of $a,b,c$.
About your second question: up to reflections we may assume that $A$ lies on the positive $x$ axis, $B$ lies on the positive $y$ axis and $C$ lies on the positive $z$ axis. We are claiming that the projection of $O$ on the $ABC$-plane $\pi$ is given by the orthocenter of $ABC$. Let we denote such projection with $P$ and consider the plane $\pi_A$ through $O,A,P$. By minimality of $OP$, $\pi_A$ has to be orthogonal to the $BC$ line: otherwise, it would be possible to move a bit the $\pi_A$ plane and decrease the distance between $O$ and $\pi\cap\pi_A$. It follows that $\pi\cap\pi_A$ is orthogonal to $BC$, and by repeating the same argument we get that $P$ is the orthocenter of $ABC$.
Case 1. Acute triangle.
Let $ABC$ be an acute triangle and $I$, $O$, $H$ are its incenter, circumcenter and orthocenter, respectively. Note that points $I$, $O$ and $H$ are inside triangle $ABC$.
We will prove that $I$, $O$ and $H$ are collinear iff $ABC$ is isosceles or equilateral. Indeed, suppose that $O$, $I$ and $H$ are collinear but $\triangle ABC$ is scalene. Recall that rays $AO$ and $AH$ are symmetric with respect to angle bisector of $\angle BAC$. Hence, angle bisectors of angles $OAH$ and $BAC$ coincide, so $AI$ bisects angle $AOH$. Since $I\in OH$ we have
$$
\frac{AO}{AH}=\frac{IO}{IH}
$$
due to angle bisector theorem for $\triangle AOH$.
Similarly, we obtain that
$$
\frac{AO}{AH}=\frac{BO}{BH}=\frac{CO}{CH}=\frac{IO}{IH}.
$$
Finally, note that $AO=BO=CO$, so the last equality implies $AH=BH=CH$. Thus, $O$ and $H$ are distinct circumcenters of triangle $ABC$ which is impossible.
Therefore, in acute triangle $O$, $I$ and $H$ are collinear iff $\triangle ABC$ has equal sides.
Case 2. Obtuse (or right) triangle.
Suppose that in $\triangle ABC$ we have $\angle C\geq 90^{\circ}$. In this case we still can apply the previous argument to triangles $AOH$ an $BOH$ (because rays $AO$ and $AH$ are still symmetric with respect to $AI$; the same for rays $BO$, $BH$ and $BI$). Thus,
$$
\frac{AO}{AH}=\frac{BO}{BH}=\frac{IO}{IH}.
$$
However, it means that $AH=BH$, so $AB=BC$, so triangle $ABC$ is isosceles, as desired.
Best Answer
That is a consequence of the Theorem of Three Perpendiculars.
Let $O$ be the origin: $AO$ is perpendicular to plane $OBC$ and, as a consequence of the above theorem, the projection $D$ of $O$ on line $BC$ is also the foot of the altitude $AD$ in triangle $ABC$.
On the other hand, if $H$ is the projection of $O$ on plane $ABC$, then by the same theorem $HD$ is perpendicular to line $BC$. It follows that $H$ lies on altitude $AD$.
But the argument can be repeated for the other vertices of $ABC$, hence $H$ also lies on the other altitudes of the triangle, and is therefore the orthocentre of $ABC$.