% thanks for the template: % http://www.texample.net/tikz/examples/simple-flow-chart/ \documentclass{standalone} \usepackage{gensymb} %\usepackage[pdftex,active,tightpage]{preview} %\setlength\PreviewBorder{2mm} \usepackage[utf8]{inputenc} % this is needed for umlauts \usepackage[ngerman]{babel} % this is needed for umlauts \usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf \usepackage{tikz} \usetikzlibrary{shapes,arrows} \begin{document} %\begin{preview} % Define block styles \tikzstyle{decision} = [diamond, draw, fill=blue!20, text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt] \tikzstyle{block} = [rectangle, draw, fill=blue!20, text width=5em, text centered, rounded corners, minimum height=4em] \tikzstyle{line} = [draw, -latex'] \begin{tikzpicture}[auto] % Place nodes \node [block] (init) {start}; \node [decision, below of=init] (boundingBoxes) {do bounding boxes intersect?}; \node [decision, right of=boundingBoxes, node distance=4cm] (lineAIntersectLineB) {does line a intersect line segment b?}; \node [decision, right of=lineAIntersectLineB, node distance=4.7cm] (lineBIntersectLineA) {does line b intersect line segment a?}; \node [block, right of=lineBIntersectLineA, node distance=4.7cm] (yes) {yes}; \node [block, below of=boundingBoxes, node distance=3cm] (no) {no}; % Draw edges \path [line] (init) -- (boundingBoxes); \path [line] (boundingBoxes) -- node {no}(no); \path [line] (boundingBoxes) -- node {yes}(lineAIntersectLineB); \path [line] (lineAIntersectLineB) |- node {no}(no); \path [line] (lineAIntersectLineB) -- node {yes}(lineBIntersectLineA); \path [line] (lineBIntersectLineA) |- node {no}(no); \path [line] (lineBIntersectLineA) -- node {yes}(yes); \end{tikzpicture} %\end{preview} \end{document}