|
Correct pivot rotation by
pressing arrow keys (as shown in working example program)
- Use keys other than arrow keys to change angle
- Either of the links does not rotate correctly
|
30 points
-5
-15
|
|
Correctly redraw arm when
window is resized
- If the arm is scaled when window is resized but
still works correctly
|
10 points
-5
|
|
Change length of
blocks
- If changing length of blocks changes link
angles unpredictably but mouse clicks still work with new lengths
- Link length goes negative
|
10 points
-5
-5
|
|
Solve for angles that
automatically move tip of green block to mouse location
- If works correctly in only some of the
quadrants (linked to atan2 use error)
- If the program doesn’t work when link lengths
are changed.
- If the click point too far from center hence
unreachable case is not handled
- If the click point too close to center hence unreachable case is not handled
|
30 points
-10
-10
-5
-5
|
|
Programming style (in line with the programming
guidelines)
- Comments and boilerplate
- Variable names and indentation
- Efficiency. Are we recomputing some numbers that have not
changed?
- Modularity and program structure. Do we have
separate methods for separate tasks?
|
20 points
-4
-4
-4
-4
|
|
Support arms made of three
blocks (extra credit)
- Only works for fixed link lengths
- Each boundary case (too close, too far ) not
handled
|
10 points
-5
-2 each
|
|
Correct pivot rotation by
pressing arrow keys (as shown in example program)
- Use keys other than arrow keys to change angle
- Either of the links does not rotate correctly
|
25 points
-5
-15
|
|
Correctly redraw arm when window
is resized
- If the arm is scaled when window is resized but
still works correctly
|
5 points
-2
|
|
Change length of blocks
- If changing length of blocks changes link
angles unpredictably but mouse clicks still work with new lengths
- Link length goes negative
|
5 points
-2
-2
|
|
Solve for angles that
automatically move tip of green block to mouse location
- If works correctly in only some of the
quadrants
- If program doesn’t work when link lengths are changed.
- If the click point too far from center hence
unreachable case is not handled
- If the click point too close to center hence unreachable case is not handled
|
25 points
-10
-10
-2
-3
|
|
Support arms made of three
blocks
- Only works for fixed link lengths
- Each boundary case (too close, too far ) not
handled
|
20 points
-15
-2 each
|
|
Programming style (in line
with the programming
guidelines)
- Comments and boilerplate
- Variable names and indentation
- Efficiency. Are we recomputing some numbers that have not
changed?
- Modularity and program structure. Do we have
separate methods for separate tasks?
|
20 points
-4
-4
-4
-4
|