|
问题来自:bbs.ctex.org/forum.php?mod=viewthread&tid=155195
要画这样的图:
解:为了使阴影与图中完全一样,需加载 \usetikzlibrary{patterns},然后:
- \begin{tikzpicture}
- \begin{scope}
- \clip (0,0) arc (-90:0:2) arc (90:180:2);
- \fill[pattern=horizontal lines]
- (0,0) arc (-90:0:2) --(1,1) arc (90:0:1);
- \fill[pattern=vertical lines]
- (0,0) arc (180:90:2) --(1,1) arc (0:90:1);
- \end{scope}
- \draw[->](-0.5,0)--(4.5,0)node[below]{$x$};
- \draw[->](0,-0.5)--(0,4.5)node[left]{$y$};
- \draw (0,0) arc (-90:90:2) (0,0) arc (-90:90:1)
- (0,0) arc (180:0:2) (0,0) arc (180:0:1) (0,0)--(2,2);
- \end{tikzpicture}
Copy the Code
效果:
%20arc%20(-90:0:2)%20arc%20(90:180:2);%0A%5Cfill%5Bpattern=horizontal%20lines%5D%0A(0,0)%20arc%20(-90:0:2)%20--(1,1)%20arc%20(90:0:1);%0A%5Cfill%5Bpattern=vertical%20lines%5D%0A(0,0)%20arc%20(180:90:2)%20--(1,1)%20arc%20(0:90:1);%0A%5Cend%7Bscope%7D%0A%5Cdraw%5B-%3E%5D(-0.5,0)--(4.5,0)node%5Bbelow%5D%7B%24x%24%7D;%0A%5Cdraw%5B-%3E%5D(0,-0.5)--(0,4.5)node%5Bleft%5D%7B%24y%24%7D;%0A%5Cdraw%20(0,0)%20arc%20(-90:90:2)%20(0,0)%20arc%20(-90:90:1)%0A(0,0)%20arc%20(180:0:2)%20(0,0)%20arc%20(180:0:1)%20(0,0)--(2,2);%0A%5Cend%7Btikzpicture%7D)
解释:由 fill 的特性,\fill[pattern=horizontal lines](0,0) arc (-90:0:2) --(1,1) arc (90:0:1); 这一句所填充的是这样的区域:
%20arc%20(-90:0:2)%20--(1,1)%20arc%20(90:0:1);%0A%5Cend%7Btikzpicture%7D)
然后由于前面有个 clip,就只剩上面那块了,另一边同理。 |
|