Input Device Reflective Analysis
by Joe Swann, 0822826
09/05/08
The input device in question is similar to a trackball, It uses an inverted mouse to track movement of a sphere sitting in a circular hole in a metal box. The software to go with this is an artificial simulation using boids.
The hardware and software side of things were made with two different intentions in mind. The only connecting factor in my mind was that they both had to be obviously designed for 3D space. With this in mind the hardware includes a giant sphere that directly affects the camera view in the software.
Just changing the camera view would be too cliche however, and given that I had only included the left and right click buttons on the device, and they included some basic functionality, I decided to use the mouse X and Y positions to dynamically affect the boids. With this in mind I changed the speed to be affected by the Y position and the force by the X position. This has an interesting result because I made the X position reset whenever the mouse went beyond the limits of the screen. I got away with this because the camera control only jumps by a couple of degrees when this happens. This jump effect is why I didn't do the same for mouseY.
The hardware device Is designed with an industrial aspect, it is made of 1.5mm galvanized steel, with the mouse electronics glued in place. The wiring is relatively simple as I only swapped the switches with a toggle switch. The gluing may prove to be a limitation as I am not sure how well connected it is. Screwing the wooden base in place would have been a better idea, but after drilling the 12 holes for riveting I was getting a bit tired of the process, with each hole taking approximately 1-2 minutes for the bit to get through the steel. Cutting out the whole was also an arduous process, taking three saw blades and several electric file bands with it.
The result is a boids simulation that takes place in a 3d space, with mouse X and Y controlling the camera rotation and two of the boids main properties aswell. at mouse 0,0 the simulation is quite relaxed, with maxforce and maxspeed at its lowest, while at the other extreme of the screen the simulation becomes more frenetic. The left click selects a random new boid while the right click generates new planets at random positions The input device, while not smooth, is definitely sturdy and as 'prototypes' go I feel it is more than good enough to demonstrate a concept. However it is lacking in elegance, but I think the industrial design gives it a certain charm.
To continue with this project would be easy, the concept behind it is so open that the hardware at least would probably constitute a viable input device. While the boid simulation would look quite good as a screen saver. If I was going to continue for another couple of weeks, I would try to implement the following changes:
Input Device
-Introduce a Scroll wheel
-Include a third button/switch
-Create a more 'elegant' concept
-Find a way to hold the ball
-Find a way to make the ball movement smooth
Software
-Introduce smoother and more intuitive camera control
-Make the boids react to the mouse buttons (Scatter/move target)
- Introduce multiple camera modes
-Introduce a 3D environment
-Introduce avoidance/collision detection
-Replace the boxes with objects(?)
(Note: I actually like inanimate objects behaving in a way that suggests life)
I think that I learned alot from this project. I managed to continue in the directions I was interested in (ie. boids and 3D interaction) while conforming to the brief and its time frame. I also successfully used a project log for perhaps the first time ever, I think using a blog is an easy way to keep everything together, especially as I can write directly into the blog rather than use a book for ideas, and then access the information wherever I need it. While as far as the project brief is concerned the boid code is not of actual importance, I feel I pushed myself in doing it far more than if I had simply stuck to what I could previously do. I also like having made something that will be of some use after the project is over, either as a toy (screen saver) or to improve on the idea later (make a 3d interaction device). While it may not be as slick as I would have liked, this is partially the result of me trying something new as opposed to improving on tried and true methods for something cliche. Another effect from this is I was out of my depth for much of the time, frantically trying to understand both code and technology in the limited time available. This made the final result seem like far more of an achievement as far as I was concerned.
If I did this project again, I would do all the things I promise myself every time, start earlier, be more organized, come up with more complete ideas before starting. But in conclusion, I think this has been a successful, if not entirely intuitive process from start to finish.
by Joe Swann, 0822826
09/05/08
The input device in question is similar to a trackball, It uses an inverted mouse to track movement of a sphere sitting in a circular hole in a metal box. The software to go with this is an artificial simulation using boids.
The hardware and software side of things were made with two different intentions in mind. The only connecting factor in my mind was that they both had to be obviously designed for 3D space. With this in mind the hardware includes a giant sphere that directly affects the camera view in the software.
Just changing the camera view would be too cliche however, and given that I had only included the left and right click buttons on the device, and they included some basic functionality, I decided to use the mouse X and Y positions to dynamically affect the boids. With this in mind I changed the speed to be affected by the Y position and the force by the X position. This has an interesting result because I made the X position reset whenever the mouse went beyond the limits of the screen. I got away with this because the camera control only jumps by a couple of degrees when this happens. This jump effect is why I didn't do the same for mouseY.
The hardware device Is designed with an industrial aspect, it is made of 1.5mm galvanized steel, with the mouse electronics glued in place. The wiring is relatively simple as I only swapped the switches with a toggle switch. The gluing may prove to be a limitation as I am not sure how well connected it is. Screwing the wooden base in place would have been a better idea, but after drilling the 12 holes for riveting I was getting a bit tired of the process, with each hole taking approximately 1-2 minutes for the bit to get through the steel. Cutting out the whole was also an arduous process, taking three saw blades and several electric file bands with it.
The result is a boids simulation that takes place in a 3d space, with mouse X and Y controlling the camera rotation and two of the boids main properties aswell. at mouse 0,0 the simulation is quite relaxed, with maxforce and maxspeed at its lowest, while at the other extreme of the screen the simulation becomes more frenetic. The left click selects a random new boid while the right click generates new planets at random positions The input device, while not smooth, is definitely sturdy and as 'prototypes' go I feel it is more than good enough to demonstrate a concept. However it is lacking in elegance, but I think the industrial design gives it a certain charm.
To continue with this project would be easy, the concept behind it is so open that the hardware at least would probably constitute a viable input device. While the boid simulation would look quite good as a screen saver. If I was going to continue for another couple of weeks, I would try to implement the following changes:
Input Device
-Introduce a Scroll wheel
-Include a third button/switch
-Create a more 'elegant' concept
-Find a way to hold the ball
-Find a way to make the ball movement smooth
Software
-Introduce smoother and more intuitive camera control
-Make the boids react to the mouse buttons (Scatter/move target)
- Introduce multiple camera modes
-Introduce a 3D environment
-Introduce avoidance/collision detection
-Replace the boxes with objects(?)
(Note: I actually like inanimate objects behaving in a way that suggests life)
I think that I learned alot from this project. I managed to continue in the directions I was interested in (ie. boids and 3D interaction) while conforming to the brief and its time frame. I also successfully used a project log for perhaps the first time ever, I think using a blog is an easy way to keep everything together, especially as I can write directly into the blog rather than use a book for ideas, and then access the information wherever I need it. While as far as the project brief is concerned the boid code is not of actual importance, I feel I pushed myself in doing it far more than if I had simply stuck to what I could previously do. I also like having made something that will be of some use after the project is over, either as a toy (screen saver) or to improve on the idea later (make a 3d interaction device). While it may not be as slick as I would have liked, this is partially the result of me trying something new as opposed to improving on tried and true methods for something cliche. Another effect from this is I was out of my depth for much of the time, frantically trying to understand both code and technology in the limited time available. This made the final result seem like far more of an achievement as far as I was concerned.
If I did this project again, I would do all the things I promise myself every time, start earlier, be more organized, come up with more complete ideas before starting. But in conclusion, I think this has been a successful, if not entirely intuitive process from start to finish.
Labels:
Input Device,
Semester 2
Subscribe to:
Post Comments (Atom)
0 comments: