6

A first example of intersection between two planes is already shown in this answer. I would like to use TikZ.

I already tested that code, but it has a different axes layout (the axes in the linked answer are like a box containing the planes; the required axes here are instead the cartesian ones), a different position of the planes and a different fill pattern for the planes: I don't know how to modify it according to my requirements. The final result should be like the following image, with these differences:

  • only its left part is to be considered (the right part can be completely ignored);
  • the planes in my picture have a vertical intersection line (instead of the horizontal intersection line of the picture);
  • the text line of intersection and its arrow are not necessary.

How to accomplish this (with or without the code in the linked answer)?

enter image description here

1
  • As regards the downvote: I edited the question in order to improve it and to clearly show what I have already tried. Any suggestion to further improve it?
    – BowPark
    Commented Apr 19, 2018 at 14:54

1 Answer 1

9

enter image description here

\documentclass[tikz,border=3.14pt]{standalone}
\usepackage{tikz-3dplot}
\begin{document}
\tdplotsetmaincoords{70}{110}
\begin{tikzpicture}[tdplot_main_coords,font=\sffamily]
\draw[-latex] (0,0,0) -- (4,0,0) node[left] {$x$};
\draw[-latex] (0,0,0) -- (0,4,0) node[below] {$y$};
\draw[-latex] (0,0,0) -- (0,0,4) node[left] {$z$};
\draw[fill=red,opacity=0.2] (-3,0,-3) -- (-3,0,3) -- (3,0,3) -- (3,0,-3) -- cycle;
\draw[fill=red,opacity=0.1] (-3,-3,0) -- (-3,3,0) -- (3,3,0) -- (3,-3,0) -- cycle;
\draw[thick](-3,0,0)--(3,0,0);
\node[anchor=south west,align=center] (line) at (3,3,3) {line of\\ intersection};
\draw[-latex] (line) to[out=180,in=75] (-2,0,0.05);
\end{tikzpicture}
\begin{tikzpicture}[tdplot_main_coords,font=\sffamily]
\draw[-latex] (0,0,0) -- (4,0,0) node[left] {$x$};
\draw[-latex] (0,0,0) -- (0,4,0) node[below] {$y$};
\draw[-latex] (0,0,0) -- (0,0,4) node[left] {$z$};
\tdplotsetrotatedcoords{45}{0}{0}
\begin{scope}[tdplot_rotated_coords]
\draw[fill=red,opacity=0.2] (-3,0,-3) -- (-3,0,3) -- (3,0,3) -- (3,0,-3) -- cycle;
\end{scope}
\tdplotsetrotatedcoords{90}{45}{0}
\begin{scope}[tdplot_rotated_coords]
\draw[fill=red,opacity=0.1] (-3,-3,0) -- (-3,3,0) -- (3,3,0) -- (3,-3,0) -- cycle;
\draw[thick](-3,{3/sqrt(2)},0) coordinate(x) --(3,{-3/sqrt(2)},0);
\end{scope}
\node[anchor=south east,align=center] (line) at (3,-1.5,3.5) {line of\\ intersection};
\draw[-latex] (line) to[out=0,in=135] (x);
\end{tikzpicture}
\end{document}
2
  • Thank you so much. So, your suggestion is to draw the planes, without using their equations like in the linked answer. Ok!
    – BowPark
    Commented Apr 19, 2018 at 14:47
  • 1
    @BowPark Yes. Latex is not a computer algebra system. Even though it is possible to define a command that draws a plane given its normal, especially with pgfplots, I do not think it is worth the effort in this very case.
    – user121799
    Commented Apr 19, 2018 at 15:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .