
Eu gostaria de preencher esse formato de triângulo
O código é:
\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}
eu olhei para cimaPreenchendo área entre duas linhas e um arcomas não consegui encontrar uma solução. Acho que primeiro devo dar o nome ao objeto azul através de name path=candy
. Então, eu deveria dar o comando
\path[name path=twolines] (0.98) -- ++ (0.1,-1.47) (8.7,0.99) -- (8.55+0.1,-0.49);
para encontrar as interseções. Depois disso, com o comando fill
, devo conseguir preencher essa área. O problema é que não sei como. Talvez com a ajuda de \clip
, mas novamente, como?
Responder1
Dois truques simples podem economizar muito trabalho. Desenhe esse triângulo e preencha-o como de costume [fill=<color>]
antes de desenhar a forma de mariposa e, em seguida, desloque o triângulo para cima em um comprimento bem pequeno para ocultar aquele pequeno espaço branco entre o arco e o lado do triângulo. Finalmente desenhe a forma curva. É um pouco aproximado, mas vai lhe poupar muita dor de cabeça.
\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}
Responder2
Você pode simplesmente desenhar seu triângulo um pouco grande demais na parte superior - eu uso a shorten
opção com comprimento negativo. -e então coloque seu arco em cima para obter um resultado perfeito 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}
Se por algum motivo você precisar de um triângulo preenchido perfeito em primeiro plano, poderá usar o clipe invertido da resposta de @Jake com o arco:https://tex.stackexchange.com/a/12033/8650