Wednesday, December 24, 2008

New Touch Menu System: Initial Structure (Video)

So I am building a 3D menu system using FlashCS4 with Papervision3D and Tweener added extensions. My previous basic cursor app done earlier in AS2 can be found here. I love the 3D world and what you can do with it so expect big stuff from me when I do my future apps. Try it out below:






Here is a video showing it used in a touch environment (no extra touch features yet):



In the above video, what you are seeing is the central sphere launch from start up, one tap in this central sphere launches satellites when none are present. Hitting one of the satellites causes the next level to be displayed (hard to see in the video, but the base color of the satellites is changing, notice the bottom left sphere changes as I move up/down levels). The satellites with the green on them is the furthest level you can go, and thus me hitting the satellites more doesn't do anything. If the central sphere is hit when there are satellites up, it advances down one level, showing the next level satellites, but only if we aren't at the starting base level.

The menu will be launched by my 3 finger menu launch code that I created a month or so ago. The central orb will be a 3D model done up in 3D Studio Max or equivalent software. The "satellites" orbiting the central sphere will have planes with words/graphics fixed to them in much better graphics than you see in this video.
There will be many layers and will be as easily customizable as I can make it. I also plan on adding a menu section that will allow the manipulating of the menu itself, like flying around the whole 3D system, moving the satellites around, etc.

More to come soon.

Wednesday, December 17, 2008

New Projector! & Designs for a new LLP "Coffee" Table

** As an update to this post, I have since changed my table to a DSI table and sold the projector for $600, and bought a better one.**

Well, I finished up this school quarter finally and have been working on a bunch of flash/as3 stuff, tooling around with different ideas and projects. I messed around with the Youtube API a bit and have turned my attention back to building a cool 3D menu, now using Papervision3D and the Tweener add-in.

I received some lasers from Aixiz for another project, but they are too weak, so new ones will be ordered in the coming weeks. While playing with the lasers, I came to appriciate the easy setup of a multitouch LLP (Laser Light Plane) table, and have decided to make my next table a LLP one.

I randomly popped onto craigslist.com for projectors this week and the first most recent post was about an Optoma EP7155 projector for $200!!! I assumed something was wrong with it, but called anyways. The guy said nothing was wrong with it, so I drove out there to have a look, not expecting much. I was first surprised at how small the thing was and it all looked good so I swapped for cash and took it home to play with it.

The OPTOMA EP7155 is known as a ultraportable "laptop" projector, hence why it is so small:





It has a bunch of useful ports on the back and should work really well for my new table. It's native resolution is 1024x768, but can do up to 1600x1200. I will be running it at 1280x768, as that is the resolution of my 720p HD projector in my living room. The table will also act as a controller for the HD one, along with displaying it's own image. Only thing is that it is quite loud, at about 35db or so since the fan must be on high to cool it off since it gets hot. Thus I will have to make sure there is good ventilation and to enclose it in such a way as to reduce noise.

A rough diagram of my new table:


And the placement of the mirrors to achieve the shallow 2 foot depth using this website:


I picked up some mirror tiles at Home Depot for cheap and played around with angling the image, but I will need bigger mirrors for my final table


So looks like this will be a smooth topped table probably using a single layer of frosted glass or with a piece of vellum underneath as the projection surface. The lasers will be around the corners. I will test with 2 lasers first and decide if I need 4 or not.

Monday, November 24, 2008

Some More Final Touches (VIDEO)

So I haven't posted in a bit since Ive been busy learning Flash/AS3 and balancing schoolwork. I am going to be transporting my MT box this weekend, so I wanted to finalize the top so that it didn't slide around anymore.

I put some nails through the side walls and acrylic that go into the removable top:

This keeps all the pieces from moving around and gives it a snug fit.

And here is the top, all screwed together and very strong:

The top part (the top bezel and the outer wood rails) lifts completely off so that the acrylic can be easily cleaned.

I also took the webcam and stuck it to the backlight with some double sided tape in a more permanent installation:

You'll notice it is my Microsoft VX-3000 webcam in there, not my PS3 Eye. I am still waiting on the PS3 Eye to be enabled to be used in the newer better tbeta software (windows).

The setup for now is going to stay as a Side DI LCD, since it's works pretty well, and I've turned my attention to writing some programs. I started with making a simple game of Tic Tac Toe, but after learning a bunch, got bored and moved onto something else. Currently I am writing an app which pops up a menu when you put three fingers down, creating a triangle of less than a certian number of pixel area. After last night of discovering the benifits of using the Point class, I made a bunch of headway.

Below is a video showing the basic build of the box and showing its functionality. Since my computer is slow (single core), and I am using the Microsoft VX-3000 webcam, which gets about 24fps or so, the Photo App runs a bit slow. Upon watching the video it is obvious that my calibration was a tad off also. Oh well, I still like how the video turned out :)

Saturday, November 8, 2008

Better LED Rails, FTIR Attempt

Earlier this week I ordered a piece of acrylic 12" x 24" x 1/4" from www.usplastic.com It is about 6mm thick, where my LEDs are 5mm in diameter. I also got a new laptop charger off of craigslist to run the LED rails. Here are the specs of the charger:

Since it is 19vts (19.43 volts so says my voltmeter), I needed longer chains of LEDs in series (12 instead of the previous 8), and higher ohm resistors (12 instead of 1), all according again to ledcalculator.net.

Again, here are pics of my previous LED rails taken off:

And what the LCD looks like without any LED rails on it:

It's basically the LCD crystal taped to a piece of thin acrylic with both masking tape for securing it down, and electrical tape on top of that to create a solid black frame.

I went to Home Depot and got some aluminum L beams to mount the LEDs more accuratly in and cut them to size:


I measured out the height needed to drill the LEDs at on the beam:


And then drilled the rails, insulated them with electrical tape, put the LEDs in, soldered them together, along with wires running to the new power supply, and put the power supply into the case.





(That's the laptop power supply hiding behind the power strip in the corner)

And below in a Side DI setup, which is the same as FTIR, minus the acrylic:



Then I put some screws in the floor to hold the backlight in place:


I then began work on polishing the edges of the sides of the acrylic. I was told to get 800, 1000, and 2000 grit sandpaper and some polishing compound, but Im on a budget so I only got 800, 1500 and the polishing compound.


Initially I just hand sanded the edges, but the curve of my palm caused the edges to be curved instead of flat, so I wrapped the sandpaper around a deck of cards as a sanding block and that worked well. The edges came out a lot smoother.



Here is a video showing the initial performance of the FTIR setup:


It works okay, but I have to press harder than Id like to get the blobs to show up, so I posted to the nuigroup forum to try and get some answers on improving it. There also is very little capability of dragging, since applying pressure and dragging is hard to do.

What works really well is removing the piece of acrylic and using it again as a Side DI setup. The higher amount of LEDs and the more even distribution of them makes it for a perfect setup in Side DI. Also the height of when the blobs appear from a falling finger can be reduced to about 5mm, which is really good, but still not as good as a working FTIR setup, so the quest continues to find the best and most practical setup when on a budget and using an LCD.

Thursday, November 6, 2008

PS3 Eye Distance Test

So after I had previously taken my new PS3 Eye webcam apart and put in a piece of floppy disk to act as a IR filter, I downloaded the software from AlexP to let it run on my computer. Here is a test showing the camera placed under my screen:



The camera is elevated because I also tested the viewing angle of the lenses in both its clockwise and counterclockwise position (the lenses rotates to zoom in/out). The following diagram is roughly the formulas needed to calculate what size screen you can get from a certain depth:

(I had originally done a rough one in sharpie and the member noverflow on the nuigroup forum converted my info to the one above)

Thursday, October 30, 2008

Learning Flash and Actionscript

So I started learning flash and Actionscript 3 (AS3) this week. I first started with the basic multitouch app posted on the nuigroup wiki page, and eventually was able to get it to create red circles on the screen whenever I touched:

The circles dont go away after you touch them so that's why you see a lot of them.
I then started to make my first basic cursor app. Following some tutorials online I made the below app (click the white box and move your mouse around it):




It is written in Flash 6 and AS2, which is far lower than any of the multitouch apps require, and am in the process of porting it over to the newer code...so stay tuned for word on that working.

Sunday, October 26, 2008

PS3 Webcam Dissection

Went out to get a PS3 eye camera today because the 20 or so frames per second that I was getting with my previous camera just isnt that good.

Took the pieces apart per the instructions on this post.
Though it was much tougher to get the main housing apart than he described it.


Took the lenses off, and cut the IR filter out of the plastic.


Put it all back together


I was able to easily get it to run on the computer (which it wasnt originally meant to do) using the software found on this page.
I was able to get around 128fps in 320x240 resoultion which is awesome. Now I just need the drivers to be updated to work with tbeta and Ill be golden...stay tuned.

Saturday, October 25, 2008

Beginning of finishing touches

I started with today on attaching the slimmed down Side DI setup on top of my LCD. I had a piece of acrylic that I had bought at Home Depot previously that was the exact size of the LCD.

I took my new slimmer light rails and taped them to the base acrylic that the LCD was also taped to.

I used electrical tape to block the light coming up from below, and taped the LED rails around the 3 sides too.

I put the original wood bezel on top and cut some wood to fill the gaps around the edges.


I then set out to make my side panel.
I had gone to Frys and gotten some parts to make the female-ended plugs that would have the 3 cables plug into: Power, USB, and VGA.
I drilled holes in the side of my box to accommedate the plugs, made a metal faceplate, screwed it all in:

And caulked around it with clear silicon, and plugged the cables in:

I really like it. It looks smooth and adds a professional look to it.

With the side panel installed, I was able to mount the surge protector inside the case, and tidy the wires up a bit.

Unfortunately until I get a laptop power supply to run my LEDs Im going to have to have the clunky modded power supply inside my case:

Notice also that I installed some magnetic latches, like in kitchen cabinets so that the door snaps shut.
And here is what it all looks like put together, with a video test showing the blobs:

Thursday, October 23, 2008

Received order of cheap webcams

So I got the three cheap $5 Logitech webcams that I had ordered a week or so ago and attempted to dissect one of them. After not finding a screw hole, I attacked it with some pliers and bent the plastic all off (I later found a screw hole hiding behind a piece of white rubber that allowed it all to easily come apart).

When I got the circuit board off and took the lenses off, I tried to find the IR sensor. It wasn't easily recognizable like the other webcam I had taken apart. I made the mistake of taking off the piece of glass covering the sensor and after doing this to 2 of the cameras, realized that the IR sensor was instead in the lenses housing.


I pried off the lower lenses, and found the IR sensor, a tiny blue square sandwiched between the two lenses. I haven't torn apart the last remaining camera yet. Will leave that to another day. Thank goodness I bought a couple of the cameras and that they were cheap.

Wednesday, October 22, 2008

New Top Design and Flash Tests (New Videos!!!)

During my trip to Home Depot today I picked up some base board rail things which had paper covering a 90 degree thin piece of metal. I ripped the paper off and got a rail that was only 1cm or so tall/wide:

Like before I measured out the spacing to drill the holes for the LEDs:

I only made two rails, and pushed the LEDs in, twisted the wires, taped up the metal rails with electrical tape, and wired it up to the power supply:



I got really good blobs, though since it's a side DI, if your unused fingers or rest of your hand dips into the light plain it shows up as blobs, which isn't cool. Oh well. It works really good so I am super happy.
I finally figured out how to get the flash apps working with the touch inputs (run FLOSC Nolan! duh...), and so I got some really cool interactions as seen in the following pics and videos (my roommate Jeff was a good model...haha):




(Photo App)


(Physics App)



(Seth's Piano App)

(Tangrams)

Woohoo, yeah multitouch!