Student’s NetID______________Student’s Name__________________Grader’s NetID________________ (netID == 3 letters, 3 digits: e.g. JET861 Please write clearly; make it easy to read)
CompSci 351-1 Grading Sheet: Project B Fall 2021
J. Tumblin 10/29/2021
_________10% In-Class Interactive Demo shown on ZOOM. Demonstrates multiple items listed on this page.
Copyright By PowCoder代写 加微信 powcoder
_________5% All file-naming correct, with clear illustrated PDF report with name, netID, title, goals, help, user- guide, 4 results pictures, and an (optional) sketch of your program’s scene-graph (transform tree).
_________ 5% Sensible, Complete On-Screen User Instructions: From the program’s on-screen display, even new users can quickly and easily identify and use all your program’s features and options without your help.
_________5% Ground-Plane Grid: Project shows horizontal ‘floor’ of repeated shapes or lines that extend nearly endlessly to all distant horizons, and thus let us easily assess changes to camera position and aiming direction. In the world coordinate system where +z is ‘up’, the ground plane at z=0 spans x,y coords that appear horizontal on-screen.
_________10% Animated, adjustable 3-Jointed, 4-Segment Assembly: draws at least one assembly of at least 4 rigid 3D parts connected by 3 or more sequential joints that move smoothly. Joint adjustments MUST NOT CHANGE any camera aiming or position, and camera adjustments and must not change any joint adjustments.
_________10% 4 or more Additional Multi-color 3D assemblies placed on top of the ground plane. Each with at least 3 different vertex colors specified on 1 or more triangles these items create an interesting ‘world’ to explore (fixed, non-moving joints are OK; flexing joints & traveling assemblies are better).
_________ 5% Draw 3D Axes (r,g,b == x,y,z): Draws 3D world-space coord. axes on-screen, and at least one more set of 3D axes to depict the coordinate system used for a rotating/translating joint or movable part in the 3D assembly.
_________10% Mouse-Drag Quaternion Rotations of rigid 3D part. At least one 3D part or shape positioned on ground-plane responds to mouse-dragging by quaternion rotation. Successive mouse-drags correctly accumulate rotations, so that the same mouse move always causes the same on-screen rotation, starting from any orientation.
_________5% Mouse-Drag Rotations work correctly at all viewpoints. On-screen rotation axes for the 3D part always appears to be perpendicular to the mouse-drag directions, and does not depend on camera position.
_________10% 2 Side-by-Side Viewports Divides entire browser window evenly into two (2) viewports that always fill browser window width and exactly 70% of the window height, yet will never squash/stretch contents as users re- size window for taller or wider images of any size. Browser resizing should NEVER invoke browser slider-bars! (HINT: unwanted slider bars appear spuriously? Try a small fixed-size border around the HTML-5 canvas object…).
_________10% with 35-degree vertical field-of-view (top-to-bottom) in left viewport, AND in right viewport; same eye-point, ‘look-at’ point, ‘up’ vector, ‘z-near’ and ‘z-far’ for both.
Orthographic camera width, height must match perspective camera’s view-frustum size measured at -z = (far-near)/3.
_________15% Smoothly adjustable 3D View Control: User interaction provides smoothly adjustable, unrestricted viewpoint control: be able to aim camera in any direction without changing position: be able to move forward/ backward in the gaze direction, and ‘strafe’ sideways left/right from any 3D position; (e.g. ‘glass cylinder’ or ‘ball’)
=========================================================================== _________2% extra credit: user adjustable asymmetric camera; make all 6 frustum parameters individually user- adjustable (left, right, top, bottom, near, far) with slider-bars or on-screen edit-boxes to enter numbers.
_________4% extra credit: User can switch Perspective camera to show view from camera attached to a 3D part at the end of the animated 3-joint, 4-part assembly. (e.g. camera attached to the end of a finger of a flexing robot-arm) _________2% extra credit: ‘flying-airplane’ navigation mode, where camera moves continuously but user can adjust: ‘throttle’ (sets forward velocity); rudder (sets yaw rate); and aileron (determines roll rate).
Perspective Camera
Orthographic Camera
=====================TOTAL POINTS/100 (30% of final grade)
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com