3
$\begingroup$

In triangle $\triangle ABC$, the angle $\angle BAC$ is equal to $60°$, $|AB|=2$, $|BC|=\sqrt 6$, and $AD$ bisects the angle $\angle BAC$ and $BC$ at point $D$.

How can I find the length of the angle bisector $AD$ and draw it?

I have drawn the triangle using the following code:

sol = First@
   Solve[{c == 2, a == Sqrt[6], 
     6 == b^2 + c^2 - 2 b c Cos[60 Degree], {a, b, c} > 0}, {a, b, c}];
{A1, B1, C1} = First@SSSTriangle[a, b, c] /. sol;
labels = {Text[Style[A, FontFamily -> "Times", 15], A1, {2, 0}], 
   Text[Style[B, FontFamily -> "Times", 15], B1, {-2, 0}], 
   Text[Style[C, FontFamily -> "Times", 15], C1, {2, -1}]};
Graphics[{FaceForm[], EdgeForm[Black], SSSTriangle[a, b, c] /. sol, 
  labels}]
$\endgroup$
2
  • $\begingroup$ Search the documentation: Names["*" <> # <> "*"] & /@ {"Triangle", "Bisect"} $\endgroup$
    – Bob Hanlon
    Aug 16, 2023 at 20:18
  • $\begingroup$ @BobHanlon Actually, if one searches "angle bisector", TriangleConstruct will be 2nd entry: reference.wolfram.com/search/?q=angle%20bisector $\endgroup$
    – xzczd
    Aug 17, 2023 at 2:03

3 Answers 3

6
$\begingroup$
tri = SSSTriangle[a, b, c] /. sol;

You can use TriangleConstruct and extract the property "AngleBisectingCevian"

angleBisectingCevian = TriangleConstruct[tri, {"AngleBisectingCevian", 1}];

N @ ArcLength @ angleBisectingCevian
2.
D1 = angleBisectingCevian[[1, 2]];

Graphics[{labels, FaceForm[], EdgeForm[Black], tri, Dashed, 
  angleBisectingCevian, Red, PointSize@Large, Point@D1, 
  Text[Style[D, FontFamily -> "Times", 15], D1, {-2, 0}]}]

enter image description here

abc = TriangleConstruct[tri, {"AngleBisectingCevian", All}];

Graphics[{labels, FaceForm[], EdgeForm[Black], tri, 
  Dashed, abc,
  Red, PointSize @ Large, 
  MapThread[{Point @ #2, 
      Text[Style[#, FontFamily -> "Times", 15], #2, #3]} &]@
   {{a, b, c}, abc[[All, 1, 2]], {{-2, -1}, {2, -1}, {0, 1}}}}]

enter image description here

$Version
"13.3.0 for Linux x86 (64-bit) (June 3, 2023)"
$\endgroup$
5
  • $\begingroup$ TriangleConstruct[tri, {"AngleBisectingCevian", 1}] Does this function require networking to be used? $\endgroup$
    – csn899
    Aug 16, 2023 at 12:26
  • 2
    $\begingroup$ it is a documented system function available in versions 12.0+. $\endgroup$
    – kglr
    Aug 16, 2023 at 12:31
  • $\begingroup$ {"AngleBisectingCevian", 1}What is the meaning of parameter 1? Is it the first vertex A representing a triangle? $\endgroup$
    – csn899
    Aug 16, 2023 at 12:48
  • 1
    $\begingroup$ right; {"AngleBisectingCevian",p} is cevian bisecting the interior angle at the vertex p. $\endgroup$
    – kglr
    Aug 16, 2023 at 12:50
  • 2
    $\begingroup$ @csn899 And this is mentioned in Details section of document of TriangleConstruct, please read the document carefully. $\endgroup$
    – xzczd
    Aug 16, 2023 at 13:20
4
$\begingroup$

To appreciate and compare the time saved by using Triangleconstruct, here is an alternative answer.

Without TriangleConstruct:

One can use AngleBisector.

tri = Triangle[{A1, B1, C1}];
bisector = AngleBisector[{B1, A1, C1}]; (* Returns InfiniteLine *)
ptD = RegionIntersection[Line[{B1, C1}], bisector][[-1, -1]];
bseg = Line[{A1, ptD}] (* bisector line segment *)
blen = RegionMeasure[bseg]

Graphics[{
  {FaceForm[], EdgeForm[Black]
   , tri, labels}
  , {Dashed, Red, bseg}
  , {Blue, AbsolutePointSize[8], Point@ptD}
  , {Darker@Green, Thick, Dashed
   , Circle[A1, blen
    , {-π/30, π/6 + π/5}]
   }
  , {Text[Style[D, FontFamily -> "Times", 15]
    , ptD, {-2, -2}]}
  , {Text[Style[Rotate[NumberForm[blen, {2, 2}]
      , PlanarAngle[{B1, A1, ptD}]]
     , 14]
    , Midpoint[bseg], {0.5, -1}]
   }
  }
 ]

Or extract the incenter using TriangleConstruct as the three bisectors pass through this point. (see below for a method without using Triangleconstruct)

tri = Triangle[{A1, B1, C1}];
incenter = TriangleConstruct[tri, "Incenter"][[-1]];
ptD = RegionIntersection[InfiniteLine[{A1, incenter}], 
    Line[{B1, C1}]][[-1, -1]];
bseg = Line[{A1, ptD}]; (* bisector line segment *)
blen = RegionMeasure[bseg];

Graphics[{
  {FaceForm[], EdgeForm[Black], tri, labels}
  , {Black, PointSize@Large, Point@incenter}
  , {Blue, AbsolutePointSize[8], Point@ptD}
  , {Thin, Black, InfiniteLine[{A1, incenter}]}
  , {Dashed, Gray, InfiniteLine[{B1, incenter}]}
  , {Dashed, Gray, InfiniteLine[{C1, incenter}]}
  , {Text[Style[D, FontFamily -> "Times", 15]
    , ptD, {-2, -2}]}
  , {Text[Style[Rotate[NumberForm[blen, {2, 2}]
      , PlanarAngle[{B1, A1, ptD}]]
     , 14]
    , Midpoint[bseg], {0.5, -1}]
   }
  }
 ]

enter image description here


To calculate the incenter without TriangleConstruct.

sideab = RegionMeasure[Line[{A1, B1}]]
sidebc = RegionMeasure[Line[{B1, C1}]]
sideac = RegionMeasure[Line[{A1, C1}]]

ic = {sideab, sidebc, sideac} . {C1, A1, B1}/
 Total@{sideab, sidebc, sideac} 

{1.14128, 0.658919}

ic == incenter

True

$\endgroup$
2
$\begingroup$
Clear[A1, B1, C1, D1, sol,labels];
c = 2;
A1 = {0, 0};
B1 = {c, 0};
C1 = {x, y};
sol = Solve[{EuclideanDistance[B1, C1] == Sqrt[6], 
     PlanarAngle[{B1, A1, C1}] == π/3}, PositiveReals][[1]];
C1 = {x, y} /. sol // FullSimplify;
b = EuclideanDistance[A1, C1] // FullSimplify;
D1 = b/(b + c)*B1 + c/(b + c)*C1 // FullSimplify;
(* https://en.wikipedia.org/wiki/Angle_bisector_theorem *)
EuclideanDistance[A1, D1]

2

labels = {Text[Style[A, FontFamily -> "Times", 15], A1, {2, 0}], 
   Text[Style[B, FontFamily -> "Times", 15], B1, {-2, 0}], 
   Text[Style[C, FontFamily -> "Times", 15], C1, {2, -1}], 
   Text[Style[D, FontFamily -> "Times", 15], D1, {-2, -1}]};
Graphics[{{FaceForm[], EdgeForm[Black], Triangle[{A1, B1, C1}], Red, 
   Line[{A1, D1}]}, labels}]

enter image description here

$\endgroup$
1
  • $\begingroup$ Using the properties of angular bisectors to find the coordinates of intersection points $\endgroup$
    – csn899
    Aug 16, 2023 at 14:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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