**Please upload an image illustrating your workshop**

**What’s happening in your workshop?**

How to transform objects in space is one of the most fundamental things to learn when working with computer graphics. Without a proper understanding of the general concepts applied in this area one cannot harness the full power of GPU accellerated graphics or even get wrong (or at least unexpected) results when designing 2D or 3D scenes. This workshop intends to introduce the basics of **space** and **transforms** as they are applied in allmost all computer graphics related areas. We’ll use VVVV Gamma and VL.Stride for demonstration, but the concepts are equally valid for most other 3D related systems (e.g. Unity, Blender, …).

Understanding the concepts will allow you to apply transformations correctly in your patches and shader programs.

**What will people learn?**

- We’ll build a mental model of how to reason about
**space**and**coordinate systems**. - We’ll look into the mathematical representation of
**points**and**vectors**to represent objects. -
**Scaling, Rotation and Translation (in 2D)**: By applying simple maths (addition and multiplication) we can achieve the simplest transfomations. From here on, we’ll explore the concept of**matrix maths**to get a handy representation of these transformations, that can easily combine several transformations. Somewhere on the way we’ll have extend the space we are looking at to 3 dimensions, even though we still reason about 2D transformations. -
**Transformations in 3D**: understanding how stuff works in 2D enables us for applying these concepts in 3D space (where we suddenly have to use a**4-dimensional representation**called**Homogenous Coordinates**). - (If time permits: Why
**3D rotations**are tricky) - Finally, we’ll see what role
**cameras**play in transforming 3D points to their final position on the screen. You’ll get to know the mental model of**object/model space, world space, camera space**(**view**and**projection**),**clip space**,**normalized device coordinates**and at last**screen space**.

**Who is it for?**

Everyone looking for full control when working with transformations.

**What knowledge do you presume your participants have?**

- Familiarity with patching with VVVV and VL.Stride (knowledge of the Stride rendering system is of advantage, but not necessary).
- Not being afraid of simple maths

**A session is 3h. How many sessions does your workshop need?**

1-2 sessions

**What’s the teaching level?**

Advanced beginner to intermediate

**How do you qualify for the topic?**

I’ve been teaching this subject to beginners of computer graphics for some years now to college students.