Rörelser mellan bild och kod

Konstnären Manfred Mohr skrev 1974 ett datorprogram för att med dator och oscilloskopliknande apparatur producera filmen Complementary Cubes.[1] Det filmobjektet som utgör resultatet har Mohr visat på diverse konstinstitutioner genom åren, men koden han skrev har aldrig offentliggjorts. Allt vi har tillgång till är ett filmobjekt, produkten av en kod vi inte känner till. I det följande kommer jag beskriva tre försök att i en omvänd rörelse extrahera koden ur Mohrs film, i syfte att bryta med den linjära berättelsen om hur kod leder till process som leder till resultat, och därigenom vidga förståelsen för datorbaserade medier och hur de är delaktiga i vårt mänskliga tankearbete.

Bildmaterialet och de korta beskrivningarna av de tre rörelserna utgör narrativa fragment i utrymmet mellan bild och kod. Att skissera narrativ kring sådana möjliga (eller omöjliga) rörelser bidrar till att luckra upp den efterhängsna uppfattningen att kod och mjukvara skulle vara logiskt-matematiskt neutral, i den mening att de, bland annat i egenskap av sin digitalitet, komplexitet eller osynlighet, skulle vara ett slags brusfria medier och dataomvandlare. En tillbakablick på programmeringsspråkens utveckling visar att brus från första början identifierats som ett problem, och har betvingats/förträngts genom språkens gradvis ökade abstraktionsnivåer.[2] Bruset blir således osynligt och onämnbart, snarare än eliminerat. Genom att lyhört och ohämmat nysta i logikens marginaler kan bruset möjligen träda fram och destabilisera berättelsen om den linjära rörelsen från kod till process till resultat, och möjliggöra berättelser om andra rörelser i rummet mellan bild och kod.

Mohrs Complementary Cubes är ett lämpligt källmaterial för detta arbete, mycket på grund av det sparsmakade inom-filmliga narrativet och den strama estetiken, som båda tyder på en algoritmiskt icke-komplex källkod. Materialvalet har naturligtvis en återverkning på frågeställningen, och sekundära drivkrafter och intressen har exponerats. För att nämna några frågor om den digitala videons materialitet, om den räta linjens krökning över tid, och om meningsbärande bieffekter av analog-digital transponering.

 Sekvens av stillbilder ur Manfred Mohrs Complementary Cubes (1974).
Bild 1: Sekvens av stillbilder ur Manfred Mohrs Complementary Cubes (1974).

 

Rörelse mot koden

Mohr skrev sin kod i programmeringsspråket Fortran, jag skriver i c/c++. Redan därför är det omöjligt att detta arbete skulle leda till den exakta ursprungliga koden. Kriteriet för kodens riktighet ligger snarare på en algoritmisk nivå, där resultatet av den process koden ger upphov till jämförs med Mohrs video, okulärt och matematiskt.

Den video som utgör mitt arbetes källmaterial är en digitalisering av Mohrs analoga 16mm film, och de förskjutningar som skett genom denna medietransponering medför även de vissa hinder för att nå den kod som Mohr skrev.

Mohrs ursprungliga kod utgör således ett slags skenmål mot vilket det praktiska arbetet riktas. Kan dessa rörelser mellan bild och kod i så fall säga något av vikt? Ja, med en flanerande eller strövande karaktär kan dessa rörelser utforska ett händelserum som markeras av ändpunkterna kod och artefakt. Den specifika historiska händelse som föregick Mohrs film kommer sannolikt inte att kunna utforskas, däremot andra möjliga händelser mellan kod och bild. Så även om jag inte lyckas formulera Mohrs ursprungliga kod, så leder detta arbete till en formulering av ett narrativ kring någon slags kod sprungen ur en bild (som i sin tur är sprungen ur en annan kod).

Teknisk data om Complementary Cubes

Mohrs originalvideo är knappt fem minuter lång. Två vita, streckade kuber mot svart bakgrund roterar synkroniserat och stillsamt i bildens vänstra och högra halva. Som titeln antyder är kuberna komplementära: en kantlinje som syns i den högra kuben, syns inte i den vänstra, och omvänt. Linjekombinationerna ändras i diskreta steg.

 

Bild 2. Skärmavbildning vid analys av rotation och kombination baserat på videobildytan.
Bild 2. Skärmavbildning vid analys av rotation och kombination baserat på videobildytan.

 

1:a rörelsen — över videobildytan

Den första rörelsen följer videobildernas yta och deras regelbundna och diskreta förändringar över tid. Genom ett specialskrivet analysprogram (bild 2) roteras och förflyttas en tredimensionell kub-modell så att den i varje bildruta överensstämmer med originalvideons kub. Den överlagrade kubens rotation kring det kartesiska koordinatsystemets tre axlar, samt sidolinjernas kombination, registreras regelbundet.

De uppmätta rotationsvinklarna överförs till ett mer matematiskt analysprogram och approximeras med enkla ekvationer.

 

Första ordningens sinus-ekvation som nästan matchar den uppmätta rotationen kring x-axeln.
Bild 3: Första ordningens sinus-ekvation som nästan matchar den uppmätta rotationen kring x-axeln.

 

Vid försök att återskapa en roterande kub baserat på denna första ekvation, bedömdes denna ekvation inte animera kuben med tillräcklig precision. Skillnaden mellan ekvationen och mätdatan extraherades för att studera felet närmare.

Bild 4: Differensen mellan ekvation och mätdata visar en tydlig periodicitet, med en frekvens precis tre gånger så hög som rotationen.
Bild 4: Differensen mellan ekvation och mätdata visar en tydlig periodicitet, med en frekvens precis tre gånger så hög som rotationen.
Bild 5. Sinus-ekvation som matchar differensen.
Bild 5. Sinus-ekvation som matchar differensen.

 

Att Mohr tycks ha valt ett så pass komplicerat rotationsmönster är förvånande, då matematiken blir så mycket enklare med enbart en första ordningens ekvation per rotationsaxel. Samma fenomen uppträder dock för varje rotationsaxel.

Bild 6. De två kompletterande ekvationerna för rotation kring x-axeln.
Bild 6. De två kompletterande ekvationerna för rotation kring x-axeln.
Bild 7. Adderade ekvationer ger mycket god matchning.
Bild 7. Adderade ekvationer ger mycket god matchning.

 

Som synes i grafen är matchningen ännu inte perfekt. Ytterligare differensanalys visar dock ingen tydlig periodicitet, och den kub som roteras med dessa ekvationer visar mycket stor likhet med originalet (vilket framgår av den jämförande videon nedan.) Den kvarstående skillnaden kan bero på bristande noggrannhet vid registreringen av rotationsvinklarna, eller på att uppspelningshastigheten inte kunnat hållas konstant under digitaliseringen, till exempel.

Följande ekvationer tycks beskriva kubernas rotation:

x = −90.00 + 90.00 * sin( 1.00 * t + 37.00 ) + 9.00 * sin( (−6.00 + t) * 3.00 )
y = 15.00 + 30.00 * sin( 2.00 * t + 90.50 ) + 1.00 * sin( (−21.00 + t) * −4.00 )
z = 60.00 + 90.00 * sin( 1.00 * t + 143.30 ) − 10.00 * sin( (8.00 + t) * 3.00 )

Video 1. Originalvideo till vänster och simulering utan linjeväxlingar till höger.
Video 1. Originalvideo till vänster och simulering utan linjeväxlingar till höger.

 

Linjeväxlingar
Kombinatoriken, den andra viktiga matematiska aspekten av videons inre narrativ, finns genom tidigare analys också registrerad. Initialt tycktes inget mönster framträda ur kombinationssekvensen.

Bild 8. Kubens sidor numrerade. Kombinationssekvens utan tydligt mönster.
Bild 8. Kubens sidor numrerade. Kombinationssekvens utan tydligt mönster.

 

Den modell av kuben som använts vid analysen visade sig dock baseras på en annan ordning för kubens sidor. Vid omorganisering av kubens sidor uppenbarades ett tydligt mönster.

 

Bild 9. Kubens sidor numrerade så att kombinationssekvensen bildar ett tydligt mönster.
Bild 9. Kubens sidor numrerade så att kombinationssekvensen bildar ett tydligt mönster.

 

Detta mönster visade sig kunna beskrivas algoritmiskt, dock inte så matematiskt rent som rotationsekvationerna. Den algoritmiska formuleringen nedan visar att videon inte innehåller samtliga möjliga kantlinjekombinationer, vilket Mohr påstått, utan ett urval.

Iterate through numbers [0..63]. Add to a list: every number where exactly one bit is 1. Repeat the procedure and add to the same list: every number where exactly two, three, four and, finally, five bits are 1.

Ekvationerna och kombinationsalgoritmen möjliggör ett återskapande av originalvideon.

 

Video 2. Originalvideo till vänster och simulering med både rotation och linjeväxlingar till höger.
Video 2. Originalvideo till vänster och simulering med både rotation och linjeväxlingar till höger.

 

2:a rörelsen — snitt genom videoobjektet

En annan sorts rörelse i riktning mot koden kan göras genom ett videoobjekt. Om den förra rörelsen mestadels svepte längs videons bildytor, kommer denna rörelse upplösa bildytan och röra sig inuti videokroppen. En digital bild är, enligt den traditionella förklaringsmodellen, uppbyggd av en stor mängd flata, enfärgade kvadrater: en matris av pixlar. Vi kan föreställa oss videons tunna bildrutor placerade efter varandra i en virtuell rymd. En tunn spalt lika bred som en pixel skiljer bilderna åt. Om vi sedan föreställer oss att pixlarna istället är kubiska, så att de också fyller ut mellanrummen mellan bildrutorna, så får vi ett solitt videoobjekt.

Carl Joahn 11-1

Bild 11. Från tvådimensionella bildrutor skapas ett tredimensionellt videoobjekt.

Bild 11. Från tvådimensionella bildrutor skapas ett tredimensionellt videoobjekt.
Bild 11. Från tvådimensionella bildrutor skapas ett tredimensionellt videoobjekt.

 

I detta tredimensionella videoobjekt har tidsdimensionen från videon blivit en rumslig dimension. Genom objektet kan nu snitt läggas i alla riktningar, både parallellt med de ingående bildrutorna, vilket återskapar bildrutorna från videon, men också parallellt med den nya dimensionsaxeln (tidigare tiden) eller helt arbiträrt.

 

Carl Johan 12-1

Carl Johan 12

Bild 12. I videoobjektet kan vi göra snitt och skapa nya bildrutor.
Bild 12. I videoobjektet kan vi göra snitt och skapa nya bildrutor.

 

Genom att skriva ett datorprogram som bearbetar videomaterialet på detta sätt, och som kan lägga arbiträra snitt genom videokroppen, kan bilder av snittytor extraheras ur Complementary Cubes. Snittplanet kan orienteras både manuellt och matematiskt, vilket innebär att både enskilda statiska snittytor och animerade videosekvenser av rörliga snittytor kan exporteras.

 

Bild 13. Skärmbild av specialskriven mjukvara för att göra snitt genom videoobjekt.
Bild 13. Skärmbild av specialskriven mjukvara för att göra snitt genom videoobjekt.
Bild 14. Snitt genom videoobjektet längs med (före detta) tidsaxeln.
Bild 14. Snitt genom videoobjektet längs med (före detta) tidsaxeln.
Bild 15 och/eller Video 3. Stillbilder ur exporterad animerad snittsekvens. När snittplanet ändrar orientering i förhållande till originalbildplanet kröks kubens raka sidolinjer.
Bild 15 och/eller Video 3. Stillbilder ur exporterad animerad snittsekvens. När snittplanet ändrar orientering i förhållande till originalbildplanet kröks kubens raka sidolinjer.
Bild 16 och/eller Video 4. Stillbilder ur animerad sekvens. Snittplanet rör sig genom videoobjektet med konstant vinkel mot originalbildplanet, längs med ”tidsaxeln”.
Bild 16 och/eller Video 4. Stillbilder ur animerad sekvens. Snittplanet rör sig genom videoobjektet med konstant vinkel mot originalbildplanet, längs med ”tidsaxeln”.

 

Dessa videoextrakt leder inte på något uppenbart vis vidare mot koden. Men linjernas krökning, speciellt längs ”tidsaxeln”, uppvisar likheter med de periodiska ekvationer som tidigare tagits fram, och skulle vid vidare analys kunna bekräfta deras riktighet eller leda till andra ekvationer. Att föra in de tidigare rotationsekvationerna som motor för snittytans rotation skulle också kunna leda till en bild av en nästan statisk kub i videoobjektsrymden. Möjligen skulle en sådan kub vibrera lätt som en effekt av både mätfel och bieffekter av medietransponering, och därmed vara ytterligare en gestaltning av det brus som ständigt hotar att driva digitala processer mot andra resultat än de föreställda.

 

3:e rörelsen — mellan fiktiv videorymd och virtuell videoobjektsrymd

Den fiktiva videorymden är det rum i vilket Mohrs kuber tycks rotera. Det fiktiva rum som den genererade filmen (och videokopian) avbildar. Detta rum kan jämföras med det som spänns upp av det digitala videoobjekt som konstruerades i den 2:a rörelsen. Jag kallar detta rum för virtuell videoobjektsrymd. Båda rymderna beskrivs av originalvideon: den fiktiva videorymden genom videons bildinnehåll, och den virtuella videoobjektsrymden genom den digitala videons materialitet. Carl Johan 17

Bild 17 och 18. Volymrendering av videoobjekt med hjälp av teknologi för virtuell obduktion.
Bild 17 och 18. Volymrendering av videoobjekt med hjälp av teknologi för virtuell obduktion.

 

Den videoobjektskropp som konstruerats av kubiska pixlar kan inte enbart snittas upp. Vidare kan obduktionen skulptera fram den vita ‘kuben’ som finns gömd bland så många fler svarta utfyllnadspixlar. När alla svarta eller nästan svarta pixlar skalats bort ser kuben från den fiktiva videorymden inte alls ut som en kub, i den videoobjektsrymden är kuben snarast en spiral.

 

Bild 19. Specialskriven mjukvara för extraktion av 3D-modeller av videoobjekt.
Bild 19. Specialskriven mjukvara för extraktion av 3D-modeller av videoobjekt.
Bild 20. Plastobjekt utskrivet med 3D-skrivare. Att överföra kub-spiralen från en virtuell, konstruerad rumslighet till ett fysiskt-taktilt objekt, tillåter vidare bearbetning av Mohrs roterande kuber med en ny klass av verktyg, såsom bågfil, rasp eller överhandsfräs. Redan att hålla objektet i handen ger dock en ny sorts relation till videomaterialet.
Bild 20. Plastobjekt utskrivet med 3D-skrivare. Att överföra kub-spiralen från en virtuell, konstruerad rumslighet till ett fysiskt-taktilt objekt, tillåter vidare bearbetning av Mohrs roterande kuber med en ny klass av verktyg, såsom bågfil, rasp eller överhandsfräs. Redan att hålla objektet i handen ger dock en ny sorts relation till videomaterialet.

 

Baserat på rotationsekvationerna från den första analysen av videobildens yta kan jag extrahera kubens hörnpositioner i både videoobjektsrymden och den fiktiva videorymden.

 

Bild 21. Positionen för ett av kubens hörn plottad i videoobjektsrymden. Detta överensstämmer med spiralformigheten ovan, men här framträder en tydligare periodicitet. Bland annat eftersom kantlinjernas växlingar inte är medräknade.
Bild 21. Positionen för ett av kubens hörn plottad i videoobjektsrymden. Detta överensstämmer med spiralformigheten ovan, men här framträder en tydligare periodicitet. Bland annat eftersom kantlinjernas växlingar inte är medräknade.
Bild 22. Positionen för ett av kubens hörn plottad i den fiktiva videorymden. Här syns inte spiralformigheten. Istället bildar mätpunkterna en sluten loop, som visar att kubens hörn ständigt återkommer till tidigare positioner.
Bild 22. Positionen för ett av kubens hörn plottad i den fiktiva videorymden. Här syns inte spiralformigheten. Istället bildar mätpunkterna en sluten loop, som visar att kubens hörn ständigt återkommer till tidigare positioner.

 

I dessa båda rymder framträder inte bara videoobjektet olika, utan också den kortfattade matematiska/algoritmiska beskrivningen av Mohrs film. Vidare analys av dessa andra ordningens mätdata i likhet med 1:a rörelsens analys, skulle kunna leda till en enklare, exaktare eller bara besvärligare matematisk beskrivning av Mohrs algoritm.

 

Bild 23. Kubens alla åtta hörn plottade i videorymden. Rotationen tycks förvandla kuben till ett klot.
Bild 23. Kubens alla åtta hörn plottade i videorymden. Rotationen tycks förvandla kuben till ett klot.

 

Brusbemängda berättelser skapar nya kopplingar mellan bild och kod

De tre rörelser över och genom videomaterialet som jag presenterat lämnar flera spår av visuell karaktär i form av bilder, video och fysiska objekt. Rörelserna leder också fram till matematiska ekvationer, algoritmer, samt kod-text (som här bara presenterats i form av de visuella artefakter den givit upphov till.) Vittnesmålen om dessa rörelser blir ett slags mikroberättelser som avviker från den gängse, kausala och linjära berättelsen om kod som blir process som leder till resultat. I dessa berättelser har jag försökt inbegripa snarare än förtränga de fenomen som inte ryms inom de brusreducerande programmeringsspråkens logik, för att, som till exempel Paul Feyerabend beskrivit,[3] använda det oväntades kraft för att slunga samtalet ut ur en relativ sanningsrymd och in i en annan. På så sätt kan samtalet om algoritmer, bitar, kod eller digitala processer flyttas ut ur en logik som konstruerats för att upprätthålla datorns funktionalitet, och in i en annan.


 

[1] https://vimeo.com/65093060, 8 oktober 2015.

[2] Se t.ex. Wendy Chun, Programmed Visions (2011) s. 36ff., för en diskussion om hur “the bastard chaos” (E. Dijkstra, 1969) i både maskiner och människor ansetts nödvändigt att kväsa.

[3] Paul Feyerabend, Mot metodtvånget, Arkiv Förlag (Lund 2000).

About Carl-Johan Rosén

Carl‐Johan Rosén är konstnär. Senaste bok: I speak myself into an object (2013).

1 Comment

  • Editorial - LiU Sensorium

    April 6, 2016 - 09:13

    […] DR SAROLEA” by Essvik documents an art project that grew out of a book by William Blades and “Movements Between Image and Code” (“Rörelser mellan bild och kod”) by Carl Johan Rosén, follows his attempts at […]

Leave a comment

Your email address will not be published.