Steiner Tree

astutedata.com / 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:
 Give points A, B and C, the triangle formed by the points is black. 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. Locate a point X such that ACX is an equilateral triangle. In this example, the triangle is green. Circumscribe a circle around the equilateral triangle. In this example, the circle is green. Connect point X and the excluded vertex with a line segment. In this example, my green line segment is BX. The intersection of the line segment and the circle is the Steiner point. 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

AB= BC= AC=

 Measure of angle BACMath.acos( (AC^2 + AB^2 - BC^2) / (2*AC*AB) ) Measure of angle ABCMath.acos( (AB^2 + BC^2 - AC^2) / (2*AB*BC) ) Measure of angle ACBMath.acos( (AC^2 + BC^2 - AB^2) / (2*AC*BC) ) Measure of line segment AT(AB * AC) / (AB + BC) Measure of line segment XTSqr(AT ^ 2 + AC ^ 2 - AT * AC) Measure of angle ATXarcsin(AC / XT * 0.866) Measure of angle ATSpi / 2 - ATX Measure of line segmentAT / 0.866 * sin(ATS) Measure of line segmentAC - AT Measure of angle CTSATX Measure of line segment CSCT / 0.866 * sin(CTS) Measure of angle BASarcsin(AZ / AB * 0.866) Measure of angle BATAbs(pi / 3 - BAS) Measure of line segment BSAB / 0.866 * sin(BAT) Length of Steiner TreeAZ + BS + CS

website powered by