4

I am working in a simple project creating some 3D representations of math surfaces and shapes for a calculus course. Most of all the pictures I have created rely heavily on pst-3dplot. Once I found out that pst-solides3d had certain features useful for upcomming chapters, I included it in my preamble to start working with it.

My first surprise was to find that the order of the packages does have an effect on output, especially on anything created with pst-3dplot (plots seem to lose scale and spread all over the place).

My second surprise is that trying to recreate the examples from the solides3d documentation produces unruly results (AFAIK, wrong line color, size is out-of-whack). I have discovered my problem with this.

update

If anyone needs to know, the unruly sizes is due to the fact that the Decran optional parameter is paramount to regulate the size of the images. The color discrepancy must have been a typo in the example or my own fault. Either way, it's fixed

  • I would like to know if there is anyone else out there who has had these issues.
  • Is there any place where these side-effects are documented?
  • Does pst-solides3d introduce a default configuration that produces chaos in pst-3dplot?
  • If so, is there any way to compensate such configuration?
  • Should I be using a special package to control the units and lengths?

Update: a working example

This is recycled from another question but it still works and it still demonstrates the strange behaviour of these 2 packages

\documentclass[11pt]{book}
% the order of these 2 packages produces strange results
\usepackage{pst-solides3d}
\usepackage{pst-3dplot}
\begin{document}
\begin{pspicture}(-2,-1)(3,3)
\psset{Beta=15}
\pstThreeDCoor[
    Beta=15,
    nameX=$X$,xMin=-1.7,xMax=1.7,
    nameY=$Y$,yMin=-1.7,yMax=1.7,
    nameZ=$Z$,zMin=-0.5,zMax=2.4,
    linecolor=lightgray,linewidth=1.3pt,arrowscale=2.0
]
%--------------BACKGROUND--------------
\psset{linecolor=lightgray,linewidth=0.7pt,yPlotpoints=1}
%horizontals
\parametricplotThreeD[yPlotpoints=2](0,360){t cos 1.5 mul t sin 1.5 mul 2.25}
%verticals
\parametricplotThreeD(0,1.55){-39 cos t mul -39 sin t mul t t mul}
\parametricplotThreeD(0,1.55){129 cos t mul 129 sin t mul t t mul}
%--------------FOREGROUND--------------
\psset{linecolor=black,linewidth=1.0pt}
%curvas coordenadas
\parametricplotThreeD(-45,135){t cos 1.2 mul t sin 1.2 mul 1.44}
\parametricplotThreeD( 0,1.60){80 cos t mul 80 sin t mul t t mul}
%punto P
\pstThreeDDot(0.208,1.182,1.44)
\pstThreeDPut[pOrigin=br](0.208,1.182,1.55){$P$ }
%VECTORS
\psset{arrowscale=1.3}
%vector Circu < -0.99 , 0.16 , 0 >
\pstThreeDLine{->}(0.208,1.182,1.44)(-0.782,1.342,1.44)
%vector Parab < 0.06 , 0.36 , 0.72 >
\pstThreeDLine{->}(0.208,1.182,1.44)(0.268,1.542,2.16)
%vector Norm < 0.115 , 0.713 , -0.366 >
\pstThreeDLine{->}(0.208,1.182,1.44)(0.323,1.895,1.074)
\pstThreeDPut[pOrigin=l](0.305,1.863,1.014){$\textbf{N}$}
%Plano Pi
\pstThreeDLine[linestyle=dashed,linewidth=0.8pt](-1.205,1.93,2.46)%
(-1.385,0.85,0.30)%
( 1.585,0.37,0.30)%
( 1.765,1.45,2.46)%
(-1.205,1.93,2.46)
\pstThreeDPut[pOrigin=l](-1.205,1.97,2.5){$\Pi$}
\end{pspicture}
\end{document}

Image compiled with pst-solides3d loaded before pst-3dplot Image compiled with solides3d loaded before

Image compiled with pst-solides3d loaded after pst-3dplot Image compiled with solides3d loaded after

PS: if a MWE is required, please tell me and I'll get on it tout-de-suite

PPS: this is my first question in tex.stackexchange, I came from SO

  • Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. A tip: You can use backticks ` to mark your inline code as I did in my edit. – jub0bs Aug 21 '14 at 21:29
  • Thanks, I forget that this is just like stackoverflow. I'll go take a look at the guidelines now. – hanzo2001 Aug 21 '14 at 21:33
  • FYI, in my experience, the TeX.SX is much friendlier and less fragmented than Stack Overflow's :) – jub0bs Aug 21 '14 at 21:37
  • I'm not really sure, I'm very used to SO's jungle. Anyhow, I like to keep my latex and my tea in separate mugs... so it works for me :) – hanzo2001 Aug 21 '14 at 21:40
  • Show a complete small example. The both packages are fare different but shouldn't interact. – user2478 Aug 24 '14 at 12:18
3

It is a problem with the definition of the internal \lineIIID@i which is defined by both packages. I'll upload a new version of pst-3dplot to CTAN. Until then use the order

\usepackage{pst-solides3d}
\usepackage{pst-3dplot}

or use version 2.01 of pst-3dplot.tex from http://texnik.dante.de/tex/generic/pst-3dplot/

  • Great!! Thank you. I was also really interested in understanding the incompatibility behind, so double thanks – hanzo2001 Aug 25 '14 at 16:17

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.