TikZ: ¿cómo llenar el área definida por intersecciones?

TikZ: ¿cómo llenar el área definida por intersecciones?

Me gustaría llenar este triángulo ingrese la descripción de la imagen aquí

El código es:

\documentclass[border=0.2cm]{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    % \draw [help lines] (7,0) grid (11,4);
    \draw [fill=red] (0,1.3) circle (1.3); 
    \draw [fill=blue] plot [smooth cycle,scale=0.4, xshift=18cm, yshift=1.5cm] coordinates
    {(1,0) (0,2) (1.3,4) (3.6,2) (3.6+3.6-1.3,4) (2*3.6,2) (3.6+3.6-1,0) (3.6,1)}; 
    \draw (8.55,0.98) -- ++ (0.1,-1.47) (8.7,0.99) -- (8.55+0.1,-0.49); 

\end{tikzpicture}
\end{document}

he mirado hacia arribaÁrea de relleno entre dos líneas y un arco.pero no pude encontrar una solución. Creo que primero debería darle el nombre al objeto azul mediante name path=candy. Entonces, debería dar la orden.

\path[name path=twolines] (0.98) -- ++ (0.1,-1.47) (8.7,0.99) -- (8.55+0.1,-0.49);

para encontrar las intersecciones. Después de eso, con el comando fill, debería poder llenar esa área. El problema es que no sé cómo. Quizás con la ayuda de \clip, pero nuevamente, ¿cómo?

Respuesta1

Dos sencillos trucos pueden ahorrarte un montón de trabajo. Dibuja ese triángulo y rellénalo como de costumbre [fill=<color>]antes de dibujar la forma de la polilla, luego mueve el triángulo hacia arriba un poco para ocultar ese pequeño espacio en blanco entre el arco y el lado del triángulo. Finalmente dibuja la forma curva. Es un poco aproximado pero te ahorrará muchos dolores de cabeza.

\documentclass[border=0.2cm]{standalone}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    % \draw [help lines] (7,0) grid (11,4);
    \draw [fill=red] (0,1.3) circle (1.3);
    \draw [fill=red,yshift=1pt] (8.55,0.98) -- ++(0.1,-1.47) -- (8.7,0.99); 
    \draw [fill=blue] plot [smooth cycle,scale=0.4, xshift=18cm, yshift=1.5cm] coordinates
    {(1,0) (0,2) (1.3,4) (3.6,2) (3.6+3.6-1.3,4) (2*3.6,2) (3.6+3.6-1,0) (3.6,1)}; 
\end{tikzpicture}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Simplemente puedes dibujar tu triángulo un poco demasiado grande en la parte superior; yo uso la shortenopción con una longitud negativa. -y luego coloca tu arco encima para obtener un resultado perfecto como este:

\documentclass[border=0.2cm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
   \draw [fill=red, shorten <=-0.1cm, shorten >=-0.1cm] (8.55,0.98) -- (8.65,-0.49) -- (8.7,0.99); 
   \draw [fill=blue] plot [smooth cycle,scale=0.4, xshift=18cm, yshift=1.5cm] coordinates
    {(1,0) (0,2) (1.3,4) (3.6,2) (3.6+3.6-1.3,4) (2*3.6,2) (3.6+3.6-1,0) (3.6,1)}; 
 \end{tikzpicture}
\end{document}

Triángulo relleno con lazo.

Si por alguna razón necesitas un triángulo relleno perfecto en primer plano, puedes usar el clip invertido de la respuesta de @Jake con el arco:https://tex.stackexchange.com/a/12033/8650

información relacionada