qiudanz technique

qiudanz technique is a movement practice based on the computational transformation of movement sequences. its purpose is to create and share dances based on abstract computational machines. it is part of a commitment to preserve computer science beyond electronics and industrial civilization.

it is a technique developed and practiced by the txiemonks.

photo of a smiling person who seems to be dancing, with extended arms in front of them. they are pointing towards the left, where there's an overlay of some kind of code written with addition and subtraction signs, periods, and square brackets.

we have been developing qiudanz mode 1:

video: intro to qiudanz technique mode 1

we used the qiudanz technique for a couple of performances: our alive computing dance in algorave 10th anniversary; and for showing qiudanz tag in the Hybrid Live Coding Interfaces Workshop 2022.

see the qiudanz devlog for updates.

movement sequence

we will be working with linear sequences of movements from a given and constrained vocabulary.

the first movement of a sequence is the "head", and the last one is the "tail".

these sequences can be of an arbitrarily large length, depending on the skill and practice of the participants.


four potential modes so far, that correspond to the size of the vocabulary and of the number of transformations:

current notes

qiudanz mode 1


these transformations can be represented with the corresponding movements of the given mode.

mode 1

these transformations are enough to perform tag systems, cyclic or not. see qiudanz tag and also danzasistemas-tag.

this first mode is elaborated further in qiudanz mode 1.

mode 2

these transformations should be enough to perform (more easily) the tape of a turing machine. máquinas de turing

mode 3

more interesting possibilities!


the size of the vocabulary of movements depends on the current mode.

these movements in the vocabulary have an order: there's a first one and a last one.


to increment a movement implies converting it to the next one in the vocabulary. if the current movement was already the last one, then incrementing it converts it to the first one.

to decrement a movement implies converting it to the previous one in the vocabulary. if the current movement was already the first one, then decrementing it converts it to the last one.

to invert a movement one should divide the current vocabulary in its middle to get two parts of the same size. the inverted movement corresponds to the movement in the other half that is at the same distance of the middle than the current movement.



the movements might be based on the work on choreutics.

performance/play types

a way of complexifying any of these would be to learn to apply more than one transformation when/before performing the new sequence.

another possibility would be to have beforehand a list of transformation to apply, with some or all of them being conditional on the movement currently in the head.

turing completeness

having some way of assigning the transformations to apply given the current movement in the head, would allow to perform arbitrary tag systems and/or turing machines, and m>1 tag systems are turing complete, e.g.:

Universality of Tag Systems with P = 2 (1964) Cocke and Minsky

however, cyclic tag systems are also turing complete, and they only require the sequential application of rules:

Cook, Matthew (2004). "Universality in Elementary Cellular Automata" (PDF). Complex Systems. 15: 1–40.

about tag systems and cyclic tag systems:

Tag Systems: A New Kind of Science | Online by Stephen Wolfram

Cyclic Tag Systems: A New Kind of Science | Online by Stephen Wolfram

incoming links