我有兴趣使用 PSTricks 的 3D 包重现下图pst-solides3d
。不幸的是,我不熟悉该包,也不确定它是否支持
- 翻译
- 路口
您能向我演示如何使用 重现以下内容吗pst-solides3d
?
我是那种即使出了错也懒得看文档的人。这是我的学习风格。
\documentclass[pstricks,12pt]{standalone}
\usepackage{pst-eucl}
% P on BCGF
% Q on ADHE
% Draw the intersection point S between PQ and BCHE
\begin{document}
\begin{pspicture}[showgrid=false](-1,-1)(10.5,11)
% A cube
\pstGeonode[PosAngle={180,0,-60,180}](0,0){A}(6,0){B}(9,3){C}(3,3){D}(0,6){E}
\pstTranslation[PosAngle={0,-45,180}]{A}{E}{B,C,D}[F,G,H]
\psline(E)(H)(G)(C)(B)(F)(E)(A)(B)
\psline(F)(G)
\psline[linestyle=dashed](H)(D)(C)
\psline[linestyle=dashed](A)(D)
% P and Q
\pstGeonode[PosAngle={0,180}](9.5,2){P}(1,9.5){Q}
% Hidden Qt by translating Q along HQ
\pstTranslation[PointName=none,PointSymbol=none]{H}{D}{Q}[Qt]
% Hidden Pt by translating P along CG
\pstTranslation[PointName=none,PointSymbol=none]{C}{G}{P}[Pt]
% Q' = intersection QQt and EH
\pstInterLL[PosAngle=180]{Q}{Qt}{E}{H}{Q'}
% Q'' = intersection QQt and AD
\pstInterLL[PosAngle=160]{Q}{Qt}{A}{D}{Q''}
% P' = intersection PPt and FG
\pstInterLL[PosAngle=0]{P}{Pt}{F}{G}{P'}
% P'' = intersection PPt and BC
\pstInterLL[PosAngle=0]{P}{Pt}{B}{C}{P''}
% auxiliary lines
\pcline[linecolor=lightgray,nodesepB=-1](G)(P')
\pcline[linecolor=lightgray,nodesepB=-1](C)(P'')
\pcline[linecolor=lightgray,nodesep=-1](P')(P)
\pcline[linecolor=lightgray,nodesepB=-1](Q')(Q)
\pcline[linecolor=lightgray,nodesepB=-1,linestyle=dashed](Q')(Q'')
% plane BCHE
\pspolygon[linestyle=none,fillstyle=solid,fillcolor=yellow,opacity=0.2](B)(C)(H)(E)
% plane Q'Q''P''P'
\pspolygon[linestyle=none,fillstyle=solid,fillcolor=green,opacity=0.2](Q')(Q'')(P'')(P')
% common line between two planes
\psline[linecolor=red,linestyle=dashed](Q')(P'')
% PQ
\psline[linecolor=blue,linestyle=dashed](P)(Q)
% intersection point between PQ and the common line
\pstInterLL[PosAngle=45]{P}{Q}{Q'}{P''}{S}
\end{pspicture}
\end{document}