以下のような写真があります。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw(0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\draw(0,0) arc(-90:90:2);
\draw[dashed](0,0) arc(-90:-270:2);
\draw(0,0) arc(180:90:4);
\draw(0,0) arc(180:90:4);
\draw[dashed](0,0) arc(-180:90:4);
\draw(4,0) arc(-90:-180:4);
\draw[dashed](4,0) arc(-90:180:4);
\end{tikzpicture}
\end{document}
さて、3 つの円弧の重なり合った部分に影を描きたいのですが、どうすればよいでしょうか? 次の図のように:
ABC の間に線を引きたい場合はどうすればいいでしょうか? どうもありがとうございます!
答え1
塗りつぶしラインの影付けとは別に、次のようなものがあります。塗りつぶしは、環境\clip
内の助けを借りて行うことができますscope
。交差点の座標を設定するには、intersections
ライブラリを使用します。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns,intersections}
\begin{document}
\begin{tikzpicture}
\begin{scope}
\clip(0,2) circle (2);
\clip(4,0) circle (4);
\fill[pattern=north west lines,pattern color=red](4,4) circle (4);
\end{scope}
%\draw(0,0) -- (4,0) -- (4,4) -- (0,4) -- (0,0);
\draw (0,0) rectangle (4,4);
\draw[name path=left](0,0) arc(-90:90:2);
\draw[dashed](0,0) arc(-90:-270:2);
\draw[name path=lower](0,0) arc(180:90:4);
%\draw(0,0) arc(180:90:4);
\draw[dashed](0,0) arc(-180:90:4);
\draw[name path=upper](4,0) arc(-90:-180:4);
\draw[dashed](4,0) arc(-90:180:4);
%%
\path [name intersections={of=lower and upper}];
\coordinate (A) at (intersection-1);
\path [name intersections={of=left and upper}];
\coordinate (B) at (intersection-1);
\path [name intersections={of=left and lower}];
\coordinate (C) at (intersection-2);
%%
\node[left,red] at (A) {A};
\node[below,red] at (B) {B};
\node[above,red] at (C) {C};
%%
\fill[blue,fill=blue,opacity=0.3] (A)--(B)--(C)--cycle;
\draw[blue,thick] (A)--(B)--(C)--cycle;
\end{tikzpicture}
\end{document}