
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
expand_more
expand_more
format_list_bulleted
Question
thumb_up100%
[java] Write a two-dimensional transformation library by implementing the following API:
public class PolygonTransform { // Returns a new array object that is an exact copy of the given array. // The given array is not mutated. public static double[] copy(double[] array) // Scales the polygon by the factor alpha. public static void scale(double[] x, double[] y, double alpha) // Translates the polygon by (dx, dy). public static void translate(double[] x, double[] y, double dx, double dy) // Rotates the polygon theta degrees counterclockwise, about the origin. public static void rotate(double[] x, double[] y, double theta) // Tests each of the API methods by directly calling them. public static void main(String[] args) }
![1. Polygon transform
polygon is defiıned by its sequence of vertices (xo, y o), (x 1, y 1), (x 2, Y 2), .... In Java, we will represent a polygon by storing the x- and y-
Write a library of static methods that performs various geometric transforms on polygons. Mathematically, a
coordinates of the vertices in two parallel arrays x[] and y[].
(1, 2)
(0, 1)
// Represents the polygon with vertices (0, 0), (1, 0), (1, 2), (0, 1).
double x[ ]
double y[]
{0, 1, 1, о };
{0, о, 2, 1 };
%3D
(0, 0)
(1, 0)
Three useful geometric transforms are scale, translate and rotate.
o Scale the coordinates of each vertex (x i, Y i) by a factor a.
Xi = a X¡
yi = a y
o Translate each vertex (x , Y ) by a given offset (dx, dy).
X; = X¡ + dx
Yi = Yi + dy
o Rotate each vertex (x ;, y ) by 0 degrees counterclockwise, around the origin.
X¡ = Xj Cos 0– y sin 0
Yi = Y cos e + x¡ sin 0](https://content.bartleby.com/qna-images/question/801e7fe1-493b-4a36-a14c-4533a3782dfd/c599bff4-06ab-41a1-b6f6-a51f40b05fba/xf7j2oi_thumbnail.png)
Transcribed Image Text:1. Polygon transform
polygon is defiıned by its sequence of vertices (xo, y o), (x 1, y 1), (x 2, Y 2), .... In Java, we will represent a polygon by storing the x- and y-
Write a library of static methods that performs various geometric transforms on polygons. Mathematically, a
coordinates of the vertices in two parallel arrays x[] and y[].
(1, 2)
(0, 1)
// Represents the polygon with vertices (0, 0), (1, 0), (1, 2), (0, 1).
double x[ ]
double y[]
{0, 1, 1, о };
{0, о, 2, 1 };
%3D
(0, 0)
(1, 0)
Three useful geometric transforms are scale, translate and rotate.
o Scale the coordinates of each vertex (x i, Y i) by a factor a.
Xi = a X¡
yi = a y
o Translate each vertex (x , Y ) by a given offset (dx, dy).
X; = X¡ + dx
Yi = Yi + dy
o Rotate each vertex (x ;, y ) by 0 degrees counterclockwise, around the origin.
X¡ = Xj Cos 0– y sin 0
Yi = Y cos e + x¡ sin 0
![Note that the transformation methods scale(), translate() and rotate() mutate the polygons. Here are some example test cases (tests
for copy () are not shown):
// Scales polygon by the factor 2.
StdDraw.setScale(-5.0, +5.0);
double[] x = { 0, 1, 1, 0 };
double[] y = { 0, 0, 2, 1 };
double alpha
StdDraw.setPenColor(StdDraw.RED);
StdDraw.polygon(x, y);
scale (x, y, alpha);
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.polygon(x, y);
|// Translates polygon by (2, 1).
StdDraw.setScale(-5.0, +5.0);
double[] x =
double[] y = { 0, 0, 2, 1 };
double dx = 2.0, dy
StdDraw.setPenColor(StdDraw.RED);
StdDraw.polygon(x, y);
translate(x, y, dx, dy);
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.polygon(x, y);
|// Rotates polygon 45 degrees.
StdDraw.setScale(-5.0, +5.0);
double[] x = { 0, 1, 1, 0 };
double[] y = { 0, 0, 2, 1 };
double theta = 45. 0;
StdDraw.setPenColor(StdDraw.RED);
StdDraw.polygon(x, y);
rotate(x, y, theta);
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.polygon(x, y);
{ 0, 1, 1, 0 };
= 2.0;
= 1.0;
(0, 0)
(0, 0)
(0, 0)](https://content.bartleby.com/qna-images/question/801e7fe1-493b-4a36-a14c-4533a3782dfd/c599bff4-06ab-41a1-b6f6-a51f40b05fba/nznolim_thumbnail.png)
Transcribed Image Text:Note that the transformation methods scale(), translate() and rotate() mutate the polygons. Here are some example test cases (tests
for copy () are not shown):
// Scales polygon by the factor 2.
StdDraw.setScale(-5.0, +5.0);
double[] x = { 0, 1, 1, 0 };
double[] y = { 0, 0, 2, 1 };
double alpha
StdDraw.setPenColor(StdDraw.RED);
StdDraw.polygon(x, y);
scale (x, y, alpha);
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.polygon(x, y);
|// Translates polygon by (2, 1).
StdDraw.setScale(-5.0, +5.0);
double[] x =
double[] y = { 0, 0, 2, 1 };
double dx = 2.0, dy
StdDraw.setPenColor(StdDraw.RED);
StdDraw.polygon(x, y);
translate(x, y, dx, dy);
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.polygon(x, y);
|// Rotates polygon 45 degrees.
StdDraw.setScale(-5.0, +5.0);
double[] x = { 0, 1, 1, 0 };
double[] y = { 0, 0, 2, 1 };
double theta = 45. 0;
StdDraw.setPenColor(StdDraw.RED);
StdDraw.polygon(x, y);
rotate(x, y, theta);
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.polygon(x, y);
{ 0, 1, 1, 0 };
= 2.0;
= 1.0;
(0, 0)
(0, 0)
(0, 0)
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 3 images

Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- I need to add 7 and 8 to my code below.... Compare and contrast the array and arrayList. Give at least one example that describe when to use arrayList compared to an array. package javaSvanos; import java.util.Scanner; public class module3project { public static void main(String args[]) { String name; double weight; int height_feet; int height_inch; String birth_date; try (Scanner sc = new Scanner(System.in)) { try { System.out.println("Hello! Please enter the name of the patient:\t"); name = sc.nextLine(); System.out.println("Please enter the weight of the patient (in lbs):\t"); weight = sc.nextInt(); System.out.println("Please enter the height of the patient (feet):\t"); height_feet…arrow_forwardIn java Define and create an array (called emps) of object references for objects of class Employee of length 100. (b) Create three objects for classes SalariedEmp, WeeklyEmp, and HourlyEmp (where these 3 classes are subclasses of class Employee); and with references e1, e2, e3 for the 3 objects:(c) Assign e1,e2, e3 to the first three elements of array emps:(d) Print the earnings of the 100 employee in the array emps in one loop (with polymorphism) where earnings are calculated with method earnings():arrow_forwardimport java.util.Scanner; public class LabProgram { public static Roster getInput(){ /* Reads course title, creates a roster object with the input title. Note that */ /* the course title might have spaces as in "COP 3804" (i.e. use nextLine) */ /* reads input student information one by one, creates a student object */ /* with each input student and adds the student object to the roster object */ /* the input is formatted as in the sample input and is terminated with a "q" */ /* returns the created roster */ /* Type your code here */ } public static void main(String[] args) { Roster course = getInput(); course.display(); course.dislayScores(); }} public class Student { String id; int score; public Student(String id, int score) { /* Student Employee */ /* Type your code here */ } public String getID() { /* returns student's id */…arrow_forward
- Java Foundations Consider the following Java method to reverse an array, i.e. rearrange its elements to the opposite order. An array containing {1, 3, 5} would contain {5, 3, 1} after being reversed. public static void arrayReverse(int[] array) { int le, ri; for (le = 0, ri = array.length - 1; le < array.length / 2; le++, ri--) { int temp = array[le]; array[le] = array[ri]; array[ri] = temp; } } Write the worst-case runtime efficiency of arrayReverse in BigOh notation.arrow_forwardpublic class ArraySection { static void arraySection(int a[], int b[]) { int k = 0; int [] c = new int[a.length]; for(int i = 0; i < a.length; i++) { for(int j = 0; j < b.length; j++) if(a[i] == b[j]) c[k++] = a[i]; } for(int i = 0; i < k; i++) System.out.println(c[i]); System.out.println(); } public static void main(String[] args) { int a[] = { 1, 2, 3, 4, 5 }; int b[] = { 0, 2, 4,5 }; arraySection(a,b); }} Calculate the algorithm step number and algorithm time complexity of the above program?arrow_forwardPlease help with this java problemarrow_forward
- Check if Array Elements are Consecutive in Java. Given an array, we need to check if array contains consecutive elements. For example: Input: array[] = {5, 3, 4, 1, 2} Output: true As array contains consecutive elements from 1 to 5 Input: array[] = {47, 43, 45, 44, 46} Output: true As array contains consecutive elements from 43 to 47 Input: array[] = {6, 7, 5, 6} Output: false As array does not contain consecutive elements.arrow_forwardQ5. a) Write a java program to demonstrate the use of mutable objects to find the Perimeter of a rectangle using Point (10,4) .Perimeter = 2(length+ breadth). b) What is the purpose of a garbage collector?arrow_forwardNeed some help with a Java problemarrow_forward
- Answer the given question with a proper explanation and step-by-step solution. ANSWER IN C++arrow_forwardNeed some help with this java Problemarrow_forwardDefine a two-dimension array with 10 rows and 2 columns in java does this look correct? I think I am missing something import java.util.Scanner; import java.util.Arrays; public class MainClass { public static void main(String[] args) { int[][] students = new int [10][2]; for(int i = 0; i < 10; i++) { for(j = 0; j < 2; j++) { students[i][j] = input.nextInt(); }arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education

Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education