\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}
- {BC} 和 {AH} 的用途是什么?(到现在我都不知道它的用法。能给我一个简单的例子吗?)
- 如何在不使用 \psGetDistanceAB 的情况下计算 AH/BC?
答案1
AH
和BC
是节点名称:
\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}
对于适用于三角形所有给定点的解决方案,您必须首先检查三角形的哪一边应该是底边。否则它将不起作用。请观看此动画: