Steiner Tree / mathematics / steiner tree
What is a Steiner Tree? A Steiner tree is the shortest network that connects three points. The paths from the points meet at what is called the Steiner point.
Finding the Steiner Point The Steiner Point is found using the Torricelli Construction:
  1. Give points A, B and C, the triangle formed by the points is black.

  2. Choose any one of the three sides of the triangle. The side chosen uses two of the vertices and excludes the third vertex. In this example, I've chosen side AC.

  3. Locate a point X such that ACX is an equilateral triangle. In this example, the triangle is green.

  4. Circumscribe a circle around the equilateral triangle. In this example, the circle is green.

  5. Connect point X and the excluded vertex with a line segment. In this example, my green line segment is BX.

  6. The intersection of the line segment and the circle is the Steiner point.

  7. The Steiner Tree is red.

Finding the Length of the Steiner Tree At the time I did this, I could not find the computation anywhere, so I spent an afternoon figuring it out.

Enter the lengths of the three sides of the triangle, then click the button.

Feel free to view the source of this page. The


Measure of angle BAC
Math.acos( (AC^2 + AB^2 - BC^2) / (2*AC*AB) )
Measure of angle ABC
Math.acos( (AB^2 + BC^2 - AC^2) / (2*AB*BC) )
Measure of angle ACB
Math.acos( (AC^2 + BC^2 - AB^2) / (2*AC*BC) )
Measure of line segment AT
(AB * AC) / (AB + BC)
Measure of line segment XT
Sqr(AT ^ 2 + AC ^ 2 - AT * AC)
Measure of angle ATX
arcsin(AC / XT * 0.866)
Measure of angle ATS
pi / 2 - ATX
Measure of line segment
AT / 0.866 * sin(ATS)
Measure of line segment
Measure of angle CTS
Measure of line segment CS
CT / 0.866 * sin(CTS)
Measure of angle BAS
arcsin(AZ / AB * 0.866)
Measure of angle BAT
Abs(pi / 3 - BAS)
Measure of line segment BS
AB / 0.866 * sin(BAT)
Length of Steiner Tree
AZ + BS + CS

website powered by