CGS2032:
Math, Art and Computing
Course
outline
1.
Pointillism and digital image (about 4 periods)
Instead of drawing objects by
objects, artists also paint small, distinct dots of pure color to form an
image. This technique requires
artists to view color independent of spatial relations within objects. And the viewer is able to blend the
color spots into a fuller range of tones and understand the art work. Similarly, when storing an image
in a computer, we use thousands of pixels.
Knowledge points:
A. Pointillism:
history and examples
B. Digital
image:
a. Color space
and color representation
b. Coordinate
system and image coordinates
C. Shapes:
point, rectangle, ellipses
Homework:
·
Design a pattern using rectangles and ellipses with
proper color
2.
Vanishing point and perspective camera model (about 5
periods)
Vanishing
points exist in many natural scene drawings for correct perspective
geometry. A perspective camera
model is also widely used in computer graphics, so objects in the distance
appear smaller than objects close by.
Knowledge points:
A. Vanishing points
in drawings:
a. One
vanishing point: up, down, Frontal
b. Multiple
vanishing points
B. Perspective
camera model
a. Perspective
projection calculation
b. Change
coordinate system
i.
Scale
ii.
Translate
iii.
Rotate
C. Other 2D
elements: lines, curves, quad, etc.
Homework:
·
Design a logo with 2D shapes
·
Draw a frontal perspective image
3.
Golden
ratio, Fibonacci number and loop (about 2 weeks)
Artists
believe that art work and architecture in the form of the golden rectangle is
aesthetically pleasing. The
golden ratio has also been used to analyze the proportions of natural objects
for a long time. Fibonacci sequence
is an interesting with linear recurrence whose closed form solution is
represented using golden ratio.
Knowledge points:
A. Golden
ratio in images and architectures
B. Golden
proportion in music
C. Golden
spiral
D. Fibonacci
sequences
E. Programming
concepts:
a. Conditions
b. For loop
Homework:
·
Design a pattern using golden spiral
·
Calculating Fibonacci sequences
4.
Periodic tessellation and Wallpaper (about 5 periods)
People use decorative patterns, periodic or aperiodic, as floor or wall covering. Artists also created many interesting
artworks with tessellations. When
using computer to generate such a patter, we just need to specify proper
variables and use nested loops
Knowledge points:
A. Tessellation
B. Work from
M. C. Escher
C. Repetitive
pattern creation
a. Tile design
and implementation
b. Nested
loops
D. Café
wall illusion
Homework:
·
Design a wallpaper, or poster with periodic
tessellation
5.
Asymmetric pattern and polar coordinate system (about
3 periods)
An asymmetric pattern does not contain large periodic
patches. Many approaches have been
proposed to generate asymmetric patterns.
Some of the patterns can be easily described in polar coordinate system.
Knowledge points:
A. Polar
coordinate system
B. Radial and
Spiral Tilings
C. Penrose
Tiles
D. Random
number and noise
Homework:
·
Design a penrose style
asymmetric tiling
·
Texturing an umbrella
6.
Kaleidoscope and image manipulation (about 3 periods)
A kaleidoscope uses mirrors to form beautiful symmetrical
designs. We can use a computer to
generate kaleidoscope images.
Knowledge points:
A. Image
representation
B. Rotating
part of an image
C. Transparent
setting
D. Image
composition
Homework:
·
Create an kaleidoscope image
7.
Fractal and recursive function (about 4 periods)
A fractal is a mathematical set that typically displays
self-similar patterns. Modern computing power makes it possible to show these
beautiful patterns. The idea of fractals
started with the notion of recursion, which naturally can be implemented
through recursive functions.
Knowledge points:
A. The idea of
fractal
B. Fractal
patterns
C. Fractal
music
D. L-system
E. Recursive
function
Homework:
·
Create a tree using a recursive function
·
Modify parameters of some fractal formulas to see the
change of pattern
8.
Encryption (about 3 periods)
Encryption
is to encode information so that un-authorized may not understand. Two simple methods, Caesar's method and
substitution cipher, replace plain text according to a regular system. Using arrays to store the conversion
table and implement these methods.
Knowledge points:
A. Encryption
and commonly used methods
B. Array and
multi-dimensional arrays
C. String class
D. Caesar's
method, substitution cipher and its implementation
Homework:
·
Design your own substitution cipher and implement it