[metapost] Accuracy of "angle"
Dirk Laurie
dpl at sun.ac.za
Tue Oct 26 10:48:48 CEST 2010
I am at present revising my package Napoleon which makes geometry
drawings using Metapost. I noticed that when the drawing is large,
the incircle of a triangle fails to touch the sides to an unacceptably
large extent. I traced the problem to inaccurate bisectors. I used
the following equation for a point z on the bisector of angle z0--z1--z2:
z = z1 + whatever*((z1-z0) rotated (angle((z2-z1) _zdiv (z0-z1))/2))
where a _zdiv b is complex division, defined by
a transformed inverse (identity zscaled b)
I then changed the equation to one based on the theorem that the
diagonals of a rhombus bisect its angles:
z = z1 + whatever*(unitvector(z0-z1)+unitvector(z2-z1))
and the incircle is now accurate.
The unitvector computations basically need to do the same as what
_zdiv does, so I suspect the "angle" function as the source of the
inaccuracy.
I'm using Metapost 1.208 as supplied with texmf-texlive under Lucid
Lynx.
Does any member of this list know whether accuracy specifications for
builtins like "angle" exist?
Thanks
Dirk
More information about the metapost
mailing list