Some Tikz pictures

Most LaTeX-ers know about Tikz, which allows the user to create images in LaTeX without having to embed images created from an external program. The main advantages are that

  1. The ambient LaTeX fonts are used in the image, so labels and such conform to the ambient style of the document.
  2. The size of the .tex file is kept small, since it is only text you are creating.
  3. It yields a picture that is smooth and that looks good upon zooming in (i.e., the resolution of the picture is good).
  4. It is functional code so that you can automate the drawing of many pictures by giving commands such as “draw a line between these two points”.

The main disadvantage, is that there is a steep learning curve. The best way to learn is through examples, and even though I’m still a hack, my tikz code has improved via my copying segments of other people’s code. For geometry, there isn’t much out there, so I thought that I would dump some images here. Below are some Tikz pictures of configurations in finite geometry that I’ve collected and think should be available for everyone else to use. A big thanks to Stephen Glasby who went to a lot of trouble to make the two generalised hexagons of order 2. If you have suggestions on how I can simplify my code, please let me know.

Desargues’ configuration, two ways


\tikzstyle{point1}=[ball color=cyan, circle, draw=black, inner sep=0.1cm]
\tikzstyle{point2}=[ball color=green, circle, draw=black, inner sep=0.1cm]
\tikzstyle{point3}=[ball color=red, circle, draw=black, inner sep=0.1cm]
\node (v1) at (0,8) [ball color=blue, circle, draw=black, inner sep=0.1cm] {};
\node (v2) at (0,6) [point1] {};
\node (v3) at (2,5.5) [point1] {};
\node (v4) at (1.5,4) [point1] {};
\node (v5) at (0,0) [point2] {};
\node (v6) at (2.75*2,8-2.75*2.5) [point2] {};
\node (v7) at (1.5*1.5,8-1.5*4) [point2] {};
\draw (v1) -- (v2) -- (v5);
\draw (v1) -- (v3) -- (v6);
\draw (v1) -- (v4) -- (v7);
\draw (v2) -- (v3) -- (v4) -- (v2);
\draw (v5) -- (v6) -- (v7) -- (v5);
\node (v8) at (intersection of v2--v3 and v5--v6) [point3] {};
\node (v9) at (intersection of v2--v4 and v5--v7) [point3] {};
\node (v10) at (intersection of v3--v4 and v6--v7) [point3] {};
\draw (v3) -- (v8) -- (v6);
\draw (v4) -- (v9) -- (v7);
\draw (v4) -- (v10) -- (v7);
\draw (v8) -- (v9) -- (v10);

… and the second one:

\tikzstyle{point} = [ball color=black, circle,  draw=black, inner sep=0.1cm]
\foreach\x in {0, 72, 144, 216, 288}{
      \coordinate (o1) at (-0.588, -0.809);
      \coordinate (o2) at (0.588, -0.809);
      \coordinate (c1) at (-1.1, 4.6);
      \coordinate (c2) at (1.1, 4.6);
      \coordinate (o3) at (0, 3.236);
      \draw[color=black] (o3) -- (3.236*-0.588, 3.236*-0.809);
      \draw[color=blue] (o1) ..  controls (c1) and (c2) ..  (o2);
\foreach\x in {0, 72, 144, 216, 288}{
      \coordinate (o2) at (0.588, -0.809);
      \coordinate (o3) at (0, 3.236);
      \fill[point] (o2) circle (2pt);
      \fill[point] (o3) circle (2pt);

The generalised quadrangle of order 2

I think Gordon gave me the original tikz code for this and then I tweaked it.

\tikzstyle{point}=[ball color=magenta, circle, draw=black, inner sep=0.1cm]
\foreach \x in {18,90,...,306}{
\node [point] (t\x) at (\x:2.65){};
\foreach \x in {54,126,...,342}{
\draw [color=blue, double=green](\x:1cm) circle (1.17557cm);
\fill [white] (0,0) circle (1cm);
\foreach \x in {54,126,...,342}{
\node[point] (i\x) at (\x:1cm) {};
\node[point] (o\x) at (\x:2.17557cm) {};

\draw [color=blue,double=green] (t90)--(o126)--(t162)--(o198)--(t234)--(o270)--(t306)--(o342)--(t18)--(o54)--(t90);
\draw (t90)--(i270)--(o270);
\draw (t162)--(i342)--(o342);
\draw (t234)--(i54)--(o54);
\draw (t306)--(i126)--(o126);
\draw (t18)--(i198)--(o198);

The two generalised hexagons of order 2

These pictures were originally drawn by Schroth in his 1999 paper, and then appeared in Burkard Polster’s book “A geometrical picture book”.


    \foreach\n in {0, 1,..., 6}{
        \coordinate (a0) at (10,0);
        \coordinate (b0) at (7,0);
        \coordinate (c0) at (1.45,0);
        \coordinate (d0) at (4.878,-0.4878);
        \coordinate (e0) at (2.1729,0.37976);
        \coordinate (f0) at (1.45,0.612);
        \coordinate (g0) at (2.78,-0.585);
        \coordinate (h0) at (4.074,0.7846);
        \coordinate (i0) at (6.0976,2.9268);
        \foreach\k in {1, 2,..., 6}{
          \foreach\p in {a,b,c,d,e,f,g,h,i}{
            \coordinate (\p\k) at ($ (0,0)!1! \k*51.4286:(\p0) $);
        \draw[thick,blue] (a0)--(b0)--(c0);
        \draw[thick,blue] (d0)--(e0)--(f0);
        \draw[thick,black] (g0)--(h0)--(i0);
        \draw[thick,black] (a0)--(g1)--(a3);
        \draw[thick,green] (i0)--(d1)--(i2);
        \draw[thick,black] (c0)--(g3)--(d3);
        \draw[thick,color=purple] (b0) .. controls (5.7,-1.8) and (4.6,-2.2)
           .. (h6) .. controls (1.5,-3.2) and (-1,-2.4) .. (e4);
        \draw[thick,black] (b0)--(h0)--(e2);
        \draw[thick,purple] (f6)--(c0)--(f0);
        \foreach\k in {1, 2,..., 6}{
          \foreach\p in {a,b,c,d,e,f,g,h,i}{
            \draw[fill] (\p\k) circle [radius=0.12];



  \foreach\n in {0, 1,..., 6}{
        \coordinate (a0) at (85,0);
        \coordinate (b0) at (55,0);
        \coordinate (c0) at (12.5,0);
        \coordinate (d0) at (8.5,1.3);
        \coordinate (e0) at (16.2,9);
        \coordinate (f0) at (30,14.3);
        \coordinate (g0) at (26.6,17.0);
        \coordinate (h0) at (26.3,22.4);
        \coordinate (i0) at (29.5,28);
        \foreach\k in {1, 2,..., 6}{
          \foreach\p in {a,b,c,d,e,f,g,h,i}{
            \coordinate (\p\k) at ($ (0,0)!1! \k*51.4286:(\p0) $);
        \draw[thick,black] (a0)--(e1)--(a3);
        \draw[thick,green] (b0)--(h0)--(b2);
        \draw[thick,purple] (f0)--(g0)--(f1);
        \draw[thick,blue] (h0)--(i0)--(a1);
        \draw[thick,purple] (h6)--(c0)--(d0);
        \draw[thick,purple] (f0)--(e0)--(i3);
        \draw[thick,black] (b0)--(i6)--(g6);
        \draw[thick,color=blue] (g0) .. controls (27,2) and (17,-5)
           .. (d6) .. controls (-7,-5) and (-5,-5) .. (c3);
        \draw[thick,color=blue] (c0) .. controls (16,3) and (17,5)
           .. (e0) .. controls (15,13) and (8,15) .. (d1);
        \foreach\k in {1, 2,..., 6}{
          \foreach\p in {a,b,c,d,e,f,g,h,i}{
            \draw[fill] (\p\k) circle [radius=1.1];

The first is the Split Cayley hexagon as it is usually given, whilst the second is its dual.


The projective plane of order 2


\tikzstyle{point}=[ball color=cyan, circle, draw=black, inner sep=0.1cm]
\node (v7) at (0,0) [point] {};
\draw (0,0) circle (1cm);
\node (v1) at (90:2cm) [point] {};
\node (v2) at (210:2cm) [point] {};
\node (v4) at (330:2cm) [point] {};
\node (v3) at (150:1cm) [point] {};
\node (v6) at (270:1cm) [point] {};
\node (v5) at (30:1cm) [point] {};
\draw (v1) -- (v3) -- (v2);
\draw (v2) -- (v6) -- (v4);
\draw (v4) -- (v5) -- (v1);
\draw (v3) -- (v7) -- (v4);
\draw (v5) -- (v7) -- (v2);
\draw (v6) -- (v7) -- (v1);

Definitive coffee

Yesterday, after lunch, Gordon, Luke Morgan, and I decided to grab a coffee from a local establishment:
Me: “We’ll have two long blacks and one short black please”.
Cashier: “Do you want milk in your long black?”

… Then we had this uncomfortable Louis Theroux moment where I looked at her blankly for a longer than normal amount of time.

Me: “If I did, then it wouldn’t be a long black then”.

I guess I’m used to enforcing the clarity of a definition.

Some ways I try to be efficient

There are various technological ways I try to cut down the number of mouse clicks or complicated processes in order to remain organised and efficient, and I’m open to know what else I can do. Here is a short list of things I recommend others use, some of which are particular to MAC users:

  1. I often use BibDesk to organise my bibtexing. The coolest feature is that it can import directly from MathSciNet; a little browser window opens up, MathSciNet is there, I enter the info I know about the reference, then some papers are listed which match my query. I click on import and it is put in my library. I can then hit CTRL-K to make a cite-key, and then I simply drag the reference into my LaTeX file (in TeXShop).
  2. Papers by Mekentosj is very impressive, and I believe it has won some awards for its design. It organises all the pdfs of papers on my desktop, which I can match with mathscinet bibliographic data. The best feature is that I can search all of my papers for various things quite easily. For instance, just like iTunes, I can create a smart album of all papers which are on “generalised quadrangles” (or “generalized quadrangles”). I’ve put the library of papers in my Dropbox so that I can use it on all of my machines, wherever I am in the world!
  3. TeXShop is quite a good LaTeX typesetter. I can right-click on the PDF and it will show me in the LaTeX file where that part of the file is. I also find it easy to compile PDFLaTeX and BibTeX quickly using key-strokes (Command + L and Command + B).
  4. Cool unix-terminal commands such as “sed” for replacing strings in a file and good old “!” for re-executing a command.
  5. iCal has made me more organised, and I have it synchronised with my email server so that I can change my calendar on any machine. The best feature is that I can right click on a date and time in an email, and it will automatically import an appointment into iCal. Most of the time, I don’t need to edit the title or meeting place (it works this out from the body of the email!).

That’s all I can think of for now. More will be added to this list as they come to mind (or I’m reminded by someone else).

Threshold concepts in pure mathematics

Today I attended a fabulous workshop on “Threshold Concepts in Engineering”, organised by Caroline Baillie and Sally Male, and it got me eager to jot down some ideas for pure maths. The idea of a threshold concept needs some pinning down, but it is vaguely something that our students need to master in order to progress to other ideas; a competent understanding of a threshold concept opens the door to many other concepts. We also think of it as something that is typically difficult for the student and is transformative. That is, once the student “gets it”, it can change their way of viewing previous notions, it could change the way they approach and do things, and it could change the way they see themselves as students of a particular discipline (i.e., a student of mathematics then regards themselves as a mathematician). See our faculty’s threshold concepts webpage for more.

But what about some examples in early tertiary mathematics education?

(By the way, the maths taught in secondary schools in Australia does not really get as far as what I would view as “real” mathematics. So before you tell me that your students learn measure theory in middle school, I know that some of the topics that I describe below may not convert to tertiary maths at your institution!)

Continue reading “Threshold concepts in pure mathematics”

I love Dropbox!

Actually this post should really be titled “Productivity Tools: Dropbox” to go along with the previous posts on collaboration tools.

But in this case, I really do love Dropbox, because it is one of those rare things that just works seamlessly and completely removes what used to be a major source of friction in my working habits. And to top things off it’s free!

The problem it solves is the old problem of having the same file, say a TeX file you are working with, stored on multiple computers. After editing it on my desktop at work, I would then have to transfer the file when I started revising it at home on my laptop and then transfer it back the next day.

Continue reading “I love Dropbox!”

Up ↑