用椭圆绘制图形 tikz

用椭圆绘制图形 tikz

我正在尝试用椭圆 (tikz) 绘制此图形。你能帮助我吗?

在此处输入图片描述

答案1

这是一个尝试。首先,分别定义椭圆、点和线的样式。使用命令node将这 5 个角用相对坐标放在 <内部名称> 上。其余节点可以通过($(n1)!x!(n2)$)坐标计算自动找到/定位,其中 x=[0 1]。最后使用draw命令连接线条。

\tikzset{
ell/.style={draw,ellipse,minimum height=2em,minimum width=8em,align=center},
line/.style={-,line width=0.5pt},
dot/.style = {draw,fill,circle,inner sep=0pt,outer sep=0pt,minimum size=2pt},
}

在此处输入图片描述

代码

\documentclass[border=10pt]{standalone}%[12pt]{article}
\usepackage{tikz}
\usetikzlibrary{shadows,arrows,shapes,positioning,calc}

\tikzset{
ell/.style={draw,ellipse,minimum height=2em,minimum width=8em,align=center},
line/.style={-,line width=0.5pt},
dot/.style = {draw,fill,circle,inner sep=0pt,outer sep=0pt,minimum size=2pt},
}
\begin{document}
\begin{tikzpicture}
\node[dot](a) {};
\node[dot,right=2cm of a] (b){};
\node[dot,below=2cm of b] (c){};
\node[dot,left= 2cm of c] (d){};
\node[dot,yshift=-1cm] at ($(a)!0.5!(b)$)(e) {};
\node[dot] at ($(d)!0.5!(a)$)(f){};
\node[dot] at ($(f)!0.5!(a)$)(g){};
\node[dot] at ($(f)!0.5!(d)$)(){};
\node[dot] at ($(d)!0.15!(f)$)(){};
\node[dot] at ($(d)!0.3!(f)$)(){};
\node[ell] at ($(a)!0.5!(b)$) {};
\node[ell,rotate=90] at ($(b)!0.5!(c)$) {};
\node[ell] at ($(c)!0.5!(d)$) {};
\node[ell,rotate=90] at ($(d)!0.5!(a)$) {};
\draw[line] (e) -- (a);
\draw[line] (e) -- (b);
\draw[line] (e) -- (f);
\end{tikzpicture}
\end{document}

相关内容