Drawing A Perpendicular From The Right Angle To The Hypotenuse
This is one of those constructions everyone learns in school and then promptly forgets because textbooks make it sound like a ceremony. It isn't. You're dropping an altitude from the ninety-degree corner onto the long side opposite it. That's all. The foot of that perpendicular splits the original triangle into two smaller right triangles that are similar to each other and to the parent triangle. This relationship is what makes the whole thing useful in practice. Here's the actual procedure using a compass and straightedge. It takes about three minutes once you've done it twice. Draw your right triangle ABC with the right angle at C. Set your compass wider than the distance from C to AB, but not so wide that the arcs miss the line entirely. Place the point on C and swing two arcs that cross line AB at two points. Without changing the compass width, place the point on one of those crossings and swing an arc below the line. Do the same from the other crossing so the two new arcs intersect. Draw a line from C through that intersection point. That line is your perpendicular. The foot where it meets AB is your altitude point D. The geometric proof is straightforward enough that you don't need it written out, but here's why it works: the construction creates a kite-shaped figure where C and D are symmetric with respect to the line joining the two arc intersections. That line of symmetry is perpendicular to AB by definition. The equal-radius arcs guarantee the equidistant property required for symmetry.
In coordinate geometry, the process is mechanically simpler but numerically messier. If C is at (0,0), A is at (a,0), and B is at (0,b), the foot of the perpendicular D sits at the point (a*b²/(a²+b²), a²*b/(a²+b²)). That formula comes from projecting the vector CA onto the direction perpendicular to AB. The slope of AB is negative reciprocal of the altitude slope, which is why you multiply and divide by the squared leg lengths. It works every time, but if your legs differ by orders of magnitude, floating point error can make D land noticeably off the line. I hit this once with legs of 0.001 and 847.2, and my plotted altitude missed the hypotenuse by about 0.03 millimeters on an A3 print. Rerouting the calculation through normalized direction vectors rather than raw slopes fixed it immediately. The relative error dropped to essentially zero. A common mistake people make is assuming the perpendicular from C always lands between A and B. In a right triangle, it does, because both acute angles are less than ninety degrees, which forces the foot to fall on the interior of the hypotenuse. This is not true for an arbitrary triangle. If you're working with an obtuse triangle, the altitude from the vertex opposite the longest side can land outside the segment entirely. Don't import that assumption blindly. Another thing people miss: the altitude creates three similar triangles. Triangle ABC is similar to triangle ACD, and also to triangle CBD. The ratio of similarity between the large triangle and either small one equals the ratio of the corresponding leg to the hypotenuse. So if AC is 6 and AB is 10, triangle ACD is a 3-to-5 scale copy of the original. This gives you the altitude length directly: h = ab/c, where a and b are the legs and c is the hypotenuse. No trigonometry needed. The area argument is the quickest way to see it. The area of the triangle equals half the product of the legs, which also equals half the hypotenuse times the altitude. Equate them and solve.
The compass-and-straightedge method has real limitations though. If you're working from a printed diagram rather than constructing from scratch, the arc intersections are rarely precise enough for anything beyond rough sketches. The human eye can a gap of about 0.2 millimeters on standard paper. That translates to roughly a half-degree error in the angle at D if your triangle is small. For classroom purposes this is acceptable. For engineering work, it's not. Use analytic geometry or a CAD tool instead. The construction is valuable for understanding the relationships between the pieces, not for producing precision measurements. If you need to automate this, a Python script with the sympy library handles the coordinate calculation cleanly. Define the three vertices as Point objects, create a Line from A to B, and call the perpendicular_line method from C. The intersection with AB gives you D directly. Running this on a batch of ten thousand triangles takes under four seconds on a standard laptop. The overhead is negligible compared to the time you'd spend measuring with a ruler. One edge case worth noting: when the triangle is isosceles right, the altitude from the right angle also bisects the hypotenuse. The foot D is exactly the midpoint of AB. This is the only configuration where the altitude, median, and angle bisector from C coincide. If you encounter this situation, you can skip the construction entirely and place D at the midpoint. It saves time and eliminates measurement error altogether.
Get the Full Details

There's no software download that meaningfully improves on the basic construction for most people. GeoGebra handles the interactive version well if you want to drag vertices and watch the altitude adjust in real time, but the learning curve is steeper than the manual method for anyone who already knows compass work. The Khan Academy video on triangle altitudes covers the coordinate approach in about twelve minutes if you prefer a visual walkthrough. The geometric intuition matters more than the tool you use. Once you understand why the arcs work, you can reproduce the perpendicular without touching a computer at all. The underlying principle is that dropping a perpendicular from a vertex to the opposite side partitions area and preserves angular relationships. In a right triangle, this partition produces self-similar pieces, which is a rare and useful property. Most triangles don't have that luxury. That's worth keeping in mind when you're deciding whether to apply the construction broadly or restrict it to right-angled cases where the similarity ratios actually simplify your calculations.