Goal
Find the Cartesian orthocenter of a non-collinear triangle from its three ordered vertices.
Worldwide context
Saved once here, used across the site.
Currency changes display only. Country selection guides tax input; no tax rate is guessed.
Find the Cartesian orthocenter of a non-collinear triangle from its three ordered vertices.
H = A + B + C - 2O, where O is the circumcenter of the same non-collinear triangle.A clearer path to an answer
This page keeps the calculation transparent: define the goal, enter the matching values, inspect the method, and decide what the result means in your situation.
Find the Cartesian orthocenter of a non-collinear triangle from its three ordered vertices.
Vertex A x1 · Vertex A y1 · Vertex B x2 · Vertex B y2 · Vertex C x3 · Vertex C y3
H = A + B + C - 2O, where O is the circumcenter of the same non-collinear triangle.
Calculate, review the assumptions below, then compare a related tool when the decision needs more context.
Find the Cartesian orthocenter of a non-collinear triangle from its three ordered vertices.
Open the Orthocenter of a 2D Triangle pageMore math tools
Download PDFDownload Word (.doc)
Enter your values above and choose Calculate to see the result here.
Calculation map
H = A + B + C - 2O, where O is the circumcenter of the same non-collinear triangle.
Bounded, transparent calculation
Your recent runs stay in this browser session only.
Formula: H = A + B + C - 2O, where O is the circumcenter of the same non-collinear triangle.
The orthocenter is the common intersection of the three altitudes. For a non-collinear Cartesian triangle, it can be computed transparently from the vertices and their circumcenter.
Worked example: The orthocenter is (0, 0), the right-angle vertex.
The displayed limits are checked before the handler runs. Model-specific domain checks may also reject impossible or non-finite inputs.
Methodology: This calculator follows the WorldCalculate input, formula, precision, and boundary policy. Read the official methodology.
Calculator usage statistics
This section counts anonymous successful Calculate submissions, not unique visitors. Counts and top tools appear only when trusted aggregate data is available; country analysis is shown only under the same condition and reporting threshold.
Answer-first guide
Find the Cartesian orthocenter of a non-collinear triangle from its three ordered vertices. Start with one clearly defined goal, enter values in the units shown, and keep the result attached to the assumptions below.
This tool is useful when your question includes orthocenter of triangle, triangle orthocenter, altitude intersection. It returns the outputs declared in the calculator contract rather than a live quote, approval, diagnosis, or professional sign-off.
Vertex A x1 · Vertex A y1 · Vertex B x2 · Vertex B y2 · Vertex C x3 · Vertex C y3. Keep the same time period, unit system, and currency wherever the form requires comparable values.
Run the worked example first, compare its output with the page's example, then change one input at a time. This makes an unexpected result easier to trace to a unit, boundary, or assumption.
Need a wider view? Browse Math Calculators or compare the related tools below. The WorldCalculate methodology explains how formulas, examples, limits, and revisions are reviewed.
H = A + B + C - 2O, where O is the circumcenter of the same non-collinear triangle.
The orthocenter is the common intersection of the three altitudes. For a non-collinear Cartesian triangle, it can be computed transparently from the vertices and their circumcenter.
The orthocenter is (0, 0), the right-angle vertex.
Context and background
Math calculators move from named quantities to a relation, then to a result that can be checked with substitution, units, or an alternate form.
Arithmetic, algebra, geometry, trigonometry, and number theory provide reusable structures for classroom work and everyday reasoning. Each page narrows that structure to one declared problem.
Research and review
Researched by Hassan ALRowaie, Founder and editorial researcher at WorldCalculate.
This guide follows the live calculator's declared inputs, formula, worked example, assumptions, validation boundaries, and source-backed methodology. The review date describes editorial review of the calculator explanation; it is not a promise that external facts or rates remain current.
The orthocenter of a triangle is the common point where its three altitudes meet. This calculator accepts the ordered Cartesian coordinates of vertices A, B, and C and returns the orthocenter coordinates. It first determines the circumcenter of the same non-collinear triangle and then uses the identity H = A + B + C - 2O. The result is valid for acute, right, and obtuse triangles, although its location changes relative to the triangle. The page does not draw altitude segments, fit a noisy triangle, convert geographic coordinates, or infer a physical object boundary. This guide explains the vertex contract, altitude geometry, circumcenter identity, examples, degeneracy and precision rules, verification, related centers, and safe limits.
An altitude is a line through a vertex perpendicular to the opposite side. In a non-collinear triangle, the three altitude lines meet at one common point called the orthocenter. The calculator returns that point as an ordered pair (Hx, Hy) in the same Cartesian coordinate system as the vertices. It does not return the altitude lengths, foot points, or a drawing of the lines.
The orthocenter can be inside the triangle, at a vertex, or outside it. In an acute triangle it lies inside. In a right triangle it is the vertex of the right angle because the two legs are already perpendicular to the opposite sides. In an obtuse triangle it lies outside. These location changes are expected and do not indicate a failed formula.
The three vertices are labeled A, B, and C so the input and derivation remain traceable. A cyclic or reversed ordering of the same point pairs should preserve the final orthocenter, although intermediate orientation values can change sign. Changing a coordinate without its paired coordinate changes the triangle and should not be described as a reorder.
The model is ordinary flat Euclidean geometry. If the coordinates are geographic longitude and latitude, points on a curved surface, or locations in a non-orthogonal drawing, the altitude and perpendicular definitions may need a different metric. The calculator does not detect or transform those coordinate systems.
Enter x1 and y1 for vertex A, x2 and y2 for vertex B, and x3 and y3 for vertex C. Each x coordinate must stay paired with the y coordinate carrying the same suffix. The form uses vertex labels to prevent a common error in which a coordinate from one vertex is combined with a coordinate from another. Record the three pairs explicitly before entering them.
All six numeric fields accept finite values from negative 1,000,000 through positive 1,000,000. Negative, zero, and fractional coordinates are valid. The visible field bounds are repeated by the pure handler. Blank values, strings supplied directly, infinity, not-a-number, and out-of-range coordinates are rejected before the triangle equations are evaluated.
The vertices must be expressed with one origin, axis orientation, and length convention. Translating all vertices translates the orthocenter by the same vector. Uniformly scaling the entire triangle about an origin scales the center coordinates by that factor. These properties are useful checks, but the calculator does not apply transformations or normalize the input coordinates.
Three named vertices can still be invalid if two coincide or if all three lie on one line. The altitude intersection is not uniquely stable for a degenerate triangle. The handler therefore shares the non-collinearity and near-collinearity guard used by the circumcenter calculation rather than returning an arbitrary fallback.
The side opposite A is the line through B and C. The altitude from A is the line through A perpendicular to the vector C - B. Similarly, the altitude from B is perpendicular to C - A, and the altitude from C is perpendicular to B - A. A direction vector for one side can be turned into a perpendicular direction by swapping its coordinates and changing one sign, but the calculator does not need to expose those line equations in its compact output.
Two non-parallel altitude lines determine the orthocenter. The third altitude passes through the same point as a consequence of the triangle's perpendicular construction. Solving directly from two line equations is possible, but it introduces separate slope and vertical-line cases. The K1 handler uses a center identity that avoids dividing by a side slope and treats arbitrary vertex orientation uniformly.
Perpendicularity can be checked with a dot product. If H is the returned point, the vector H - A should have dot product zero with the opposite-side vector C - B. Likewise, H - B should be perpendicular to C - A. Those checks use the same Euclidean inner product as the geometric definition and provide an independent way to validate the returned coordinates.
An altitude is an infinite line in the mathematical model. The segment from a vertex to the opposite side may end at a foot inside or outside the side segment depending on the triangle. The calculator returns the line intersection point, not a restricted segment intersection or a finite drawn altitude.
For a triangle in a Cartesian plane, the orthocenter H, circumcenter O, and vertices satisfy H = A + B + C - 2O when points are treated as position vectors from the chosen origin. The calculator first computes O from the same three vertices using the perpendicular-bisector construction. It then adds the three vertex coordinates and subtracts twice the circumcenter coordinate by coordinate.
For the default triangle A = (0, 0), B = (4, 0), and C = (0, 3), the circumcenter is O = (2, 1.5). The coordinate sum A + B + C is (4, 3), and 2O is (4, 3). Their difference is H = (0, 0). The result is the right-angle vertex, matching the direct altitude interpretation.
The identity is translation-consistent. If every vertex and the circumcenter are translated by the same vector T, the expression A + T + B + T + C + T - 2(O + T) simplifies to the original H plus T. This is why the origin used for the coordinate representation does not create a special case when all inputs share it.
The formula depends on a valid circumcenter, so it inherits the non-collinearity requirement. It also inherits the finite checks for edge differences, determinant, squared lengths, center, radius, and final orthocenter components. The handler does not approximate the orthocenter by sampling altitude pixels or by averaging vertices.
For the right triangle (0, 0), (4, 0), and (0, 3), the orthocenter is (0, 0). The side from B to C has direction (-4, 3), and the altitude from A lies along the direction of A itself because the two coordinate legs are perpendicular. The other two altitudes also pass through A. This makes the right-triangle case an effective regression fixture.
For the acute isosceles triangle A = (-2, 0), B = (2, 0), C = (0, 3), symmetry places both the circumcenter and orthocenter on the y-axis. The circumcenter is (0, 5/6), so the identity gives H = (0, 3) - 2(0, 5/6) plus the x-coordinate sum of zero, which is (0, 4/3). The result lies inside the triangle, as expected for an acute shape.
For an obtuse triangle, the orthocenter lies outside the triangular region. This is not a violation of the altitude definition because the altitude lines are infinite and their common intersection need not lie inside all three side segments. A visual implementation that clips lines to the triangle can make this result look surprising; the coordinate result remains the intersection of the full lines.
A translated version of any example offers another check. Add a fixed vector to all three vertices and verify that the orthocenter moves by that vector. Reverse the vertex order and verify that the final coordinates remain the same. These tests exercise the use of position vectors and the orientation-independent final identity.
The orthocenter is not the centroid, incenter, or circumcenter. The centroid is the average of the three vertex position vectors. The incenter is determined by angle-bisector and side-length relationships. The circumcenter is equidistant from the vertices. The orthocenter is determined by perpendicular altitudes. A triangle can have these centers at different locations, even when symmetry makes some coordinates coincide.
The Euler line contains the centroid, circumcenter, and orthocenter of a non-equilateral triangle. The identity used by the calculator makes the relative positions visible, but the page does not calculate the Euler line, nine-point center, or nine-point circle. Those are useful downstream constructions with additional output and validation requirements.
In an equilateral triangle, the principal centers coincide. This is a valid special case, not a reason to replace the orthocenter formula with a vertex average in general. A robust test suite should include a non-equilateral shape so an accidental centroid implementation cannot pass only a highly symmetric fixture.
The circumcenter used internally is a mathematical intermediate. The page returns only H and does not expose O or the circumradius as separate result fields. If a workflow needs all centers, call the dedicated circumcenter calculator or use a combined operation with an explicitly documented output contract.
If the vertices are collinear or repeated, there is no ordinary non-collinear triangle and the altitude intersection is not a stable unique center. The handler computes translated edge vectors and their signed determinant, which is twice the signed area. A zero determinant identifies exact degeneracy. A determinant too small relative to the edge scale is rejected before the circumcenter denominator is used.
The scale-aware threshold is based on the largest translated edge component with a minimum scale of one. It is set to 1e-12 times the square of that scale. This prevents one absolute area threshold from treating a tiny triangle and a huge triangle identically. It is a software stability policy, not a universal judgment about whether a measured triangle is useful.
The center identity includes addition and multiplication of derived values. The engine checks the circumcenter, radius, and final orthocenter components for finite results. Coordinate bounds allow a substantial range, while explicit finite-result checks protect renderer-facing output if an input set approaches a numerically difficult configuration.
A triangle can pass the guard while still being sensitive to measurement uncertainty. If a small movement of a vertex materially changes the orthocenter, that sensitivity belongs in a downstream uncertainty or conditioning analysis. Do not interpret the absence of a handler error as proof that source measurements are exact or stable for a physical decision.
A common mistake is returning the centroid by averaging the vertices. Another is using the circumcenter itself as the orthocenter, or assuming that the center must be inside the triangle. A slope-based altitude calculation can also fail when a side is vertical or horizontal if special cases are omitted. The identity-based implementation avoids those slope divisions, but the source geometry still needs correct vertex pairing.
Use altitude dot-product checks for an independent verification. After obtaining H, form H - A and C - B; their dot product should be zero within an appropriate tolerance. Do the analogous check for H - B and C - A. A third check can use H - C and B - A. These tests verify perpendicularity directly rather than only repeating the circumcenter identity.
Use known shapes: a right triangle, an acute isosceles triangle, an obtuse triangle, an equilateral triangle, a translated triangle, a reversed ordering, and a collinear rejection. Include negative and fractional coordinates. Compare final numeric coordinates with a tolerance and avoid exact string equality for decimal results.
If another source disagrees, check whether it reports an altitude foot, a triangle centroid, a three-dimensional orthocenter, or a result in a transformed coordinate frame. Also check whether the source permits nearly collinear points and uses a different tolerance. The K1 contract is a non-collinear two-dimensional Euclidean triangle.
This is a bounded exact three-point Euclidean orthocenter calculation. It does not fit a triangle to noisy data, operate on a curved surface, use a weighted metric, compute a three-dimensional tetrahedron center, or clip altitudes to a finite object. It assumes the vertices and coordinate model are already appropriate. A finite H is not a guarantee that the source geometry is accurate or that altitude behavior is the right physical model.
The six coordinates can encode locations, floor plans, motion paths, medical shapes, or proprietary designs. Enter only the values needed for the triangle and avoid names, identifiers, credentials, or raw records in shared notes. Protect spatial data according to its source sensitivity. A local calculation with a small form can still expose meaningful geometry.
Do not use an unreviewed orthocenter as a navigation waypoint, structural control point, robotics command, medical boundary, or other high-consequence decision. Validate units, coordinate frame, measurement precision, triangle conditioning, and downstream object limits with suitable software and qualified reviewers.
For a reproducible handoff, preserve vertex order, the triangle determinant status, the returned H, the checks used, and any tolerance. State whether the vertices are exact instructional coordinates, nominal design points, or observations. This keeps the center attached to the assumptions that justify its interpretation.
If the center is plotted, show the three vertices and the altitude directions rather than displaying H alone. A point outside the triangle can otherwise be mistaken for a software error. The plot is an explanation only; the numeric perpendicularity checks remain the stronger verification.
For repeated triangle calculations, retain the determinant scale and the reason a triangle passed the near-collinearity guard. Two triangles can have similar-looking areas but very different coordinate scales and conditioning. Recording the input precision and the guard result helps reviewers understand whether a change in H reflects geometry or source noise.
The orthocenter identity can also be checked by reconstructing the circumcenter from H = A + B + C - 2O when the other three quantities are known. This reverse calculation should return the same O within tolerance. It is a useful integration check for systems that exchange several triangle centers, but it does not remove the need to validate the original non-collinear triangle.
The altitude check should use side directions with the correct opposite vertex. For A, use the direction from B to C; for B, use the direction from A to C; for C, use the direction from A to B. A dot product of zero confirms perpendicularity, but using the wrong side can accidentally validate a different line. Preserve the vertex labels throughout the check.
The orthocenter can move quickly when a triangle approaches a line even if each vertex changes by a small amount. This sensitivity is a geometric consequence of the altitude intersection and circumcenter denominator. If an application compares H with a fixed boundary, report the input precision and conditioning rather than presenting a many-decimal coordinate as inherently reliable.
A visual explanation can draw the full altitude lines and mark their intersection, including the portions outside the triangle for an obtuse case. Keep the drawing's viewport and clipping separate from the numeric result. Clipping a line for display should not change the computed H or turn an outside intersection into a missing value.
For an integration that needs several triangle centers, keep one canonical vertex record and derive every center from it. Re-entering rounded center coordinates as new vertices can create drift and can turn an exact identity into a false discrepancy. The K1 handler is deterministic for the same finite vertex inputs, so source-record consistency is the best first check when centers disagree.
Why is the circumcenter used to calculate the orthocenter? The identity H = A + B + C - 2O is a compact Cartesian relationship for a non-collinear triangle. It is equivalent to the intersection of the altitudes and avoids special cases for vertical or horizontal side slopes. The circumcenter is an intermediate; the returned output remains the orthocenter coordinates.
Can the orthocenter be outside the triangle? Yes. That is the normal result for an obtuse triangle because the infinite altitude lines meet outside the interior. In an acute triangle it is inside, and in a right triangle it is the right-angle vertex. The location is determined by the angles, not by a requirement that every triangle center lie within the region.
Why reject a collinear triangle? Collinear points do not form a two-dimensional triangle, so the perpendicular construction does not provide one stable common altitude intersection. The determinant is zero or nearly zero. Returning an arbitrary point would hide an invalid denominator and would not represent the requested geometry.
Is the orthocenter the same as the centroid? No. The centroid is the arithmetic average of the vertices. The orthocenter is the intersection of altitudes. They coincide only in special symmetric cases, so tests should include a general non-equilateral triangle.
Find the Cartesian orthocenter of a non-collinear triangle from its three ordered vertices.
H = A + B + C - 2O, where O is the circumcenter of the same non-collinear triangle. The orthocenter is the common intersection of the three altitudes. For a non-collinear Cartesian triangle, it can be computed transparently from the vertices and their circumcenter.
Enter Vertex A x1, Vertex A y1, Vertex B x2, Vertex B y2, Vertex C x3, Vertex C y3, then choose Calculate.
The three vertices are finite points in one two-dimensional Cartesian coordinate system and are not collinear or nearly collinear. The result is the Euclidean orthocenter of the triangle; altitude lines are understood in the same metric, with no unit conversion, spherical geometry, or finite-object interpretation.
This calculator is part of the WorldCalculate library. Its formula, example, assumptions, input bounds, and output formatting follow the official methodology.
These WorldCalculate collections connect this tool with related questions while keeping each calculation separate and transparent.