3
\documentclass[pstricks,border=10pt]{standalone}
\usepackage{pstricks-add,pst-plot,pst-calculate,amssymb,amsmath}

\begin{document}
\begin{pspicture}[algebraic](-4.5,-6)(1,2.5)
\def\a{\pscalculate{8/3}}
\def\b{\pscalculate{16/3}}
\psaxes[labels=none,Dx=2,Dy=\a,xlabelPos=top,ticks=none]{->}(0,0)(-4.5,-6)(1,2.5)[$x$,-90][$y$,0]
\psplot[plotpoints=500,linewidth=1.2pt,yMaxValue=2.1,yMinValue=-6]{-5}{3.5}{1/3*x^3+2*x^2+4*x}

\uput[-45](0,0){$O$}
\uput[90](-2,0){$-2$}
\uput[90](-4,0){$-4$}
\uput[0](0,-\a){$-\dfrac{8}{3}$}
\uput[0](0,-\b){$-\dfrac{16}{3}$}
\uput[135](-2,-\a){$A$}
\uput[180](-4,-\b){$B$}
\psline[linestyle=dashed](0,-\a)(-2,-\a)(-2,0)
\psline[linestyle=dashed](0,-\b)(-4,-\b)(-4,0)
\psdots*(0,0)(-2,0)(-4,0)(0,-\a)(0,-\b)(-2,-\a)(-4,-\b)
\end{pspicture}
\end{document}

enter image description here

Question:

How to A-point moved from B-point to O and opposite with animation.

I have no many knowledge about animate.

3

works only with latex->dvips->ps2pdf

\documentclass{article}
\usepackage{pstricks,pst-plot,pst-calculate,animate,amsmath}
\begin{document}

%-------------------- write timeline file ---------------------%
\newwrite\TimeLineFile
\immediate\openout\TimeLineFile=Func.txt
\immediate\write\TimeLineFile{::0x0,1}%
\multido{\i=2+1}{40}{\immediate\write\TimeLineFile{::\i}}
\immediate\closeout\TimeLineFile
%------------------- end timeline -----------------------%

\psset{algebraic}

\def\Func{1/3*x^3+2*x^2+4*x}
\def\b{\pscalculate{16/3}}

\def\drawFunc#1{%
    \edef\Y{\pscalculate{1/3*(#1)^3+2*(#1)^2+4*(#1)}}
    \psCoordinates[arrows=->,linecolor=blue,linestyle=dashed,
        dotstyle=o,dotscale=2,showpoints](#1,\Y)
    \uput[90](#1,0){$#1$}
    \uput[0](0,\Y){\Y}
    \uput[135](*#1 {\Func}){$A$}
}   


\begin{center}
\begin{animateinline}[controls,palindrome,timeline=Func.txt,
    begin={\begin{pspicture}(-4.5,-6)(1.1,2.75)},
    end={\end{pspicture}}]{10}
    %---- static material: axes, labels, curve ----%
  \psaxes[labels=none,xlabelPos=top,
          ticks=none]{->}(0,0)(-4.5,-6)(1,2.5)[$x$,-90][$y$,0]
  \psplot[plotpoints=500,linewidth=1.2pt,yMaxValue=2.1,yMinValue=-6]{-5}{3.5}{\Func}
  \psCoordinates[arrows=->,linestyle=dashed,dotstyle=o,dotscale=2,showpoints](*4 {\Func})
  \uput[-45](0,0){$O$}
  \uput[90](-4,0){$-4$}
  \uput[0](0,-\b){$-\dfrac{16}{3}$}
  \uput[180](-4,-\b){$B$}
  \psCoordinates[arrows=->,linecolor=blue,linestyle=dashed,dotstyle=o,dotscale=2,showpoints](*-4 {\Func})
  \newframe
    \multiframe{41}{rX=-4+0.1}{\drawFunc{\rX}}%
\end{animateinline}% 
\end{center}

\end{document}

enter image description here

and the same as a gif animation:

enter image description here

Using it without a timeline:

\documentclass[pstricks]{article}
\usepackage[paperwidth=8cm,paperheight=10cm,margin=0mm]{geometry}
\usepackage{pst-plot,pst-calculate,multido,amsmath,animate}
\newpsstyle{coor}{arrows=->,linecolor=blue,linestyle=dashed,dotstyle=o,dotscale=1.5,showpoints}
\pagestyle{empty}
\begin{document}
    \psset{algebraic}

    \def\Func{1/3*x^3+2*x^2+4*x}
    \def\b{\pscalculate{16/3}}

\def\drawFunc#1{%
  \begin{pspicture}(-4.5,-6)(1.1,2.75)      
     \edef\Y{\pscalculate{1/3*(#1)^3+2*(#1)^2+4*(#1)}}
     \psCoordinates[style=coor](#1,\Y)
        \uput[90](#1,0){$#1$}
        \uput[0](0,\Y){\Y}
        \uput[135](*#1 {\Func}){$A$}
    \psaxes[labels=none,xlabelPos=top,ticks=none]{->}(0,0)(-4.5,-6)(1,2.5)[$x$,-90][$y$,0]
    \psplot[plotpoints=500,linewidth=1.2pt,yMaxValue=2.1,yMinValue=-6]{-5}{3.5}{\Func}
    \psCoordinates[style=coor](*-4 {\Func})
    \uput[-45](0,0){$O$}
    \uput[90](-4,0){$-4$}
    \uput[0](0,-\b){$-\dfrac{16}{3}$}
    \uput[180](-4,-\b){$B$}
\end{pspicture}%
}   

\begin{animateinline}[poster=last, controls, palindrome]{10}%
    \multiframe{41}{rA=-4.0+0.1}{\drawFunc{\rA}}%
\end{animateinline}

\end{document}
2
  • 2
    With the timeline file we can draw objects only one time which will never be repeated, e.g. coordinate system, curve, ... Without we have to plot for every step the complete function with all elements. It depends on how complicated the static stuff is if a timelime is recommended. For your example a solution without would also work.
    – user2478
    Dec 20 '18 at 8:22
  • Wow, I see.....Good code!
    – user173875
    Dec 20 '18 at 9:01
2
\documentclass[pstricks]{standalone}
\usepackage{pstricks-add,mathtools}
\def\f{1/3*x^3+2*x^2+4*x}
\psset
{
    unit=2cm,
    xfractionLabels,
    xfractionLabelBase=2,
    dx=\pscalculate{1/2},
}

\begin{document}
\foreach\x in{14,13,...,0}{%
\begin{pspicture}[algebraic](-4.6,-5.1)(1.3,2.8)
\psCoordinates[linestyle=dashed](*-3.5 {\f})
\psCoordinates[linestyle=dashed](*{-\x\space 4 div} {\f})
\psaxes{->}(0,0)(-4.4,-4.9)(1,2.5)[$x$,0][$y$,90]
\psplot{-3.9}{.5}{\f}
\end{pspicture}}
\end{document}

enter image description here

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy