Presentation is loading. Please wait.

Presentation is loading. Please wait.

Vertices, Curves, Color, Images mostly without details 02/16/2010.

Similar presentations


Presentation on theme: "Vertices, Curves, Color, Images mostly without details 02/16/2010."— Presentation transcript:

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()


Download ppt "Vertices, Curves, Color, Images mostly without details 02/16/2010."

Similar presentations


Ads by Google