[csu540-f05-rpf] Anonymized comments on *all* PA3 projects

Robert Futrelle futrelle at ccs.neu.edu
Sun Oct 23 15:43:35 EDT 2005

Notes on PA3 grading
10/23/05 - csu540f05 - Graphics

Anonymized collection of all notes sent to students.
Some overly specific info deleted, along with names, of course;
order scrambled. The grades and comments might not appear to
correlate closely, but the grades are based on the code,
javadoc, screenshots, etc. - more than just the aspects
covered by the comments.

  -- Prof. Futrelle

Good Readme
Six views - a good variety
Could have used Java 5 w. Generics (no points lost)
The strategy for terminating the recursion
   should  be described.
Lots of good transform work.
Minimal javadoc, didn't even change author, version
   or display them in javadoc (points off)

Grade 97

Run spell check on your notes:
   "deffently" NOT should be definitely, as in finite
   "screanshots" NOT (as in screen, not as in scream, or ice cream)
Readme much too short
   and extra note not informative
I had to compile your code,
   no class files.
Javadoc incomplete and modest
   you didn't even remove the "TODO"
   section of the javadoc it (Eclipse?) gave you.
You didn't translate sun to screen center
Not a great assignment, but some things worked.

Grade 80

Readme is fine, explained your screenshots.
You only ever rotated around z, so you never
   got views from any distinct vantage point -
   you were always viewing along the same axis.
   You never filled out the code for rotations
   around the x and y axes. They still have
   "TO BE COMPLETED" as comments.
You have no javadoc for the classes,
   RTSimplestRaytrace, RTDrawer, and RTGUI.
   Your javadoc comments are rather minimal.
You defined separate x, y, and z fields instead
   of using Vec everywhere. Not good practice.
Your objects are spheres, 3D, not "circles",
   which are 2D objects.
No need to keep an entire array of t values,
   since you're do a ray at a time, testing
   t values for all objects that ray hits.
   The next ray has independent tests, so you'll
   never use the previous tValues[i][j] item ever again.
Various methods, such as traceOne() and doTrace()
   have no javadoc comments at all. Explain what they do.
Not a great piece of work.  You need to bring up
   your work quality a couple of levels.

Grade 86

Only had rotation around a single axis
   not enough to move planets and also
   change view. (points off)
You just moved all around a single axis, rigidly.
'a' through 'j' are not informative variable names.
    better short ones could be
    dx, dy, dz; ex, ey, ez; cx, cy, cz, and rsq.
    Longer names than this would be more useful.
    You could have skipped the get() and set() for
    such simple things, used d.x, d.y, etc.
    java.awt.Point is done that simple way - public x, y fields.

Grade 89

The two shots made it clear that you moved planets
You needed to update author, version beyond just RPF.
I see you're using generics, Java 5.
Could have used {....} notation to init matrices.
All, in all, pretty good.
Readme and note fine.

Grade 99

Screenshots good.
Oblique view good.
Used separate methods and separate
  transform objects - good modularity.
Good javadocs.

Grade 100

Good javadoc - thanks!
Good Readme - but didn't have your name in it.
Good and clear screenshots.
You had commented out tests - good,
   but you don't have to comment them out if
   you're running a main in another class.
Fine project.

Grade 100

You clearly rotated the planets independently.
But you only had a single view of the entire
   system other than one that appeared to be just
   a translation.
You used a large set of fields for each separate
   planet in RTSimplestRaytrace rather than having
   them in an array or collection - pretty crude.
Javadoc:  Only class with more than zero or
   minimal comments appears to be TinyRayTrace.
   Not great.
You failed in a basic way by not comparing t values
  to see if you had gotten a ray hit closer to the eye
  than some previous hit.  You used a planet "priority"
  instead of geometry.  But ray tracing is all about
  geometry.  You'll need to do t testing in your project,
  so you'd better figure it out soon.
Looks like you got yourself into a time squeeze on PA3.
   You won't be able to afford to start late on your
   final project portions.

  Grade  88

Your screenshots show both rotations and views.
   No moons, but that's OK.
Readme is fine.
Some of your Mat javadoc says "TO BE COMPLETED"
   even though you completed it.
Rest of the javadoc rather thin.
You could have made better use of arrays or collections
   rather than the awkward branching on 'a' iteration values.
   Your approach was awkward and had many more lines of
   code than you needed.
Using a different variable for each planet was the
   start of these problems.  Just put the planets in
   an array or collection and iterate over them.

Grade 91

More information about the csu540-f05-rpf mailing list