Motivation
“Ah! This is where mechanical
engineering becomes beautiful. You just have to visualize the things”, barked the
dreaded mechanical engineering professor, twirling his thick moustache,
elegantly looking down at his cowering students, who sat fixed in their hard
seats, quite oblivious to the revelation (which had just occurred to the
professor), which made to the professor the otherwise boring mechanical
engineering problem so beautiful.
This is
a dilemma that every engineering student, at some point of time in his academic
career, faces. And one such situation in my life is what motivated me to think
of this project The Inner Eye.
Objectives
The inner eye is
supposed to be a offline software (one which the user would download in his PC
and run) that objectifies specialization in visualization to help students and
technicians simplify their problems at hand in any engineering situation.
By making this software, I intend to remove most of the
visualization difficulties that a student faces in various technical courses.
The Inner Eye will help us visualize situations in the
engineering world. The inner eye has two basic components: the HIDEOUT and the specific visualizers. There will be different visualizers for different subjects (say
electrical, mechanical, electronic etc.).
Explanation
Technically,
·
The HIDEOUT
provides the environment to run the visualizers.
·
Visualizers
are applets that actually do the work of visualization and projecting the same
in the output.
·
The visualizers will have various features like
animated view, reading table, 3d view, print project, saving project, etc.
integrated in itself. The animated view is enabled for situations in which it
is indispensible. The reading table gives a quantitative overview of the
situation projected.
·
The hideout comes with integrated NOTEPAD not different from any simple
text editor.
What does the
software do?
Suppose the user has an electrical engineering problem,
which need the concept of magnetic effects of current. What he does is, he
feeds in the circuit diagram and the circuit parameters (using inbuilt
features) into the software and the software shows the magnetic field lines’
distributed throughout the circuit, which would simplify the visualization of
the problem.
What is the HIDEOUT,
the visualizer and a user project?
Suppose a user wishes to view a flash animation. To see the
animation, he needs a flash player. Similarly, what I provide the user with is,
the visualizer. To run this
visualizer, the user needs the HIDEOUT.
Again, suppose the user wishes to print a graph. He will use
a suitable graph plotter and print it. Here, the graph will be plotted by the
plotter and the user just has to feed in the relevant input. Similarly, in case
of this software, the user feeds in his data to the visualizer to get a project.
This project (displayed on screen) can also be saved or printed.
Demonstration of the
GUI:
To demonstrate the working of the GUI, I will take a simple,
very non-specific example of a 1st year mechanical engineering
problem:
Suppose a user wants to enter the following data: A cuboidal
beam is subjected to a load equal to 80N in some direction, at some point. Find
the equation of the elastic curve, so generated. This is how the software will
look like to the user:
P.S.: This is an overview of the GUI that I made about 3
months back, when this idea struck me. Since then, the idea has seen a lot of
developments in terms of content and idea, which due to their design
complexity, were not incorporated in the basic model that I presented above.
Objective in GSoC
What I want to clarify is: This project needs a lot of
ground work to be done prior to coding or thinking of algorithms. So far, I
have done substantial groundwork on the elementary college level Electrical
Engineering, Programming and Data Structures courses and am in a state of
making the laboratories on these two courses. Also, I have started ground work
on mechanical engineering. If I am to incorporate more number of subjects in
the laboratory list, it would involve a lot of ground work, which would lead to
use of time without any tangible development on the project. Thus, I want to
start off with the thinking of algorithm, coding and structuring the project.
Thus, in this GSoC, if selected, I want to achieve these things in the project:
- Develop the Visualizer for electrical engineering.
- Develop the Visualizer for programming and data structures.
- After this, I would take up designing the Visualizer for Mechanical engineering.
Apart from the technicalities, I want to maintain a video log
throughout the process of the project so as to assist various other people who
will follow same/similar project after me.
Timeline
21st to 31st June:
The project will require a lot of documentation in terms of
groundwork, algorithm and layout. I intend to spend the first 10 days (up to
May 31st) by planning out the execution of the requirements of the
project.
1st to 7th June:
This time will be dedicated to devising algorithms for the visualizer
of Electrical Engineering. This will be done step-wise according to the chapters.
Making flowcharts and documenting the same will be also a part of this.
8th to 28th June:
Whatever be the status of algorithm, I plan to start coding
the electrical part by 8th. As the coding will proceed, I will also
continue developing the algorithms for the subsequent chapters.
I wish to run the process of debugging simultaneously with
the coding. This will remove the problem of cumbersome debugging at the end of
the project.
29th June to 5th July: Buffer
and post development work week.
Although, I expect to complete the Electrical visualizer by
the aforementioned period, for the sake of practicality, I will keep a buffer
week, which will be utilized to complete the visualizer, if required. Otherwise,
I wish to develop and remove the loopholes in the project in this week.
The above plan for
Electrical visualizer has 35 days for ideal completion.
Similarly, the
subsequent part of the project will be divided into two more 35 day segments.
I will similarly employ the second segment of the project in
developing the Programming and Data Structures visualizer and the last segment
will be utilized for making the Mechanical Engineering visualizer following a
similar plan as that of the electrical engineering.

Debugging would go on automatically with coding because of unit testing which would be mandatory in a project as detailed as yours.
ReplyDelete