Safinah Ali

16 Feb 2016

Have you seen digital artists draw on their computers? They have one hand on their mouse, the other stretched between their keyboard and their pen-tablet. What if we use one tool that needs just one-handed use to perform all the different functions artists perform with their two and half hands? So, I set out to make a tool that helps a digital artist draw, while changing the various properties of the drawing live while drawing.

For this drawing project, I wanted to explore the Spacenavigator 3D mouse. The mouse is a magnificent piece of hardware that resembles a joystick and 6 degrees of freedom!


While exploring the mouse, I used it with a bunch of 3D CAD software to explore it’s functionality. The space navigator has been primarily used for 3D navigation in rendering tools.  I wanted to utilize the mouse to draw uniquely. I utilized all the degrees of freedom of the mouse to perform different functions during drawing to enhance 2D drawing. I used OpenFrameworks to create a drawing program that draws in 3D, rotates, changes the stroke width and changes the color, while it draws.

Drawing: x-axis, y-axis, z-axis
Stroke Width
Rotation about the z-axis
Draw in 3D shapes
Draw patterns (like polygrams)

Here are some images drawn by my peers:



Here is a video of the drawing program in use:


Superdraw | Drawing using the 3Dconnexion Space Navigator from Safinah Ali on Vimeo.

Feedback: I received feedback from Golan how I could have integrated 3D navigation is this, where the user could navigate and watch their drawing in 3D. I felt this was insightful and could be implemented. I also received some feedback that the mouse was not intuitive. I plan to improve the functionality I associate with the degrees of motion to make the mouse more intuitive. Drawers tended to like the patterns feature and color changing feature the most. One of my peers who is an avid drawer commented how they can now use their free hand for a bunch of stuff.

Acknowledgement: Thanks to Golan for lending me the mouse. Ajayan helped me with an OpenFrameworks bug. I used the Ofx addon by Kyle McDonald.

Source code: