关于情节的问题

关于情节的问题

我需要对这张图片进行一些定位。我听说它是​​完全用 LateX 制作的。你能给我一点提示吗?我真的很感激!

在此处输入图片描述

答案1

一个好人的照片已被定义为这个很好的答案弯箭借自这里我只是把它们拼凑在一起,得到

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{arrows.meta,bending,positioning,calc}
\begin{document}
\pgfkeyssetvalue{/cfr/soul base dimension}{5pt}
\begin{tikzpicture}[person/.pic={% from https://tex.stackexchange.com/a/186478/121799
    \node[#1] (-head) [circle, minimum size=4*\pgfkeysvalueof{/cfr/soul base dimension}] {};
    \node[#1] (-torso) [below=0pt of -head, rectangle, rounded corners=.4*\pgfkeysvalueof{/cfr/soul base dimension}, minimum width=3.5*\pgfkeysvalueof{/cfr/soul base dimension}, minimum height=6*\pgfkeysvalueof{/cfr/soul base dimension}] {};
    \node[#1] (-right arm) [right=0pt of -torso.north east, yshift=-3.1*\pgfkeysvalueof{/cfr/soul base dimension}, rectangle, minimum width=\pgfkeysvalueof{/cfr/soul base dimension}, minimum height=6*\pgfkeysvalueof{/cfr/soul base dimension}, rounded corners=.4*\pgfkeysvalueof{/cfr/soul base dimension}] {};
    \node[#1] (-left arm) [left=0pt of -torso.north west, yshift=-3.1*\pgfkeysvalueof{/cfr/soul base dimension}, rectangle, minimum width=\pgfkeysvalueof{/cfr/soul base dimension}, minimum height=6*\pgfkeysvalueof{/cfr/soul base dimension}, rounded corners=.4*\pgfkeysvalueof{/cfr/soul base dimension}] {};
    \node[#1] (-left leg) [below=0pt of -torso.south, rectangle, minimum width=1.5*\pgfkeysvalueof{/cfr/soul base dimension}, minimum height=6*\pgfkeysvalueof{/cfr/soul base dimension}, rounded corners=.2*\pgfkeysvalueof{/cfr/soul base dimension}, anchor=north east] {};
    \node[#1] (-right leg) [below=0pt of -torso.south, rectangle, minimum width=1.5*\pgfkeysvalueof{/cfr/soul base dimension}, minimum height=6*\pgfkeysvalueof{/cfr/soul base dimension}, rounded corners=.2*\pgfkeysvalueof{/cfr/soul base dimension}, anchor=north west] {};
    \draw[#1] [rounded corners=.2*\pgfkeysvalueof{/cfr/soul base dimension}] (-right leg.south) -- (-right leg.south west) -- (-left leg.south east) -- (-left leg.south west)  -- (-torso.south west) [rounded corners=.4*\pgfkeysvalueof{/cfr/soul base dimension}] -- (-left arm.south east) -- (-left arm.south west) -- (-left arm.north west) -- (-torso.north west) -- ($(-head.south) - (.5*\pgfkeysvalueof{/cfr/soul base dimension},0)$) arc [start angle=255.5, end angle=-74.5, radius=2*\pgfkeysvalueof{/cfr/soul base dimension}] -- (-torso.north east) -- (-right arm.north east) -- (-right arm.south east)  -- (-right arm.south west) [rounded corners=.2*\pgfkeysvalueof{/cfr/soul base dimension}] -- (-torso.south east)  -- (-right leg.south east) -- (-right leg.south west);
  },font=\sffamily,
  arc arrows/.cd,width/.initial=6mm,radius/.initial=1.2cm]
  \begin{scope}[local bounding box=M]
   \begin{scope}[local bounding box=arc arrow]
    \foreach \X [count=\Y] in {gray!30,black,gray!50}
     {\draw[line width=\pgfkeysvalueof{/tikz/arc arrows/width},\X]
     ({180-(\Y+1)*120}:\pgfkeysvalueof{/tikz/arc arrows/radius})
      arc({180-(\Y+1)*120}:{180-(\Y)*120}:\pgfkeysvalueof{/tikz/arc arrows/radius});}
    \foreach \X [count=\Y] in {gray!30,black,gray!50}
     {\draw[-{Triangle[bend,length={0.75*\pgfkeysvalueof{/tikz/arc arrows/width}},width={1.5*\pgfkeysvalueof{/tikz/arc arrows/width}}]},
     line width=\pgfkeysvalueof{/tikz/arc arrows/width},\X] 
     ({180-(\Y+0.2)*120}:\pgfkeysvalueof{/tikz/arc arrows/radius})
      arc({180-(\Y+0.2)*120}:{180-(\Y-0.5)*120-10}:\pgfkeysvalueof{/tikz/arc arrows/radius});}
    \path (-1.6,0)    (1.6,0);    
   \end{scope}   
   \node[above=1em of arc arrow,align=center,node font=\large]{Recommender\\ System};
   \node[below=1em of arc arrow,align=center]{Model};
  \end{scope}    
  \draw let \p1=($(M.north)-(M.south)$) in 
  ([xshift=-\y1/2]M.south) coordinate (BL) rectangle ([xshift=\y1/2]M.north)
  coordinate (TR);
  \begin{scope}[local bounding box=L,xshift=-6cm]
  \path foreach  \Coord in {(0.5,1.8),(-0.5,1.9),(-0.1,1.5),(-0.7,1.2),(0.7,1.1)} 
    { \Coord pic{person={fill=white}}};
  \end{scope}    
  \begin{scope}[local bounding box=R,xshift=7cm]
  \path foreach  \Coord in {(0.5,1.8),(-0.5,1.9),(-0.1,1.5),(-0.7,1.2),(0.7,1.1)} 
  { \Coord pic{person={fill=white}}};
  \end{scope}    
  \draw[line width=4mm,-stealth,shorten <=0.5em,shorten >=0.5em] 
  (L.east|-M) -- (BL|-M)node[midway,above=1em]{Ratings};
  \draw[line width=1mm,-stealth,shorten <=0.5em,shorten >=0.5em] 
  (TR|-M) -- (R.west|-M)node[midway,above]{Recommendations};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容