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.