Question: Following the insturction to make Junit test basic on the code: insturction: Translate a pixel's row to the associated x-coordinate in the fractal (1 test
Following the insturction to make Junit test basic on the code:
insturction:
Translate a pixel's row to the associated x-coordinate in the fractal (1 test per fractal) [4 * 5 points = 20 points]
Translate a pixel's column to the associated y-coordinate in the fractal (1 test per fractal) [4 * 5 points = 20 points]
Code:
package edu.ccs; import javax.swing.*;
public class EscapeTimeAlg extends JFrame { //Variables used in Escape Time Algorithm Calculation private double xCalc, yCalc, Dist; private int Passes; //Array that will store all x and y values in the Range double[][] Frac; //Array that will store the result of EscapeTime Algorithm private int[][] Result; //Constructor class that receives the range of x and y values public EscapeTimeAlg(double xMin, double xMax, double yMin, double yMax ){ setSize(513,513); setTitle("Fractals"); setDefaultCloseOperation(1); // setVisible(true); reset(xMin, xMax, yMin, yMax); } public void reset(double xMin, double xMax, double yMin, double yMax ){ xCalc = 0; yCalc = 0; Dist = 0; Passes = 0; double constx = (Math.abs(xMax) + Math.abs(xMin))/ 512; double consty = (Math.abs(yMax) + Math.abs(yMin))/ 512; Frac = new double[2][512]; for(int i = 0; i< 512; i++){ Frac[0][i] = xMin +(constx * i); Frac[1][i] = yMin +(consty * i); Result = new int[512][512]; }}
//Implementation of Mandelbrot sets public int[][] Mandelbrot(){ for(int x = 0;x <512;x++){ xCalc= Frac[0][x]; double Ox = xCalc; for(int y = 0;y <512;y++){ yCalc= Frac[1][y]; double Oy = yCalc; Dist = Math.sqrt(Math.pow(xCalc, 2) + Math.pow(yCalc, 2)); Passes =0; while(Dist <= 2 && Passes <255) { double oldx = xCalc; xCalc = Math.pow(oldx, 2) - Math.pow(yCalc, 2)+ Ox; yCalc = 2 * oldx * yCalc + Oy; Passes++; Dist = Math.sqrt(Math.pow(xCalc, 2) + Math.pow(yCalc, 2)); } Result[x][y] = Passes;}} return Result; }
public int[][] Julia(){ for (int x = 0 ;x<512;x++){ xCalc = Frac[0][x]; for (int y=0;x<512;y++){ yCalc= Frac[1][y]; Dist = Math.sqrt(Math.pow(xCalc, 2)+Math.pow(yCalc, 2)); Passes =0; while(Dist <=2 && Passes<255) { double oldx = xCalc; xCalc= Math.pow(xCalc,2) - Math.pow(yCalc,2) + (-0.72689); yCalc= 2 * oldx * yCalc + 0.188887; Passes++; } Result[x][y]=Passes;}} return Result; }
public int[][] BurningShip(){ for(int x=0; x< 512; x++){ xCalc = Frac[0][x]; double Ox = xCalc; for(int y =0; y<512;y++){ yCalc = Frac[1][y]; double Oy = yCalc; Dist = Math.sqrt(Math.pow(xCalc, 2)+ Math.pow(yCalc, 2)); Passes =0; while(Dist <= 2 && Passes < 255 ) { double _oldx = xCalc; xCalc = Math.pow(xCalc,2) - Math.pow(yCalc,2) + Ox; yCalc = Math.abs(2* _oldx* yCalc) + Oy; Passes++; Dist = Math.sqrt(Math.pow(xCalc, 2) + Math.pow(yCalc, 2)); } Result[x][y] = Passes;}} return Result; }
public int[][] Multibrot(){ for(int x = 0;x <512;x++) { xCalc= Frac[0][x]; double Ox = xCalc; for(int y = 0;y <512;y++) { yCalc= Frac[1][y]; double Oy = yCalc; Dist = Math.sqrt(Math.pow(xCalc, 2) + Math.pow(yCalc, 2)); Passes = 0; while(Dist <= 2 && Passes <255) { double oldx = xCalc; xCalc = Math.pow(xCalc, 3) - (3* xCalc * Math.pow(yCalc, 2)) + Ox; yCalc = (3* Math.pow(oldx, 2)* yCalc) - Math.pow(yCalc, 3) + Oy; Passes++; Dist = Math.sqrt(Math.pow(xCalc, 2) + Math.pow(yCalc, 2)); } Result[x][y] = Passes; }} return Result; } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
