As the title says…
Demo from my graduation project… Done on June 2009.
Project Name: “Free Hand Sketch Recognition For Visualizing Interactive Physics”
Code Name: Raccoon
The aim of the project is to develop a natural sketching system that allows the users to sketch different objects to draw simple two-dimensional classical mechanics physical model in natural and freely way as they would on paper. The user then shall be able to interact with the design, simulate and visualize the model at any point of time in design process, and watch how the objects interact together.
Main Modules: Recognition, Reasoning, Simulator and User Interface
My Responsibility: The Simulator module; which consists of two components: Physics Engine & Graphical Layer.Technology used: Microsoft .Net framework 3.5 [C#] ; Visual C++ (Visual Studio 2008) ; Matlab 7.3 ; OpenGL 2.1 [ + GLUT (The OpenGL Utility Toolkit)] ; LyX: to write the documentation
The project targets two sections: students study physics and mechanics, and mechanical engineers to prototype quite simple machines.
Actually, the project isn't completed yet, there is a 'gap' in the graphical layer part (visualization); it does not support all the features provided by the physics engine (simulation) or the recognition module. Besides, the reasoning module still needs some work. (The main rule of reasoning module: make the system understands (not recognize) 'every' stroke the user draws; so s/he doesn't need the menus at all but draws as s/he would exactly do on a piece of paper)
Example of features kind of lost because of the gaps between the modules: pin-joint, rod, complex polygon, spring (spring system).., analysis and plot certain object's info.. and even analysis the whole scene.
When you have those ones, you could ‘just draw’ a complete -quite simple- machine (or complete physical system) and visualize it without any CAD system.