\input pstricks
\input fp
\FPmessagesfalse
\input vec2d

\catcode`@=11% for testing purposes

% attempt to write efficient bisector function, fail!

Bissectrices met ingeschreven cirkel in $\Delta PQR$ met $PQ = 6$, $\angle P =
78^\circ$ en $\angle Q = 48^\circ$.

% #1 bisector, #3 #4 #5 center #4 bisector of rotating #4#3 to #4#5
%\def\VDDcbisector@#1&#2:#3&#4&#5&#6 {%
%  {%
%    \VDDcopy@ ti&tii&tiii&B&A&C&:#3&#4&#5&ti&tii&tiii&
%    \VDDcsub@ dirAB:C&A&
%    \VDDcsub@ dirAC:B&A&
%    \VDDcrotatequarter@ perAB&:dirAB&
%    % calculate inverse of products of lengths of dirAB and dirAC
%    \FPupn\norm{%
%      1 2
%      \VDDx{dirAB} \VDDx{dirAB} mul \VDDy{dirAB} \VDDy{dirAB} mul add
%      \VDDx{dirAC} \VDDx{dirAC} mul \VDDy{dirAC} \VDDy{dirAC} mul add mul
%      root div
%    }%
%    % normalized inner product
%    \FPupn\cos{%
%      \VDDx{dirAB} \VDDx{dirAC} mul \VDDy{dirAB} \VDDy{dirAC} mul add norm mul
%    }%
%    % normalized outer product
%    \FPupn\sin{%
%      \VDDx{dirAB} \VDDy{dirAC} mul \VDDy{dirAB} \VDDx{dirAC} mul sub norm mul
%    }%
%    \ifFPlt\cos{-.5}\then
%      \FPset\cpar{\sin}%
%      \FPsub\cper{1}{\cos}%
%    \else
%      \ifFPneg\sin\then
%        \FPsub\cpar{-1}{\cos}%
%        \FPneg\cper{\sin}%
%      \else
%        \FPadd\cpar{1}{\cos}%
%        \FPset\cper{\sin}%
%      \fi
%    \fi
%    \VDDclincomb@ ld:\cpar*dirAB+\cper*perAB
%    \VDDgcopy@ ti&:ld&
%  }%
%  \VDDcopy@ #1p&#1d&:#4&ti&
%  \ifx\end#6\end\else\VDDcbisector@#2:#4&#5&#6 \fi
%}%

\VDDstart
  %\VDDtriangletwoangles R:P(0,0)Q(5,-1):110,28
  \VDDdef P(0,0)Q(5,-1)R(1,5)
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  \VDDcdeellijn l:QPR
  %\VDDcbisector l:QPR
  %\VDDcbisector l:QPR
  %\VDDdcanvas1:1
  %  \VDDdlpolygon PQR
  %  \VDDdhalfline l
  %\VDDdcanvasend
\VDDend

\bye
