Kinetic Poetry: A List of Timers and Motion Properties
This file is a tentative approach to create a list of timer snippets used in scripting digital kinetic poetry works, as well as motion typologies. Do you think motion typologies should be defined by theorizers (critical discourse), practitioners, coders, programming languages and/or animation libraries with their classes and functions, or by some or everyone out there?
I invite artists, poets, programmers, critics, and a blend of one of this or another, to modify it, improve it, collaborate.
PAUSE statement
PAUSE <milliseconds>
PAUSE = <milliseconds> TO <milliseconds>
SPEED statement
SPEED <milliseconds>
Works
- Silvestre Pestana's Computer Poetry (1981-83)
- bpNichol's First Screening: Computer Poems (1984)
Examples
10 PRINT AT 11,6; "COMPUTER POETRY": PAUSE 100
290 PAUSE 200: PAUSE 200: INK 4: GO TO 60: RUN
(Pestana 1983)
45 FOR PAUSE = 1 TO 1000: NEXT
46 SPEED= 170
(bpNichol 1984)
setTimeout() and setInterval() methods
setTimeout(function, milliseconds)
setInterval(function, milliseconds)
clearing methods
clearTimeout()
clearInterval()
duration methods
transition().duration(milliseconds)
Works
- Stephanie Strickland and Cynthia Lawson Jaramillo’s slippingglimpse (2007)
- @ihatch's ⌰ [Total Runout] (2015)
- @nickmontfort's Una Página de Babel (2015)
- Jörg Piringer’s PHP and JavaScript moveLetterSoup(), animSoup(), lettersoupanim.php (2011)
- J.R. Carpenter's JavaScript library word.generator.js in, among others, ...and by islands I mean paragraphs and Notes Very Necessary (2015)
- @jhave's TSNE-animator D3.js Sondheim on BDP: Big-Data-Poetry (2016)
Examples
clearTimeout()
var loadingCall:Number = setInterval(preloadSite, 50);
(Strickland and Jaramillo 2007: line 4)
setTimeout(grow, (Math.random() * 2400));
(Hatcher 2015: line 148)
window.setInterval(render, 0);
(Montfort 2015: line 134)
var init = setInterval("animSoup()", 100);
(Piringer 2011: line 22)
/**
* ### Generator.play(Int: interval)
* Renders and inserts the current frame in its element, and then every interval miliseconds thereafter.
*
* * __interval:__ Interval between generations, in miliseconds.
*/
Generator.prototype.play = function(interval) {
this.stop(); // Stop generator in case it's running.
if(interval != null) {
this.show();
var that = this;
this.repeater = setInterval(function(){that.show();}, interval); // Weird stuff to work around scope as detailed here: http://www.vonloesch.de/node/32
this.interval = interval;
}
return this;
}
(Carpenter 2013 and 2015: lines 179-184)
isle1.play(23000);
(Carpenter 2013: line 23)
var circle = d3.select(this);
circle.transition().duration(100)
(Jhave 2016: lines 134-35)
Create Works and Examples
jQuery $.animate() Method
Works
Examples
Create Works and Examples
Create Works and Examples
Create Works and Examples
Create Works and Examples
Create Works and Examples
- collage
- mutation
- projection
- dislocation of sequences
- interaction
- syntactic programmed animation: algorithmically transformed syntax
- 3D animation
- digital calligram
- text in movement/kinetic poetry
- typographic animation.
- falling
Classes
bounceflashpulserubberBandshakeheadShakeswingtadawobblejellobounceInbounceInDownbounceInLeftbounceInRightbounceInUpbounceOutbounceOutDownbounceOutLeftbounceOutRightbounceOutUpfadeInfadeInDownfadeInDownBigfadeInLeftfadeInLeftBigfadeInRightfadeInRightBigfadeInUpfadeInUpBigfadeOutfadeOutDownfadeOutDownBigfadeOutLeftfadeOutLeftBigfadeOutRightfadeOutRightBigfadeOutUpfadeOutUpBigflipInXflipInYflipOutXflipOutYlightSpeedInlightSpeedOutrotateInrotateInDownLeftrotateInDownRightrotateInUpLeftrotateInUpRightrotateOutrotateOutDownLeftrotateOutDownRightrotateOutUpLeftrotateOutUpRighthingejackInTheBoxrollInrollOutzoomInzoomInDownzoomInLeftzoomInRightzoomInUpzoomOutzoomOutDownzoomOutLeftzoomOutRightzoomOutUpslideInDownslideInLeftslideInRightslideInUpslideOutDownslideOutLeftslideOutRightslideOutUp
+++++++More+++++