TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Any ideas on how to recreate the cross-section of a nautilus shell like in the diagram below:

enter image description here

share|improve this question
Welcome to TeX.SX! What is your MWE that shows your effort and difficulties? – kiss my armpit Sep 18 '13 at 2:17
@PGFTricks Thanks for the welcome!lol I have been participating in this site for more than a year so i kinda know the rules of TX.SX but I do agree i do not have a MWE. What I am looking for, is to learn the possible algorithm that could create such a diagram like the one you shared and the others as well. But thanks again for the concern. – azetina Sep 18 '13 at 19:17

A --shell-output (it had to be done sorry)

Fibonacci approximation for the spiral. Complete guess at the color. Stealing Jake's ncbar (again!).

     to path=(\tikztostart) ..controls ($(\tikztostart)!1cm*#1!-90:(\tikztotarget)$) and 
\coordinate (n-1-1) at (0,0) {};
\foreach \x[count=\xi from 2, evaluate=\x as \temptotx using int(\x+\totx)] in {1,...,9}{
    markings,mark=between positions 0 and 1 step 0.249 with {
            \coordinate (n-\x-\pgfkeysvalueof{/pgf/decoration/mark info/sequence number}) ;
(n-\x-1) arc (\x*90+180:(\x+1)*90+180:{(\temptotx)*3mm}) 
coordinate (n-\xi-1) 

\foreach \x[count=\xi from 5] in {1,...,4}{
    \foreach \y in {2,...,5}{
    \draw[ultra thick,draw=green!50,] (n-\x-\y) to[nctopath=\x] (n-\xi-\y);

enter image description here

Needs a little make up though. Maybe shading those sections nicely and placing a fading in the middle of the shell for the sun flare etc.

share|improve this answer

run with xelatex or latex->dvips->ps2pdf



\psset{viewpoint=20 120 60 rtp2xyz,Decran=20,lightsrc=-10 15 10}
% Parametric Surfaces
\psSolid[object=grille,base=-4 4 -4 4,action=draw*,linecolor={[cmyk]{1,0,1,0.5}}](0,0,-3)
   {1.2 v exp u Sin dup mul v Cos mul mul}
   {1.2 v exp u Sin dup mul v Sin mul mul}
   {1.2 v exp u Sin u Cos mul mul}
   base=0 pi pi 4 div neg 5 pi mul 2 div,


enter image description here

share|improve this answer
+1: I think you need to cut it and show the cross section. :-) – kiss my armpit Sep 18 '13 at 6:59

With PSTricks just for fun. The following is not the final.

\def\goo#1{2 #1 10 div exp}

    (!\goo{#1 .4 add} \goo{#1 .4 add 2 Pi mul add} add 2 div #1 .4 add RadtoDeg PtoC)
    (!\goo{#1 .6 add 2 Pi mul add} #1 .6 add RadtoDeg PtoC)}

        \psplot{#1}{#1 .6 add}{\foo}
        \psplot{#1 .6 add 2 Pi mul add}{#1 2 Pi mul add}{\foo}

    \foreach \i in {16,15.7,...,-55}{\atom\i}

enter image description here

Hopefully the next edit will make it more realistic. But you should get the rough idea.

How is it made?

The used algorithm is so simple as illustrated by the following animation.

enter image description here

share|improve this answer
It is actually used in the airport to transfer your baggage. – kiss my armpit Sep 18 '13 at 6:34
Yes, transfer your baggage down a deep, never-ending abyss. – Werner Sep 18 '13 at 6:42
@Werner: Thank you for upvoting. :-) – kiss my armpit Sep 18 '13 at 6:44
To reduce the file size, plotpoints=10 is more than enough. The default is plotpoints=50. – kiss my armpit Sep 18 '13 at 6:51

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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