CSC 151.01, Class 40: On Two-Dimensional Design
Overview
- Preliminaries
- Notes and news
- Upcoming work
- Extra credit
- Questions
- About the project
- Elements of design
- Relationships between design elements
- Some broader design principles
News / Etc.
- Continue partners.
- On Monday, sit where you’d like, we’ll be shifting around.
Upcoming Work
- No lab writeup!
- Readings for Monday:
- Exam 3
- Prologue due tonight!
- Exam due Tuesday night.
Extra credit (Academic/Artistic)
- The Barber of Seville, Monday, 17 April 2017, 7:30 p.m., Herrick
Extra credit (Peer)
- After spending this entire weekend doing Improv at a conference, Ritalin Test Squad will be doing 24 Hour Improv the upcoming Friday. They will be performing in Loose Lounge from 6pm Friday to 6pm Saturday. There may be other improv troupes performing with them. Guest appearances. Raffles.
- Baseball vs. Knox Saturday at noon or 2:30 p.m.
- Drag Show Saturday night.
- Attend the Art House Arts Fest on April 22nd. They want visual art, performance art, musical talent, crafting skills, culinary arts etc. If anyone is interested in participating they can email our Art House member.
- Elephant’s Graveyard, coming soon. Requires tickets!
- Kinetic Sculpture Competition, Saturday, 11:00 a.m., Bucksbaum Rotunda
Extra credit (Misc)
None right now.
Other good things to do
- Godspell, Friday, Saturday at 7:30 p.m., Sunday at 2:00 p.m. [sold out]
- Be moderate (even in working on CS)
Friday PSA
- You are awesome people.
- Take care of yourselves!
Questions
- Are there exam hints in yesterday’s review session notes?
- I believe so.
- How would I write a procedure,
random-something, that returns a random value - between 15 and 30, inclusive?
- There are 16 different values. So we’ll use
(random 16). (random 16)gives me an integer between 0 and 15, inclusive.- If we add 15, we get an integer between 15 and 30
(define random-something
(lambda ()
(+ 15 (random 16))))
- Will that help me on the turtle problem on the exam?
- Yes.
- If you have a vector that contains lists, can you change the size of
- those lists, even though the vector size cannot change?
- Kind of. You can build a longer list and put it in the vector.
> (define lists (vector (list 1 2 3) null (list 'a 'b)))
> lists
'#((1 2 3) () (a b))
> (vector-set! lists 0 (cons 'a (vector-ref lists 00)))
> lists
'#((a 1 2 3) () (a b))
> (vector-set! lists 2 (cdr (vector-ref lists 2)))
> lists
'#((a 1 2 3) () (b))
- When recursing over vectors, should you start at the front, the end,
- or somewhere in the middle?
- It depends on the problem.
- Often, as long as you are systematic, either end is fine.
- I tend to start at the back end and work toward the front.
- Can you show an example of going from boxes to a list?
- Sure. It won’t be on the eboard, though.
- Yes, you can take a picture.
Quiz
- Fun!
About the project
- We want to give you some freedom to explore (however, limited freedom)
- Multiple sets of requirements
- Generate “interesting” images
- Write good, general code
- Details: Write a procedure that generates a series of 1000 related
“interesting” images.
- You will take the number in the series as a parameter
- Your images should scale and work for different aspect ratios, so the width and height will also be parameters.
- You must use at least three distinct image-making techniques be parameters
- Image-making techniques
image-compute- nice for color blends and some other stuffimage-variantandimage-transform!- given an existing image, change part or all of the image- turtles. (Easy to scale, hard to stretch)
- Color swatches
- Drawings as values
- Gimp tools to draw lines and shapes (select, fill, brushes, etc.)
- Gimp tools to copy and paste (e.g., the Drella filter)