Ask Question, Ask an Expert

+1-415-315-9853

info@mywordsolution.com

Ask Programming Language Expert

The Problem and Requirements

In this Project your task is to create a program that displays various levels of the fractal structure of the so called square shaped Sierpinski-carpet. The display of level 4 is shown below:

503_square shaped Sierpinski-carpet.jpg

  • GUI has two buttons to control level, one of them increases, the other decrease this parameter. The buttons are hosted by the panel at the NORTH region. Approximate fractal is shown at the CENTER region.
  • To draw a given level all the smaller levels down to 1 must also be drawn, each four times on the divided smaller squares, hence a recursive drawing method must be implemented.
  • Level 1 is just a yellow background square with no dividing blue strips. At level 2 the yellow square appears to be divided into four smaller squares by the vertical and a horizontal strip colored blue.
  • At each step to the next level each yellow square is further divided by narrower blue strips.
  • The size of the blue strips is always decreased by same proportion.
  • Increase the level until yellow regions disappear and take note of the highest level at which yellow is still visible.

Analysis and Design
You have to define two classes: Fractal and Application for this program.
Fractal

  • This class is responsible for the GUI (the frame and the graphics) and for running the recursive drawFractal( ) method.
  • Fractal extends JFrame and implements ActionListener.
  • Fractal has an inner class Centerthat extends JPanel. It represents the center panel and the graphics on it. The innerclass implements the paint method which in turn calls the drawFractal( ) method.
  • Data fields (suggested) :

i) num, denom; publicintegers for the numerator and denominator of the shrinkage ratio

ii) point; a Point reference variable. Point is class in java.awt with two public int fields x and y. Point objects make it easier to reference points on the screen. Being public, direct references point.x and point.y are available for the coordinates; point always identifies the upper left corner of the current (sub)square in the fractal

iii) width, hight; int variables for the dimensions of the current square in the fractal (NOT the dimensions of the frame)

iv) level; int to store the fractal level
v) up, down; JButtons

  • Methods:

i) changeFractal( ) ; sets the title of the whole frame showing the current level; instantiates a Center object (inner class) and adds the object to the pane; calls setVisible( )
ii) actionPerformed( ); mandatory for the buttons; adjusts the level value according to the button clicks and calls changeFractal( )
iii) makeWindow( ) builds and displays frame as shown on a template (without the colored fractal); registers the buttons; use 700, 800 when you set the size
iv) drawFractal( ); takes five parameters as follows: a Graphics reference, a Point reference, integers for level, width and height; the method needs three local variables for Point references: top, side, inside. These reference the upper left corners of the three new smaller squares at the upper right, lower left and lower right positions. Having the three new points and the width and length values determined according to the shrinkage ratio, the method calls itself four times using the four new sets of parameters. Note that the upper left corner of the upper left square is the same as the point reference of the caller method. Do not forget to handle the base case and the coloring
v)
Constructor; takes four parameters to initialize the Point object, width, length and level; calls the makeWindow( ) method

 Application:

This class has the main method where you:

  • declare and instantiate a Fractal object; initialize the fields with the parameters new Point(60,60), 600, 600, 0

  • initializenum and denom to 9 and 20.

 Documentation and Style:

The program should conform with the Java Documentation and Style Requirements as set by the Computer Science Department. Emphasis will be placed on having the required banner and internal comments, indentation, and overall professional appearance. Comments must be clearly written with correct grammar and spelling.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M9296

Have any Question? 


Related Questions in Programming Language

A software company microoffice has produced four

A software company MicroOffice has produced four generations of Word Processing Applications, called Word90, Word00, Word10, and Word15. Suppose you are writing a program to test their GUIs. The GUI components we are int ...

Write a program that prompts the user to enter length and

Write a program that prompts the user to enter length and width dimensions for each room in a proposed house so that total floor space can be calculated for the entire house. After each length/width entry, ask the user i ...

Assignmenta talent competition has 5 judges each of whom

Assignment A talent competition has 5 judges, each of whom awards a score Resolved Question: A talent competition has 5 judges, each of whom awards a score between 0 and 10 to each performer. Fractional scores, such as 8 ...

Programming computer science assignmmentprogramming1

Programming Computer Science Assignmment Programming 1) Explain the difference between an event and an event handler. Provide at least two examples of an event. 2) Explain how an animation uses still images and loops to ...

Lab 1a box of cookies can hold 24 cookies and a container

Lab 1 A box of cookies can hold 24 cookies, and a container can hold 75 boxes of cookies. Write a program that prompts the user to enter the total number of cookies, the number of cookies in a box, and the number of cook ...

Along with your name include your student id and discussion

? Along with your name, include your student ID# and discussion section at the top of your Assignment. ? There are eight problems; we will go over them in dicussion section after the due date. ? The textbook in this cont ...

Write a program which1 asks the user to enter a letter

Write a program which: 1. Asks the user to enter a letter grade (A, B, C, D, F) or (a, b, c, d, f) 2. Validates that the entry is a letter grade (A, B, C, D, F) or (a, b, c, d, f) 3. The program then asks the user to ent ...

Programming assignmentthis question has two parts a and

Programming Assignment This question has two parts (a) and (b): Develop a program to read in five exam-scores (in the range of 0-100) of a student in HIST220 class. (a) You program should compute and store in memory the ...

Now consider the outer loop of given figure consisting of

Now consider the outer loop of given figure, consisting of blocks B2, B3, B4, and B5. Let g be the transfer function for the loop body, from the entry of the loop at B2 to its exit at B5. Let i measure the number of iter ...

Assignmenthomework assignments must be individuals original

Assignment Homework assignments must be individual's original work. Discussion without taking notes will be fine, but collaborations will not be tolerated. Dishonesty will result in an automatic F grade and a formal char ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro

Describe what you learned about the impact of economic

Describe what you learned about the impact of economic, social, and demographic trends affecting the US labor environmen