5

Question: How can i extend the angle bisecor line in the form of ray? and how to get point of intersection with line segment BC?

MWE:

\documentclass{article}
\usepackage{pgfplots}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}

\begin{tikzpicture}
\tkzDefPoint(2,4){A}
\tkzDefPoint(0,0){B}
\tkzDefPoint(4,0){C}
\tkzLabelPoint[above](A){$A$}
\tkzLabelPoint[left](B){$B$}
\tkzLabelPoint[right](C){$C$}

\tkzDrawPolygon(A,B,C)
\tkzDrawBisector[color=blue](B,A,C)

\end{tikzpicture}

\end{document}
Bobyandbob
  • 4,899
SandyM
  • 2,757

2 Answers2

12

For comparison here is an effort in Metapost showing Knuth's useful whatever notation and the declarative equation style.

enter image description here

\RequirePackage{luatex85}
\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
    % define a distance unit
    numeric u; u = 1cm;

    % define the arbitrary points
    pair A, B, C;
    A = (3,4) scaled u;
    B = origin;
    C = (4,-2) scaled u;

    % find the angle bisector point
    z1 = whatever[B,C] = whatever * right shifted A rotatedabout(A, 1/2 (angle (C-A) + angle (B-A)));

    % find another point somewhere along the bisector ray...
    z2 = whatever[A,z1]; 
    y2 = ypart C;  % arbitrarily set the y-coordinate of z2 to the same as point C

    % now draw some of these things...
    drawarrow A -- z2 withcolor 2/3 blue;
    draw A--B--C--cycle;
    fill fullcircle scaled dotlabeldiam shifted z1 withcolor red;
    draw fullcircle scaled dotlabeldiam shifted z1;

    % and add the labels
    label.top("$A$", A);
    label.lft("$B$", B);
    label.lrt("$C$", C);

endfig;
\end{mplibcode}
\end{document}

It might help to unpick the angle bisector line:

z1 = whatever[B,C] = whatever * right shifted A rotatedabout(A, 1/2 (angle (C-A) + angle (B-A)));

The first part

 z1 = whatever[B,C]

says "define a point z1 somewhere along the line B--C". If you tried drawing something involving z1 at this point you would get an error saying that z1 was an unknown pair. So to pin it down you need to add a second element to the equation.

  z1 = whatever[B,C] = whatever * right;

This defines z1 to be the intersection between the line B--C and a horizontal line through the origin (because right is defined as the vector (1,0)). Not quite what you want yet...

z1 = whatever[B,C] = whatever * right shifted A;

This defines z1 to be the intersection of the line B--C and a horizontal line through the point A which is closer to what you want. Finally:

z1 = whatever[B,C] = whatever * right shifted A 
                     rotatedabout(A, 1/2 (angle (C-A) + angle (B-A)));

defines z1 to be the intersection of the line B--C with a line through A that has been rotated around A to the mean of the angles of the lines C--A and B--A. This is what you need to get the bisector point.

Thruston
  • 42,268
2

1. How to get point (called C_1) of intersection with line segment BC? (This (first) part is (morealess) a duplicat to Orthogonal line in tkz-euclide.)

You can define a orthogonal line on BC across A with \tkzDefLine[orthogonal=through A](B,C). The second point on the line could be defined with \tkzGetPoint{} and a arbitrary name for example X_1 => \tkzGetPoint{X_1}.

The intersection point could be defined with \tkzInterLL( )( ) and a arbitrary name for example C_1 => \tkzGetPoint{C_1}. So with \tkzInterLL(C,B)(A,X_1) you can compute the intersection of the two lines CB and AX_1. With \tkzGetPoint{C_1} you get the intersection point, saved as C_1.

For drawing and labeling the points (Point1,Point2,Point3) you can use \tkzLabelPoints(Point1,Point2,Point3),... and \tkzDrawPoints(Point1,Point2,Point3).

EDIT:

2. How to extend the angle bisecor line in the form of ray?

With \tkzDrawLine[add = 0 and 0.1,color=green](A,tkzPointResult) you can draw a line from A to the last tkzPointResult, which is (here) at the end C_1. To extends the line add some space with add = AddStart and AddEnd (to extends start or ending point) => \tkzDrawLine[add = 0 and 0.1,color=green](A,tkzPointResult)

See manuanl capter 7.5.1 Utilisation de \tkzInCenter avec trois points on page 30.

3. Arrow tip:

If you like an arrow tip you can use: arrows=-triangle 60 or other Triangular Arrow Tips

\tkzDrawLine[add = 0 and 0.1,color=green,arrows=-triangle 60](A,tkzPointResult)

enter image description here

MWE:

\documentclass{article}
\usepackage{pgfplots}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}

\begin{tikzpicture}

\tkzDefPoint(2,4){A}
\tkzDefPoint(0,0){B}
\tkzDefPoint(4,0){C}
\tkzLabelPoint[above](A){$A$}
\tkzLabelPoint[left](B){$B$}
\tkzLabelPoint[right](C){$C$}

\tkzDrawPolygon(A,B,C)
\tkzDrawBisector[color=blue](B,A,C)

  \tkzDefLine[orthogonal=through A](B,C)   

  \tkzGetPoint{X_1}

  %\tkzLabelPoints(X_1)\tkzDrawPoints(X_1)

  \tkzInterLL(C,B)(A,X_1)
  \tkzGetPoint{C_1}

  %\tkzDrawLine[add = 0 and 0.1,color=green](A,tkzPointResult) 
  \tkzDrawLine[add = 0 and 0.1,color=green,arrows=-triangle 60](A,tkzPointResult) 
  \tkzDrawLine[add = 0.3 and 0.1,color=orange](B,tkzPointResult)

  \tkzDrawPoints(C_1)\tkzLabelPoints(C_1)
\end{tikzpicture}

\end{document}
Bobyandbob
  • 4,899