使用 Tikz 和 PStricks 对相同形状进行测试

使用 Tikz 和 PStricks 对相同形状进行测试

接下来是我之前的问题:let 操作与 tkz-euclide 对比

Tikz 粉丝和 PStricks 能否分别给出相同形状如下,看看每种方法的优缺点

下图是通过jpgfdraw构造的,我尽量给出一个三维透视图。

不幸的是,jpgfdraw 无法进行渐变绘制。渐变问题,我向这个问题提出了Jpgfdraw和透明度问题

当然我必须展示一些代码...但不幸的是我没有足够的知识来做到这一点。

如果您认为这个数字很大而且很复杂......我会发布另一个。

我不会让你厌烦。我正要把我的时间花在哪里。我读了这些

TikZ/PGF 相对于 PSTricks 有哪些优势?

根本区别:PSTricks、TikZ/PGF 等


1ο更新:

这是我在 jpgfdraw 屏幕上看到的
jpgfdraw 文件在这里:https://docs.google.com/file/d/0BxaG1GVbo3S5cFRXcV9NN3lFV2s/edit?usp=sharing

在此处输入图片描述

这是使用 xelatex 编译后的 pdf 输出

在此处输入图片描述

答案1

我不是 pstricks 的专家,也不确定自己是否是 tikz 的专家,但我可以向你展示如何绘制你想要的东西。我使用了我为此编写的代码问题

但这不是你问题的答案,因为我无法用 pstricks 编写相同的代码。可以修改代码以获得“3D 外观”,但这不是最重要的问题。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns,decorations.pathmorphing}

\newcommand{\myfig}[6]{%
\begin{scope}[xshift=#6,
             spring/.style = {decorate,
                              decoration = {aspect         = 0.5, 
                                            segment length = #1,
                                            amplitude      = 2mm,
                                            coil}}] 

\path (0,0)                            coordinate (g) 
      (0,-1cm)                         coordinate (topspring) 
      (0,#2)                           coordinate (bottomspring) 
      (bottomspring) ++(0,-.5cm)       coordinate (pt2)
                      +(0cm,-#3)       coordinate (pt3)
                      +(1.25cm,-#3)    coordinate (#5 pt3);

 \node [platform,rotate=-30,
        anchor = south] at (g)  {};
 \draw [very thick]    (-1,0)         -- (1,0);
 \draw                (topspring)     -- (g)
                      (bottomspring)  -- (pt2.north);
 \draw [spring]       (bottomspring)  -- (topspring);
 \draw [fill=black] (pt3) circle (#3) 
                          node[inner sep = 0,
                               scale     = #4,
                               text      = white]{$m$};
 \node[right=1.5*#3] at (pt3) {#5} ;
 \end{scope}
}

\begin{document}
\begin{tikzpicture}[rotate=-30,thick,
                    every node/.style = {draw      = none,
                                         inner sep = 0pt,
                                         outer sep = 0pt},
                    platform/.style   = {fill, 
                                         pattern = north east lines,
                                         minimum width  = 2cm,
                                         minimum height  =0.3cm}]
 \myfig{1mm}{-4cm}{0.1cm}{0}{A}{-2.5cm}
 \myfig{3mm}{-6cm}{0.35cm}{1.5}{B}{0cm}
 \myfig{3mm}{-10cm}{0.4cm}{1.8}{C}{2.5cm} 

\draw[dashed]  (A pt3)  +(-0.6,0)     --  +(0.6,0)
                        +(-0.6+2.5,0) -- coordinate (b1) +(0.6+2.5,0)
               (B pt3)  +(-0.6-2.5,0) -- coordinate (a2) +(0.6-2.5,0) 
               (C pt3)  +(-0.6-2.5,0) -- coordinate (b2) +(0.6-2.5,0) ;

\draw[latex-latex] (A pt3) -- node[right=0.1cm]{$\delta l_1$} (a2); 
\draw[latex-latex] (b1)    -- node[right=0.1cm]{$\delta l_2$} (b2);
\begin{scope}[rotate=30]
  \draw  (C pt3) --([xshift=3cm]C pt3) ;
  \draw  ([xshift=1cm]C pt3)  arc (0:60:1cm);
  \path  (C pt3)--++(30:1.25) node[font=\Large]{$\phi$};
\end{scope}

\draw (C pt3) --(C pt3)|-(g);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容