Diagrama de flujo cíclico en TikZ

Diagrama de flujo cíclico en TikZ

Cómo dibujar esta imagen con Tik¿Z?

¿Alguna sugerencia? Quiero probar el mío pero necesito ayuda para empezar.

ingrese la descripción de la imagen aquí

EDITAR, primer intento, estoy trabajando en ello:

\documentclass[tikz,border=2mm]{standalone}
 \usetikzlibrary{shadings}
 \usetikzlibrary{shadows.blur}
 \tikzset{% from https://tex.stackexchange.com/a/287177/121799
   my blur shadow layer/.style={
     preaction={fill=black,fill opacity=.025,transform
     canvas={xshift=#1,yshift=0}},
   },
   my blur shadow/.style={
     my blur shadow layer/.list={.3pt,.6pt,...,4.8pt},
   },
 }
 \makeatletter%from https://tex.stackexchange.com/a/245444/121799
 \pgfdeclareradialshading{tikz@lib@fade@circle@5}{\pgfpointorigin}{%
   color(0pt)=(pgftransparent!0); color(18.75bp)=(pgftransparent!0);%
   color(22bp)=(pgftransparent!100); color(40bp)=(pgftransparent!100)%
 }
 \pgfdeclarefading{circle with fuzzy edge 5 percent}{%
   \pgfuseshading{tikz@lib@fade@circle@5}%
 }
 \pgfdeclareradialshading{tikz@lib@fade@circle@2}{\pgfpointorigin}{%
   color(0pt)=(pgftransparent!100); color(18.75bp)=(pgftransparent!100);%
   color(22bp)=(pgftransparent!0); color(40bp)=(pgftransparent!0)%
 }
 \pgfdeclarefading{circle with fuzzy edge 2 percent}{%
   \pgfuseshading{tikz@lib@fade@circle@2}%
 }
 \makeatother
 \begin{document}
 \begin{tikzpicture}[font=\bfseries\sffamily]
  \node[draw=gray!50,line width=0.5mm,circle,fill=blue!30, minimum width=3cm, 
  align=center, text width=3cm, text=white, font=\bfseries\sffamily\Large,
  my blur shadow] (OVS) at (0,0)
  {Optimized vibrating systems};
  \foreach \Angle/\Color/\Label in
  {90/blue!80!white/PC,210/orange/AC,330/green!60!blue/FF}
  {
  \node[draw=gray!50,line width=0.5mm,circle,
  left color=\Color,right color=\Color !60!black, minimum width=2cm, 
  align=center, text=white, font=\bfseries\sffamily\Large,
  my blur shadow] (\Label) at (\Angle:2.4cm)
  {\Label};
  }
  \draw[ultra thick,latex-latex] (PC) to [bend right=30] 
  node[midway,fill=white,sloped]{}(AC);
  \draw[ultra thick,latex-latex] (AC) to [bend right=30] 
  node[midway,fill=white,sloped]{}(FF);
  \draw[ultra thick,latex-latex] (FF) to [bend right=30] 
  node[midway,fill=white,sloped]{}(PC);
 \end{tikzpicture}
 \end{document}

Respuesta1

Con un punto de partida tan bonito no es demasiado difícil. ;-)

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{shadings,intersections,calc,decorations.text}
\usetikzlibrary{shadows.blur,arrows.meta,bending}
\tikzset{% from https://tex.stackexchange.com/a/287177/121799
   my blur shadow layer/.style={
     preaction={fill=black,fill opacity=.025,transform
     canvas={xshift=#1,yshift=0}},
   },
   my blur shadow/.style={
     my blur shadow layer/.list={.3pt,.6pt,...,4.8pt},
   },
 }
 \makeatletter%from https://tex.stackexchange.com/a/245444/121799
 \pgfdeclareradialshading{tikz@lib@fade@circle@5}{\pgfpointorigin}{%
   color(0pt)=(pgftransparent!0); color(18.75bp)=(pgftransparent!0);%
   color(22bp)=(pgftransparent!100); color(40bp)=(pgftransparent!100)%
 }
 \pgfdeclarefading{circle with fuzzy edge 5 percent}{%
   \pgfuseshading{tikz@lib@fade@circle@5}%
 }
 \pgfdeclareradialshading{tikz@lib@fade@circle@2}{\pgfpointorigin}{%
   color(0pt)=(pgftransparent!100); color(18.75bp)=(pgftransparent!100);%
   color(22bp)=(pgftransparent!0); color(40bp)=(pgftransparent!0)%
 }
 \pgfdeclarefading{circle with fuzzy edge 2 percent}{%
   \pgfuseshading{tikz@lib@fade@circle@2}%
 }
 \makeatother
 \begin{document}
 \begin{tikzpicture}[font=\bfseries\sffamily]
  \node[draw=gray!50,line width=0.5mm,circle,fill=blue!80, minimum width=3cm, 
  align=center, text width=3cm, text=white, font=\bfseries\sffamily\Large,
  my blur shadow] (OVS) at (0,0)
  {Optimized vibrating systems};
  \path[name path=circle] (0,0) circle[radius=3.4cm];
  \foreach \Angle/\Color/\Label/\Text in
  {90/green!70!black/PC/{Passive\\ Control},%
  210/orange/AC/{Active\\ Control},%
  330/red!80!black/FF/{Feed-\\ forward}}
  {
  \node[draw=white,line width=0.75mm,circle,name path=\Label,
  left color=\Color,right color=\Color !60!black, minimum width=2cm, 
  align=center, text=white, font=\bfseries\sffamily\Large,
  my blur shadow] (\Label) at (\Angle:3.5cm)
  {\Text};
  \path[name intersections={of=circle and \Label,by={\Label-1,\Label-2}}];
  \draw[line width=2mm,-{Latex[length=2mm,width=5mm]}] (\Label) -- (OVS);
  }
  \draw[shorten >=0.75mm,gray,line width=2mm,{Latex[length=2mm,width=5mm]}-{Latex[length=2mm,width=5mm]}] 
  let \p1=(AC-1),\p2=(PC-2),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)}
  in   (PC-2) arc(\n2:\n1+360:3.5cm);
  \draw[shorten >=0.75mm,gray,line width=2mm,{Latex[length=2mm,width=5mm]}-{Latex[length=2mm,width=5mm]}] 
  let \p1=(PC-1),\p2=(FF-1),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)}
  in   (FF-1) arc(\n2:\n1:3.5cm);
  \draw[shorten >=0.75mm,gray,line width=2mm,{Latex[length=2mm,width=5mm]}-{Latex[length=2mm,width=5mm]}] 
  let \p1=(FF-2),\p2=(AC-2),\n1={atan2(\y1,\x1)},\n2={atan2(\y2,\x2)}
  in   (AC-2) arc(\n2:\n1:3.5cm);
  \draw[even odd rule,bottom color=gray!80,top color=gray!20] (0,0)
        circle[radius=5cm] circle[radius=6cm];
  \path[decoration={raise = -0.8ex,text  along path,
                text = {|\huge\sffamily\bfseries|Dynamic model},
                text align = center,
            }, decorate]
 (150:5.4) arc (150:30:5.4cm);
  \path[decoration={raise = -0.2ex,text  along path,
                text = {|\large\sffamily\bfseries|Mass M, Damping D, Stiffness K},
                text align = center,
            }, decorate]
 (225:5.4) arc (225:135:5.4cm);
  \path[decoration={raise = -0.2ex,text  along path,
                text = {|\large\sffamily\bfseries|Frequency response function H},
                text align = center,
            }, decorate]
 (45:5.4) arc (45:-45:5.4cm);
 \draw[line width=1mm,-{Latex[bend]}] (135:5.5) arc(135:120:5.5);
 \draw[line width=1mm,-{Latex[bend]}] (45:5.5) arc(45:60:5.5);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Eldiagrama de ruedasSe puede utilizar el paquete que escribí. El siguiente ejemplo proviene de la documentación del paquete.

El círculo azul del medio con el texto correspondiente se obtiene con las teclas middle, middle filly middle style.

Los círculos verde, granate y naranja se obtienen con la tecla slices. El texto viene dado por la segunda variable \WCvarBque se le da a la clave wheel data.

Las 3 flechas grises están dibujadas por un segundo \wheelchart. El espacio entre estas flechas se obtiene con la tecla gap polar.

El texto exterior está colocado por un tercero \wheelchart. El texto viene dado por la primera variable \WCvarAque se le da a la clave arc data, con un espacio antes y después obtenido con ~. En el segundo corte, se agrega un arco/flecha con la tecla arc{2}. Este arco/flecha deja espacio para los datos del arco usando la tecla arc around text.

ingrese la descripción de la imagen aquí

\documentclass[border=6pt,dvipsnames]{standalone}
\usepackage{wheelchart}
\usetikzlibrary{decorations.text}
\begin{document}
\begin{tikzpicture}
\sffamily
\wheelchart[
  data=,
  middle=Optimized\\vibrating\\systems,
  middle fill=RoyalBlue,
  middle style=white,
  radius={1.2}{4},
  slices={(0,0) circle[radius=0.8];},
  slices style=\WCvarA,
  start half,
  value=1,
  wheel data=\WCvarB,
  wheel data pos=0.5,
  wheel data style={
    white,
    align=center
  }
]{%
  Green/Passive\\control,
  Maroon/Feed-\\forward,
  Orange/Active\\control%
}
\wheelchart[
  gap polar=25,
  radius={2.5}{2.7},
  slices end arrow={1}{-1},
  slices start arrow={1}{-1},
  slices style=Gray,
  total count=3
]{}
\foreach\n in {-30,90,210}{
  \draw[->,MidnightBlue,ultra thick] (\n:1.7)--(\n:1.3);
}
\fill[top color=Gray!50,bottom color=Gray,draw,even odd rule] (0,0) circle[radius=3.5] circle[radius=4.2];
\wheelchart[
  arc{2}={<-,ultra thick},
  arc around text,
  arc data=~\WCvarA~,
  arc data pos=0.5,
  arc pos=0.5,
  data=,
  gap polar=10,
  radius={3.5}{4.2},
  slices style={fill=none},
  start half=180,
  value=1
]{%
  {Mass M, Damping D, Stiffness K},
  Dynamic model,
  Frequency response functions H,
  %
}
\end{tikzpicture}
\end{document}

información relacionada