0
我正在尝试绘制复合三维形状,而且我正在挣扎两个3D点之间的绘制弧线。在下面的例子中,我想从D到H之间顺时针绘制180度的虚线弧,逆时针从D到H 180度的实线弧。然而,当我尝试在两个3D点之间绘制一条弧线
\draw (D) arc[radius=\R, start angle=180, end angle=0];
我没有得到我想要的弧。下面是我的代码至今:
\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{65}{-43}
\begin{center}
\begin{tikzpicture}[
scale=1,
tdplot_main_coords]
\def\R{2}
\def\h{6}
\coordinate (A) at ({\R*cos(0)},{\R*sin(0)},0);
\coordinate (B) at ({\R*cos(45)},{\R*sin(45)},0);
\coordinate (C) at ({\R*cos(90)},{\R*sin(90)},0);
\coordinate (D) at ({\R*cos(135)},{\R*sin(135)},0);
\coordinate (E) at ({\R*cos(180)},{\R*sin(180)},0);
\coordinate (F) at ({\R*cos(225)},{\R*sin(225)},0);
\coordinate (G) at ({\R*cos(270)},{\R*sin(270)},0);
\coordinate (H) at ({\R*cos(315)},{\R*sin(315)},0);
\coordinate (O) at (0,0,0);
\coordinate (O') at (0,0,\h);
\coordinate (O'') at (0,0,-\h);
\foreach \i in {A,B,C}{
\draw[dashed] (\i) -- (O');
\node at (\i) [above]{$\i$};}
\foreach \i in {D,E,F,G,H}{
\draw (\i) -- (O');
\node at (\i) [below]{$\i$};}
\draw[red] (O) circle (\R);
\draw[red] (D) -- (O'') -- (H);
\draw[dashed] (H) -- (A) -- (B) -- (C) -- (D);
\draw (D) -- (E) -- (F) -- (G) -- (H);
\node at (O') [above]{$O'$};
\node at (O'') [below,thick,red]{$O''$};
\end{tikzpicture}
\end{center}
\end{document}
有一个tikz PGF堆栈Exachange页。我猜你会收到相当数量的答复。 – stars83clouds