Equal offset of two triangles: basic geometry or cad tricks... This SHOULD be easy!

There must be some simple geometric trick for this! (Or maybe it’s calculus :worried: )

I have two similar right triangles (and with the same orientation). I want the larger to be perfectly “outside” of the smaller; but not centered. I need the three sides of the larger to be equally offset; equal aligned distance along their perpendiculars.

(Centering the two is elementary and does not solve the problem. Also, I am not using OffsetCurve because that is not the requirement; the geometry is what it is.)

By co-locating the hypotenuses, and then translating one triangle along a 45-degree path (using ortho snaps), I can easily keep the two adjacent sides equally offset from the stationary triangle (A and C). There MUST be some point along this translation path where all three offsets are equal. That is obvious.

But how? Is there a way to do this exactly using Rhino’s lovely suite of tools; snaps, curve tools, etc?

I tried many things. I have been using Rhino for 25 years. Once upon a time, I took calculus and geometry courses, but that is long forgotten. Below is my terrible (non)solution. This is not right. I want EXACT. This just gets within my tolerance.

This is the top-left corner. I made circle a with radius to left side offset, circle b with radius to right side offset, and 45-degree line d. Then I move outer triangle c along that 45-degree line to its midpoint. And repeat until the offset dimensions are within tolerance. This is embarrassing!

are you trying to solve this for a mathematical, geometrical task? or what is this needed for?

i am a bit confused, since offsetting all 3 sides equally would center it. and would be exactly fullfilled by offset.

you can also use Scale 2D and for instance pin into the area centroid and use snaps perpendicular. not sure though if i understood the issue correct.

Bildschirmfoto 2021-03-20 um 12.43.57

Yeah why would Offset not work? If the triangles have all the same angles, then that will work. If not, if they’re just sorta-similar, then there’s not really any perfect analytic solution beyond “averaging out the errors at sample points”(in which case you DON’T want the right angles aligned perfectly) or “eh that looks okay.”

If you have two existing triangles, you would first need to know the exact value of Offset for that to work. Or maybe I misunderstood the question.

1 Like

Maybe… well I haven’t tried it but I would say to try building reference lines perpendicular to the midpoints of each side and see where they intersect.

Tried that - doesn’t work. The midpoints of the outer and inner triangles (of an equal offset) are not perpendicularly opposed.

Oh wait, try drawing circles tangent to the edges, they seem to align on an offset.

How is the circle size determined?

I dunno, just do a tangent-tangent-tangent circle.

if you move it 45 degree up to the intersection with indicated line, you get equal offsets on all sides


Curve->Circle->Tangent To Curves will allow you to select two curves (in this case two lines) and then enter the desired radius or diameter. Just use the radius option for the third selection. Use the desired offset for the radius; do it at all 3 corners; use the circle centers as the corners for the new triangle.

You got it @Gijs!!

The corresponding points of the two triangles are the intersection of the corner angle bisectors! Just run the bisectors on all 3 angles of both triangles (actually you only need 2 of the 3) and then move from one intersection point to the other.

This also works generally for all triangles, not just on right angle triangles. Gee, I wish I had paid more attention in my high school trig class… :stuck_out_tongue_winking_eye:

1 Like

A post was split to a new topic: 90 days trial licence

Oooh, thanks for the tip Gijs! But it doesn’t work. For me… did I do something different?

(And thank you all for your input! Still trying.)

you’re not using the correct lines, look at @Helvetosaur explanation

Thanks Helvetosaur for your help… but this doesn’t work. that co-locates the centroids. But having the centroids in the same location does not give an equal offset.

Also, thanks for your comment above, about using _Offset. The triangle dimensions are pre-existing, I only wish I could offset!

Oh crud, I am using vertex-to-midpoint… hold on a moment…

THANK YOU! That’s it. Of course. Thank you.


I knew there must be a way! I looked too quick and assumed those were vertex-to-midpoint lines… But bisectors! :face_with_hand_over_mouth:

I must go back to school!

Yeah, it’s easy to assume that the line from the vertex to the opposite side midpoint is the angle bisector… It’s what I assumed at first as well. But it’s not.