答案1
这肯定不是使用 TikZ 构建图表的方法,也不是最好的解决方案。我经常提到的工具是 Mathcha (https://www.mathcha.io/editor) 在仔细且耐心地绘制后,它提供了直接的 TikZ 代码。不幸的是,坐标并不总是正确的,我已经逐一修复了它们。对于那些想要绘制并几乎立即获得结果的人,我推荐 Mathcha。我只创建了第一个图表。
\documentclass[a4paper,12pt]{article}
\usepackage{tikz}
\usepackage{amssymb}
\begin{document}
\begin{center}
\tikzset{every picture/.style={line width=0.75pt}} \begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1]
%uncomment if require: \path (0,300); %set diagram left start at 0, and has height of 300
%Straight Lines [id:da8411742429738045]
\draw [dash pattern={on 0.84pt off 2.51pt}] (104,86) -- (104,56) ;
%Shape: Circle [id:dp408553980849764]
\draw (54,94) .. controls (54,80.19) and (65.19,69) .. (79,69) .. controls (92.81,69) and (104,80.19) .. (104,94) .. controls (104,107.81) and (92.81,119) .. (79,119) .. controls (65.19,119) and (54,107.81) .. (54,94) -- cycle ;
%Shape: Circle [id:dp10859013186817124]
\draw (104,94) .. controls (104,80.19) and (115.19,69) .. (129,69) .. controls (142.81,69) and (154,80.19) .. (154,94) .. controls (154,107.81) and (142.81,119) .. (129,119) .. controls (115.19,119) and (104,107.81) .. (104,94) -- cycle ;
%Straight Lines [id:da47546446225758165]
\draw [dash pattern={on 0.84pt off 2.51pt}] (10,86) -- (10,56) ;
%Straight Lines [id:da6770539204584274]
\draw [dash pattern={on 0.84pt off 2.51pt}] (292,86) -- (292,56) ;
%Shape: Ellipse [id:dp3195291141052665]
\draw (242,94) .. controls (242,80.19) and (253.19,69) .. (267,69) .. controls (280.81,69) and (292,80.19) .. (292,94) .. controls (292,107.81) and (280.81,119) .. (267,119) .. controls (253.19,119) and (242,107.81) .. (242,94) -- cycle ;
%Shape: Ellipse [id:dp9967480702431553]
\draw (292,94) .. controls (292,80.19) and (303.19,69) .. (317,69) .. controls (330.81,69) and (342,80.19) .. (342,94) .. controls (342,107.81) and (330.81,119) .. (317,119) .. controls (303.19,119) and (292,107.81) .. (292,94) -- cycle ;
%Shape: Ellipse [id:dp5127189371988996]
\draw [fill={rgb, 255:red, 0; green, 0; blue, 0 } ,fill opacity=1 ] (549.26,94) .. controls (549.26,92.34) and (550.6,91) .. (552.26,91) .. controls (553.92,91) and (555.26,92.34) .. (555.26,94) .. controls (555.26,95.66) and (553.92,97) .. (552.26,97) .. controls (550.6,97) and (549.26,95.66) .. (549.26,94) -- cycle ;
%Shape: Ellipse [id:dp9561553637864431]
\draw (342,94) .. controls (342,80.19) and (353.19,69) .. (367,69) .. controls (380.81,69) and (392,80.19) .. (392,94) .. controls (392,107.81) and (380.81,119) .. (367,119) .. controls (353.19,119) and (342,107.81) .. (342,94) -- cycle ;
%Shape: Ellipse [id:dp45861864226599414]
\draw (192,94) .. controls (192,80.19) and (203.19,69) .. (217,69) .. controls (230.81,69) and (242,80.19) .. (242,94) .. controls (242,107.81) and (230.81,119) .. (217,119) .. controls (203.19,119) and (192,107.81) .. (192,94) -- cycle ;
%Shape: Ellipse [id:dp0988051411215658]
\draw [fill={rgb, 255:red, 0; green, 0; blue, 0 } ,fill opacity=1 ] (477,94) .. controls (477,92.34) and (478.34,91) .. (480,91) .. controls (481.66,91) and (483,92.34) .. (483,94) .. controls (483,95.66) and (481.66,97) .. (480,97) .. controls (478.34,97) and (477,95.66) .. (477,94) -- cycle ;
%Shape: Ellipse [id:dp11886840420878109]
\draw [fill={rgb, 255:red, 0; green, 0; blue, 0 } ,fill opacity=1 ] (339,94) .. controls (339,92.34) and (340.34,91) .. (342,91) .. controls (343.66,91) and (345,92.34) .. (345,94) .. controls (345,95.66) and (343.66,97) .. (342,97) .. controls (340.34,97) and (339,95.66) .. (339,94) -- cycle ;
%Shape: Ellipse [id:dp19568934535676985]
\draw [fill={rgb, 255:red, 0; green, 0; blue, 0 } ,fill opacity=1 ] (239,94) .. controls (239,92.34) and (240.34,91) .. (242,91) .. controls (243.66,91) and (245,92.34) .. (245,94) .. controls (245,95.66) and (243.66,97) .. (242,97) .. controls (240.34,97) and (239,95.66) .. (239,94) -- cycle ;
%Shape: Ellipse [id:dp519035060267867]
\draw (430,94) .. controls (430,80.19) and (441.19,69) .. (455,69) .. controls (468.81,69) and (480,80.19) .. (480,94) .. controls (480,107.81) and (468.81,119) .. (455,119) .. controls (441.19,119) and (430,107.81) .. (430,94) -- cycle ;
%Shape: Arc [id:dp8938793326139265]
\draw [draw opacity=0] (533.99,117.98) .. controls (544.29,115.63) and (552.01,105.79) .. (552.01,94) .. controls (552.01,82.39) and (544.51,72.66) .. (534.44,70.13) -- (529.26,94) -- cycle ; \draw (533.99,117.98) .. controls (544.29,115.63) and (552.01,105.79) .. (552.01,94) .. controls (552.01,82.39) and (544.51,72.66) .. (534.44,70.13) ;
%Shape: Arc [id:dp3616364284502658]
\draw [draw opacity=0] (499.57,118.69) .. controls (488.63,116.23) and (480.45,106.46) .. (480.45,94.78) .. controls (480.45,83.3) and (488.35,73.66) .. (499,71) -- (504.96,94.78) -- cycle ; \draw (499.57,118.69) .. controls (488.63,116.23) and (480.45,106.46) .. (480.45,94.78) .. controls (480.45,83.3) and (488.35,73.66) .. (499,71) ;
%Straight Lines [id:da41098401763714265]
\draw [dash pattern={on 0.84pt off 2.51pt}] (515,87) -- (515,57) ;
%Shape: Ellipse [id:dp16094554800960137]
\draw (552.26,94) .. controls (552.26,80.19) and (563.45,69) .. (577.26,69) .. controls (591.07,69) and (602.26,80.19) .. (602.26,94) .. controls (602.26,107.81) and (591.07,119) .. (577.26,119) .. controls (563.45,119) and (552.26,107.81) .. (552.26,94) -- cycle ;
% Text Node
\draw (97.2,83.4) node [anchor=north west][inner sep=0.75pt] {$\blacklozenge$};
% Text Node
\draw (94.6,32.4) node [anchor=north west][inner sep=0.75pt] {$A_{n}$};
% Text Node
\draw (-1,32.4) node [anchor=north west][inner sep=0.75pt] {$A_{n}$};
% Text Node
\draw (3.5,83.4) node [anchor=north west][inner sep=0.75pt] {$\blacklozenge$};
% Text Node
\draw (281,32.4) node [anchor=north west][inner sep=0.75pt] {$A_{n}$};
% Text Node
\draw (285.1,83.4) node [anchor=north west][inner sep=0.75pt] {$\blacklozenge$};
% Text Node
\draw (504.6,84.4) node [anchor=north west][inner sep=0.75pt] {$\cdots $};
% Text Node
\draw (481,32.4) node [anchor=north west][inner sep=0.75pt] {$n-1\times \mathbb{P}_{1}$};
\end{tikzpicture}
\end{center}
\end{document}