Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Is there an elegant way to rotate this shape about the axis and draw in 3D? Ideally I would like to be able to draw a revolved view of this as 180 deg, 270 deg and the full revolution at 360 deg.

enter image description here

\begin{tikzpicture}

\def \scalex {0.02};
\def \scaley {0.02};

%Input Variables
\def \DA {1000};
\def \EL {200};
\def \TM {20};
\def \HA {25};
\def \HI {60};
\def \DN {500};
\def \DS {325};
\def \BN {100};
\def \N {-4.026};
\def \S {1.342 };

%Draw shell
\draw (-\HA/2*\scalex, \DA/2*\scaley - \TM*\scaley) -- (-\EL /2*\scalex, \DA/2*\scaley -     \TM*\scaley) --  (-\EL /2*\scalex, \DA/2*\scaley)  --  (\EL /2*\scalex, \DA/2*\scaley) -- (\EL /2*\scalex, \DA/2*\scaley - \TM*\scaley) -- (\HA/2*\scalex, \DA/2*\scaley - \TM*\scaley); 

% Draw hub
\draw (-\HI/2*\scalex, \DN/2*\scaley) --  (-\BN/2*\scalex, \DN/2*\scaley) -- (-\BN/2*\scalex, \DS/2*\scaley) -- (\BN/2*\scalex, \DS/2*\scaley) -- (\BN/2*\scalex, \DN/2*\scaley) -- (\HI/2*\scalex, \DN/2*\scaley) ;

% Draw disk
\draw[scale=0.02,domain=\DN/2:\DA/2 - \TM, variable=\r, black ] plot ({-\HA/2*(( \r/ (\DA/2 - \TM))^(-\N/3))}, {\r} );
\draw[scale=0.02,domain=\DN/2:\DA/2 - \TM, variable=\r, black ] plot ({\HA/2*(( \r/ (\DA/2 - \TM))^(-\N/3))}, {\r} );

% Draw centerline
\draw (-2,0) -- (2,0);

% Draw labels
\draw (-\HA/2*\scalex, \DA/2*\scaley - \TM*\scaley) -- ++ (-1,-1) node [left] {a};
\draw (\HA/2*\scalex, \DA/2*\scaley - \TM*\scaley) -- ++ (1,-1) node [right] {b};
\draw (-\HI/2*\scalex, \DN/2*\scaley)  -- ++ (-1, 1) node [left] {c};
\draw (\HI/2*\scalex, \DN/2*\scaley)  -- ++ ( 1, 1) node [right] {d};

\end{tikzpicture}
share|improve this question
3  
These type of tasks are really for Asymptote :) –  percusse Jul 30 at 20:00
    
Welcome to TeX.SX! –  Papiro Jul 30 at 20:00
    
\usepackage{tikz-3dplot} may works ... as long as you can rewrite your contour using a function. –  Symbol 1 Aug 25 at 13:02

Your Answer

 
discard

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

Browse other questions tagged or ask your own question.