Tikz 교차점을 사용하여 경로에서 축까지 채우기

Tikz 교차점을 사용하여 경로에서 축까지 채우기

단순한 곡선에서 경계까지 확장되는 플롯의 일부를 나타내려고 하는데 두 경로의 교차점에서 닫힌 경로를 만드는 간단한 방법을 찾을 수 없습니다. 훨씬 더 복잡한 예를 보았기 때문에 교차점을 사용하는 쉬운 방법이 있을 것이라고 확신하지만 간단해 보이는 것에 대한 설명은 매뉴얼에서 찾을 수 없습니다. MWE는 아래에 있지만 나에게 필요한 것은 곡선과 결합하기 위한 채우기입니다. 궁극적으로 x축으로 가는 채우기가 2개 필요하지만 1개부터 시작해도 좋습니다! 어떤 제안이라도 환영합니다.

\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}

여기에 이미지 설명을 입력하세요

답변1

이것이 당신이 찾고 있는 것인가요? 여기서는 목표를 달성하기 위해 '클립' 기술만 사용합니다. 귀하의 코드 중 일부를 표시했습니다. 먼저 클립 직사각형을 형성합니다.

\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);

이 두 영역의 교차점은 녹색 모양이 됩니다. 이러한 모든 명령은 환경에서 제한되어야 합니다 scope.

여기에 이미지 설명을 입력하세요

암호

\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}

네 - 아주 효과가 좋습니다 - 감사합니다. 이것이 제가 추구한 것이므로 다른 2개의 범위를 추가했습니다. 좋다:

\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}

이것을 얻으려면 :

여기에 이미지 설명을 입력하세요

관련 정보