CS3388B Assignment 1

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due


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

发表评论

电子邮件地址不会被公开。 必填项已用*标注