week 8 monday what did we talk about last time stddraw
play

Week 8 - Monday What did we talk about last time? StdDraw The - PowerPoint PPT Presentation

Week 8 - Monday What did we talk about last time? StdDraw The following methods can be used to draw lines and points Method Use void line(double x0, double y0, Draw a line from (x0,y0) to double x1, double y1) (x1,y1) void


  1. Week 8 - Monday

  2.  What did we talk about last time?  StdDraw

  3.  The following methods can be used to draw lines and points Method Use void line(double x0, double y0, Draw a line from (x0,y0) to double x1, double y1) (x1,y1) void point(double x, double y) Draw a point at (x,y)

  4.  Here are some methods for drawing circles and squares and setting the color for doing so: Method Use void circle(double x, double y, double r) Draw a circle centered at (x,y) with radius r void filledCircle(double x, double y, Draw a filled circle centered at (x,y) double r) with radius r void square(double x, double y, double r) Draw a square centered at (x,y) with edges 2r void filledSquare(double x, double y, Draw a filled square centered at double r) (x,y) with edges 2r void setPenColor(Color c) Start drawing with color c

  5.  We just want to make a pattern of black and white squares on the screen  Hint: We need two loops

  6.  A number of methods are given to give us more control over the display Method Use void setXscale(double x0, double x1) Set the x scale void setYscale(double y0, double y1) Set the y scale void setPenRadius(double r) Set the pen radius void setCanvasSize(int w, int h) Set canvas size void clear() Clear canvas to white void clear(Color c) Clear canvas to color c void pause(int delay) Delay for delay ms

  7.  As you have seen, the default scale of the canvas is in the range [0,1] for both x and y  We can use the setXscale() method to set the minimum and maximum x values  We can use the setYscale() method to set the minimum and maximum y values  Useful for plotting functions

  8.  Note that changing the scale doesn't change the size of the window, just what is shown in it  If you want to change the size of the window, use the setCanvasSize() method to set the width and the height of the canvas in terms of screen pixels

  9.  The pause() method lets you specify a delay in milliseconds before things are drawn on the screen  You can use it to slow down or speed up animations  To use it right, you need to first call StdDraw.enableDoubleBuffering()  Then, whenever you want to actually show all the drawing that's been done, you call StdDraw.show()  Doing so draws everything off-screen and then shows it all at once, which is both more efficient and more attractive for animations

  10.  Can we simulate a cannon being fired?  Let the user enter an initial velocity in m/s  Let the user an angle between 0° and 90°  Assume each iteration takes 1/10 of a second  Assume an initial height of 20 m  We draw the path of the cannon ball as it flies through the air  Let's also set the x and y scales to both be [0,100]

  11.  Plotting functions is really useful  Getting smooth curves is hard  Instead, we just pick a whole bunch of x points and figure out the function value  We can just draw dots to plot those values  We can connect them with lines for a more connected look  Let's write some code to draw cubic polynomials

  12. 1. Ask the user for the coefficients of the four terms ( ax 3 + bx 2 + cx + d ) 2. Ask the user for an x range 3. Run through the function and find the minimum and maximum y values hit 4. Rescale the drawing area to show everything 5. Plot the function

  13.  Keep reading Chapter 8  Static methods

  14.  Keep reading Chapter 8 of the textbook  Keep working on Project 3  Due next Friday

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend