Two-Dimensional Arrays and Nested Loops – part 5

Slides:



Advertisements
Similar presentations
Georgia Institute of Technology Drawing in Java – part 2 Barb Ericson Georgia Institute of Technology September 2005.
Advertisements

Conditionals-part11 Barb Ericson Georgia Institute of Technology Nov 2009.
Georgia Institute of Technology Two-Dimensional Arrays and Nested Loops – part 6 Barb Ericson Georgia Institute of Technology August 2005.
TOPIC 9 MODIFYING PIXELS IN A MATRIX: COPYING, CROPPING 1 Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach.
CSE 8A Lecture 8 Reading for next class: None Prepare for In-term exam 2 PSA4: Collage and Picture Flip, DON’T WAIT (it’s longer than the previous PSAs)
NestedLoops-part31 Nested Loops – part 3 Barb Ericson Georgia Institute of Technology Nov 2009.
How to use the Java class libraries Brief documentation of how to do this all with Java.
TOPIC 7 MODIFYING PIXELS IN A MATRIX NESTED FOR LOOPS 1 Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by.
NestedLoops-part11 Nested Loops – part 1 Barb Ericson Georgia Institute of Technology Nov 2009.
CSC1401 Viewing a picture as a 2D image - 1. Review from the last week We used a getPixels() to get all of the pixels of a picture But this has been somewhat.
02-RangesInPictures1 Barb Ericson Georgia Institute of Technology Oct 2010 Working with ranges in pictures.
UsingSoundRanges-part21 Processing Sound Ranges part 2 Barb Ericson Georgia Institute of Technology Oct 2009.
TOPIC 11 RETURNING VALUES FROM METHODS PICTURE TRANSFORMATIONS 1 Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach.
NestedLoops-Mod7-part31 Two-Dimensional Arrays and Nested Loops – part 3 Bugs in the garden Originally by Barb Ericson Georgia Institute of Technology.
Georgia Institute of Technology Two-Dimensional Arrays and Nested Loops – part 5 Barb Ericson Georgia Institute of Technology August 2005.
NestedLoops-part41 Nested Loops – part 4 Barb Ericson Georgia Institute of Technology Nov 2009.
NestedLoops-Mody7-part51 Two-Dimensional Arrays and Nested Loops – part 5 Rotations Barb Ericson Georgia Institute of Technology May 2007.
Conditionals-Mod8-part41 Conditionals – part 4 Replace background Barb Ericson Georgia Institute of Technology May 2007.
Conditionals-part21 Conditionals – part 2 Barb Ericson Georgia Institute of Technology Nov 2009.
Georgia Institute of Technology Drawing in Java – part 3 Barb Ericson Georgia Institute of Technology September 2006.
Georgia Institute of Technology Conditionals – part 2 Barb Ericson Georgia Institute of Technology August 2005.
NestedLoops-part21 Nested Loops – part 2 Barb Ericson Georgia Institute of Technology Nov 2009.
CSC 112Introduction to Media Computation 1 Rotating Images.
Conditionals-Mod8-part21 Conditionals – part 2 Edge Detection Barb Ericson Georgia Institute of Technology May 2007.
ManipulatingPictures-part31 Manipulating Pictures, Arrays, and Loops part 3 Barb Ericson Georgia Institute of Technology Nov 2009.
Georgia Institute of Technology Two-Dimensional Arrays and Nested Loops – part 2 Barb Ericson Georgia Institute of Technology August 2005.
NestedLoops-Mod7-part61 Two-Dimensional Arrays and Nested Loops – part 6 Enlarge Barb Ericson Georgia Institute of Technology August 2005.
Georgia Institute of Technology Drawing in Java – part 2 Dr Usman Saeed Assistant Professor Faculty of Computing and Information Technology North Jeddah.
Georgia Institute of Technology Two-Dimensional Arrays and Nested Loops – part 4 Barb Ericson Georgia Institute of Technology August 2005.
Barb Ericson Georgia Institute of Technology September 2005
Topic 9 Modifying Pixels in a Matrix: Copying, Cropping
Georgia Institute of Technology
Barb Ericson Georgia Institute of Technology Dec 2009
Manipulating Pictures, Arrays, and Loops part 3
Georgia Institute of Technology
Barb Ericson Georgia Institute of Technology August 2005
Workshop for Programming And Systems Management Teachers
Barb Ericson Georgia Institute of Technology August 2005
Manipulating Pictures, Arrays, and Loops part 2
Manipulating Pictures, Arrays, and Loops part 2
Georgia Institute of Technology
Working with ranges in pictures
Manipulating Pictures, Arrays, and Loops
Barb Ericson Georgia Institute of Technology August 2005
Two-Dimensional Arrays and Nested Loops – part 1
Barb Ericson Georgia Institute of Technology August 2005
Test 2 on Wed, 11/9 On image processing
Manipulating Pictures, Arrays, and Loops part 5
Two-Dimensional Arrays and Nested Loops – part 2
Two-Dimensional Arrays and Nested Loops – part 1
Georgia Institute of Technology
Gray Scale picture def pixBW(pixel): # given a pixel, change to BW
Manipulating Pictures, Arrays, and Loops part 4
Manipulating Pictures
Two-Dimensional Arrays and Nested Loops – part 4
Two-Dimensional Arrays and Nested Loops – part 3
Two-Dimensional Arrays and Nested Loops – part 6
Two-Dimensional Arrays and Nested Loops – part 2
Manipulating Pictures, Arrays, and Loops
Manipulating Pictures, Arrays, and Loops
Two-Dimensional Arrays and Nested Loops – part 6
Georgia Institute of Technology
Manipulating Pictures, Arrays, and Loops
Processing Sound Ranges part 2
Manipulating Pictures, Arrays, and Loops part 6
CSC1401 Viewing a picture as a 2D image - 2
Two-Dimensional Arrays and Nested Loops – part 6
Barb Ericson Georgia Institute of Technology May 2006
Manipulating Pictures, Arrays, and Loops part 6
Barb Ericson Georgia Institute of Technology September 2005
Presentation transcript:

Two-Dimensional Arrays and Nested Loops – part 5 Georgia Institute of Technology

Georgia Institute of Technology Learning Goals Understand at a conceptual and practical level How to copy one picture to another so that the first picture is rotated 90 degrees left or right How to simplify a problem How to come up with an algorithm to solve a problem How to test the algorithm Georgia Institute of Technology

Georgia Institute of Technology Left Rotation How can you copy one picture onto another so that the first picture is rotated to the left 90 degrees? Georgia Institute of Technology

Georgia Institute of Technology Left Rotation 1 2 First simplify the problem by thinking about how to copy when each pixel has a number at it Can you come up with an algorithm for this? 1 2 3 4 5 6 1 1 3 6 2 5 1 4 1 2 Georgia Institute of Technology

Georgia Institute of Technology Left Rotation Try out your algorithm on another example Does it work? Can you translate it into code? 1 2 3 5 6 7 8 1 2 3 4 1 1 1 2 3 Georgia Institute of Technology

Georgia Institute of Technology Left Rotation 1 2 To rotate an image left 90 degrees still copy all the pixels But they go to different locations in the target Column values become row values target x = source y target y = source width -1 – source x 1 2 3 4 5 6 1 1 3 6 2 5 1 4 1 2 Georgia Institute of Technology

Left Rotation Algorithm Create the target picture object Invoke the method on the target picture Create the source picture object Loop through the source x Loop through the source y Get the source pixel at the x and y values Get the target pixel with the x equal the source y value and the y equal the source picture width – 1 minus the source x Copy the color from the source pixel to the target pixel Georgia Institute of Technology

Georgia Institute of Technology Left Rotation Method public void copyKatieLeftRotation() { String sourceFile = FileChooser.getMediaPath("KatieFancy.jpg"); Picture sourcePicture = new Picture(sourceFile); Pixel sourcePixel = null; Pixel targetPixel = null; int targetX, targetY = 0; // loop through the columns for (int sourceX = 0; sourceX < sourcePicture.getWidth(); sourceX++) Georgia Institute of Technology

Copy Katie Left Rotation // loop through the rows for (int sourceY = 0; sourceY < sourcePicture.getHeight(); sourceY++) { // set the target pixel color to the source pixel color sourcePixel = sourcePicture.getPixel(sourceX,sourceY); targetX = sourceY; targetY = sourcePicture.getWidth() – 1 – sourceX; targetPixel = this.getPixel(targetX,targetY); targetPixel.setColor(sourcePixel.getColor()); } Georgia Institute of Technology

Georgia Institute of Technology Testing Left Rotation String file = FileChooser.getMediaPath( “7inX95in.jpg”); Picture p = new Picture(file); p.show(); p.copyKatieLeftRotation(); p.repaint(); Georgia Institute of Technology

Georgia Institute of Technology Right Rotation How can you copy one picture onto another so that the first picture is rotated to the right 90 degrees? Georgia Institute of Technology

Georgia Institute of Technology Right Rotation 1 2 Assume that each pixel holds one number This is the result of a right rotation on this 2-d array Can you create an algorithm for this? 1 2 3 4 5 6 1 1 4 1 5 2 6 3 1 2 Georgia Institute of Technology

Georgia Institute of Technology Right Rotation Try out your algorithm on another example Does it work? Can you translate it into code? 1 2 3 5 6 7 8 1 2 3 4 1 1 1 2 3 Georgia Institute of Technology

Georgia Institute of Technology Right Rotation 1 2 To rotate an image right 90 degrees still copy all the pixels But they go to different locations in the target Column values become row values target y = source x target x = source height – 1 – source y 1 2 3 4 5 6 1 1 4 1 5 2 6 3 1 2 Georgia Institute of Technology

Right Rotation Exercise Write the method to rotate the picture of Katie to the right instead of to the left Try out the method String file = FileChooser.getMediaPath(“7inX95in.jpg”); Picture p = new Picture(file); p.show(); p.copyKatieRIghtRotation(); p.repaint(); Can you make the method more general? To work on any picture? Georgia Institute of Technology

Georgia Institute of Technology Summary To copy one picture to another with the first picture rotated You need to change the targetX and targetY You should simplify a problem And try to solve it by hand Then come up with an algorithm for solving it And then try it on another example Georgia Institute of Technology