PSTricks 片段方向

PSTricks 片段方向

我想在 PStricks 中制作一个简单的 3D 图片(展示如何测量从空间原点开始的线段)。主要问题是正确绘制定义点 A 沿轴的投影。如下图所示,我的想法是移动 A 的几个投影(通过 pstricks 选项origin={})。问题是 pstricks 不会对线段 OA 和 AO 进行任何区分,这对于我的想法的应用至关重要。另一方面,即使通过在 A 和 O 处创建节点也无法移动 AO \ncline

\documentclass{article}
\usepackage{pstricks}
\begin{document}

\begin{pspicture}(-2,-1.5)(3.5,2.5)
    \psline[linecolor=gray]{->}(0,0)(3.5,0)
    \psline[linecolor=gray]{->}(0,0)(0,2.5)
    \psline[linecolor=gray]{->}(0,0)(2;225)
    \psline[linecolor=teal]{-*}(2.5;20)
    %\pnodes(0,0){O}(1;225){A1}
    \psline[linestyle=dashed,linecolor=lightgray](0,0)(2.5;20|1;225)
    \psline[linestyle=dotted](1;225)(2.5;20|1;225)(2.5;20)
    \psline[linestyle=dotted,origin={2.5;20}](2.5;20|1;225)(0,0) % this is not PO
    \psline[linestyle=dotted,origin={2.5;20|1;225}](1;225)(0,0)% this is not QO
\end{pspicture}

\end{document}

所以,我的问题是如何让 pstricks 区别对待 AO 和 OA 段?谢谢!

答案1

当然,有一种坐标系方式可以绘制线段,而无需移动它们。这是一个解决方案(参见红色虚线pslines),使用 pstricks 的特性。

\begin{pspicture}(-2,-1.5)(4,2.5)
    \psline[linestyle=dotted](1;225)(2.5;20|1;225)(2.5;20)
    \psline[linestyle=dotted,linecolor=red](!90 cos 2.5 20 sin mul 225 sin sub)(2.5;20)
    \psline[linestyle=dotted,linecolor=red](2.5;20|1;225)(!225 cos neg 2.5 20 cos mul add 0 sin)
    \psline[linecolor=gray]{->}(0,0)(4,0)
    \psline[linecolor=gray]{->}(0,0)(0,2.5)
    \psline[linecolor=gray]{->}(0,0)(2;225)
    \psline[linestyle=dashed,linecolor=lightgray](0,0)(2.5;20|1;225)
    \psline[linecolor=teal]{-*}(2.5;20)
\end{pspicture}

无论如何,我对 AO 和 OA 段之间的差异一直很好奇,所以如果有人能向我解释 pstricks 读取它们的方式,我将不胜感激。

答案2

你是指这样的吗?

\documentclass{article}
\usepackage{pst-3dplot}
\begin{document}

\psset{coorType=2}
\begin{pspicture}(-2,-1.5)(3.5,2.5)
\pstThreeDCoor
\pstThreeDLine[linecolor=teal,arrows=-*](0,0,0)(3,3,4)
\pstThreeDLine[linestyle=dotted](0,0,0)(3,3,0)
\pstThreeDLine[linestyle=dotted](3,0,0)(3,3,0)
\pstThreeDLine[linestyle=dotted](0,3,0)(3,3,0)
\pstThreeDLine[linestyle=dotted](3,3,0)(3,3,4)
\end{pspicture}
    
\end{document}

在此处输入图片描述

或者与 2d 行相同:

\begin{pspicture}(-2,-1.5)(3.5,2.5)
    \psline[linecolor=gray]{->}(0,0)(3.5,0)
    \psline[linecolor=gray]{->}(0,0)(0,2.5)
    \psline[linecolor=gray]{->}(0,0)(2;225)
    \psline[linecolor=teal]{-*}(2.5;20)
    %\pnodes(0,0){O}(1;225){A1}
    \psline[linestyle=dashed,linecolor=lightgray](0,0)(2.5;20|1;225)
    \psline[linestyle=dotted](1;225)(2.5;20|1;225)(2.5;20)
    \psline[linestyle=dotted](0,1.5)(2.5;20)
    \psline[linestyle=dotted,origin={3,0}](1;225)(0,0)
\end{pspicture}

在此处输入图片描述

相关内容