Ars Electronica Futurelab Residency begins!

January 14th, 2010

SquareTangle’s Adam Nash and John McCormick have arrived at Ars Electronica Futurelab in Linz, Austria, for a month long artist residency. For details of the project we’ll be executing check out the SquareTangle Ars Electronica Futurelab Residency page.

This is a picture of the studio we are working in:

This is the Ars Electronica building:

…and this is the Futurelab building (it’s covered with snow!), where our studio is:

Futurelab Building

Video of full dome projection prototype

September 30th, 2009

A video demonstration of full dome projection on our prototype inflatable 3.5m dome. We are projecting a live audiovisual interactive 3d scene from within Unity3d in realtime. The footage of the outside of the dome is shot with a regular camera, footage from inside the dome is shot using a fisheye lens – it is very difficult to show the immersive quality of full-dome projection via a video. The soundtrack is also streaming in realtime from within the 3d world, but we have overdubbed it on the video for audibility. The dome, all audiovisual assets and the projection system itself created by SquareTangle 2009.

Watch the video:
blue_dome

New improved dome projection formulas

September 21st, 2009

Charles has revised his formula for getting the warp map correct for projecting onto the dome. Use the following two images as a legend to follow  his formula step by step below:

Projector and mirror diagram

Projector and mirror diagram

Mirror and reflection onto dome diagram

Mirror and reflection onto dome diagram

And here is Charles’ new formula step by step:

line1

line 1: l0 is the light vector coming from the projector out to a grid behind the mirror. G is a position vector on the grid. P0 is the point of projection.

line2

line 2: l^0 is a unit vector, which is the vector divided by its magnitude. The magnitude of a vector is the square root of the sum of its component scalars squared. The unit vector is used in line 4.

line3

line 3: c_global is the center of the mirror (if it were completely spherical), c is the position vector of the mirror centre relative to p0, the projector point.

line4

line 4: x_local is the intersection of the light vector with the mirror. Its called x local because its still relative to the projection point p0. d is a scalar amount, l^0 is the unit vector. Trying to find the length of the vector where it hits the surface mirror .

line5

line 5: d is defined by the following variation of the quadratic forumula: http://en.wikipedia.org/wiki/Line–sphere_intersection

line6

line 6: defining the global position of x, the local position of which was found in line 4.

line7

line 7: r_ is the vector from the centre to the surface of the mirror at x global.

line8

line 8: f_ is the focal length. In spheres, the actual focal length is half the radius, multiplying it by the unit vector to get in three dimensions. focal lenght is used to determine the angle of reflection of the light

line9

line10

line 9&10: l_r is the reflected light vector

line11

line 11: the unit vector, which we use to find where the reflected light hits the dome, similar to lines 4 and 6.

line12

line 12: C_ is the centre of the dome. We need to find where it is, relative to where the reflected light hit the mirror.

line13

line 13: X_local is where the reflected light hits the dome relative to the mirror intersection point. It is the scalar product of D and the unit vector l^r. D is defined in the next step

line14

line 14: D is analogous to the formula used in line 5 to find d.

line15

line 15: X_global is the global coordinates of where the light hits the dome, using X_local from line 13 and x_global from line 7.

FMODUnity plugin released

August 15th, 2009

John McCormick has finished the FMOD plugin for Unity, and we are releasing it open source. The plugin allows sound designers to use the FMOD designer to create interactive audio for Unity projects. FMOD is a library and toolkit for the creation and playback of interactive audio, widely used in the games industry. Unity is a multiplatform game development tool. The plugin works in the “indie” and “pro” versions of Unity on both Mac and Windows. You can download the plugin from our FMODUnity Plugin page. It is released under the MIT open source license, which allows anybody to use and/or modify the software without restriction. We hope the wider community benefits from this plugin. If anyone has any questions, comments or feedback please leave them in the comments of this post. If demand is sufficient, we’ll set up a dedicated forum, but in the meantime, this should suffice.

Inflatable Dome Finished

July 29th, 2009

John McCormick has successfully constructed an inflatable 3.5-metre dome from lightweight PVC, and has used Paul Bourke’s dome projection techniques to project some full-dome images using a standard data projector and acrylic hemishperical mirror. This is a major step forward for the project, and a great achievement for John. We will release the plans for this dome Open Source. Watch this blog for the announcement.

Here are some shots of the dome in action:

John's hand-made inflatable dome, inflated with a domestic electric fan.

John's hand-made inflatable dome, inflated with a domestic electric fan.

The dome lit from within via the hemispherical mirror

The dome lit from within via the hemispherical mirror

Full-dome internal projection of the calibration grid, using an off-the-shelf data projector.

Full-dome internal projection of the calibration grid, using an off-the-shelf data projector. A pole is in front of the dome.

The artists standing outside the dome, with full-dome projection of image courtesy of Paul Burke.

The artists standing outside the dome, with full-dome projection of image courtesy of Paul Bourke.

Artist and producer standing outside the dome, with full-dome projection of image courtesy of Paul Burke.

Artist and producer standing outside the dome, with full-dome projection of image courtesy of Paul Bourke.

New formula

July 29th, 2009

Charles found out his first big formula was wrong, so rewrote it on Monday and Tuesday. Found it more helpful to do a scale drawing, rather than using the mirror and projector. He got a cheap laser from a store in Melbourne Central. New formula is accurate for a single point laser, but might be problematic for a full dome. May have to convert to vector notation, which he hates. More useful for working out where the beam lands on the dome. Main formula works out what angle the beam bounces off the mirror relative to the floor, given the angle of projection relative to floor and magnitude or length of the beam from the origin point of the projector to the mirror surface, which is a very fiddly formula. This works in two dimensions, to adapt to three will probably have to convert to vector, which will simplify it but is a pain. Spent rest of week trying to adapt to three dimensions without converting to vectors, just using cartesian coordinates, but it doesn’t work. It could, but without a PhD in astrophysics, it will be difficult, therefore converting to vector maths. It will be easier to use vector notation or algebra when projecting a plane: any points that are on the plane, their direction can be calculated and how they would be projected on to the mirror and from there projected onto any geometrical surface.

Here is Charles’ new formula:

Charles' new equation

Charles' new equation

Where R is the radius of the mirror, L is the length of the projected light beam (ie, between the projector and the mirror), Theta is the angle between the projected light beam and the floor plane, and Beta is the reflected angle of the projected light beam and the floor plane:
Diagram explaining Charles' new formula

Announcing the SquareTangle Connections Residency!

July 29th, 2009

We are very pleased to announce the start of the Australia Council Inter-Arts funded Connections Residency of John McCormick and Adam Nash as Artists in Residence at Hidden Cove Solutions in Melbourne, Australia. For full details of the project, please see the Connections page. Briefly, John (an artist who specialises in motion capture integration into realtime 3D environments for contemporary dance) and Adam (an artist who specialises in realtime 3D envrionments as audiovisual performance platforms) are working with Nicole Lawther (producer at SquareTangle), Charles Kong (programmer at Hidden Cove) and Vivek Aiyer (Director at Hidden Cove) to develop a software system to seamlessly integrate data capture into virtual environments.

In practice, we are devising an immersive audiovisual show to stage in our portable dome. Part of the process is devising a system that allows us to do “full-dome” projections of realtime 3D environments i real time, to allow us to improvise live with artificial entities in persistent emergently evolving virtual environments. The medium term aim is to take a full immersive dome show on a tour of regional Australian centres in 2010.

We have settled on the name SquareTangle (suggested by Adam’s very talented son Yue Yamanaka-Nash), which we feel represents the spirit of the project, which is a synthesis of the precise world of digital media with the messy world of art.

We will use this blog to document the process in as much detail as possible. It is our hope that our research and experimentation will benefit the wider artistic and digital media community, and to that aim we will be releasing Open Sournce as much of our output as possible. Feel free to contact us anytime on <info at squaretangle dot com>.