Week 0: Final Project Proposal and CAD Modeling

When studying or doing some work that requires a desk, I've always been seeking places with large tablles and large windows. I like large tables not because I need any more space that the space offered by a cubible, but because the walls of the a cubible make me feel uneasy and trapped. To be productive, I need a large field of view (hence the reason for windows too). Sometimes I would walk for over 30 minutes in searching for an available workspace that satisfies those conditions. At other times, I would have no choice but to work in front of cubicle inside a room that has no windiws.

For my final project I am interested in eliminating the aforementioned problem. I propose to create a cubicle which provides the visual experience of a much larger workspace in a pleasant environment. I would use view-dependent projection mapping techniques to project a virtual extension of the real environment on the walls of the cubicle, thereby virtually eliminating the walls. The user's head would be tracked (likey with Kinect) so that the perspective of the projected image changes with respect to the position of the user's head.

Here are some YouTube videos I found that demonstrates the technique:

The applications of the proposed system are numerous, since the number of enviroments that could be projected on the walls is infinite. Here are several I could think of (some of which can be combined):

  • Make the walls of the cubicle transparend by projecting whatever is behind the walls. This would be achieved by removing the top part of the cubicle, imagning the environment around the cubicle from the location of the user's head, and then projecting that environment once the top part of the cubible is reassembled. [This requires that the cubicle be designed with removable top part.]

  • Design your own virtual 3D environment that you wish to be projected.

  • Project a dynamic window on the side(s) of the cubicle. The idea here is to have the experience that the projected window is a real window. Therefore a static picture will not work. There needs to be parallax when the user moves his head, so the projection must be view-dependent (as in all the other application ideas here). Moreover, the content outside the window must be changing with the time of day. This can be achieved by capturing with an array of video cameras a real external environment, and then streaming and projecting the content in real-time.

  • If two such workspaces are designed, and if they are equipped with arrays of cameras and microphones, then two people - separated by space - can have the shared experience that they are in the same enviroment or even at the same table. This system would also be view-dependent, hence when user A moves his head, he would see [and hear] user B from a different angle, just as in real life.

  • Use the cubicle as a movie screen. The experience may resemble something similar to I-Max. [This would be ideal if the edges between the wall are rounded and if the walls are not flat.

  • Use the front wall of the cubile as an extended desktop for your computer.

  • Decorations such as portraits, tropheys, and others that take up desk space could be 3D scanned and then placed in the virtual part of the workspace. Because the projection is view-dependent, parallax will be preserved and so the virtual clones of the decoration would feel just like the real ones - and they won't be taking any real estate. This is interesting because it shows how the real workspace can be made larger by extending it virtually. Moreover, an extension to this idea would be for the user to have the capability to move the virtual objects and position and rotate them seamlessly, and be able to add/remove virtual objects.

  • Make the system interactive as shown in this video:

Since I have no background in 3D CAD, it was a challenge to desing a 3D model of the propsed project. I watched a few tutorials on Rhinocerous and I learned the basics of using the software. My attempt at modeling my final project - and possible iterations of it - can be seen in the image below