如何自动将多边形的点名称放置在角平分线上?

如何自动将多边形的点名称放置在角平分线上?

让我们考虑一个更简单的三角形。pst-eucl根据

在此处输入图片描述

点名称将放置在角平分线上。

下面的例子与上面的说法相矛盾。

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}

\pstVerb
{
    /rv {rand 36000 mod 100 div} def % random number from 0.00 to 359.99
}

\begin{document}

\psLoop{30}{%
\begin{pspicture}[showgrid=false](-2,-2)(2,2)
    \pscircle[linestyle=dashed,linecolor=lightgray]{2}
    \pstTriangle[linejoin=2](!2 rv PtoC){A}(!2 rv PtoC){B}(!2 rv PtoC){C}%
\end{pspicture}}

\end{document}

现在我们考虑任意多边形。如何自动将多边形的点名称放置在角平分线上?

答案1

需要pst-eucl.tex|pro来自http://texnik.dante.de/

\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}

\begin{document}

\psforeach{\Angle}{0,10,..,360}{%
\begin{pspicture}[showgrid=false](-2,-2)(2,2)
\pscircle[linestyle=dashed,linecolor=lightgray]{2}
\pstTriangle[fillstyle=solid,fillcolor=red!30!white,
             opacity=0.4,linejoin=2](2;145){A}(2;195){B}(2;\Angle){C}%
\end{pspicture}}

\end{document}

在此处输入图片描述

答案2

这不是一个可靠的解决方案,因为标签有时位于多边形内。

在此处输入图片描述

\documentclass[pstricks,border=15pt]{standalone}
\usepackage{pst-eucl}

\pstVerb
{
    /rv {rand 36000 mod 100 div} def % random number from 0.00 to 359.99
}

\begin{document}

\psLoop{30}{%
\begin{pspicture}[showgrid=false](-2,-2)(2,2)
    \pscircle[linestyle=dashed,linecolor=lightgray]{2}
    \pstGeonode[CurveType=polygon,PointName=none,linejoin=2]
    (!0 0){A}
    (!2 rv PtoC){B}
    (!2 rv PtoC){C}
    (!2 rv PtoC){D}
    \psset{MarkAngleRadius=0,LabelSep=0.25}
    \pstMarkAngle{D}{A}{B}{\tiny$A$}
    \pstMarkAngle{A}{B}{C}{\tiny$B$}
    \pstMarkAngle{B}{C}{D}{\tiny$C$}
    \pstMarkAngle{C}{D}{A}{\tiny$D$}
\end{pspicture}}

\end{document}

如果您想使其可靠,请进行编辑。

相关内容