What is the right method to draw a small circle at a certain angle?
I can only do it improvisational for the right angle.
Hint: I want to draw such a picture:
\documentclass[margin=5mm, tikz]{standalone}
\usepackage{amsmath, amsfonts}
\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{arrows,calc,backgrounds}
\begin{document}
\pgfmathsetmacro{\r}{2.6} %
\tdplotsetmaincoords{60}{110}
\begin{tikzpicture}[
tdplot_main_coords,
%tdplot_rotated_coords,
font=\footnotesize,
Helpcircle/.style={gray!70!black,
%densely dashed
},
]
\pgfmathsetmacro{\h}{0.9*\r} %
\coordinate[label=$M$] (M) at (0,0,0);
\coordinate[label=$S$] (S) at (0,0,\h);
\draw[Helpcircle] (M) circle[radius=\r];
\draw[Helpcircle] ([shift={(0,0,\h)}]M) circle[radius=sqrt(\r^2-\h^2)];
\draw[Helpcircle, rotate=90, red] (0,0,-\h) coordinate[label=$A$] (A) circle[radius=sqrt(\r^2-\h^2)];
\draw[] (M) -- (A);
\pgfmathsetmacro{\teta}{30} %
\pgfmathsetmacro{\y}{-\h*cos(\teta)} %
\draw[blue] (M) -- ([xshift=\r cm, yshift=\y cm]M);
% Sphere
\begin{scope}[tdplot_screen_coords, on background layer]
\fill[ball color= gray!20, opacity = 0.25] (M) circle (\r);
\end{scope}
%% Points
\foreach \P in {M,S, A}{
\shade[ball color=white] (\P) circle (1.75pt);
}
\begin{scope}[-latex, shift={(M)}, xshift=1.5*\r cm, yshift=0.1*\r cm]
\foreach \P/\s/\Pos in {(1,0,0)/x/right, (0,1,0)/y/below, (0,0,1)/z/right}
\draw[] (0,0,0) -- \P node[\Pos, pos=0.9,inner sep=2pt]{$\s$};
\end{scope}
\end{tikzpicture}
\end{document}
tikz-3dplot
autoloads the3d
(andcalc
) libraries. You can switch to specific plane using e.g.canvas is xz plane at y=1
.