# Custom unit vector for drawing of arc in Tikz

I am trying to label the 45° angle ACB in a triangle drawn in 3D using TikZ:

The full circle about C has been rotated in 3D about Y, and so it is in the correct plane. However, I cannot see how to do the same for arcs: the red arc is in the xy plane. How can I rotate this arc to the correct plane?

\documentclass[10pt]{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[scale=6,z=.4cm]
\draw[thick,dotted] (.5,0,.4) node[anchor=north]{$B$} -- (.9,0,.7) node[anchor=south west]{$A$};
\draw[thick,dotted] (.5,0,.4) -- (.5,.5,.4) node[anchor=south]{$C$};
\draw[thick,dotted] (.5,.5,.4) -- (.9,0,.7);
\draw (.5,0.05,.4) -- (0.54, 0.05, 0.43) -- (0.54, 0, 0.43);

\end{tikzpicture}

\end{document}

• Can you provide a minimal code that produces the image above instead of only the code snippet? Thank you. Jan 16 '16 at 17:54
• @Alenanno done. Jan 16 '16 at 18:02

It is also possible to define the coordinate change only for the arc, using {[options]arc...}:

\documentclass[10pt]{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[scale=6,z=.4cm]
\draw[thick,dotted] (.5,0,.4) node[anchor=north]{$B$} -- (.9,0,.7) node[anchor=south west]{$A$};
\draw[thick,dotted] (.5,0,.4) -- (.5,.5,.4) node[anchor=south]{$C$};
\draw[thick,dotted] (.5,.5,.4) -- (.9,0,.7);
\draw (.5,0.05,.4) -- (0.54, 0.05, 0.43) -- (0.54, 0, 0.43);

\end{tikzpicture}

\end{document}


After some playing around, I have found that it is possible to provide the custom unit vectors to the \draw command rather than the arc command, but the point from which the arc starts must have been defined beforehand, and then referenced, otherwise the new x-vector will be used to calculate the starting coordinates:

\documentclass[10pt]{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[scale=6,z=.4cm]
\draw[thick,dotted] (.5,0,.4) node[anchor=north]{$B$} -- (.9,0,.7) node[anchor=south west]{$A$};
\draw[thick,dotted] (.5,0,.4) -- (.5,.5,.4) node[anchor=south]{$C$};
\draw[thick,dotted] (.5,.5,.4) -- (.9,0,.7);
\draw (.5,0.05,.4) -- (0.54, 0.05, 0.43) -- (0.54, 0, 0.43);

\coordinate (arcstart) at (.5,.3,.4);