我想在 TikZ 3D 图中绘制一个点/小球体

我想在 TikZ 3D 图中绘制一个点/小球体

我有一个 3d 坐标系,我想用一个点标记一个点。

\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}

在此处输入图片描述

注意:您可以阅读这个问题/答案

相关内容