Dibujar aceleración geodésica

Dibujar aceleración geodésica

Hola, quiero dibujar algunas geodésicas que se aceleran una hacia la otra usando TikZ. Robé algo de código de un ejemplo en línea para configurar dos planos, uno encima del otro (el superior es invisible; solo lo estoy usando para iniciar las geodésicas allí).

El problema que tengo es dibujar las líneas (o geodésicas) entre los dos planos. Funciona bien si quiero líneas curvas pero necesito que sean curvas; específicamente, quiero que se curven entre sí a medida que se acercan a sus respectivos puntos finales en el plano inferior.

Hasta ahora mi código es el siguiente:

\begin{tikzpicture}[scale=.9,every node/.style={minimum size=1cm},on grid]       
\begin{pgfonlayer}{bottom}
    \begin{scope}[ 

    % Lower layer
    yshift=0,every node/.append style={
        yslant=0.5,xslant=-1,rotate=-10},
        yslant=0.5,xslant=-1,rotate=-10] 
    \fill[black,fill opacity=0.9] (0,0) rectangle (5,5);

    \draw[black] (0,0) rectangle (5,5);
    \node[name=B,draw,scale=0.4,black,very thick,text width=0.95,text height=0.95,inner sep=0pt,] at (2.525,2.525) {};
\end{scope}![enter image description here][1]\end{pgfonlayer}

\begin{scope}[  % Upper layer
    yshift=105,every node/.append style={
    yslant=0.5,xslant=-1,rotate=-10},yslant=0.5,xslant=-1,rotate=-10
                 ]
    \fill[fill=none,fill opacity=0.5, opacity=0.5] (0,0) rectangle (5,5);

    \node[scale=.9,draw,fill=none,draw=none, fill opacity=0.9,opacity=0,very thick,name=A,text width=3cm,text height=3cm,inner sep=0pt] at (2.5,2.5) {};

    \begin{pgfonlayer}{bottom}
  \foreach \i in {north east, north west, south east, south west}
      \draw[green,very thick] (A.\i) parabola (B.\i);
         \end{pgfonlayer}

\end{scope}

\end{tikzpicture}

Esto produce lo siguiente:

Como puedes ver, las líneas no se curvan entre sí de una manera agradable; quiero que se acerquen cada vez más una a la otra a medida que llegan a la superficie negra y no que lo hagan de esta extraña forma parabólica. Evidentemente el problema es que he utilizado el comando parábola. Intenté jugar con una variedad de otras curvas disponibles y simplemente no puedo hacer que esto funcione en absoluto.

¿Alguien sabe cómo hacer esto? ¿Es siquiera posible?

¿También sería bueno tener flechas en el medio de las líneas entrantes si eso fuera posible?

Muchas gracias.

Respuesta1

He aquí una idea. Básicamente comencé de nuevo con el código ya que el ejemplo proporcionado no era compilable y contenía varios errores después de agregar el código requerido.

La vista del dibujo está determinada por la configuración del vector unitario x={(<x-dim>,<y-dim>)}, etc., tal como se aplica al tikzpictureentorno. Observe la adición de la coordenada z a todos los puntos. Esto me parece más fácil de usar y visualizar que ajustar xslant, yslanty rotate.

La curvatura de las líneas verdes se puede ajustar cambiando los puntos de control de las líneas curvas. Estoy usando la calcbiblioteca para calcular convenientemente estos puntos de control en función de las coordenadas iniciales y finales de las curvas.

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}[x={(0.935cm,0.126cm)},y={(-0.354cm,0.312cm)},z={(0cm,1cm)}]
  \draw[fill,fill opacity=0.9] (0,0,0) -- ++(5,0,0) -- ++(0,5,0) -- ++(-5,0,0) -- cycle;
  \draw[very thick] ( 2.3,2.3,0) coordinate (B1)
               -- ++( 0.4,0.0,0) coordinate (B2)
               -- ++( 0.0,0.4,0) coordinate (B3)
               -- ++(-0.4,0.0,0) coordinate (B4) -- cycle;
  \fill[opacity=0.1] (0,0,2) -- ++(5,0,0) -- ++(0,5,0) -- ++(-5,0,0) -- cycle;
  \path ( 1.15,1.15,2) coordinate (A1)
   -- ++( 2.70,0.00,0) coordinate (A2)
   -- ++( 0.00,2.70,0) coordinate (A3)
   -- ++(-2.70,0.00,0) coordinate (A4) -- cycle;
  \foreach \i in {1,...,4}
    \draw[green,very thick] (A\i) .. 
      controls ($(A\i)!0.5!(2.5,2.5,1)$) and ($(B\i)+(0,0,0.4)$) .. (B\i);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Creo que produje lo que buscas, pero en caso de que no, deja un comentario e intentaré acercarme al resultado deseado.

información relacionada