[Tex/LaTex] Drawing a simple plane in 3D space

drawtikz-3dtikz-calctikz-pgf

I'm trying to produce this simple 3d picture,

enter image description here

but, since it's the first time I draw a 3d pic, I'm not sure about how to get the plane passing through the line X. The following code shows a first attempt. I tried to use \filldraw, with random points, but I'm sure this is not the best way to do that.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}

    \coordinate (O) at (0, 0, 0);
    \coordinate (A) at (2,3,1);
    \draw[thick,->] (O) --++ (4.5,0,0) node[anchor=north east]{spot 0};     
    \draw[thick,->] (O) --++ (0,4.5,0) node[anchor=north east]{spot 1};     
    \draw[thick,->] (O) --++ (0,0,6) node[anchor=east]{spot 2};
    \draw[->] (O)--(A) node[anchor=west]{$\Phi$};
    \draw [thick] ($(O)!4cm!270:(A)$) -- ($(O)!3cm!90:(A)$)                                       node[anchor=east]{$X$};
    \filldraw[fill=blue!10, opacity=0.6] (2.5,-2.5,1) -- (2.5,1,1) --  (4,3,1) -- (4,-0.5,1) -- (2.5,-2.5,1);

\end{tikzpicture}

The plane H should intersect X and be perpendicular to p, which is why I defined first p, and then its orthogonal line X.
Maybe should I define some coordinates on X , and then define somehow H?
I'd like to get the "projection" of p also, as in the figure. That's not a projection in fact, it is there just to highlight that p is a vector of R3.

Best Answer

I'd like to recommend tikz-3dplot for that.

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{105}{-30}
\begin{tikzpicture}[tdplot_main_coords,font=\sffamily]
 \tdplotsetrotatedcoords{00}{30}{0}
 \begin{scope}[tdplot_rotated_coords]
  \begin{scope}[canvas is xy plane at z=0]
   \fill[gray,fill opacity=0.3] (-2,-3) rectangle (2,3); 
   \draw[very thick] (-2,0) -- (2,0);
   \path (-150:2) coordinate (H) (-1.5,0) coordinate(X);
   \pgflowlevelsynccm
   \draw[very thick,-stealth,gray] (0,0) -- (-30:1.5);
  \end{scope} 
  \draw[stealth-] (H) -- ++ (-1,0,0.2) node[pos=1.3]{$H$};
  \draw[stealth-] (X) -- ++ (0,1,0.2) node[pos=1.3]{$X$};
  \draw[very thick,-stealth] (0,0,0) coordinate (O) -- (0,0,3) node[right]{$p$};
 \end{scope}
 \pgfmathsetmacro{\Radius}{1.5}
 \draw[-stealth]  (O)-- (2.5*\Radius,0,0) node[pos=1.15] {spot $0$};
 \draw[-stealth] (O) -- (0,3.5*\Radius,0) node[pos=1.15] {spot $2$};
 \draw[-stealth] (O) -- (0,0,2.5*\Radius) node[pos=1.05] {spot $1$};
\end{tikzpicture} 
\end{document} 

enter image description here