BBTouch,multitouch

New multi-touch table, day 1.330 Jul

Raining.

(and dark at this point, no place inside to do any big cutting and woodwork. One of the very few downsides to living in an old Victorian flat in inner city Melbourne. but i digress)

I decided to see how the image is going to look when i finally get it all up and running so i 'mounted' the fire-i camera into the table (and by mount i mean to say i held it there). The normal lens was not wide enough so i switched up to the big ole' wide angle and here is what i got:

wide angle surface shot

a bit blurry, but look at all that space! I am giddy. my proto-surface is about the size of an A4 sheet of paper. so this is a big improvement. Although i see now that the very first thing i will need to do is write a barrel distortion de-frakulator in BBTouch. Weekend project i guess. Something to do while i wait for the diffusion/projection material.

Cheers!
-b

No TweetBacks yet. (Be the first to Tweet this post)

3 Responses to “New multi-touch table, day 1.3”

  1. sandor 31 July 2008 at 5:55 pm #

    Hey Ben, that is looking very nice. A victorian MT device. Reminds me on those amish-style tables ;-) I’m also very glad that you are building a bigger setup. Now you HAVE to implement the distorsion filters ;-)) Could you please build after that a much bigger table – than you will need the support for multiple cams als :-)

    But no joke now: any chance that you could implement a more sophisticated filter instead of a “simple” barrel dist. filter? I am thinking about a “grid-based-filter” – you know surely that distorsion filter from photoshop… Also i think that now that your setup is bigger, you will need a calibration module/screen for BBTouch (just like the calibration in other trackers)

    Cheers,

  2. Ben 1 August 2008 at 9:28 am #

    Thanks sandor,

    i had thought about steampunking the table up a bit, but i dont think i have the budget (or the time really) i will be pretty happy just to get it ‘working’, let alone ‘nice looking’ :-)

    It would be awesome to code up a sweet lens-mapping system, but i will probably go with the ‘standard’ distortion filter. mostly because the precision of the standard filter is %98, the last %2 provided by the lens map is probably more trouble than it is worth (especially given the nature of the subject matter, ie diffused finger-sized blobs, precision isnt really necessary)
    and the other reason is that I am very much trying to keep the system as simple as possible. and mapping lenses is a complicated business. (plus: I am lazy :-)

    As far as a calibration screen goes, that is also in the works. :-)

    cheers!
    -b

  3. Ben 5 August 2008 at 9:32 am #

    Hey Sandor,

    I take back what i said about lens mapping. After playing around a bit with the manual way of doing it, i totally agree that it would be so much better to do some sort of automagic mapping of the spherical distortion constant. (via some known-size graph being overlaid onto the surface? i don’t know yet.) I think it might actually be worth the trouble to build some sort of spherical/perspective solver.

    Anyway, the one thing i do know is that i need to re-learn matrix algebra. (all the 3d perspective and distortion stuff is so much better/faster with matrix algebra) It is kinda sad really, i was about two classes away from a math minor in college (engineering requires lots of math courses) but I can barely remember the basics like matrix math anymore… use it or lose it i guess.

    cheers!
    -b

Leave a Reply

You must be logged in to post a comment.

About

meMy full name is Ben Britten Smith.

I go by Ben Britten because Ben Smith is a bit too common and using my full name is a mouthful.

I live in Melbourne, Australia and service clients all over the globe.

Contact

Have some questions?

Feel free to contact me directly at support@benbritten.com with any questions you might have about any of the applications I support.

Thanks!

PHVsPjxsaT48c3Ryb25nPndvb19hYm91dDwvc3Ryb25nPiAtIGFib3V0LXdpZGdldDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2JlbG93X2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL2JlbmJyaXR0ZW4uY29tL3dwLWNvbnRlbnQvdGhlbWVzL3ZpYnJhbnRjbXMvaW1hZ2VzL2FkNDY4LmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2JlbG93X3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gYmVuYnJpdHRlbi5jc3M8L2xpPjxsaT48c3Ryb25nPndvb19ibG9ja19pbWFnZTwvc3Ryb25nPiAtIGh0dHA6Ly9iZW5icml0dGVuLmNvbS93cC1jb250ZW50L3RoZW1lcy92aWJyYW50Y21zL2ltYWdlcy9hZDMzNi5qcGc8L2xpPjxsaT48c3Ryb25nPndvb19ibG9ja191cmw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb208L2xpPjxsaT48c3Ryb25nPndvb19ibG9nPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2Jsb2djYXQ8L3N0cm9uZz4gLSAvY2F0ZWdvcnkvYmxvZy88L2xpPjxsaT48c3Ryb25nPndvb19jYXRfbWVudTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fY29udGFjdDwvc3Ryb25nPiAtIGNvbnRhY3Q8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fY3NzPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSBodHRwOi8vYmVuYnJpdHRlbi5jb20vZmF2aWNvbi5pY288L2xpPjxsaT48c3Ryb25nPndvb19mZWF0cGFnZXM8L3N0cm9uZz4gLSA1NDk8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX3VybDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2dvb2dsZV9hbmFseXRpY3M8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19sYXlvdXQ8L3N0cm9uZz4gLSBkZWZhdWx0LnBocDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19tYW51YWw8L3N0cm9uZz4gLSBodHRwOi8vd3d3Lndvb3RoZW1lcy5jb20vc3VwcG9ydC90aGVtZS1kb2N1bWVudGF0aW9uL3ZpYnJhbnRjbXMvPC9saT48bGk+PHN0cm9uZz53b29fbmF2X2V4Y2x1ZGU8L3N0cm9uZz4gLSAyLDgyLDU0OSw1NTMsNTY3LDUzMiw1MzQsNTM3LDgzMjwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3J0bmFtZTwvc3Ryb25nPiAtIHdvbzwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfYWQ8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfbXB1PC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zdGVwczwvc3Ryb25nPiAtIDEuLCAyLiwgMy48L2xpPjxsaT48c3Ryb25nPndvb190YWJiZXI8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIFZpYnJhbnRDTVM8L2xpPjwvdWw+