# Drawing geometric shapes

We want to progress from high-speed to advanced TikZ concepts, so let’s have a compact summary of what we can draw in this basic setting – that is, we start with `\draw <coordinate>`

(that’s the current coordinate) and continue with some of the following elements:

**Line**:`-- (x,y)`

draws a line from the current coordinate to (x,y).**Rectangle**:`rectangle (x,y)`

draws a rectangle where one corner is the current coordinate, and the opposite corner is (x,y).**Grid**: Like`rectangle`

but with lines in between as a grid.**Circle**:`circle (r)`

was a short syntax we used previously, but the extended syntax is`circle [radius=r],`

which draws a circle with the center at the current coordinate and a radius of r.**Ellipse**:`ellipse [x radius = rx, y radius = ry]`

draws an ellipse with a horizontal radius of`rx`

and a vertical radius of`ry`

. The short form is`ellipse (rx`

`and ry)`

.**Arc**:`arc[start angle=a, end angle=b, radius=r]`

gives a part of a circle with a radius of r at the current coordinate, starting from angles*a*to angles*b*. The short command version is`arc(a:b:r)`

.

`arc[start angle=a, end angle=b, x radius=rx, y radius=ry]`

gives a part of an ellipse with an *x* radius of `rx`

and a *y* radius of `ry`

at the current coordinate, starting from angle *a* and going to angle *b*. The short syntax would be `arc(a:b:rx `

`and ry)`

.

Let’s have a few examples to see what these commands do:

- Draw a circle with a radius of
`2`

at the origin:\draw (0,0) circle [radius=2];

- Next, draw an ellipse with a horizontal radius of
`0.2`

and a vertical radius of`0.4`

:\draw (-0.5,0.5,0) ellipse [x radius=0.2, y radius=0.4];

- Now, draw the same ellipse at
`(0.5,0.5)`

:\draw (0.5,0.5) ellipse [x radius=0.2, y radius=0.4];

- Next, draw an arc that looks like a smile:
\draw (-1,-1) arc [start angle=185, end angle=355,

x radius=1, y radius=0.5];

- Finally, draw a rectangle with the lower-left corner at
`-3,-3`

and the upper-right corner at`3,3`

:\draw (-3,-3) rectangle (3,3);

When you use all the commands from *steps 1 to 5* in a `tikzpicture`

environment and compile, you get the following:

Figure 2.9 – A smiley in a rectangle

This result of the command examples still looks a bit dull. Let’s improve it a bit and fill it with color.