Edit and compile if you like:
\documentclass[border=3pt]{standalone}
%Drawing
\usepackage{tikz}
\usepackage{tikz-3dplot}
%Notation
\usepackage{physics}
\usepackage{bm}
%Tikz Library
\usetikzlibrary{calc, 3d}
\begin{document}
%Macros
\pgfmathsetmacro{\rvec}{12}
\pgfmathsetmacro{\Rvec}{3}
\pgfmathsetmacro{\phivec}{-40}
\pgfmathsetmacro{\thetavec}{20}
%Axis Angles
\tdplotsetmaincoords{70}{130}
%Layers
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background, main, foreground}
\begin{tikzpicture}[scale=0.7, tdplot_main_coords]
\coordinate (O) at (0,0,0);
% %Axis
% \draw[thick, ->] (O) -- (15,0,0) node[pos=1.1] {$x$};
% \draw[thick, ->] (O) -- (0,15,0) node[pos=1.1] {$y$};
% \draw[thick, ->] (O) -- (0,0,15) node[pos=1.1] {$z$};
%Coordinates
\coordinate (O) at (0,0,0);
\tdplotsetcoord{A}{\rvec}{\thetavec}{\phivec}
\coordinate (B) at ($(O)!0.7!(A)$);
\coordinate (O') at (15,2,0);
% %%Nodes
% \node at (O) {O};
% \node at (O') {O'};
% \node at (A) {A};
% \node at (B) {B};
%Lines
\begin{pgfonlayer}{main}
\draw (O) -- (A);
\tdplotsetrotatedcoords{\phivec}{\thetavec}{0}
\draw[tdplot_rotated_coords] (B) -- ++({\Rvec*sin(40)},{\Rvec*cos(40)},0) node[pos=0.5,right] {$\rho$};
\draw[tdplot_rotated_coords, dashed] ($({\Rvec*sin(90)},{\Rvec*cos(90)},0)+(B)$) -- ($({\Rvec*sin(270)},{\Rvec*cos(270)},0)+(B)$);
%
\draw[-latex, thick] (O') -- (O);
\draw[tdplot_rotated_coords, thick, -latex] (O) -- ($({\Rvec*sin(40)},{\Rvec*cos(40)},0)+(B)$) node[pos=0.55,left] {$\vb{a}$};
\draw[tdplot_rotated_coords, thick, -latex] (O') -- ($({\Rvec*sin(40)},{\Rvec*cos(40)},0)+(B)$) node[pos=0.6,left] {$\vb{a}'$};
\end{pgfonlayer}
\begin{pgfonlayer}{foreground}
\tdplotsetrotatedcoords{\phivec}{\thetavec}{0}
\draw[-latex, very thick] (B) -- ($(B)!0.6!(A)$) node[pos=0.5,right] {$\omega$};
\draw[-latex, thick, tdplot_rotated_coords] ($({\Rvec*sin(40)},{\Rvec*cos(40)},0)+(B)$) -- ++({\Rvec*sin(310)},{\Rvec*cos(310)},0) node[pos=0.5,below] {$\vb*{\omega}\cross\vb{a}$};
\end{pgfonlayer}
%Nodes
\node at (8,3,0) {$\vb{a}_o$};
\node[shift={(0,2.5,1)}, align=center] at (O) {Non Inertial Frame\\of Reference};
\node[shift={(0,0,-0.5)}] at (O) {$O$};
\node[shift={(0,0,-1.5)}, align=center] at (O') {Inertial Frame\\of Reference};
\node[shift={(0.4,-0.2,0)}] at (O') {$O'$};
\node at (1.8,0,2.8) {$\theta$};
%Arcs
\begin{pgfonlayer}{main}
\tdplotsetrotatedcoords{\phivec}{\thetavec}{0}
\tdplotdrawarc[very thick, red, tdplot_rotated_coords]{(B)}{\Rvec}{0}{360}{}{}
\end{pgfonlayer}
%Points
\begin{pgfonlayer}{foreground}
\node[circle, fill=black, inner sep=0.7pt] at (B) {};
\node[circle, fill=black, inner sep=0.7pt] at (O) {};
\node[circle, fill=black, inner sep=0.7pt] at (O') {};
\tdplotsetrotatedcoords{\phivec}{\thetavec}{0}
\draw[tdplot_rotated_coords, fill=black] ($({\Rvec*sin(40)},{\Rvec*cos(40)},0)+(B)$) circle (1.2pt);
\end{pgfonlayer}
% %Angles
\begin{pgfonlayer}{main}
\tdplotsetthetaplanecoords{-20}
\tdplotdrawarc[tdplot_rotated_coords]{(O)}{2}{21.5}{35}{}{}
\end{pgfonlayer}
\end{tikzpicture}
\end{document}Click to download: non-inertial-for_2.tex
Open in Overleaf: non-inertial-for_2.tex
This file is available on GitHub.
See more on the author page of Alexandros Tsagkaropolulos.
