Find a constrained equilateral inner triangle of a triangle

Hi,

I would like to understand how I can calculate the inner circle center of any equilateral triangle that has for constraint that each of its bissectors must intersect one extremity of the (for now lets assume bigger only) main triangle.

For helping understanding my problem and approach, imagine you have a disc with 3 variables legs extruding on the extremities of the disc, constrained such as they are distributed exactly at 120 deg one from each others on the disc (the legs of the real mechanical device I try to modelize also can rotate around their hinge point but lets consider only the 2d problem for now).
Now when all the legs have initially an exact same size ; their extremities form an equilateral triangle.
Then take an arbitrary case where the legs can have any size and you only have the input information of these extremities how to find out where the center of the disc was ?

I mocked up a viewer software application where I could easily visualize many experimentations to familiarize with the problem. As an example, I tried calculating different center points for the arbitrarily shaped triangle like : bissectors intersection, medians/barycentric coordinates, orthocenters and see if I could get equal angles (120 deg each) with some easy affine transformations, but didn't found out yet.

I'm not even sure that there is only one center point solution, should I approach the problem differently ?

TIA,
-Fab

Last edited:

I'm not entirely clear on your problem, but I see it as a triangle, with a point inside it somewhere. The outer triangle is made up from 3 other triangles that all meet at this point, and also share the vertices of the outer triangle. They're all constrained to have 120degree angles at the inside point.

I would first identify all the angles and side lengths, then write a system of equations relating them to each other. I see 3 known side lengths and 6 known angles, 3 unknown lengths and 6 unknown angles.

I think you can use the sin rule or cosine rule for many of the equations.

So as I understand what you would suggest:

Let A,B,C be the 3 points of the main triangle.
Let a,b,c be the length of segments BC,AC,AB.
Let O be the center point we are looking for such as angles OAB=OAC=OBC=120deg.
Let d, e, f be the lengths of OA,OB,OC

As cos(O)=-1/2 per definition whatever the 2 other points of the main triangle are,

Then law of cosines tells us for each of the 3 triangles:
-------------------------------------------------------------
a^2 = d^2 + e^2 - 2de cos(O) = d^2 + e^2 + de

Similarly I get:
----------------
a^2 = d^2 + e^2 + de
b^2 = d^2 + f^2 + df
c^2 = e^2 + f^2 + ef

Now I have a system of 3 equations with a,b,c known and d,e,f to solve.

But it might be too general to be worth solving now with only these 3 equations ?
I also probably need to add more constraints from the main triangle itself,
as I know the angles in CAB,ABC,BCA from A,B,C ?

Thanks a lot for the help, it is definitely a start but how to solve these ?

Last edited:
a^2 = d^2 + e^2 + de
b^2 = d^2 + f^2 + df
c^2 = e^2 + f^2 + ef

Now I have a system of 3 equations with a,b,c known and d,e,f to solve.

But it might be too general to be worth solving now with only these 3 equations ?

Why not? It works for an equilateral triangle with a=b=c=1. So it might work for everything!

You could get 6 equations with 6 unknowns by using angles instead of lengths:
OAB + OBA + O = 180deg
...
and
OAC + OAB = BAC (which is known)
...

This might be easier to solve if it's a linear system.

So I tried with the angles and I indeed get 6 equations (for angles a=BAC, b=CBA, c=ACB, of main triangle each divided in two sub angles such as a=a1+a2,b=b1+b2, c=c1+c2)

It give a system of linear equations of the form (after simplification of angle O = 120, so 180-O =60) :

a1 + a2 == a,
b1 + b2 == b,
c1 + c2 == c,
a1 + b2 == 60,
b1 + c2 == 60,
c1 + a2 == 60

where a,b,c are known and defined between ]0,180[

But I still can't solve this :(

Any idea ?

I found an iterative algorithm that first compute a candidate point O such as 2 vertices of the triangle are exactly 120 degree, it is not the final O point but will permit to converge to it:
Then I converge so that the 3rd vertice is also at 120 deg +- 0.001 deg. by compensating it by shortening one of the seg and lengthening the other wjhile re-establishing a 120 deg. angle.

Works fine now and is relatively fast :)

I found an iterative algorithm that first compute a candidate point Works fine now and is relatively fast :)

Cool. Though if you find iterative to be too ugly, you can solve a system of 6 linear equations by representing it as a 6x6 matrix and a 6x1 vector, then doing a matrix inverse.

Cool. Though if you find iterative to be too ugly, you can solve a system of 6 linear equations by representing it as a 6x6 matrix and a 6x1 vector, then doing a matrix inverse.

I really do find iterative not as satisfying (thought it is working well now so that at least i have one acceptable solution),
but when i entered the system in 2 different linear equations solvers, they found no solution of the upper so I thought that an augmented matrix with a gauss jordan pivot finding approach (which is the only method I can think of right now) would find no solution as well ?

Why can't this be solved when I obviously see solutions when drawing geometrically ?
Did I make anything wrong in my latest system of linear eq. ?

Here's the augmented matrix (each row is a1,a2,b1,b2,c1,c2 and then right member of each equation):
1 1 0 0 0 0 a
0 0 1 1 0 0 b
0 0 0 0 1 1 c
1 0 0 1 0 0 60
0 0 1 0 0 1 60
0 1 0 0 1 0 60

Thank you

Last edited:
but when i entered the system in 2 different linear equations solvers, they found no solution

Hmm, maybe there's something wrong with the original equations. I reduced it to 3 equations:
Code:
-a2 + b2      = 60 - a
- b2 + c2 = 60 - b
a2      - c2 = 60 - c

[-1  1  0 ] [a2]   [60-a]
[ 0 -1  1 ] [b2] = [60-b]
[ 1  0 -1 ] [c2]   [60-c]

The determinant is zero and it can't be solved. With an equilateral triangle (a=b=c=60) there are too many solutions. Any a2=b2=c2 satisfies it. Even though the correct solution should be a2=b2=c2=30.

Seems like your 6 equations would constrain that but I can't solve them in Excel either.

Last edited: