Question
PE1.java contains the following code: package ProgrammingExam1; import java.awt.Color; public class PE1 { public static void main(String[] args) { Draw blankCanvas = new Draw(Programmign Exam
PE1.java contains the following code:
package ProgrammingExam1;
import java.awt.Color;
public class PE1 {
public static void main(String[] args) {
Draw blankCanvas = new Draw("Programmign Exam 1");
blankCanvas.point(0.7, 0.7);
blankCanvas.circle(0.5, 0.5, 0.5);
blankCanvas.square(0.5, 0.5, 0.4);
blankCanvas.setPenColor(new Color(150, 150, 150));
blankCanvas.line(0.0, 0.5, 1, 0.5);
}
public static String nestedCircle (double x, double y, double radius, double diff, Draw page, String radiusList) {
// your code goes here. Task 1
return "";
}
public static String squares (double x, double y, double halfLength, int order, Draw page) {
// your code goes here. Task 2
return "";
}
public static ArrayList
// your code goes here. Task 3
return new ArrayList
}
}
class Point {
double x;
double y;
public Point(double x, double y) {
// your code goes here. Task 0
}
public static Point midpoint(Point p1, Point p2) {
// your code goes here. Task 0
return new Point(0, 0);
}
public String toString() {
return "["+this.x + ", "+ this.y +"]";
}
}
Problem Description: There is a robot on an assembly line whose job is to take a plate of different materials (i.e. metal, plastic, wood, etc.) and drill a number of holes in it at specific (x, y) coordinates, or draw a geometric shapes on the plate. These plates are later used for a variety of applications. As a very simple example, to make a mold for making chocolate boxes, the robot has drawn the following shapes, where the brown, red and cream color shapes are used to place dark, strawberry and chocolate respectively. As a more complex example, the robot is commanded to draw and drill an electronic circuit board to show where resistors, capacitors etc. should be soldered. See the image below that was taken from Wikimedia as an example. In this assignment, you are going to write recursive functions that command this robot to draw different shapes or drill at different coordinates in a plate. How to Draw? First, let's see a couple of examples of how you can draw different shapes. In the starter code, we have provided a complete documentation of how you can draw a point, line, square and circle. Play with these methods by changing their input parameters and see how they work. You can also change the pen color in case it helps you in debugging the code. Please note that we do not execute your main() method to check for the correctness of your code. Instead, we run Junit tests that call your method and check the output. This means you must stick to the format that is provided for you. (i.e. you do not change the input parameters of the method or methods' name etc.) Task 0: This task has no marks but without it, the rest of your code would not work. You should complete class Point, by implementing a constructor that initializes the x and y coordinate of a point. Then you should implement the midpoint () method that returns a Point, which is in the middle of two given points. The coordinates of the middle point should be cut to two decimal points. e.g. 0.38764 should be converted to 0.38. Problem Description: There is a robot on an assembly line whose job is to take a plate of different materials (i.e. metal, plastic, wood, etc.) and drill a number of holes in it at specific (x, y) coordinates, or draw a geometric shapes on the plate. These plates are later used for a variety of applications. As a very simple example, to make a mold for making chocolate boxes, the robot has drawn the following shapes, where the brown, red and cream color shapes are used to place dark, strawberry and chocolate respectively. As a more complex example, the robot is commanded to draw and drill an electronic circuit board to show where resistors, capacitors etc. should be soldered. See the image below that was taken from Wikimedia as an example. In this assignment, you are going to write recursive functions that command this robot to draw different shapes or drill at different coordinates in a plate. How to Draw? First, let's see a couple of examples of how you can draw different shapes. In the starter code, we have provided a complete documentation of how you can draw a point, line, square and circle. Play with these methods by changing their input parameters and see how they work. You can also change the pen color in case it helps you in debugging the code. Please note that we do not execute your main() method to check for the correctness of your code. Instead, we run Junit tests that call your method and check the output. This means you must stick to the format that is provided for you. (i.e. you do not change the input parameters of the method or methods' name etc.) Task 0: This task has no marks but without it, the rest of your code would not work. You should complete class Point, by implementing a constructor that initializes the x and y coordinate of a point. Then you should implement the midpoint () method that returns a Point, which is in the middle of two given points. The coordinates of the middle point should be cut to two decimal points. e.g. 0.38764 should be converted to 0.38Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started