# How to draw coordination complexes in 3d

I am looking for a way to reproduce figures such as this one : https://files.mtstatic.com/site_4334/18479/0?Expires=1614076506&Signature=WyOdnmiCsw8BOVr00WL5NsHkTQmmQmVWm8x2DuAfP0QuJ0XZsPe2t8v~J2SVAXERdBWK9OfmDuoogo~T9uXeflGGyFy~z3vKSU3POS2ESZ7VqOQ8HZfzuIW9HO6lIvneETKTySQOdKhzWtuCY5pu24EoJI0tob2fLm-6F8h6ojA_&Key-Pair-Id=APKAJ5Y6AV4GI7A555NA I am particularly interested in the 3D polyhedral structure (not the energy level diagrams below). If anyone has any clue as to what way one should go in order to reproduce that... I must say that this is wildly above my current tikz level ! Or whatever other environment could work.

Thanks a lot,

Marc

Here is a little example. It can be improved with a little work, specially visible and non-visible parts.

\documentclass[border=2mm]{standalone}
\usepackage    {tikz}
\usetikzlibrary{3d}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}[line cap=round,line join=round,x={(-0.5908cm,-0.4452cm)},y={(0.8068cm,-0.3260cm)},z={(0cm,0.8340cm)}]
\def\d{3}    % Distance center-electron
% Electron cooridnates
\coordinate (O) at (  0,  0,  0);
\coordinate (A) at ( \d,  0,  0);
\coordinate (B) at (  0, \d,  0);
\coordinate (C) at (-\d,  0,  0);
\coordinate (D) at (  0,-\d,  0);
\coordinate (E) at (  0,  0, \d);
\coordinate (F) at (  0,  0,-\d);
% Octahedron
\draw[gray,fill=gray,fill opacity=0.3] (A) -- (B) -- (E) -- cycle;
\draw[gray,fill=gray,fill opacity=0.3] (A) -- (B) -- (F) -- cycle;
\draw[gray,fill=gray,fill opacity=0.3] (A) -- (D) -- (E) -- cycle;
\draw[gray,fill=gray,fill opacity=0.3] (B) -- (C) -- (E) -- cycle;
% Nucleus
\begin{scope}
\clip (0,0) circle (\nr cm);
\shade[inner color=green!50!black, outer color=gray] (0.5*\nr,0.25*\nr) circle (2*\nr cm);
\node[white] at (0,0) {\huge $n^+$};
\end{scope}
\draw[dashed,gray] (C) -- (D) -- (F) -- cycle;
% Electorns and axis
\foreach\i in {A,B,C,D,E,F}
{
\begin{scope}[shift={(\i)}]
\clip (0,0) circle (\er cm);
\shade[inner color=black, outer color=gray] (0.5*\er,0.25*\er) circle (2*\er cm);
\fill[white] (-0.6*\er cm,-0.04*\er cm) rectangle (0.6*\er cm,0.04*\er cm);
\end{scope}
\draw[very thick,dashed,shorten <=\nr cm,shorten >=\er cm] (O) -- (\i);
\draw[very thick,shorten <=\nr cm,shorten <=\er cm] (\i) -- ($2*(\i)$);;
}
% Axis labels
\node at ($2*(A)$) [left]  {$x$};
\node at ($2*(B)$) [right] {$y$};
\node at ($2*(E)$) [above] {$z$};
\end{tikzpicture}
\end{document}


• Hi, thank you so very much ! This is awesome :-) – user22744 Feb 23 at 11:57