辅导案例-ICP2036 A2

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
ICP2036 A2 - TESSELLATION Page 1 of 6
SCHOOL OF COMPUTER SCIENCE
Module: ICP2036
Department: School of Computer Science
Module credit: 10
Organiser: Prof. Jonathan C. Roberts

Assessment 2 - Pattern tessellation creator
Description
In this assessment you will develop a Processing program that demonstrates tessellations. The
tessellations must be determined from a smaller part that repeats. This part is named a tile, which then
will be repeated over the view output. In our case, our input tile will be a grid, and the output will be
a larger grid, which will then be displayed.

Background
Such tessellations are often known mathematically as Wallpaper Patterns. By changing the pattern
within the Tile, and also adapting how the tiles are mapped onto the main grid, you can alter the final
design. Simple patterns are created by regular mappings, while more complex patterns can be created
by alternating the mappings. Tessellations can employ different mathematical and geometric
transformations. In the examples in Figures 1,2 and 3 I use a simple Translate function to copy the
points of the Tile. But other transformations can be used, such as mirror, rotate, translate-and-rotate,
shift-and-scale, etc. In the 2D plane, mathematicians have discovered that there are 17 kinds of
symmetry patterns (known as 17 wallpaper groups).

The example in Figure 1 shows a 5x5 Tile, that is made from a binary grid 0’s and 1’s (showing a 4x4
set of 1’s). Figure 2 is another regular mapping, and shows a different pattern. It also is possible to
map different coloured Tiles (see Figure 3), use several Tiles, even non regular mappings. (Note, in
these examples, I have added a thin white line between the rectangles, so to make it clear that they are
individual squares – but in your output, you may wish to remove this line!)
Contribution of this assessment
This assessment contributes to 30% of the overall module mark.

Tasks & Requirements (in summary)

1) You will write a program that will implement a clearly written algorithm to make the patterns, it
will use a suitable model (storing the data), it will have a suitable interface to allow the user to
change and manipulate the tiles and patterns. Your program should be able to display several
different patterns, controlled by the tiles.
2) You will write a report You will show that you have thought about the algorithm, planned and
used at least one Critical Thinking Sheet with your report. And demonstrate that you have reflected
over your work.
3) You will create a video (screen recording) of your program running


ICP2036 A2 - TESSELLATION Page 2 of 6
SCHOOL OF COMPUTER SCIENCE
Tasks & Requirements for the program

Your program must have a Tile data structure (consisting of individual points), that is then
mapped across the larger Grid data structure, that is then displayed to the user as a pattern on
the screen. You will need to consider the size of the Tile, and the size of the output, and how you can
provide the interaction. You will need to think how the small Tile is mapped onto the larger output
display, and consider how to add colours.

Your program should be interactive, such to allow the user to change the patterning on the tile; and
control how it is repeated over the domain. You should explore different tessellation styles. You should
explore the number of Tiles; perhaps have two tiles, and then alternate each tile to make repeating
patterns. For example, Figure 4 shows different tile arrangements that may make some beautiful
patterns. Explore how to make the patterns complex and beautiful. You should explore how to make
a usable interface that will control the patterns. Think about colour, and how to make the tiles/output
colourful.

You should think carefully about implementation, and consider using the Model View Controller
(MVC) pattern.
• Where the View is the main screen that is tessellated with repeated tiles.
• The Controller allows the tiles to be changed by the user. This could be that the user clicks on
a small tile part to change its colour. Then a new pattern is generated.
• The Model holding your data needs to both hold a Tile, and the whole Data.

You could explore how to save the patterns to file. You could explore multiple tiles. You could
investigate non rectangle tiles (e.g., equilateral triangles and regular hexagon tiles also can be used to
create regular tessellations).

You should think about:
• Display and layout of the pattern
• Efficiency of calculation
• User interface controls, such as how the user determines the tile, how the mapping is made
across the pattern
• How to efficiently add colour, and enable colour to be re-coloured the tile is changed.
• Different tessellations.

ICP2036 A2 - TESSELLATION Page 3 of 6
SCHOOL OF COMPUTER SCIENCE

Figure 1. Example output of a very simple tessellation program. Showing a 5x5 Tile, and a 500x500
output grid. The Tile has been tessellated using a regular tessellation strategy to fill the whole grid.


Figure 2. By adapting the Tile, different patterns can
be created.

Figure 3. Colours could make it
interesting.

5x5 Tile
Output grid 500x500 points
ICP2036 A2 - TESSELLATION Page 4 of 6
SCHOOL OF COMPUTER SCIENCE


Figure 4. Example of some different mappings to arrange the tiles.

Tasks & Requirements for the report
Your program will have an accompanying brief report (about 2 or 3 pages).

The brief report (in Word or pdf format) should include the following information:

Description.
• A description of what you have implemented, explain your algorithms and any key code
discussed. An explanation of the functionality of your tool (it would be good to annotate your
screen shot to help you describe the functionality).
• At least one screen shot of your pattern.

A critical reflection
• You should reflect on what you have achieved (what works well, and what does not work so
well).
• The use of Critical Thinking Sheets were used, and how they were useful.
• This must be a “balanced critical reflection” on your work. I.eg., discuss any limitations with
your code and how you could overcome those limitations.
Tasks & Requirements for the video

Accompanying your implementation, you need to create a screen recording of your program running.
It needs to show your code running from the start, and presents you making different patterns.

Submission procedure

(1) Code as a ZIP, that contains everything to run the program.
(2) Code in a PDF file– that will go through TurnItIn. This is a concatenation of all your code into
one pdf.
(3) Report of your work (with sections above)
(4) Scan of your critical reflection sheet(s).
(5) Movie file of your program running, and showing your functionality.
ICP2036 A2 - TESSELLATION Page 5 of 6
SCHOOL OF COMPUTER SCIENCE
Plagiarism and Unfair Practice
Plagiarised work will be given a mark of zero. Remember when you submit you agree to the standard
agreement:
This piece of work is a result of my own work except where it is a group
assignment for which approved collaboration has been granted. Material from
the work of others (from a book, a journal or the Web) used in this assignment
has been acknowledged and quotations and paraphrasing suitably indicated. I
appreciate that to imply that such work is mine, could lead to a nil mark, failing
the module or being excluded from the University. I also testify that no
substantial part of this work has been previously submitted for assessment.
Late Submission
Work submitted within one week of the stated deadline will be marked but the mark will be capped at
40%. A mark of 0% will be awarded for any work submitted 1 week after the deadline.

For extensions, use Bangor’s extension request.

Marking Scheme
Please remember that marks are provisional until they are confirmed by a board of examiners.

The code, a pdf of all code, and report are to be uploaded to Blackboard by the deadline. If you use an
archive, please only use ZIP. The marking will take into consideration the five tasks and completeness,
correct use of Processing, correctness of code, method used (e.g. efficiency of method),
beauty/neatness of code and critical discussion of such points in the report.

Mark ranges:

>80, exceptional Tessellation program. Clear demonstrable understanding use of Processing.
Excellent design of the interface and the tool clearly demonstrates an exceptional understanding of
Processing. Outstanding development of the tessellations and manipulation of the tile. Superb use of
push/pop and exceptional use of colour scale. Overall an exceptional and well-designed tessellation
program that demonstrates a wide range of functionality that includes an exceptional and well thought
through User Interface that provides good interaction capability. The report is exceptional and
provides a comprehensive and clear critical analysis of the work performed. An exemplar solution
that could be used to demonstrate good practice of development to colleagues.

>70, good implementation that demonstrates a good understanding of the tessellation challenge. It
works well, and the user can change the values of the aggregation model. The report is comprehensive
and makes a good critical analysis of the work. Overall a very good solution to this assignment. The
program itself manipulates the tiles model well, adds comprehensive interaction capability and
provides a well-structured report that includes a good critical analysis of the work provided. Overall a
creative design and novel layout.

>60, a good implementation that demonstrates a good understanding of the tessellation assessment.
The code works effectively and the user can change the tile pattern, and some aspects of the output
design. Some limitations may exist in the work, such as: maybe the program does not provide many
different tessellation designs or the mappings are simple, however a good attempt made, and although
there may be some limitations with the program a comprehensive report (with an excellent and well
critiqued section) is included.
ICP2036 A2 - TESSELLATION Page 6 of 6
SCHOOL OF COMPUTER SCIENCE

> 50, appropriate demonstration of the challenge. Some attempt has been made to plot the tiles and
some attempt has been made to make the system interactive. Maybe full interactive functionality is
not provided, however the student demonstrates that they understand the processes required to achieve
the assignment and understand some of the challenges and some of the issues in displaying the
tessellated points. Even with these limitations the report is well presented, and their achievements are
well criticised and discussed. Limitations to the work are clearly presented in the report and the student
clearly understands what they have achieved and the limitations thereof. Overall, maybe some flaws,
but a reasonable submission.

>40, threshold performance. Demonstrates some understanding of commands and some idea of some
of the tessellation and demonstrates that a simple tessellated set of points has been attempted. Little
attempt has been made over making the plotting area interactive, and while the report is limited it does
include some discussion of some of the issues, and provides a basic critique of the work submitted.

<40 below threshold performance, with little demonstration of knowledge of the challenges.
Little thought has been made over this assessment, and understanding is confused.


Feedback details
Description Timeframe
Formative
(On-going)
Verbal Feedback – Verbal feedback will be available by
request at each lab session. It is suggested that you keep a
written note of this feedback to aid in your personal
development.
Instant
Summative
(Post Assessment)
Written Feedback – Written feedback will be made
available through blackboard.

To access your written feedback see the comments section
of your assignment submission.
3-4 weeks

51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468