Upload
vineet-markan
View
239
Download
0
Embed Size (px)
Citation preview
A complex highly overlapped circuit?
ResistorCapacitorInductor
Voila!!
ResistorCapacitorInductor
Electrica Solver works…
The user inputs the jumbled
circuit.
The 2D circuit with reduced overlaps
displayed
Touching the surface…
Broader view…
Simplified Orthogonal Circuits for ICs..
Complicated physical circuits Simplified 2D circuits
Mesh Charting & Decompression..
Puzzle Solving..
GPS Devices..
Labyrinth routing
Language:
C++
Compiler:
Visual C++
Interface :
OpenGL platform
Extra standard Libraries used:
<glut.h> <glu.h><glut32.lib>
Available Code Snippets Downloaded :
NONE
Data Structure:
struct GLcoordinates
{
int x,y,numConn;
struct
{
int index;
int connAttr;
} conn[10];
}oldpts[50];
Simple and flexible data structure for easy handling, expansion and manipulation for input points.Can hold any number of connections and nodes within a given limit.
ALGORITHM
Output the final circuit in a different window with appropriate labels.
Drew Connections keeping the color coding in mind.
Arranged those points on the final graph.
Found the remaining points in the circuit.
Laid out the chain as the skeleton of the output.
Found the Longest Chain in the input Circuit.
Took the input on the OpenGL base. ALGORITHM
ALGORITHM
LongestChain()
Finding the longest chain in a set of N points with no limitations on the connections should take
N!(N-3)!
steps…This means the steps for a 50 point limit circuit is
117600!!
Electrica doesn’t calculate the longest chain after the input is complete, in fact, it intelligently and intuitively keeps storing the parameters for longest chain as the user interacts and enters the nodes and makes connections.
Electrica does it in 3 steps!!
ALGORITHM
DrawConnections()
To avoid overlapping, we use counters in the Y-direction which completes the circuit with all orthogonal connections.
Color Codes:-
ResistorCapacitorInductor
DrawText()
OpenGL does not directly support text output, so we had to include the built In libraries of bitmap fonts and modify them to serve our purpose of node labeling.
ALGORITHM
Limitations
• Maximum nodes is limited ( Can be increased as per requirement by the developer)
• Number of build chains is limited ( The algorithm for ‘n’ number of chains has been developed as well. Recursion would be used and the program can be modified. Time needed..)
•DrawConnections() is not at its best potential due to limitations in time, but better algorithms have been devised and are ready to be implemented for a more accurate output.
This project is presently an infant to the world of graphs and OpenGL..
It can be taken forward to build applications that would find use in multiple areas..
USP
I. COST
II. INTERFACE
III. ORIGINALITY
IV. PLATFORM INDEPENDENCE (Runs on LINUX OS)
V. RANGE OF APPLICATION
VI. EXPANDABILITY
Based on file formats and data structures
Remember “Mesh charting & Decompression” ?
Easy import and manipulation of heavy meshes on humble configuration machines.
R G B
“GPS Devices..” ?Use of our algorithms to find suitable(longest, shortest) paths in a
map.
“Labyrinth routing..” ?Solving of various mazes using the incorporated algorithms.
Interest in solving Graph based
problems..
Optimization of graph analyzing algorithms is at a nascent stage , quickly developing.
Very co$tly similar softwares..
NI MultiSim : ~ $3,000NI LabView : ~ $3,500
LaB Experiments: Encounter with complex jumbled
circuits gave a kick..
Prices as on www.ni.com(21/03/08)