CS3388B Winter 2022 Assignment 1
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
CS3388B Winter 2022 Assignment 1
The purpose of this assignment is to complete the Python class graphicsWindowfound in file graphicsWindow.py. You are asked to program a method drawLine(p1,p2,color) that draws a line in the image from point p1 to point p2with color color. The points p1 and p2 are expressed as matrices (x , y)T (column vectors). The color is a tuple of the form (r,g,b), where r,g,b are values between 0 and 255.
The method drawLine(p1,p2,color) must implement Bresenham's integer line drawing algorithm correctly, for lines of all slopes, and be properly documented (Header comments: description of parameters, what the method does, and description of output. Code comments: description of non-obvious sections of code).
• The class graphicsWindow is available in the Resources Section of OWL, under Python Programs
• Do not change file name nor the actual name of the graphicsWindow class
• Make sure your method drawLine(p1,p2,color) is actually called drawLine
• Respect the type and order of the parameters
• Use the program testAssignment1.py to test drawLine(p1,p2,color). This program is available in the Resources Section of OWL, under Python Programs
• The output of the test program should correspond exactly to the image assignment1Image.png.This image is available in the Resources Section of OWL, under Python Programs
• Use OWL to submit the file graphicsWindow.py, containing your method drawLine(p1,p2,color)
• Your code most run using Python 3.7 and (PyCharm 2018.2 or above) for this assignment. In addition PIL and numpy must be installed for the assignment to work correctly
Marking Scheme and Submission
• Working program (50%): A working program which satisfies all of the requirements automatically receives 50% of the total assignment mark. Each element of noncompliance will be penalized with respect to its severity
• Program Structure (25%): A program which follows the structured programming rules (procedural, modular, uses parameters) to perfection automatically receives 25% of the total assignment mark. Marks are deducted depending on severity and number of occurrences of non-compliant elements
• Program Documentation (15%): Documentation should be complete. That is to say, every non trivial part of the code should have a clear comment that explains it. In addition, every method or function, including the main program should have an explicative comment header. This header includes: module name, author, date of creation and purpose. A description of parameters and their classification as either input or output parameters. Marks are deducted according to the absence of these elements
• Program Style (10%): Style refers to Occam's razor principle. Code that is needlessly tricky, obscure, or difficult to read will be marked accordingly. Program text indentation is also an element of style and must be present. Significant constant, variable and structure names must be used. Marks are deducted on the basis of the frequency of these errors
• Submission: Through OWL exclusively. Only attachments are allowed
2022-01-26