Download presentation
Presentation is loading. Please wait.
Published byArabella Thornton Modified over 8 years ago
1
Vertices, Curves, Color, Images mostly without details 02/16/2010
2
Shapes Shape –Interesting geometric structure –General outline In processing beginShape() endShape() No translation within a shape
3
Vertices and Modes Vertex –Corner point of a polygon –Interesting point in a shape Modes –POINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS, QUAD_STRIPPOINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS, QUAD_STRIP –CLOSECLOSE
4
Catmull-Rom splines “Vertices” specified with curveVertex Control points –First and last “vertices” –Give the initial and final curves
5
Bézier curves Normally –Every third point is anchor –First and final points are anchors –All other points are control For first anchor vertex( ax, ay ) For remaining controls and anchor triples bezierVertix( cx 1, cy 1, cx 2, cy 2, ax, ay ) ;
6
Bézier tricks For a sharp turn –Use the last anchor as the next control For a closed shape –Make the first and final anchors the same For a straight line –Just use a plain vertex
7
Late breaking news Scalable Vector Graphics (SVC) –XML for drawing 2D graphics PShape –Processing library using SVG SVG editors –Illustrator –OpenOffice –Amaya
8
Mathematical functions Square –sq(x) → x 2 Square root –sqrt(x) → x 0.5 Exponentiation –pow(x, y) → x y
9
Normalization norm(value, low, high) –How far between low and high is value? –The result is between 0.0 and 1.0 lexp(low, high, amt) –Reverses norm –Amt is between 0.0 and 1.0 map(value, low1, high1, low2, high2) –Maps between two value ranges
10
Normalization math norm(value, low, high) –(value-low)/(high-low) lexp(low, high, amt) –amt*(high-low)+low map(value, low1, high1, low2, high2) –lexp(norm(value,low1,high1),low2,high2)
11
Why normalization? In Spring 2010, Embedded Systems –Arduino board reads a number based on how far a hand is held above an infrared sensor –Processing translates this to a “paddle” position in pongpong A thermin works similarlythermin Useful is scaling information for display
12
Color Models colorMode(RGB, 255);RGB // processing's default color model // used almost exclusively in // computer science applications colorMode(HSB, 360, 100, 100);HSB // hue, saturation, value(brightness) // used predominately in art, available // in most graphics and animation packages My first somewhat buggy Java applet
13
Hexadecimal color Web standards may use hex Hex digits –0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Base 16 –A8 is 10*16 + 8 or 168 In web # notation –six hex digits gives three numbers from 0 to 255 –#808000 is 128, 128, 0 Or olive as an HTML color nameHTML color name
14
A short little lab Start with something like the following size(800, 600) ; for (int x=0; x<width; ++x) { for (int y=0; y<height; ++y) { stroke(map(x+y, 0, width+height, 0, 255)) ; point(x, y) ; }
15
What to try Modify the program to vary color Use more interesting variations –Make the red value depend on x or x-y Use sq and sqrt to obtain a “non-linear” color transition –Something like sq(x) rather than x+y
16
Using an image In processing IDE –Add an image to the environment In processing code –Load the image –Display the image –Tint the image
17
Adding the image In the processing IDE –Sketch » Add File… –Select an image file Download one from www.unca.edu if you wantwww.unca.edu Image file will be packaged with program
18
Displaying the image In your processing program –Declare an PImage object –Load the file into the PImage object –Display the image with image() image() Something like the following size(300, 500) ; PImage bandImg ; bandImg = loadImage("SC-RangersOpt.jpg") ; image(bandImg, 0, 0) ;
19
Trying it out Display an image Make a collage of two images Use tint() to color your image tint()
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.