Quadrilateral hierarchy

Hasse diagrams illustrating how quadrilaterals are related, and marking congruent and right angles, as well as same length sides with a custom macro via pic. Inspired by this image on Wikimedia Commons.

Most basic diagram to relate squares, rectangles, rhombi, trapezia / trapezoids using inclusive definitions:

Including obtuse or acute trapezia:

Grouping trapezia in boxes to make clear rectangles are not obtuse or acute trapezia.

Adding kites:

Using as definition of irregular quadrilateral (British English), quadrilaterals with no parallel sides:

Adding boxes again:

A more general overview, including tangential, bicentric and cyclic quadrilaterals, as well as convex/concave, simple/complex, and darts (i.e. concave kites):

Including obtuse or acute trapezia and boxes again:

Including some complex quadrilaterals, incl. crossed trapezia, antiparallelogram, crossed rectangle, crossed square and crossed rhombus. (Note that this Wikipedia article uses “crossed parallelogram” as synonym for antiparallelogram, so it is grayed out here.)

Edit and compile the code if you like. (Please note that you may need to remove some tikzpicture pieces to avoid the site’s time limit.)

% Author: Izaak Neutelings (December 2021)
% Inspiration:
% https://en.wikipedia.org/wiki/Quadrilateral#Taxonomy
% https://commons.wikimedia.org/wiki/File:Quadrilateral_hierarchy_svg.svg
\documentclass[border=3pt,tikz]{standalone}
\usetikzlibrary{calc}
\usetikzlibrary{shadows.blur} % for blur shadow
\usepackage[outline]{contour} % glow around text
\contourlength{1.3pt}
\tikzset{>=latex} % for LaTeX arrow head
\colorlet{myred}{red!80!black}
\colorlet{myblue}{blue!80!black}
\colorlet{mygreen}{green!80!black}
\colorlet{mypurple}{red!70!blue!80!black}
\colorlet{mydarkred}{red!60!black}
\colorlet{mylightred}{red!50!black!8}
\colorlet{mydarkblue}{blue!50!black}
\colorlet{mydarkgreen}{green!50!black}
\colorlet{mylightblue}{blue!50!black!8}
\colorlet{mydarkorange}{orange!80!black}
\colorlet{mydarkpurple}{red!60!blue!65!black}
\tikzstyle{myshape}=[
thick,draw=mydarkblue,fill=mylightblue,rounded corners=0.01,
blur shadow={shadow blur steps=40,shadow xshift=1pt,shadow yshift=-1pt}]
\tikzstyle{myset}=[draw=mydarkred,fill=mydarkred!3,rounded corners=6,line width=0.55]
\tikzstyle{mygreenset}=[myset,draw=mydarkgreen,fill=mydarkgreen!3]
\tikzstyle{myorangeset}=[myset,draw=mydarkorange,fill=mydarkorange!3]
\tikzstyle{mydashed}=[very thin,dashed,draw=black!50,opacity=0.4]
\tikzstyle{purple line}=[thick,draw=mydarkpurple]
\tikzstyle{frontline}=[white,double=black,double distance=0.4,line width=0.5]
\tikzset{
narcs/.initial=1, % number of (dark) arcs
nmarks/.initial=0, % number of marks to indicate equal angles
marklen/.initial=0.27, % length of marks
markdist/.initial=3, % distance between marks
markshift/.initial=0, % shift from origin/center
angshift/.initial=1, % shift from origin/center
angcol/.style={draw=#1,fill=#1!40}, % shorthand to fill (light) & draw (dark)
angcol/.default={myblue},
pics/mark angle/.style args={(#1)-(#2)-(#3):#4}{ % arc: any angle
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Click to download: quadrilaterals.texquadrilaterals.pdf
Open in Overleaf: quadrilaterals.tex

5 Replies to “Quadrilateral hierarchy”

    1. Hi Maxime,
      Thank you for the comment. Where would it be missing? There is a line linking the rhombus and parallellogram in each picture implying that a rhombus is a parallelogram. Maybe you meant “kite” instead of parallellogram? Namely, I see there is one picture missing a line which I will fix now.
      Cheers,
      Izaak

  1. My knowledge of TikZ is *very* limited, so I’d love a comment about how to add “parallel marks” to lines these beautiful figures. You know, the little arrow head(s) we place on sides to indicate that they are parallel. That would be really nice, especially on the image of the trapezoid.

    1. Hi Jordan,

      It is not too hard if you use decorations.markings. In the preamble:

      \usetikzlibrary{arrows} % for \arrow
      \usetikzlibrary{arrows.meta} % to control arrow tip size
      \usetikzlibrary {decorations.markings}
      \tikzstyle{paramark}=[blue,postaction={decorate},decoration={markings,
      mark=at position .5 with {\arrow[line width=0.5]{angle 90[length=5,width=3]}}}]
      הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      In the main code, it may be cleanest to add them after drawing the shape itself using \path to hide the straight line between the two coordinates:

      \draw[myshape] (SW) -- (SE) -- (NE) -- (NW) -- cycle;
      \path[paramark] (SW) -- (SE);
      \path[paramark] (NW) -- (NE);
      הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      For double arrows, you could use something like

      \tikzstyle{paramark2}=[red,postaction={decorate},decoration={markings,
      mark=at position .5*\pgfdecoratedpathlength-1pt with {\arrow[line width=0.5]{angle 90[length=5,width=3]}},
      mark=at position .5*\pgfdecoratedpathlength+1pt with {\arrow[line width=0.5]{angle 90[length=5,width=3]}}}]
      הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      In some case you may need to tweak the position of the arrow heads, so you could introduce an optional argument:

      \tikzset{
      paramark/.style={
      blue,postaction={decorate},decoration={markings,
      mark=at position #1 with {\arrow[line width=0.5]{angle 90[length=5,width=3]}}}
      },
      paramark/.default={0.5},
      }
      % ...
      \path[paramark=0.45] (SW) -- (SE);
      \path[paramark] (NW) -- (NE);
      הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      Hope that helps?

      Izaak

  2. Very pleasant ,I am going to be print a mathematics book to high school ,so it might be help me ,if you are volunteer you may evaluate my book send me your email address through my email adress ,i may send the paper about 50 page you may evaluate it .
    sultan kemal Addis ababa .Ethiopia

Leave a Reply

Your email address will not be published.