Question: In java, using the StdDraw class, make a bouncing ball animation in a triangle, NOT a box. Below is the example of the bouncing ball

In java, using the StdDraw class, make a bouncing ball animation in a triangle, NOT a box.

Below is the example of the bouncing ball animation in a box. It needs to be altered to a triangle:

public class Ball { // instance variables private double rx, ry; // position private double vx, vy; // velocity private final double radius; // radius // constructor public Ball() { rx = 0.0; ry = 0.0; vx = StdRandom.uniform(-0.015, 0.015); vy = StdRandom.uniform(-0.015, 0.015); radius = StdRandom.uniform(0.025, 0.075); } // bounce of vertical wall by reflecting x-velocity private void bounceOffVerticalWall() { vx = -vx; } // bounce of horizontal wall by reflecting y-velocity private void bounceOffHorizontalWall() { vy = -vy; } // move the ball one step public void move() { if (Math.abs(rx + vx) + radius > 1.0) bounceOffVerticalWall(); if (Math.abs(ry + vy) + radius > 1.0) bounceOffHorizontalWall(); rx = rx + vx; ry = ry + vy; } // draw the ball public void draw() { StdDraw.filledCircle(rx, ry, radius); } // test client public static void main(String[] args) { // create and initialize two balls Ball b1 = new Ball(); Ball b2 = new Ball(); // animate them StdDraw.setXscale(-1.0, +1.0); StdDraw.setYscale(-1.0, +1.0); StdDraw.enableDoubleBuffering(); while (true) { StdDraw.clear(StdDraw.GRAY); StdDraw.setPenColor(StdDraw.BLACK); b1.move(); b2.move(); b1.draw(); b2.draw(); StdDraw.show(); StdDraw.pause(20); } } } 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!