Subato

Resource Files

Quadrate

In dem Modul Analysis sind Sie mit einer Figur aus Quadraten konfrontiert worden. Es werden dabei an den Seiten eines Quadrats zentriert weitere Quadrate angesetzt, die ein drittel der Kantenlänge haben.
Auch diese Figur lässt sich als Polygon beschreiben. Folgende Abbildung gibt ein Beispiel dieser Quadratfigur mit einer Tiefe von 2 (zweimal wurden neue Quadrate an die Quadratseiten zentriert angesetzt) und einer Weite von 300.
Beispielfigur
Schreiben Sie eine Unterklasse SquaresObject der Klasse PolygonObject. Sie habe folgenden Konstruktor:
public SquaresObject(int depth, Vertex corner, double width, Vertex velocity)
  • Der erste Parameter (depth) gibt an, wie viele oft rekursiv an Kanten neue Quadrate angefügt werden sollen.
  • Der zweite den oberen Eckpunkt eines die Figur umschließenden Quadrats.
  • Der dritte die Weite und Höhe der Gesamtfigur.
Die Hauptschwierigkeit dieser Aufgabe liegt darin, die Kantenlänge des innersten Quadrats zu berechnen, so dass die Gesamtfigur in die vorgegebene Weite passt.
Den Flächeninhalt, der durch die Methode size() berechnet wird, darf für die Figur vernachlässigt werden.
Wenn die Rekursionstiefe der Figur 0 ist, so ist sie ein Quadrat.

package name.panitz.oose.ws17; public class SquaresObject extends PolygonObject{ int depth; public SquaresObject(int depth,Vertex corner,double width,Vertex velocity){ //TODO super,... } @Override public String toString() { return "new SquaresObject("+depth+", new Vertex"+corner+", " +width+", new Vertex"+velocity+")"; } @Override void initPolygon() { //TODO Die Punkte der Figur ins Polygon einfügen // Berechnung der Kantenlänge des inneresten Quadrats double oo = 1; for (int i = 1;i<=depth;i++){ oo += 2/Math.pow(3, i); } //w ist die Kantenlänge des inneren Quadrats int w = (int)(width/oo); // definieren Sie dann eine rekursive Hilfsmethode, die Sie für alle // vier Seiten des innersten Ausgangsquadrats aufrufen } }
java
You are not logged in and therefore you cannot submit a solution.