Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Circuit Simplifier


Published on

This was a college project I did for science fair at BITS, Apogee. This one got us the trophy!

Published in: Technology
  • I pasted a website that might be helpful to you: Good luck!
    Are you sure you want to  Yes  No
    Your message goes here

Circuit Simplifier

  1. 1. A complex highly overlapped circuit? Resistor Capacitor Inductor
  2. 2. Voila!! Resistor Capacitor Inductor
  3. 3. Electrica Solver works… The user inputs the jumbled circuit. The 2D circuit with reduced overlaps displayed Touching the surface…
  4. 4. Broader view… Simplified Orthogonal Circuits for ICs.. Complicated physical circuits  Simplified 2D circuits Mesh Charting & Decompression.. Puzzle Solving.. GPS Devices.. Labyrinth routing
  5. 5. Language: C++ Compiler: Visual C++ Interface : OpenGL platform Extra standard Libraries used: <glut.h> <glu.h> <glut32.lib> Available Code Snippets Downloaded : NONE
  6. 6. 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. A L G O R I T H M
  7. 7. 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. A L G O R I T H M
  8. 8. A L G O R I T H M 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!!
  9. 9. A L G O R I T H M DrawConnections() To avoid overlapping, we use counters in the Y- direction which completes the circuit with all orthogonal connections. Color Codes:- Resistor Capacitor Inductor 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.
  10. 10. A L G O R I T H M 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.
  11. 11. 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..
  13. 13. 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
  14. 14. “GPS Devices..” ? Use of our algorithms to find suitable(longest, shortest) paths in a map.
  15. 15. “Labyrinth routing..” ? Solving of various mazes using the incorporated algorithms.
  16. 16. Interest in solving Graph based problems.. Optimization of graph analyzing algorithms is at a nascent stage , quickly developing.
  17. 17. Very co$tly similar softwares.. NI MultiSim : ~ $3,000 NI LabView : ~ $3,500 LaB Experiments: Encounter with complex jumbled circuits gave a kick.. Prices as on