\documentclass{sample} \usepackage{tikz} \usetikzlibrary{calc} \usetikzlibrary{chains} \usepackage{verbatim} \usepackage[active,tightpage]{preview} \PreviewEnvironment{tikzpicture} \setlength\PreviewBorder{10pt}% \usepackage[europeanresistors,americaninductors]{circuitikz} \usetikzlibrary{chains} \begin{document} Figure 9.3: % Generalized diagram of different components inside an AC drive % with voltage intermediate circuit % Author: Erno Pentzin (2013) \begin{comment} :Title: AC drive components :Tags: Electrical engineering;Chains;circuitikz :Author: Erno Pentzin :Slug: ac-drive-components Generalized diagram of different components inside an AC drive with voltage intermediate circuit \end{comment} \renewcommand*{\familydefault}{\sfdefault} \begin{tikzpicture}[ start chain=going right, box/.style={ on chain,join,draw, minimum height=3cm, text centered, minimum width=2cm, }, every join/.style={ultra thick}, node distance=5mm ] \node [on chain] {AC in}; % Chain starts here \node [box,xshift=5mm,label=above:Rectifier] (rec) { \begin{circuitikz} \draw (0,0) to[Do] (0,2); \end{circuitikz} }; \node [on chain,join,draw, text width=1cm, minimum width=4cm, minimum height=1.6cm, label=above:Intermediate circuit, ] (ic) { \begin{circuitikz}[american voltages] \draw (0,0) to[pC,v>=$ $] (0,2); \end{circuitikz} }; \node [box,label=above:Inverter] (inv) { \begin{circuitikz} \draw (0,0) node[nigbt] {}; \end{circuitikz} }; \node [on chain,join,xshift=5mm]{AC out}; % Chain ends here % CU box \node [ rectangle,draw, below=5mm of ic, minimum width=10cm, minimum height=1cm, ] (cu) {\textbf{Control unit}}; % PU box \node [ rectangle,draw, above=2mm of cu, minimum width=10cm, minimum height=4cm, label=\textbf{Power unit}, ] (pu) {}; % Connections between CU and PU \draw[<->] (rec.south) -- ++(0,-5mm); \draw[<->] (cu.north) to (ic.south); \draw[<->] (inv.south) -- ++(0,-5mm); \end{tikzpicture} Figure 9.4: % Author: Daniel Steger % Source: Mosaic from Pompeji % Casa degli Armorini Dorati, Living room, mosaic \begin{comment} :Title: Mosaic from Pompeii A decorative element from a mosaic in the living room of Casa degli Armorini Dorati, Pompeii. The example shows the power of PGF's mathematical engine. \end{comment} \begin{tikzpicture}[cap=round] % Colors \colorlet{anglecolor}{green!50!black} \colorlet{bordercolor}{black} %Configuration: change this to define number of intersections: % 5 degree mean 360/10 = 36 elements \def\alpha{5} % degree \def\layer{5} \begin{scope}[scale=5] % Radius R = 1 % The figure is constructed by intersecting circles Cx of radius R. % M_Cx lies on the circle C with a radius \alpha degree from the outer circle R % and a distance defined by \alpha degree. % It is sufficent to calculate one special M_C, which is intersecting the x-axis % at distance R from (0,0). \pgfmathsetmacro\sinTriDiff{sin(60-\alpha)} \pgfmathsetmacro\cosTriDiff{1-cos(60-\alpha)} % The distance from the (0,0). \pgfmathsetmacro\radiusC{sqrt(\cosTriDiff*\cosTriDiff + \sinTriDiff*\sinTriDiff)} % Angle of M_C (from x-axis) \pgfmathsetmacro\startAng{\alpha + atan(\sinTriDiff/\cosTriDiff)} % The segment layer are \alpha degree apart \pgfmathsetmacro\al{\alpha*\layer} % For each segment create the intersection parts of the circles by using arcs \foreach \x in {0,\alpha,...,\al} { % Calculate the polar coordiantes of M_Cx. We take the M_C from above % and can calculate all other M_Cx by adding \alpha \pgfmathsetmacro\ang{\x + \startAng} % From ths we get the (x,y) coordinates \pgfmathsetmacro\xRs{\radiusC*cos(\ang)} \pgfmathsetmacro\yRs{\radiusC*sin(\ang)} % Now we intersect each new M_C with the x-axis: % We can find the radius of concentric inner circles \pgfmathsetmacro\radiusLayer{\xRs + sqrt( 1 - \yRs*\yRs )} % To calculate angles for the arcs later, this angle is needed \pgfmathsetmacro\angRs{acos(\yRs)} % We need to have the angle from the previous loop as well \pgfmathsetmacro\angRss{acos(\radiusC*sin(\ang-\alpha))} % Add some fading by \ang \colorlet{anglecolor}{black!\ang!green} % The loop needs to run a whole. % We don't want to cope with angles > 360 degree, adapt the limits. \pgfmathsetmacro\step{2*\alpha - 180} \pgfmathsetmacro\stop{180-2*\alpha} \foreach \y in {-180, \step ,..., \stop} { \pgfmathsetmacro\deltaAng{\y-\x} % This are the arcs which are definied by the intersection of 3 circles \filldraw[color=anglecolor,draw=bordercolor] (\y-\x:\radiusLayer) arc (-90+\angRs+\deltaAng : \alpha-90+\angRss+\deltaAng :1) arc (\alpha+90-\angRss+\deltaAng : 2*\alpha+90-\angRs+\deltaAng :1) arc (\deltaAng+2*\alpha : \deltaAng : \radiusLayer); } % helper circles & lines %\draw[color=gray] (\xRs,\yRs) circle (1); %\draw[color=gray] (\xRs,-\yRs) circle (1); %\draw[color=blue] (0,0) circle (\radiusLayer); %\draw[color=blue, very thick] (0,0) -- (0:1); %\draw[color=blue, very thick] (0,0) -- (\ang:\radiusC) -- (\xRs,0); %\draw[color=blue, very thick] (\xRs,\yRs) -- (0:\radiusLayer); %\filldraw[color=blue!20, very thick] (\xRs,\yRs) -- % (\xRs,\yRs-0.3) arc (-90:-90+\angRs:0.2) -- cycle; } % Additional inner decoration element \pgfmathsetmacro\xRs{\radiusC*cos(\al+\startAng)} \pgfmathsetmacro\yRs{\radiusC*sin(\al+\startAng)} \pgfmathsetmacro\radiusLayer{\xRs + sqrt( 1 - \yRs*\yRs )} \draw[line width=2, color=bordercolor] (0,0) circle (.8*\radiusLayer); \pgfmathsetmacro\radiusSmall{.7*\radiusLayer} % There are six elements to create. Avoid angles >360 degree. \foreach \x in {-60,0,...,240} { \fill[color=anglecolor] (\x:\radiusSmall) arc (-180+\x+60: -180+\x: \radiusSmall) arc (0+\x: -60+\x: \radiusSmall) arc (120+\x: 60+\x: \radiusSmall); } % The outer decoration \foreach \x in {0, 4, ..., 360} { \fill[color=anglecolor] (\x:1) -- (\x+3:1.05) -- (\x+5:1.05) -- (\x+2:1) -- cycle; \fill[color=anglecolor] (\x+5:1.05) -- (\x+7:1.05) -- (\x+4:1.1) -- (\x+2:1.1) -- cycle; } \draw[line width=1, color=bordercolor] (0,0) circle (1); \draw[line width=1, color=bordercolor] (0,0) circle (1.1); \end{scope} \end{tikzpicture} \end{document}