步骤1

步骤1

一个简单的例子:

\documentclass[12pt,border=5pt]{standalone}
\usepackage{newcent,pstricks,pst-eucl} 
\usepackage{auto-pst-pdf}
\begin{document}
\begin{pspicture}
\pstTriangle(2,4){A}(0,0){B}(6,0){C}
\pstCircleABC[PosAngle=60]{A}{B}{C}{O}
\end{pspicture}
\end{document}

编译结果:

在此处输入图片描述

问题 1:

如何得到一个点 M 例如 MA=2/3AB,或者更一般的 MA=(a/b)AB 和一个点 M' 属于小圆弧 CA 例如圆弧 M'A=2/3AB,或者更一般的 M'A=(a/b)AB。

问题2:

如何求角 A 的角平分线但是是两条角平分线还是三条角平分线。

回应下面 AS 的评论。

在此处输入图片描述

答案1

步骤1

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

\begin{document}
\begin{pspicture}[showgrid](-1,-3)(7,5)
\pstTriangle(2,4){A}(0,0){B}(6,0){C}
\pstCircleABC[PosAngle=60]{A}{B}{C}{O}
\pstHomO[HomCoef=0.6666]{A}{B}[M]% 2/3 --> 0.6666
\end{pspicture}
\end{document}

注意:HomCoef无法接受 RPN 2 3 div,所以我必须插入0.6666(我认为 3 位小数就足够了)。

在此处输入图片描述

第2步

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

\begin{document}
\begin{pspicture}[showgrid](-1,-3)(7,5)
\pstTriangle(2,4){A}(0,0){B}(6,0){C}
\pstCircleABC[PosAngle=60]{A}{B}{C}{O}
\pstHomO[HomCoef=0.6666]{A}{B}[M]% 2/3 --> 0.6666
\pstRotation[AngleCoef=0.3333,RotAngle=\pstAngleAOB{C}{O}{A}]{O}{C}[M']
\end{pspicture}
\end{document}

注意:AngleCoef必须位于 之前RotAngle。它不可交换!

在此处输入图片描述

步骤 3(最终)

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

\begin{document}
\begin{pspicture}[showgrid=false](-1,-3)(7,5)
\pstTriangle(2,4){A}(0,0){B}(6,0){C}
\pstCircleABC[PosAngle=225]{A}{B}{C}{O}
\pstHomO[HomCoef=0.6666]{A}{B}[M]% 2/3 --> 0.6666
\pstRotation[AngleCoef=0.3333,RotAngle=\pstAngleAOB{C}{O}{A}]{O}{C}[M']
\psset{PointName=none,PointSymbol=none}
\pstRotation[AngleCoef=0.3333,RotAngle=\pstAngleAOB{B}{A}{C}]{A}{B}[P1]
\pstRotation[AngleCoef=0.6666,RotAngle=\pstAngleAOB{B}{A}{C}]{A}{B}[P2]
\pstInterLL{B}{C}{A}{P1}{Q1}
\pstInterLL{B}{C}{A}{P2}{Q2}
\psset{Mark=MarkHash,MarkAngle=90,MarkAngleRadius=.8}
\pstMarkAngle{B}{A}{Q1}{}
\pstMarkAngle{Q1}{A}{Q2}{}
\pstMarkAngle{Q2}{A}{C}{}
\psset{linestyle=dashed}
\psline(A)(Q1)
\psline(A)(Q2)
\end{pspicture}
\end{document}

注意:我们用\pstSegmentMark(以 结尾Mark) 来标记线段,但用\pstMarkAngle(以 开头Mark) 来标记角度。看来包作者喜欢使用不一致的名称。

在此处输入图片描述

最后编辑

\pscalculate来自pst-calculate 包可以让我插入中缀计算并输入到HomCoefAngleCoef

\documentclass[pstricks,12pt,border=15pt]{standalone}
\usepackage{pst-eucl} 
\usepackage{pst-calculate}
\begin{document}
\begin{pspicture}[showgrid=false](-1,-3)(7,5)
\pstTriangle(2,4){A}(0,0){B}(6,0){C}
\pstCircleABC[PosAngle=225]{A}{B}{C}{O}
\pstHomO[HomCoef=\pscalculate{2/3}]{A}{B}[M]% Now without hard coded 0.6666
\pstRotation[AngleCoef=\pscalculate{1/3},RotAngle=\pstAngleAOB{C}{O}{A}]{O}{C}[M']
\psset{PointName=none,PointSymbol=none}
\pstRotation[AngleCoef=\pscalculate{1/3},RotAngle=\pstAngleAOB{B}{A}{C}]{A}{B}[P1]
\pstRotation[AngleCoef=\pscalculate{2/3},RotAngle=\pstAngleAOB{B}{A}{C}]{A}{B}[P2]
\pstInterLL{B}{C}{A}{P1}{Q1}
\pstInterLL{B}{C}{A}{P2}{Q2}
\psset{Mark=MarkHash,MarkAngle=90,MarkAngleRadius=.8}
\pstMarkAngle{B}{A}{Q1}{}
\pstMarkAngle{Q1}{A}{Q2}{}
\pstMarkAngle{Q2}{A}{C}{}
\psset{linestyle=dashed}
\psline(A)(Q1)
\psline(A)(Q2)
\end{pspicture}
\end{document}

答案2

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

\begin{document}
\begin{pspicture}[showgrid](-1,-3)(7,5)
  \pstTriangle(2,4){A}(0,0){B}(6,0){C}
  \pstCircleABC[PosAngle=60]{A}{B}{C}{O}
  \pstHomO[HomCoef=0.667]{A}{B}[M]
  \pstRotation[AngleCoef=0.333,RotAngle=\pstAngleAOB{C}{O}{A}]{O}{C}[M']
  \psset{PointSymbol=none,PointName=none}
  \pstRotation[AngleCoef=0.333,RotAngle=\pstAngleAOB{B}{A}{C}]{A}{B}[M1]
  \pstRotation[AngleCoef=0.667,RotAngle=\pstAngleAOB{B}{A}{C}]{A}{B}[M2]
  \pcline[linestyle=dashed](A)(M1)
  \pcline[linestyle=dashed](A)(M2)
\end{pspicture}
\end{document}

在此处输入图片描述

相关内容