在二维中为平面绘制四个分割锥

在二维中为平面绘制四个分割锥

我正在尝试绘制下图,其中有很多标签,但看起来很困难。我从以下代码开始,但似乎不是一个好的开始。可以帮忙绘制下面的图吗:在此处输入图片描述

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{amssymb,amscd,amsmath}

\begin{document}

\begin{figure}[hbt!]
    \centering
    \begin{tikzpicture}[dot/.style={circle,fill,inner sep=1pt}]

        \draw (0,0) node[dot,label=left:{$O$}] (O) {} -- (0,0,5) node[pos=1.1] (A) {$A$}; % A=z
        \draw (O) -- (4,0) node[pos=1.1] (B) {$B$}; % B=x
        \draw (O) -- (0,8) node[pos=1.1] (C) {$C$}; % C=y
        \draw (O) -- (0,-2.5) node[pos=1.1]{$D$}; 
        \draw (0.5,0,) -- ++ (0,{-0.5/sqrt(2)}) -- ++ (-0.5,0);
        \draw (2,0,) -- ++ (0,{-0.5/sqrt(2)}) -- ++ (-0.5,0);
        \path (B) -- (A) node[pos=0.3]{$\mathcal{C}$};

    \end{tikzpicture}

\end{figure}


\end{document}

我不知道我做错了什么

答案1

绘制一个看起来像您的屏幕截图的图形很简单,但恕我直言,如果您解释了圆锥体和投影的具体情况,以便可以做得更好,您和所有其他人都会受益更多。

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{amsmath}
\begin{document}
\begin{tikzpicture}[dot/.style={circle,fill,inner sep=1pt}]
 % example of a path with various coordinates and nodes along the way
 \draw[-stealth] (120:4) coordinate[label=right:{$D$}](D) -- (0,0)
 coordinate[label={[anchor=-105,inner sep=4pt]:{$O$}}] (O) --
 (30:5) coordinate[label=above:{$\boldsymbol{u}$}](u) 
 node[pos=0.9,above]{$A$} ;
 % simple but admittedly also a bit lengthy way of adding an arrow
 % one could make it a style if needed
 \draw[stealth-] (30:2) node[below right]{$\widetilde{\theta}$} 
 -- ++ (120:0.5) coordinate(aux);
 \draw[dotted,thick] (aux) -- ++ (120:1.5) node[dot,label=above right:$\boldsymbol{X}$]{};
 % another example of a path with various coordinates and nodes
 % the construction is the same as above
 \draw[-stealth] (-120:4) coordinate(D') -- (O) --
    (-30:5)coordinate[label=above:{$\boldsymbol{v}$}](v) ;
 \draw[stealth-] (-30:1.5) node[above right]{$\widetilde{\theta}$} 
  -- ++ (-120:0.5) coordinate (aux);
 \draw[dotted,thick] (aux) -- ++ (-120:1.5)  node[dot,label=right:$\boldsymbol{X}$]{};
 \draw[stealth-] (O) node[anchor=25,inner sep=6pt]{$\widetilde{\theta}$} 
  -- ++ (160:0.5) coordinate (aux);
 \draw[dotted,thick] (aux) -- ++ (160:1.5)  node[dot,label=left:$\boldsymbol{X}$]{};
 \draw[stealth-] (D) ++ (-150:0.1) ++ (-60:0.5) node[left]{$-\boldsymbol{R}_2$} -- ++ (-60:1);
 \draw[stealth-] (D') ++ (150:0.1) ++ (60:0.5) node[left]{$-\boldsymbol{R}_1$} -- ++ (60:1);
 % you do not need to draw a path
 \path (u) -- (v) node [midway]{$\mathcal{C}=\mathcal{S}_1$}
 (-50:3.5) node{$\mathcal{S}_4$} (-150:3) node{$\mathcal{C}^0=\mathcal{S}_3$} ;
\end{tikzpicture}
\end{document}

在此处输入图片描述

编辑:添加了更多节点和一些非常基本的解释。如果您想更好地了解发生了什么,查看特定节点内容并了解节点的放置方式可能会有所帮助。在这个答案中,故意只使用普通的 Ti尽管有些事情可以以更高的复杂性为代价实现更多的自动化,但还是使用了 Z。还要注意的是,可以使 TiZ 绘制一些高维形状的投影,即如果你有圆锥的数学描述,那么你就可以“根据第一原理”绘制它。从长远来看,如果你需要制作几个这样的图表,这可能会有所回报。

相关内容