제가 올린 그림을 tikz를 이용하여 그려보고 싶습니다. 각도를 표시할 수 없고 그림과 비슷한 것을 만들 수 없습니다.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill[black!50] (2.5,1) ellipse (1 and 0.5);
%\fill[black!50][rotate=-30] (-2.5,1) ellipse (1.5 and 0.5);
\fill[black!50] (-2.5,1) ellipse (1 and 0.5);
\fill[black!50] (2.5,-1) ellipse (1 and 0.5);
\fill[black!50] (-2.5,-1) ellipse (1 and 0.5);
\fill[black!50] (-0,-0) ellipse (1.5 and 0.5);
\draw[black, ultra thick] (1.,.4) -- (2.5,1);
\draw[black, ultra thick] (-1.,.4) -- (-2.5,1);
\draw[black, ultra thick] (1.,-.4) -- (2.5,-1);
\draw[black, ultra thick] (-1.,-.4) -- (-2.5,-1);
\end{tikzpicture}
\end{document}
답변1
3d
TikZ는 3D 다이어그램을 위한 최고의 도구는 아닐 수도 있지만 라이브러리 형식으로 지원됩니다 perspective
.
게다가,tikz-3dplot
그리고tikz-3dtools
.
당신의 파란색 좌표계가 어떻게 작동하는지, 그것이 세상에 어떻게 존재하는지 잘 모르겠습니다. 파란색와이축은 빨간색 주 점선을 기준으로 정의되므로 축 사이에 호를 쉽게 그릴 수 있습니다. 도서관 angles
은 다음에서만 작동합니다.캔버스항상 2차원인 좌표계(단위가 있는 시스템).
암호
\documentclass[tikz]{standalone}
%\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{3d, arrows.meta, calc, quotes}
\begin{document}
\begin{tikzpicture}[
x = ( 20:-2cm), y = (-30: 2cm), z = ( 80: 1.6cm),
> = Triangle]
\draw coordinate (O) (0,0,-.05) ellipse [radius=.2];
\foreach \xy/\yx in {x/y, y/x} {
\fill[white] (xyz cs: \xy = -1, \yx = -.05) -- (xyz cs: \xy = 1, \yx=-.05)
-- (xyz cs: \xy = 1, \yx = .05) -- (xyz cs: \xy = -1, \yx= .05) -- cycle;
\foreach \lmr in {-.05, 0, .05}
\draw[gray] (xyz cs: \xy=-1, \yx = \lmr) -- (xyz cs: \xy=1, \yx=\lmr);
\draw[fill=white, radius=.15] (xyz cs: \xy = -1) ellipse[]
(xyz cs: \xy = 1) ellipse[];
}
\draw[fill=white] (O) ellipse [radius=.2];
\foreach \xyz/\Label/\Ang in {% \Ang needs to start with a ,
x/left/ {, longitude = 70},
y/right/{, longitude =-20},
z/above/{, longitude = 70, latitude=70}%
} {
\draw[->, densely dashed, red] (0, 0, 0) -- ++(xyz cs: \xyz= 1.5)
coordinate (ax-\xyz) node[\Label] {$\xyz$};
\draw[blue, ->]
(0, 0, 0) -- (xyz spherical cs: radius = 1.5,/tikz/style/.expanded=\Ang)
coordinate (ax-\xyz') node[\Label] {$\xyz$};
}
\draw[canvas is xy plane at z=0]
(0, 1) arc[start angle=90, delta angle=20, radius=1]
node[midway, below right] {$\varphi$};
\end{tikzpicture}
\end{document}