如何自动计算两边的比例?

如何自动计算两边的比例?
\documentclass[border=10pt,12pt,pstricks]{standalone}
\usepackage{pst-eucl,amsmath,amssymb,pst-calculate}
\begin{document}
\begin{pspicture}[showgrid](-1,-1)(7,6)
\pstGeonode[PosAngle={-135,90,-45}](0,0){B}(2,5){A}(6,0){C}
\pstProjection[PosAngle=-90]{B}{C}{A}[H]
\pcline(A)(H)
\pcline(B)(C)
\psGetDistanceAB[xShift=-8,yShift=3](B)(C){BC}
\psGetDistanceAB[xShift=2](A)(H){AH}
\end{pspicture}
\end{document}

在此处输入图片描述

  1. {BC} 和 {AH} 的用途是什么?(到现在我都不知道它的用法。能给我一个简单的例子吗?)
  2. 如何在不使用 \psGetDistanceAB 的情况下计算 AH/BC?

答案1

AHBC是节点名称:

\psGetDistanceAB[xShift=-8,yShift=3](B)(C){BC} 
\psGetDistanceAB[xShift=2](A)(H){AH}    
\psdots[dotstyle=x,dotscale=1.5](BC)(AH)

在此处输入图片描述

要得到正方形的边长,你必须计算它的边长。这是在 PostScript 级别上完成的,这就是为什么你必须使用latex-> dvips->ps2pdf

\documentclass[border=10pt,12pt,pstricks]{standalone}
\usepackage{pst-eucl}
\begin{document}
\begin{pspicture}[showgrid](-1,-1)(7,6)
\pstGeonode[PosAngle={-135,90,-45}](0,0){B}(2,5){A}(6,0){C}
\pspolygon[linecolor=red](A)(B)(C)
\pstProjection[PosAngle=-90]{B}{C}{A}[H]
\pcline(A)(H)
\pcline(B)(C)
\psGetDistanceAB[xShift=-8,yShift=3](B)(C){BC} 
\psGetDistanceAB[xShift=2](A)(H){AH}    
\psdots[dotstyle=x,dotscale=1.5](BC)(AH)
\pnode(! % Calculate the side of the square
  \psGetNodeCenter{A}\psGetNodeCenter{H}\psGetNodeCenter{B}\psGetNodeCenter{C}
  A.y H.y sub /Height exch def
  C.x B.x sub /Width exch def
  Height dup Width div 1 add div % AH/(AH/AB + 1)
  H.y add H.x exch % x=a+H.y; y=H.y 
  ){a}
\pnode[1,0](a){a1}
\psdots[linecolor=red](a)(a1)
\pstInterLL[PointName=none]{B}{A}{a}{a1}{BA1}
\pstInterLL[PointName=none]{C}{A}{a}{a1}{CA1}
\pspolygon*[opacity=0.3,linecolor=blue](BA1)(CA1)(CA1|H)(BA1|H)
\end{pspicture}
\end{document}

在此处输入图片描述

对于适用于三角形所有给定点的解决方案,您必须首先检查三角形的哪一边应该是底边。否则它将不起作用。请观看此动画:

在此处输入图片描述

相关内容