С высотой проще всего так: возьмите координаты двух вершин и запишите в стандартном параметрическом виде прямую, проходящую через эти вершины. Из произвольной точки этой прямой (зависящей от параметра

) вычтите координаты третьей вершины. Получите параметрическое задание вектора, опущенного из вершины на прямую. Затем запишите скалярное произведение этого вектора с вектором прямой и приравняйте к нулю. Получите линейное уравнение на параметр, которое даст точку, в которую следует провести высоту.