Create angle bisectors in TikZ

Here's how you would do this with tkz-euclide: \tkzDrawBisector(B,C,D)

\documentclass{standalone}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}
\begin{tikzpicture}
\tkzInit[xmin=-2,xmax=8,ymin=0,ymax=7]
\tkzClip[space=1]

\tkzDefPoint(8,0){A} 
\tkzDefPoint(0,7){B}
\tkzDefPoint(-2,0){C}

\tkzDefPointBy[projection=onto A--B](C)
\tkzGetPoint{D}

\tkzDrawPolygon(A,B,C)
\tkzDrawSegment(C,D)
\tkzDrawBisector(B,C,D)

\tkzLabelPoints(A)
\tkzLabelPoints[above right](B,D)
\tkzLabelPoints[below left](C)
\end{tikzpicture}
\end{document}

enter image description here

\documentclass[11pt]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{xparse}

\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{positioning,calc,intersections}

\usetikzlibrary{through}

\NewDocumentCommand{\bissectrice}{%
    O{}     % drawing options
    mmm     % bissector of mmm
    m       % intersection point between base and bissector
    O{1}O{1}% extended drawing of the bissector
    }{%
    \path[name path=Bis#2#3#4] let
        \p1 = ($(#2) - (#3)$),
        \p2 = ($(#4) - (#3)$),
        \n1 = {veclen(\x1,\y1)} ,
        \n2 = {veclen(\x2,\y2)} ,
        \n3 = {max(\n1,\n2)},
        \p1 = ($(#3)!\n3!(#2)$),
        \p2 = ($(#3)!\n3!(#4)$),
        \p3 = ($(\p1) + (\p2) - (#3)$)
    in
        (#3) -- (\p3) ;

    \path[name path = foo] (#2)--(#4) ;

    \path[name intersections={of=foo and Bis#2#3#4, by=#5}] ;

    \path[#1] ($(#3)!#6!(#5)$) -- ($(#5)!#7!(#3)$) ;
    }

\begin{document}
\begin{tikzpicture}

\coordinate[label=below left:$C$](C) at (-2,0);
\coordinate[label=below right:$A$](A) at (8,0);
\coordinate[label=above left:$B$] (B) at (0,7);
\coordinate[label=above right:$D$](D) at ($(A)!(C)!(B)$);
\draw (A) -- (B) -- (C) -- cycle;
\draw (C) -- (D);

\bissectrice[draw,blue]  {B}{C}{D}{R}[1.1]
\bissectrice[draw,dashed]{D}{B}{C}{S}
\bissectrice[draw,dashed]{C}{D}{B}{T}

\path[name intersections={of=BisBCD and BisDBC, by=O}] ;

\node [draw=red] at (O) [circle through={($(C)!(O)!(B)$)}] {};

\end{tikzpicture}
\end{document}

Old version

enter image description here

\documentclass[11pt]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{mathtools}
\usepackage{tikz}
\usetikzlibrary{positioning,calc,intersections}

\newcommand{\bissectrice}[6][]{%
    \path[#1] let
        \p1 = ($(#3)!1cm!(#2)$),
        \p2 = ($(#3)!1cm!(#4)$),
        \p3 = ($(\p1) + (\p2) - (#3)$)
    in
        ($(#3)!#6!(\p3)$) -- ($(\p3)!#5!(#3)$) ;
    }

\begin{document}
\begin{tikzpicture}

\coordinate[label=below left:$C$](C) at (-2,0);
\coordinate[label=below right:$A$](A) at (8,0);
\coordinate[label=above left:$B$] (B) at (0,7);
\coordinate[label=above right:$D$](D) at ($(A)!(C)!(B)$);
\draw (A) -- (B) -- (C) -- cycle;
\draw (C) -- (D);

\bissectrice[draw,red]{B}{C}{D}{1.5}{4}


\end{tikzpicture}
\end{document}

An inline Asymptote version:

enter image description here

% bisect.tex
%
\documentclass{article}
\usepackage[inline]{asymptote}
\usepackage{lmodern}
\begin{document}
\begin{figure}
\centering
\begin{asy}
size(7cm);
pen linePen=deepblue+1.2bp, bisectPen=orange+0.8bp;
pair A,B,C,D,E; real CAB,ACD,BCD;
C=(-2,0); A=(8,0); B=(0,7);
CAB=degrees(C-A)-degrees(B-A);
ACD=90-CAB;
D=extension(A,B,C,rotate(ACD,C)*A);
BCD=degrees(B-C)-degrees(D-C);
E=extension(A,B,C,rotate(BCD/2,C)*D);
draw(C--A--B--C--D,linePen);
draw(C--E,bisectPen);
pair[] node={A,B,C,D,E}; string nodename="ABCDE";
pair[] nodepos={
  plain.E, plain.N, plain.W, plain.NE, plain.NE,
};
dot(node,UnFill);
for(int i=0;i<node.length;++i)label("$"+substr(nodename,i,1)+"$",node[i],nodepos[i]);
label("$CD\perp AB,\ \angle BCE=\angle ECD$",(A+C)/2,plain.S);
\end{asy}
\caption{Angle bisector with \texttt{Asymptote}}
\end{figure}
\end{document}
%
% To get bisect.pdf, process:
%
% pdflatex bisect.tex    
% asy bisect-*.asy    
% pdflatex bisect.tex