Rellenar desde el camino hasta el eje con intersecciones tikz

Rellenar desde el camino hasta el eje con intersecciones tikz

Estoy tratando de representar partes de una trama que se extiende desde una curva simple hasta los límites, pero no puedo encontrar una manera sencilla de crear el camino cerrado a partir de la intersección de dos caminos. He visto ejemplos mucho más complicados, así que estoy seguro de que hay una manera fácil de usar las intersecciones, pero no puedo encontrar una descripción en el manual para algo que parece simple. El MWE está por debajo, pero lo que necesito es el relleno para juntarlo con la curva. En última instancia, necesito 2 de esos rellenos en el eje x, ¡pero estoy feliz de comenzar con 1! Cualquier sugerencia es bienvenida.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{intersections}

\begin{document}
\begin{tikzpicture}
\draw [help lines] (0,0) grid (8,6);
\draw [name path=curve, very thick ] (0,4.5) to [out=-90,in=90]  (8,0);
\draw [name path=top, very thick]  (0,4.5) to (8,4.5)  to (8,3) to (0,3);
\path [name intersections = {of=curve and top}]; 
\coordinate (A) at (intersection-1);
\coordinate (B) at (intersection-2);
\fill [green] (A)--(8,4.5)--(8,3) --(B) --(A);
\end{tikzpicture}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta1

¿Es esto lo que estás buscando? Aquí utilizo sólo la técnica de 'clip' para lograr el objetivo. Marqué parte de tu código. Primero forma un rectángulo de clip.

\clip (0,3) rectangle (8,4.5);

luego seguido por el área de la curva

\draw [fill=green,very thick ] (0,4.5) to [out=-90,in=90]  (8,0) -- (8,4.5);

La intersección de estas dos áreas se convierte en la forma verde. Todos estos comandos deben estar restringidos en el scopeentorno.

ingrese la descripción de la imagen aquí

Código

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}

\begin{document}
\begin{tikzpicture}
\draw [help lines] (0,0) grid (8,6);
%\draw [name path=curve, blue,very thick ] (0,4.5) to [out=-90,in=90]  (8,0);
%\draw [name path=top, red, very thick]  (0,4.5) to (8,4.5)  to (8,3) to (0,3);
%\path [name intersections = {of=curve and top}]; 
%\coordinate (A) at (intersection-1);
%\coordinate (B) at (intersection-2);
\begin{scope}
\clip (0,3) rectangle (8,4.5);
\draw [fill=green,very thick ] (0,4.5) to [out=-90,in=90]  (8,0) -- (8,4.5); 
\end{scope}
\draw [very thick ] (0,4.5) to [out=-90,in=90]  (8,0);
\draw [very thick]  (0,4.5) to (8,4.5)  to (8,3) to (0,3);
\end{tikzpicture}

\end{document}

Sí, eso funciona muy bien, gracias. Esto es lo que buscaba, así que acabo de agregar otros 2 ámbitos. como:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{intersections}

\begin{document}

\begin{tikzpicture}
\draw [help lines] (0,0) grid (8,6);
%\draw [name path=curve, blue,very thick ] (0,4.5) to [out=-90,in=90]  (8,0);
%\draw [name path=top, red, very thick]  (0,4.5) to (8,4.5)  to (8,3) to (0,3);
%\path [name intersections = {of=curve and top}]; 
%\coordinate (A) at (intersection-1);
%\coordinate (B) at (intersection-2);
\begin{scope}
\clip (0,3) rectangle (8,4.5);
\draw [fill=green,very thick ] (0,4.5) to [out=-90,in=90]  (8,0) -- (8,4.5); 
\end{scope}
\begin{scope}
\clip (0,2) rectangle (8,3);
\draw [fill=blue,very thick ] (0,4.5) to [out=-90,in=90]  (8,0) -- (8,4.5); 
\end{scope}
\begin{scope}
\clip (0,0) rectangle (8,2);
\draw [fill=red,very thick ] (0,4.5) to [out=-90,in=90]  (8,0) -- (8,4.5); 
\end{scope}
\draw [very thick ] (0,4.5) to [out=-90,in=90]  (8,0);
%\draw [very thick]  (0,4.5) to (8,4.5)  to (8,3) to (0,3);
\end{tikzpicture}

\end{document}

para conseguir esto:

ingrese la descripción de la imagen aquí

información relacionada