i need some help to complete a 3d kinematic diagram (see attached image)
I know how to draw almost everything but I would like to find a clean solution to draw the contact planes on each side of the 3 balls.
I drew the two plans for the top ball (easy to calculate!), I can calculate the others, but is there a Tikz or pgf solution that will automate the calculation.
\documentclass[10pt,a4paper]{standalone}
\usepackage{tikz}
\usetikzlibrary{3d,calc,positioning}
\begin{document}
\begin{tikzpicture}
[z={(-0.866cm,-0.5cm)}, x={(0.866cm,-0.5cm)}, y={(0cm,1cm)}, scale=2]
\draw[->,red] (0,0,0) -- (3,0,0) node[above]{x};
\draw[->,blue] (0,0,0) -- (0,3,0) node[left]{y};
\draw[->,black] (0,0,0) -- (0,0,3) node[above]{z};
\foreach \aa/\nn in {90/1,-30/2,-150/3}{
\draw (0,0,0) coordinate(O) circle (1.5);
\node[circle,draw,fill=blue,minimum size=1.4cm] (Ca\nn) at ({1.5cos(\aa)},{1.5sin(\aa)},0){};
\draw[dashed] (Ca\nn) -- (O);
\draw[thick,red] (Ca\nn) --++(0,0,1.8) coordinate(B\nn)-- ($(O)+(0,0,1.8)$)-- ++(0,0,1);
\draw[thick,green] (Ca\nn) --++(0,0,-1.8) coordinate(B\nn)-- ($(O)+(0,0,-1.8)$)-- ++(0,0,-1);
}
\begin{scope}[shift={(Ca1)}]
\path[thick,red] (0,0.5,-0.5) -- ++({0.5cos(15)},0,{-0.5sin(15)})coordinate(a1)--++({-cos(15)},0,{+sin(15)})coordinate(a2);
\path[thick,red] (0,-0.5,-0.5) -- ++({0.5cos(15)},0,{-0.5sin(15)})coordinate(a3)--++({-cos(15)},0,{+sin(15)})coordinate(a4);
\draw[fill=green,opacity=0.5] (a1) -- (a3) -- (a4) -- (a2) -- cycle;
\node[circle,draw,fill=blue,minimum size=1.4cm] at (Ca1){};
\path[thick,red] (0,0.5,0.5) -- ++({0.5cos(15)},0,{-0.5sin(15)})coordinate(a1)--++({-cos(15)},0,{+sin(15)})coordinate(a2);
\path[thick,red] (0,-0.5,0.5) -- ++({0.5cos(15)},0,{-0.5sin(15)})coordinate(a3)--++({-cos(15)},0,{+sin(15)})coordinate(a4);
\draw[fill=red,opacity=0.5] (a1) -- (a3) -- (a4) -- (a2) -- cycle;
\draw[->] (Ca1) --++ ({1.5sin(15)},0,{1.5cos(15)})node[right]{na1};
\end{scope}
%
% \begin{scope}[canvas is xy plane at z=0]
%
%
%
% \draw[blue,shift={(1.5,0)}] (0,0) -- (1,0)--(1,1)--(0,1)--cycle;
% \draw[blue,shift={(3,0)}] (0,0) -- (1,0)--(1,1)--(0,1)--cycle;
% \end{scope}
\end{tikzpicture}
\end{document}






