How to find the height of a triangle in JavaScript if you only have the 3 vertexes/points of the triangle.
Assuming that XY are the top of your triangle, and X1Y1, X2Y2 are the other two points, you can find the height of the triangle using Pythagorean theorem. This method works for Isosceles or Equilateral triangles.
// Pythagorean theorem for isosceles or equilateral triangle var getTriangleHeight = function(x, y, x1, y1, x2, y2){ var b = Math.sqrt(Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2)) /2; var c = Math.sqrt(Math.pow(x1-x, 2) + Math.pow(y1-y, 2)); return Math.sqrt((c*c)-(b*b)); };
2 Comments
You might already realize this, but you can save two sqrts and two multiplies in that code. Since you know that the contents of the sqrts in b and c will *always* be positive, you can just leave them squared and calculate your answer directly from them:
var b2 = (Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2)) /4; // note the 4
var c2 = Math.pow(x1-x, 2) + Math.pow(y1-y, 2);
return Math.sqrt(c2 – b2);
You could also probably save some cycles avoiding pow() or rearranging some things, but it wouldn’t really be worth it unless this is called from an inner loop.
Check out point/line distance algorithms if you’re interested in the general case.
Great site. Cheers!
Thanks Brendan I will check that out and update this later. This is why I love blogging!