Hyperboloid mit Geodäte zeichnen
Hallo liebe Community,
hoffentlich wird hier mein Beispiellose angezeigt. >.< Ich habe ebenso Schwierigkeiten diese Bild in Tikz umzusetzen:
[![alt text][1]][2]
Gerade die Geodäte und die gestrichelten (quasi nicht sichtbaren) Linien bereiten mir Kopfzerbrechen. Hier mein Beispiellose (in der Hoffnung es funktioniert):
    \documentclass{standalone}
    %
    % File name: paraboloid-plane.tex
    % Description: 
    % A solid bounded by the following surfaces
    % z = 0
    % z = \sqrt{x^{2} + y^{2}}
    % x^{2} + y^{2} + z^{2} = 1
    % is generated. I.e., the intersection of paraboloid and a plane.
    % 
    % Date of creation: April, 23rd, 2022.
    % Date of last modification: April, 23rd, 2022.
    % Author: Efraín Soto Apolinar.
    % https://www.aprendematematicas.org.mx/author/efrain-soto-apolinar/instructing-courses/
    % Terms of use:
    % According to TikZ.net
    % https://creativecommons.org/licenses/by-nc-sa/4.0/
    % 
    \usepackage[dvipsnames]{xcolor}
    \usepackage{tikz}
    \usetikzlibrary{patterns}
    \usepackage{tikz-3dplot}
    \usetikzlibrary{math}
    \usepackage[active,tightpage]{preview}
    \PreviewEnvironment{tikzpicture}
    \setlength\PreviewBorder{1pt}
    \begin{document}
    	\tdplotsetmaincoords{60}{130}
    	\begin{tikzpicture}[tdplot_main_coords,scale=0.75]
    		\tikzmath{function f(\x) {return \x;};}
    		\pgfmathsetmacro{\zini}{0.5*sqrt(2.0)}
    		\pgfmathsetmacro{\step}{0.01}
    		\pgfmathsetmacro{\zsig}{\zini+\step}
    		\pgfmathsetmacro{\nextz}{\zini+0.5*\step}
    		\pgfmathsetmacro{\sig}{2.0*\step}
    		\pgfmathsetmacro{\tini}{0.5*pi}
    		\pgfmathsetmacro{\tfin}{1.85*pi}
    		\pgfmathsetmacro{\tend}{2.5*pi}
    		%%% Coordinate axis
    		\draw[thick,->] (0,0,0) -- (3.5,0,0);
    		\draw[thick] (0,0,0) -- (-4,0,0);
    		\draw[thick,->] (0,0,0) -- (0,3.5,0);
    		\draw[thick] (0,0,0) -- (0,-4,0);
    		\draw[thick,->] (0,0,0) -- (0,0,6.0); % Z axis (part under the plane z = 4)
    		% The region of integration
    		%	
    		
    		% The plane: x + y = 2
    		\coordinate (A) at (2,2,4);
    		\coordinate (B) at (-2,2,4);
    		\coordinate (C) at (-2,-2,4);
    		\coordinate (D) at (2,-2,4);
    		% The paraboloid (level curves z = constant)
    		\foreach \altura in {\step,\sig,...,4.0}{
    			\pgfmathparse{sqrt(\altura)}
    			\pgfmathsetmacro{\radio}{\pgfmathresult}
    			\draw[cyan,thick,opacity=0.25] plot[domain=0:6.2832,smooth,variable=\t] ({\radio*cos(\t r)},{\radio*sin(\t r)},{\altura+2}); 
    		}
    		%
    		\node[ForestGreen,right, scale=0.4] at (1,1.8,3) {$\footnotesize{\mathrm{d}(O,M)^2=-R^2}$};
    		\draw[thick,->] (0,0,4.87) -- (0,0,6);	
    		\draw[ForestGreen, thick] (0,0,0) -- (-2,0,2.7);
    		
    		\coordinate (A) at (0,0,0);
    		\coordinate (B) at (-2,0,2.7);
    		\fill[ForestGreen] (A) circle (2pt);
    		\fill[ForestGreen] (B) circle (2pt);
    		\coordinate(C) at (0,0.1,0.15);
    		\node[ForestGreen, above left] at (C) {$O$};
    		\node[ForestGreen, right] at (B) {$M$};
    		
    		
    		
    		
    	\end{tikzpicture}
    \end{document}
Vielleicht habe ich auch hier wieder zu kompliziert gedacht und es geht wesentlich einfacher. Ich bin über jede Hilfe dankbar.
EDIT: Auch hier meine Ausgabe:
[![alt text][3]][3] 
  [1]: https://texwelt.de/upfiles/Bild5.png
  [2]: https://texwelt.de/upfiles/Bild5.png
  [3]: https://texwelt.de/upfiles/Bildschirmfoto_2024-10-12_um_15.45.48_1.png