Dibujar líneas continuas en trazados 3D

Dibujar líneas continuas en trazados 3D

Estoy intentando dibujar una línea que se mueve junto con un gráfico 3D para representar la región de integración.

ingrese la descripción de la imagen aquí

Entonces, para esto, la línea negra en la parte inferior representa el corte para la región de integración. Me gustaría tener un rastro de la línea que se mueve a lo largo de la superficie de la función. Aquí está el MWE:

\PassOptionsToPackage{usenames,dvipsnames,table,x11names}{xcolor}
\documentclass[a4paper, 12pt]{article}
\usepackage{pgfplots}
\usepgfplotslibrary{colormaps,fillbetween}

\begin{document}

\begin{tikzpicture}

\begin{axis}[
zmax=15,
zmin=0,
view = {45}{45},
grid=minor,
colormap={mycol}{color=(Tan), color=(Tan)},
xlabel = $s$,
ylabel = $h$,
zlabel = {$f(s,h)$},
ticks = none,
]

\addplot3[
surf,
samples=30,
domain=0:1.5,
opacity=0.5,
]
{12*exp(-(4*x+3*y))};

\draw[black, thick] (0,0,0) -- (1.5,1.5,0);

\addplot3 [name path = xline, draw = none, domain=0:1.5] (x,0,0);
\addplot3 [name path = xcurve, domain=0:1.5, y domain = 0:0, draw = none] 
    (x, 0, {12*exp(-(4*x))});
\addplot [color = Tan, opacity = 0.5, draw = none]
  fill between[of = xcurve and xline];

\addplot3[
mesh,
draw=Bittersweet,
samples=30,
domain=0:1.5,
opacity = 0.75
]
{12*exp(-(4*x+3*y))};

% Attempt 1
%\addplot3 [domain=0:1.5, black, thick, samples=30] (x,x,{12*exp(-(4*x+3*y))});

%Attempt 2
%\addplot3 [domain=0:1.5, black, thick, samples=30] (x,x,{12*exp(-(7*x))});

\end{axis}
\end{tikzpicture}

Las dos líneas comentadas hacia el final, que llamé Intento 1 e Intento 2, son mis dos intentos de hacer esto. Aquí está el resultado de cada uno de ellos:

Intento 1

ingrese la descripción de la imagen aquí

Intento 2

ingrese la descripción de la imagen aquí

El intento 1 es un desastre, pero el intento 2 está muy cerca de lo que quiero, pero traza una línea a través de los puntos inicial y final de la función. ¿Alguna sugerencia sobre cómo podría solucionar este problema?

Respuesta1

Ya estabas en el camino correcto. Puedes lograr lo que deseas agregando samples y=1a tu segundo intento.

(Además de eso, hice algunas optimizaciones menores en su código. Consulte los comentarios en el código para obtener más detalles).

% used PGFPlots v1.16
\documentclass[border=5pt]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{pgfplots}
    \usepgfplotslibrary{fillbetween}
    \pgfplotsset{
        compat=1.16,
    }
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        zmax=15,
        zmin=0,
        view={45}{45},
        grid=minor,
        colormap={mycol}{color=(Tan), color=(Tan)},
        xlabel=$s$,
        ylabel=$h$,
        zlabel={$f(s,h)$},
        ticks=none,
        % (moved common options here)
        domain=0:1.5,
        samples=30,
    ]

        \addplot3[
            surf,
            opacity=0.5,
            % removed one `\addplot' by adding the next line
            faceted color=Bittersweet,
        ] {12*exp(-(4*x+3*y))};

        \draw [black, thick] (0,0,0) -- (1.5,1.5,0);

        \addplot3 [
            name path=xline,
            draw=none,
        ] (x,0,0);
        \addplot3 [
            name path=xcurve,
            % replaced this ...
%            y domain=0:0,
            % by ...
            samples y=1,
            draw=none,
        ] (x,0,{12*exp(-(4*x))});
        \addplot [color=Tan, opacity=0.5]
            fill between [of=xcurve and xline];


        % Attempt 2
        \addplot3 [
            black,
            thick,
            samples y=1,        % <-- added
        ] (x,x,{12*exp(-7*x)});

    \end{axis}
\end{tikzpicture}
\end{document}

imagen que muestra el resultado del código anterior

información relacionada