仍然不太优雅(本可以避免一些dummy的语句的)... 就当抛砖引玉了... 一定有更符合tikz-style更优雅的办法:
我下面取了个巧,利用重复绘制右⚪来规避计算交点坐标,因为从OP的目标和工作量权衡来看,显式得到这两个坐标似乎不是必须的...
基本思路:
- 先画右圆(实线)
- 再画左圆把右圆的一部分盖住
- 最后画右圆(虚线)
\documentclass[border=8pt,tikz]{standalone}
\usepackage{amssymb}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\path [draw,very thick,->] node at (-.3,-.3) {$O$} (-0.5,0) -- (8,0) node[anchor=north] {$x$};
\path [draw,very thick,->] (0,-0.5) -- (0,6.1) node[anchor=east] {$y$};
\node at (7.5,5.5) {$\mathbb{R}^{2}$};
\draw[very thick,blue,dashed,-] (0.5,0.5) -- (6.5,0.5) -- (6.5,5) --(0.5,5)--(0.5,0.5);
\node at (6.2,1) {$\Lambda$};
\node at (5.5,3) {$S$};
\draw (5,3) circle (1.2);
\draw[fill=white] (3,3) circle (1.5);
\draw[dashed] (5,3) circle (1.2);
\draw[pattern=north west lines,draw=red] (3,3) circle (1.5);
\node[fill=white,rounded corners,below of=3] at (2.5,4) {$B$};
\node at (2,1.3) {$ {\color{red}\partial B=B_{0}}$};
\end{tikzpicture}
\end{document}


















问 绘图如何实现立体效果?