Try this! I took the code from here http://www.texample.net/tikz/examples/dandelin-spheres/ and did some simplifications.
\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{70}{0}
\begin{tikzpicture}[tdplot_main_coords]
\def\h{2.5}% height of cup
\def\r{2}% reason of two radius
\foreach \t in {5,10,...,360}
\draw[magenta] ({cos(\t)},{sin(\t)},0) --({2*cos(\t)},{2*sin(\t)},{2.0*\h});
\draw[magenta,very thick] (1,0,0) % lower circle
\foreach \t in {5,10,...,360}
{--({cos(\t)},{sin(\t)},0)}--cycle;
\draw[magenta,very thick] (1,0,0) % upper circle
\foreach \t in {5,10,...,360}
{--({\r*cos(\t)},{\r*sin(\t)},{2*\h})}--cycle;
\end{tikzpicture}
\end{document}
Do you mean some thing like this?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{through,shapes}
\begin{document}
\begin{tikzpicture}
% coordinaten
\coordinate (m) at (0,4,0);
% assen
\draw (0,0,0) -- (0,4,0); % z
\draw (0,0,0) -- (4,0,0); % x
\draw (0,0,0) -- (0,0,4.65); % y
% sfeer
\draw (4,0,0) arc (0:116.5:4cm and -2cm);
\draw (4,0,0) arc (0:90:4cm and 4cm);
\draw (0,4,0) arc (90:206.5:2cm and 4cm);
\node[draw,circle through={(m)}] (c) at (0,0,0) {};
% fotosfeer
\draw (3.875,0,0) arc (0:115.8:3.875cm and -1.875cm);
\draw (3.875,0,0) arc (0:90:3.875cm and 3.875cm);
\draw (0,3.875,0) arc (90:205.8:1.875cm and 3.875cm);
%fill
\draw[fill=blue] (0,0,0) --(0,3.875,0) arc (90:205.8:1.875cm and 3.875cm) --(0,0,0) -- (3.875,0,0) arc (0:90:3.875cm and 3.875cm) -- (0,0,0) -- (3.875,0,0) arc (0:115.8:3.875cm and -1.875cm)-- cycle;
% convenctie zone
\draw (2,0,0) arc (0:116.5:2cm and -1cm);
\draw (2,0,0) arc (0:90:2cm and 2cm);
\draw (0,2,0) arc (90:206.5:1cm and 2cm);
%fill
\draw[fill=red] (0,0,0) -- (0,2,0) arc (90:206.5:1cm and 2cm) --(0,0,0) -- (2,0,0) arc (0:90:2cm and 2cm) -- (0,0,0) -- (2,0,0) arc (0:116.5:2cm and -1cm)-- cycle;
% radiatie zone
\draw (1,0,0) arc (0:116.5:1cm and -0.5cm);
\draw (1,0,0) arc (0:90:1cm and 1cm);
\draw (0,1,0) arc (90:206.5:0.5cm and 1cm);
%fill
\draw[fill=green] (0,0,0) -- (0,1,0) arc (90:206.5:0.5cm and 1cm) --(0,0,0) -- (1,0,0) arc (0:90:1cm and 1cm) -- (0,0,0) -- (1,0,0) arc (0:116.5:1cm and -0.5cm)-- cycle;
\end{tikzpicture}
\end{document}
Best Answer
You can make use of the
3d
library and instead of using a node (which won't be affected by the 3D transformation) draw a real circle and place a coordinate at its center: