Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

alt textGiven any triangle (vertices are known) and a distance X, how can I compute the triangle that is shrunk by X from the original? By shrink, I mean edges of the shrunk triangle are exactly X away from the original edges. So if X is large enough, the shrunk triangle doesn't exist.

EDIT: the resulting triangle needs to be inside the given triangle.

Attaching a picture for clarity.

share|improve this question
Take the lines that join the vertices with the middle of the opposite sides; they will all intersect at a point $p$. inside the triangle. You want to "shift" the sides a distance $X$ along those lines. But how one describes this depends on how you are "given" the triangle. Are you able to translate it on the plane? Are you given the coordinates of the vertices, the equations of the lines? –  Arturo Magidin Jan 15 '11 at 4:55
I have the 3 triangle vertices given, and I would like to output 3 vertices. By P do you mean the centroid? –  hyn Jan 15 '11 at 5:04
What you want is not what I described. –  Arturo Magidin Jan 15 '11 at 5:14
add comment

1 Answer

up vote 5 down vote accepted

Green triangle (result) is obviously a homothety of the given (blue) triangle with respect to a certain point Q inside the triangle, and a certain coefficient k. As you wish to find Q and k providing the distance X from the original edges, then the direction of the moveout of the vertices lays on the original triangle's bisectors (proof is trivial for every vertex of the green triangle). The intersection point of triangle bisectors is the center of the inscribed circle. So, the homothety center Q is the center of the inscribed circle. The homothety coefficient k is the fraction of X with respect to inscribed circle radius R: k=R/(R-X). Thus, given the original triangle vertices A, B, C, find the inscribed circle Q, R, then find the scale k, then moveout the vertices: A'=A+(Q-A)*k - same for B, C - in vector form.

share|improve this answer
How can I find R? –  hyn Jan 15 '11 at 6:17
Use any convenient formula, for example, R=2*S/P, where S - area of the triangle, P - perimeter of the triangle. –  mbaitoff Jan 15 '11 at 6:40
Confirmed the calculations, perfectly working. Thanks. –  hyn Jan 15 '11 at 7:07
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.