ECE 538 Assignment 8

Your submission should follow our general guidelines. Please follow object-oriented principles. Include an executable jar file for each program.

  1. 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 JMenuBar 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 values would be:
    V(1) = ***
    V(2) = ***
    V(3) = ***
    V(4) = ***
    I(1) = ***
    I(2) = ***
    
    The LTSpice version of this circuit can be downloaded from test6.zip
    R1 1 2 100
    R2 3 4 400
    R3 2 0 500
    R4 4 0 200
    VA 1 0 9
    VB 3 2 5
    

  2. 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.

  3. Modify your Java program from previous assignments so that you can also select and draw wires with a mouse, using growline. The netlist description of a wire could be
    W  x1 y1 ... xn yn
    

  4. Modify the bouncing balls program so that you can control the coefficient of restitution with a GUI item in the North or South position of the border layout.

  5. Modify the robot motion test1 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.

  6. Implement at least three Java Swing user-interface demos from the Java Swing tutorial (see SwingUI reference).

  7. Modify your circuit drawing program so that you can generate a .wmf of the circuit. Your Wmf must have MapMode, WindowOrigin, and WindowExtent records, so that it opens properly in Powerpoint.


Maintained by John Loomis, last updated 29 March 2017