ECE 538 Assignment 7

Your submission should follow our general guidelines. Please follow object-oriented principles. Provide executable jar files for all java programs. Ideally you should be using MenuBar as a regular program feature.

Exercises 2 and 3 could be combined into a single program. Let me know explicitly if you choose this option.

  1. Create a dialog box, similar to that below, that will allow you to create a new resistor object or modify an existing resistor object. Your test program should demonstrate both capabilities.

  2. Modify your circuit layout Java program from earlier assignments. Add a MenuBar with File, Edit, and Help menus. The Help menu should contain and About item that displays a information dialog pane describing the program, its author, and date of current version. The File menu should contain an Open item that uses FileChooser to open and read a netlist file. Implement a FileNameExtensionFilter so only netlist text files are visible.
  3. Extend your circuit analysis program to handle multiple voltages sources, such as the example below, and calculate the unknown node values. Display your results in a TextArea and use a MenuBar as in the previous assignment. Format your node variables to distinguish voltages from currents. In the example, there are four nodes and two voltage sources, so the matrix is 6 x 6 and the node voltages would be:
    V(1) = ***
    V(2) = ***
    V(3) = ***
    V(4) = ***
    
    
    The LTSpice version of this circuit can be downloaded from test6.zip
    R R1 1 2 100
    R R2 3 4 400
    R R3 2 0 500
    R R4 4 0 200
    V VA 1 0 9
    V VB 3 2 5
    

  4. Modify your earilier image display programs so that you can use a growbox to do the equivalent of imcrop in MATLAB. Your program should write out the cropped image to an output image file.
  5. Modify Convolve3 to calculate and display a laplacian filtered image. An example Lapacian filter is shown below:
      -1    6   -1
       6  -20    6
      -1    6   -1
    

    Notes:

    1. you should modify the output range for bipolar images.
    2. You should choose an appropriate scaling value.
    3. Here are some simple test images:

       

    4. Demonstrate with other images of your choosing.

  6. Modify the robot motion test2 program by adding a controller that allows the user to change the velocity of the robot only by calling the setVelocity method. The controller should open in a separate JFrame. The goal is to steer the robot around the screen. Provide instructions, if necessary, to explain how to operate the controller.

Reference

James G. Gotting, Matrix Analysis of Circuits Using MATLAB
Prentice-Hall, 1994. ISBN 0-13-127044-3.


Maintained by John Loomis, last updated 23 March 2019