Plaatjes uit de computer

Al sinds de oertijd vertellen mensen elkaar verhalen met behulp van beeld en geluid. Zeker sinds de uitvinding van film zijn bewegende beelden haast niet meer uit ons leven weg te denken. Ouderwetse analoge camera’s leggen zonder problemen vast wat er in hun vizier komt, zonder dat er al te veel over de achterliggende natuurkundige processen hoeft te worden nagedacht. Maar er heeft flink wat moeten gebeuren voordat computers geloofwaardige, ‘natuurgetrouwe’ plaatjes konden produceren. We nemen een kijkje in de wereld van de computeranimatie.

Licht in de duisternis

Bewegende beelden zijn bijna niet meer uit ons dagelijks leven weg te denken. Toen onze voorouders in een grot om een vuurtje zaten, hielden ze zich vast al bezig met het maken van vervaarlijke pterodactylusfiguren op de wanden van de grot. Toen mensen erachter kwamen dat je zo’n schaduw ook permanent kunt vastleggen met behulp van lichtgevoelig materiaal, duurde het niet lang voordat film over de hele wereld een doorslaand succes werd. Maar zelfs de modernste digitale bioscopen bieden in feite niets anders dan de schaduwspellen waar oermensen al naar keken: de weerkaatsing van licht.

Afbeelding 1. Een schaduwspel.De oudste manier om beelden te maken is met behulp van schaduwen. Afbeelding: Pxhere.

Na de uitvinding van fotografie en film werkte de techniek tientallen jaren lang in feite hetzelfde.  Een decor wordt met zorgvuldig geplaatste lampen belicht, beroemde acteurs worden in bijpassende pakjes gehesen en zodra de camera draait komt alles samen op het fotogevoelige materiaal van de film. Het verhaal, de personages en de uitvoering moesten natuurlijk allemaal door mensen ter tafel gebracht worden, maar de techniek van de film was zelf een puur natuurkundig proces. Als je goed scherpstelde, gaf de camera alles wat er voor haar lens gebeurde volledig natuurgetrouw weer.

Dit werkt natuurlijk net iets anders voor animatiefilms. Of, zoals ze vroeger meestal genoemd werden, tekenfilms. Achter de bekende films van grote studio’s zoals Disney zaten honderden of soms wel duizenden ‘animatoren’, die dag in dag uit dezelfde personages in net iets andere posities tekenden. Door deze tekeningen op de juiste snelheid achter elkaar te tonen krijg je bewegende beelden die soms net zo overtuigend kunnen leven als de filmbeelden waar ‘echt’ levende wezens op staan. Dat animeren is natuurlijk makkelijker gezegd dan gedaan. De achtergrond in zulke films is vaak stiekem al een stilstaand schilderij, waardoor alleen de personages op de voorgrond geanimeerd hoeven te worden, maar zelfs dan is het maken van een animatiefilm een enorme onderneming waar vaak jaren werk in gaat zitten.

Computers leren tekenen

Het is daarom ook niet gek dat mensen haast direct na de introductie van computers op zoek gingen naar toepassingen in de wereld van animatie. Computers zijn bij uitstek geschikt om repetitief werk te versnellen en te versimpelen, en daarom leken ze bij uitstek geschikt voor het produceren van steeds net iets van elkaar verschillende tekeningen.

Voordat het zover was, moest echter nog een aantal belangrijke hordes genomen worden. Het is nog niet zo makkelijk om met behulp van enen en nullen een geloofwaardige tekening te maken, zonder dat de computer bepaalde vormen zoals cirkels en rechthoeken herkent. Een mooi voorbeeld hiervan is het programma Sketchpad, wat in 1963 door Ivan Sutherland op een van de eerste computers van MIT werd ontwikkeld. Hiermee was het mogelijk om met een pen direct op het scherm te tekenen, waarna de computer deze beelden omzette naar een mooi geometrisch object.

Met alleen maar geometrische vormen zoals rechthoeken en vierkanten kun je vanzelfsprekend nog geen natuurlijk uitziende objecten maken. Veel objecten in ons dagelijks leven zijn echter wel goed te benaderen met zulke geometrische vormen: een tafel is ongeveer een rechthoek met vier cilinders als poten. Nog veel meer objecten kunnen goed benaderd worden door geometrische vormen als je ze eerst in stukjes knipt: de meeste flatgebouwen kunnen prima samengesteld worden door goed gekozen combinaties van kubussen en balken op elkaar te stapelen.

Zo’n rechthoekig computermodel zal natuurlijk altijd net iets te scherpe randen hebben om er écht natuurgetrouw uit te zien. De volgende stap naar realistische computerbeelden bestaat er daarom haast altijd uit om deze hoekige modellen af te vlakken met behulp van extra zijdes. Hierdoor kan bijvoorbeeld een bal steeds beter benaderd worden door vlakken toe te voegen aan een kubus. Een van de meest gebruikte algoritmes om dit te doen werd bedacht door Ivan Sutherland’s PhD-student Ed Catmull, die later aan de wieg van animatiestudio Pixar zou staan.

Afbeelding 2. Van kubus naar bol.Door vlakken toe te voegen gaat een kubus steeds meer op een bol lijken. Afbeelding: Romainbehar.

Terug naar het licht

Met deze technieken konden mensen natuurgetrouwe modellen van ingewikkeldere objecten maken. Een van de bekendste vroege computermodellen is de zogenaamde ‘Utah-theepot’.

Afbeelding 3. De Utah-theepot.Afbeelding: Nik Clark.

Alhoewel dit model van een theepot al redelijk glad is, en de vorm er zeker overtuigend uit ziet, is dit plaatje nog heel duidelijk te onderscheiden van een foto van een echte theepot. De belangrijkste reden hiervoor ligt aan het begin van dit hele verhaal: de lichtinval.

De objecten die in de echte wereld om je heen ziet, zijn alleen maar zichtbaar omdat er licht van bijvoorbeeld de zon of je bureaulamp op weerkaatst is, waarna zo’n lichtstraal toevallig in je oog terecht gekomen is. Dit werkt natuurlijk net zo voor de pixels van je telefoon of van je computerscherm. Maar om met behulp van deze pixels een natuurgetrouwe afbeelding van bijvoorbeeld een theepot tevoorschijn te laten komen, zal je computer het pad van al deze lichtstralen in dit beeld moeten simuleren.

Afbeelding 4. Een ‘echtere’ theepot.Met behulp van raytracing wordt de theepot veel waarheidsgetrouwer. Afbeelding gemaakt door de auteur met Blender.

In principe is dit natuurkundig niet zo heel moeilijk, maar zoals zo vaak wordt dit probleem in de praktijk al heel snel erg ingewikkeld. Als je naast een theepot en een lamp ook een spiegel tevoorschijn wil toveren, zal je ook rekening moeten houden met lichtstralen die via de theepot naar de spiegel in je computercamera terecht komen. Bovendien weerkaatst de oppervlakte van een theepot niet in alle richtingen even sterk: het materiaal is vaak een beetje glanzend, waardoor de reflectie van de lamp zelf ook enigszins zichtbaar zou moeten zijn.

Al met al kan het vaak al snel minuten of zelfs uren duren voordat een computer op die manier een natuurgetrouwe scène in elkaar kan zetten. Met behulp van dit proces, wat ook wel bekend staat als raytracing,is het met moderne computers echter wel mogelijk om beelden te maken die haast niet van echt te onderscheiden zijn. Om de berekeningen te versnellen zijn veel slimme trucs bedacht. Voor een leuke uitleg hiervan kan je de onderstaande video van Disney bekijken:

Wil je meer weten over computeranimatie? Kijk dan bijvoorbeeld naar Pixar’s KhanAcademy-cursus. Als je ook eens zelf met 3D-beelden aan de slag wilt, is het gratis te downloaden 3D-programma Blender (van Nederlandse bodem!) een heel goed beginpunt.