aerial work

Thanks Luke, It’s now in Synthesis/equipment/Space 3.0

(a daughter of my tgarden, tg2001, and grandaunt to sc :)

trapeze-artist-aides strapped visitors of all ages and shapes into harnesses.
they were slung into the air…some laughing like crazy

while we beamed the data from accelerometers sewn into their translucent tails 
to max+nato/jitter+supercollider 

circa 1990 I saw Project Bandaloop do wonderful aerial work back near Capp Street Theater int he Mission in SF 
during the Street Performance festivals

there were lots of aerial dance works since there were so many climbers in SF who were also dancers when they weren’t up in the Sierras .
but one of my friends was part of the support team at the tragedy with Sankai Juku  in Seattle a few years before…

+  Einsteins Dream overhead cam looking down 23 feet onto the sand
with  visitors wading as if underwater through the projected ripples to the umbrella:

professional bassoonist playing a straw like a double reed instrument

Peter Bastian is a multi-instrumentalist from Copenhagen, Denmark.
Educated in classical bassoon, he’s seen

- As Adrian Freed likes to point out, the virtuosity is not in the the instrument 
- Adapting Simondon, the technicity is distributed across the knowledge incorporated into (literally!) the bodies of practitioners;
the articulated, institutionalized socially-mediated discipline of playing wind instruments; as well as the genealogical refinement of the instruments.
- It is important that Peter Bastian was trained in and on classical bassoon.  But the fact that he can subsequently transpose his practiced skill shows that the body and the instrument, seep deeply into one another (“gearing", to adapt from Merleau-Ponty), there is no hard line between body and instrument.

movement research notes

Hi Suren, Seth,

Good talk re our pilot exploratory movement research with 

Seth’s musicianship and music technology,
Suren’s movement amplification via optical flow as starting points.

We discussed initial experimental scenarios in the experience of improvisation

— the difference between performer’s sense of rate of passage of time vs a spectator’s sense of rate of passage of time.

— two or more performers coming to a cadence (together!) without a score or prior plan.

— a performer beginning to lose focus OR shifting intention, 
versus spectator’s awareness of that shift.

The key to a more rigorous, 21c approach to any of these experiential researches is to NOT measure merely one body but to develop relational measures. Simple example: instead of measuring trajectory of one dancer’s wrist, measure the distance between one dancer’s wrist and another dancer’s wrist.

Practical procedure, let’s  

1) video record the performrer,
close enough to see facial expression and manual activity, with timestamps

2) Simultaneously record data streams with timestamps

3) Talk-aloud: Have participants narrate what they are doing / thinking during playback of video, using Quicktime Player 7 to record an extra audio track 

4) Look for salient parallels between data streams and self-reports.

5) Revise feature extraction and iterate.

I cc Julian, Connor to see where is the code to record sensor / OSC data synchronized with video.

cc Todd, Lauren as fellow musicians/ movement + computational researchers.   Note that Lauren’s done extensive and creative work with haptics / low frequency sound / touch.

recycle movement blog for rhythm?

Here’s the blog for movement-based research that we can recycle for a fresh take on rhythm
Anyone can post in current settings, I think —  but should we make it private as a scratch space?
Pavan, could the Laplacian fields work for aperiodic rhythmic patterns?  Presumably the formalism works for dimensions > 1.

Connor is investigating creating a journaling tool sync’ing multiple sensor data (OSC resolution) + audio + video tracks.
Does anyone have such a tool already that we can use?

introduction to tensors

Tensors are totally useful.  However these particular references seem difficult and rather specialized.   There must be some elementary reference or cheat sheet on tensors for classical theory of rigid body motion.  The classic works on mechanics are by  Lagrange and Hamilton.

Here's a text that may be a good systematic starting point for someone already trained to read math:
Especially chapters 1,2, and 10 (Elasticity).

The top-level clarification I'd like to make is the following:

A vector space V of dimension n  is a set with the following operations : vector addition + and scalar multiplication, which is isomorphic to Euclidean n-dimensional space.  (I'll assume you can look that up.)

A tensor T is a linear functional mapping from a product of vector spaces to the scalar field, say real numbers R.
(For simplicity let's say the vector spaces are all the same V.):

T:  V x V x V x … x V ---> R
(k times)

The degree of the tensor is the number of arguments -- the number of vector spaces in the product domain.
(In our case, degree T = k because there are k copies of V)   Each argument is a vector (hence each argument has a number components  = dimension of the vector space V)

T(v1, v2, v3, …, vk) is a scalar number.

So far this is not yet a tensor but a general map.  A tensor has two basic features:

(1)  It is linear in each argument:
For each argument, say in the i-th argument for each i:
T(… , u + v, …)  = T(… , u , …)   + T(… ,  v, …)   for all vectors u, v in V
and in the i-th argument for each i
T(… , s * v , …)  = s * T(… , u , …) 
for all scalars s in R, and all vectors v in V

(2) The value of T does not change when you change the coordinate basis of V according to which you represent the vectors in V.

The way this is written out in classical books on tensors is in terms of the orthogonal matrices for transforming a vector written w/r to one basis to that same geometric "arrow"'s coordinates w/r to another basis.   It's messy, but systematic.

Elegant modern maths write tensor in "co-ordinate-free" notations, but that hides some of the gritty intuition, and permits some basic confusions such as confusing vectors with tensors.

Tensors "eat" vectors and spit out scalar numbers.  And they can't be fooled by camouflaging the vectors changing their numeric coordinates by changing the basis w/r to which they are represented.

PS. By definition there are maps: V x V x V … x V --> R  called "forms"  that eat vectors multi-linearly and produce scalars.  But they do change value when the basis is changed.   Spaces of linear forms on a vector space V have as their bases, the duals to the basis vectors of V.  If the basis of V is say an orthonormal set of vectors v1, v2, …, vn, the dual forms dx1, dx2, …, dxm are defined by:
dxi ( vj ) = δij
where δij is the Kronecker delta function.

Adrian Freed: computing velocity properly

Adrian Freed <>

To: Vangelis L <>, John MacCallum <>

Cc: Sha Xin Wei <>

Date: 2013-07-28, at 9:50 PM

I remember you mentioned finding some documentation that suggested that computing the velocity from successive kinect frames actually computes the velocity at the time between the frames and that they propose to come velocity by skipping a frame so that the midpoint  velocity corresponds to a time of the isochronous frame rate.

Those ideas represent very course approximations to the correct way of doing this for rigid body motion, the basis of which is described in the attached paper.

On Jul 29, 2013, at 1:48 AM, Vangelis L <> wrote:

Almost :) that information was coming from the biomechanical side of things and was agnostic of the frame types. Since in biomechanics they are concerned of matching specific values to exact visual or other frame representations of movement, they propose to compute velocity every third frame (1st to 3rd) since the actual value of velocity that is calculated represents the 2nd frame and should be attached as information there. 
Do they propose a parabolic interpolation? In which space?

What I thing you are trying to avoid is a pre-defined space where the velocity calculation takes place. And that is related to what I got about Tensors so far... Tensors are bundles of vectors representing various desirable data from a point which position can be described by a given zero 0 in a Cartesian space. Each Tensor carries the bundle but it does not care about its Cartesian representation or the one to which it is compared to. Calculations between Tensors can be performed regardless of spatial representation and we can translate all data to any given Cartesian coordinate system on demand... is that any close?? In any case I think that the way a formula is applied to accurately measure f.i. velocity is related to how a device gathers the rotation data at the first place so that we connect to its most accurate representation. The biquaternion formula at the paper begins the example using the pitch, yow and roll information (latitude, longitude, roll over the z axis) and the maximum length of the working space which is confusing. 
Confusing ndeed.
How does this formula translates in practice, and if we apply this method do we need quaternions of two frames (or three frames according to the bio-mechanical scientists) in order to calculate the bi-quat and the velocity vector or the 4x4  rotation matrix? How are these calculated in Kicent? Does it matter?
Yes it matters but we are also trying to get the machinery in place to go beyond Kinect and also solve these POV issues.
I would like for example to produce a moving image that has a trace of a ribbon behind multiple positions of the body oriented according to the surface normal.

Adrian Freed : more computations with movement salience: from Teoma workshop, CNMAT July 2013

From: Adrian Freed <>

To: Vangelis L <>, John MacCallum <>

Cc: Sha Xin Wei <>, Andy W.Schmeder <>

Now we have the dot product, cross product, velocity and acceleration formulae in "o."

it is time to consider more carefully how to leverage dancerly practice and biomechanics without
building in too many damning assumptions.

Working on Saturday with Teoma I got confirmation of my concerns about the notion of your "self" coordinate system referenced to a single point of the body, i.e. in  mid-hips. She asked me to map hip movement so she could stand in one place for part of our piece. I used shoulder/hip distances for this which might not be what you would expect until you realize that the hips and shoulders have to work in counter motion in order for someone not to fall over.
One way of thinking about this is that Teoma can move the several interesint points of origin dynamically. Another more mature way perhaps is screw theory which models multiple connected bodies.

The quick hack without the full screw theory model is to acknowledge the hierarchy of connected limbs with tapering masses. Angular velocities as we have will therefor be useful here, but I think swept areas are probably better. You can weight the vector lengths with masses to get kinetic energy. Now the exercise is to decide which triangles to use for the swept areas. The formula for swept area is half the norm of the cross product but there is a problem here interpreting this as "effort". We have an asymmetry due to gravity.
It is a lot more work to raise a leg than sweep one. The problem is we have been focussing on kinetic energy without incorporating
changes in potential energy. I suspect you can project things to form a triangle with a point on the ground to reflect an area swept that estimates the potential energy change. Even better is to bite the bullet and move everything into tensors. Then you have enough
traction to do things like continuum mechanics 

Continuum mechanics is a branch of mechanics that deals with the analysis of the kinematics and the mechanical behavior of materials modeled as a continuous mass rather than as discrete particles. The French mathematician Augustin-Louis Cauchy was the first to formulate such models in the 19th century, but research in the area continues today.

Modeling an object as a continuum assumes that the substance of the object completely fills the space it occupies. Modeling objects in this way ignores the fact that matter is made of atoms, and so is not continuous; however, on length scales much greater than that of inter-atomic distances, such models are highly accurate. Fundamental physical laws such as the conservation of mass, the conservation of momentum, and the conservation of energy may be applied to such models to derive differential equations describing the behavior of such objects, and some information about the particular material studied is added through a constitutive relation.

Continuum mechanics deals with physical properties of solids and fluids which are independent of any particular coordinate system in which they are observed. These physical properties are then represented by tensors, which are mathematical objects that have the required property of being independent of coordinate system. These tensors can be expressed in coordinate systems for computational convenience.

and exterior algebra which we need to do vector fields for orientation correlation.

dualquats for music/sound representation not just motion in space

Tha attached paper has an interesting idea at the end: a dualquat harmonic oscillator which can describe

helical motion. 

You may recall that Shepard's original paper on pitch circularity discusses helical representations for
pitch perception.

This strongly suggests that dualquats could also be used to operationalize motion in musical contexts.
The pitch one is obvious because the mapping is clear and we have lots of well known ways to think of translation and rotation
in this context (e.g. arpeggiated cadences, vamping) but I think there may be some interesting cases where we can use this
for fancier rhythmic things too. For example, in your work on polytempo you can define certain requirements such as events lining up in time as configurations of points on different rigid bodies in motion (one for each meter) that have to be colinear. My intution is that
interpolation with dualquat's will give you better results than the current scheme in tempocurver. It may at the very least give you hints as to how to represent what you are composing in a 3d GUI. I often feel that phase unwrapping would be better understood if people  could see it in 3D. With care the information we need can be obtained by casting shadows as I did with Amar for the 3D SDIF editor.

There is of course the question of how to integrate time into the model. You could start by parameterizing the screw parameters as a function of n.deltaT in discrete time signal processing fashion and then drive the system with my relaxation functions (shifted and time scaled sawtooths).

I hope this is good enough. I am slightly afraid that we might want to go all out and do tensors because I have seen time introduced in another paper by forming linear sums of two tensors to represent a reference frame from which the dualquats emerge. I am hoping that dualquats do most of the heavy lifting and that we will be happy with using o.'s existing vector functions with lambda() to define the operations to endow vectors with the appropriate constraints and operations to become tensors.
The code will be less obvious because we don't have operator overloading but most of the papers on tensors end up looking like APL which is not very clear either.

Having developed critiques of periodicity in one essay and being a fan of the point- and line-free geometries of Whitehead, Spencer Brown and others, I am rather embarrassed to be suggesting this strong push into dual-quats, the power tools for leveraging the Greek idolatry of the circle and line. Maybe the way to deal with ghosts is to dance with them?

more computations with movement salience

 OK, my last word (today) on this:

So, it is not obvious how to do the Euler, Lagrange equations with dual quaternions which we would need for the velocity acceleration, energy etc.

No worries though: it is tackled in the attached paper.

I added another paper to show off the range of interesting problems tackled with dual quaternions. We can also do physics engines, collision detection etc. rather easily.