У меня есть трехмерная система координат, и я хочу отметить точку точкой.
\begin{tikzpicture}[x = {(0.866cm,0.5cm)}, y={(0cm,1cm)}, z={(0.866cm,-0.5cm)},]
\draw[thick,->] (-15,0,0) -- (15,0,0) node[right] {x};
\draw[thick,->] (0,-12,0) -- (0,12,0) node[above] {y};
\draw[thick,->] (0,0,-15) -- (0,0,50) node[right] {z};
\fill (0,0,5) circle (1);
\end{tikzpicture}
Вот результат:
но мне нужна сфера или круг с точки зрения:
Как мне этого добиться?
решение1
типично, 2 часа поиска в интернете. затем, после того как я наконец опубликовал сообщение, через 2 минуты я сам нахожу ответ. но поскольку его было так трудно найти, возможно, он будет полезен кому-то еще:
\begin{tikzpicture}[x = {(0.866cm,0.5cm)}, y={(0cm,1cm)}, z={(0.866cm,-0.5cm)},]
\draw[thick,->] (-15,0,0) -- (15,0,0) node[right] {x};
\draw[thick,->] (0,-12,0) -- (0,12,0) node[above] {y};
\draw[thick,->] (0,0,-15) -- (0,0,50) node[right] {z};
\draw plot [mark=*, mark size=10] coordinates{(0,0,5)};
\end{tikzpicture}
Я не знаю, как это работает, но это идеально делает то, что я хотел:
решение2
tikz-3dplot
Здесь показано решение, в котором задействованы как сфера, так и круг, размер которых можно изменять .
Код
\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\tdplotsetmaincoords{120}{50}
\begin{document}
\begin{tikzpicture}[scale=2, tdplot_main_coords,axis/.style={->},thick]
\draw[axis] (-1, 0, 0) -- (1, 0, 0) node [right] {$X$};
\draw[axis] (0, -1, 0) -- (0, 3, 0) node [right] {$Z$};
\draw[axis] (0, 0, -1) -- (0, 0, 1) node [above] {$Y$};
\node[draw=none,shape=circle,fill, inner sep=2pt] (d1) at (0,1,0){}; % circle
\tdplottransformmainscreen{0}{2}{0}
\shade[tdplot_screen_coords, ball color = red] (\tdplotresx,\tdplotresy) circle (0.05); % sphere
\end{tikzpicture}
\end{document}
решение3
Вы можете использовать node
для размещения своих очков.
Использование отметок идеально подходит, если вы хотите поставить точки на линиях, но если вы хотите поставить точки за пределами линий...
\documentclass[tikz, varwidth, border=10]{standalone}
\begin{document}
\begin{tikzpicture}[scale=.2, x = {(0.866cm,0.5cm)}, y={(0cm,1cm)}, z={(0.866cm,-0.5cm)}]
\draw[thick,->] (-15,0,0) -- (15,0,0) node[right] {x};
\draw[thick,->] (0,-12,0) -- (0,12,0) node[above] {y};
\draw[thick,->] (0,0,-15) -- (0,0,50) node[right] {z};
\path (0,0,5) node[circle, fill, inner sep=1]{};
\path (1,0,5) node[circle, fill, inner sep=1]{};
\end{tikzpicture}
\end{document}
Примечание: Вы можете прочитатьэтот вопрос/ответы.