How to make it? - interactive table with elastic touchscreen

Hi all!
I need to make something like this:

http://www.fastcodesign.com/1665565/an-interactive-table-with-an-elastic-touchscreen-surface

i want to create a big interface for a project.
So
today i started to try something but i have many doubts. I need people to talk with and to do some kind of brainstorming. I think this is the right place. :slight_smile:

For now i have:

  • my kinect;
  • Lycra fabric
  • a 4 wood structure to stretch fabric

What do you think? It’s possible to make with this stuff?
I think i could get depth with kinect but in the video it all seems very precise and i don’t know how it is possible.
Do you have any idea?
Anyway, if i will do some progress, I will post here.

in the comments of your link there is this : http://www.k2.t.u-tokyo.ac.jp/members/alvaro/Khronos/

Yes, i have seen “Khronos Projector” but i’m not sure that in the link i have posted they use the same method. In “Khronos Projector” they use “Vision Chip” and 4 LED arrays but i don’t think that they have used the same in the elastic touchscreen.
This is the link of the video about technique: http://www.k2.t.u-tokyo.ac.jp/members/alvaro/Khronos/Video-Demos-shorts/HardwareExplanation.wmv

I’m doing some experiment and it works a little bit… but i have some problem.
Here two video you can download (right click :)):

http://www.mauroferrario.com/movie/firstTest.m4v
http://www.mauroferrario.com/movie/secondTest.m4v

And one picture:

For every blob (in this example i work with only a single touch) i calculate the “delta depth” of every pixel and i find the depthest pixel of the blob. With this pixel i take x and y coordinates and i use for track my red ball and draw yellow line.
So… basically i think it’s the right way, but i think the problem is that kinect’s depth continue to flicker so the point continue to change every frame… and it’s not good. Do you have any idea to fix this problem?
If i fix this problem, next step is to use the total depth of every blob and use it like a variable.
(ahh… the yellow circle it’s nothing important… i only use to see when i catch some blob)