# Tutorial¶

This page aims to teach you the fundamentals of understanding higher dimensional space, some of the shapes that exist in them, and how we can turn them into twisty puzzles to play with.

## What is the 4th dimension?¶

The dimensionality of a space/object is the number of coordinates needed to describe its position. First, think of a 1-dimensional number line. To describe a position on the number line, all you need is one set of numbers for the coordinate. In 2-dimensional space like a graph, you need 2 sets of numbers to represent a point, such as $$(3,4)$$. This continues on to higher dimensions, where you need more and more numbers in order to locate a point.

The 4th dimension is a space where you need 4 sets of numbers to describe the coordinates of something. As 3D beings in a 3D universe, we can't interact with or see the 4th dimension. But computers can easily simulate higher dimensions, and project it down to 2D so we can see it on a computer screen.

Dimension Levels (by NerdBoy1392 - Own work, CC BY-SA 3.0, link)

## Understanding 4D shapes¶

Hypercube rotating

Puzzles are (usually) based on physical geometric shapes, so you have to understand what 4D shapes there are. 4D shapes have sides, or cells, that take the form of 3D shapes, and enclose some amount of "hypervolume". As the most popular 4D puzzles are the hypercubes, so it's important to at least understand its geometry.

A hypercube (also known as a tesseract, 8-cell, octachoron, or 4-cube) is a shape with 8 cubic sides. 3 sides meet at each edge, giving it the Schläfli symbol {$$4,3,3$$}. Watch the animation below, as the tesseract unfolds itself into its 3-dimensional net.

But of course, there are many other shapes besides the tesseract. Check out these resources for a deeper understanding:

## Making puzzles out of shapes¶

To make twisty puzzles out of higher dimensional shapes, you have to slice it up! Adding 2 evenly spaced planar cuts along each dimension, we get the 3x3x3x3, or 34.

Congratulations, you have completed the tutorial!