Ich erzeuge ein Rechteckobjekt mit einem Eckpunkt, einer Höhe und einer Breite
Nun soll das ganze Ding gedreht werden:
Als Anhaltspunkt hab ich das hier Drehmatrix ? Wikipedia
Aber ich hab ja hier kein kartesisches Koordinatensystem. Da steh ich im Moment ziemlich auf dem Schlauch ... :rtfm:
Ich soll dazu noch die Methoden:
und
dürften das lösen.
Java:
import java.awt.Point;
public class Rechteck {
// Der Eckpunkt ist der obere , linke Punkt des Rechteckes
private Point eckPunkt;
private double hoehe;
private double breite;
// Rechteck: Konstruktor der alle Variablen der Klasse Rechteck setzt
public Rechteck(int x, int y, double hoehe, double breite) {
this.eckPunkt = new Point(x, y);
this.hoehe = hoehe;
this.breite = breite;
}
/* Rechteck: Es sollen sechs verschiedene Strecken erzeugt werden können
* Die Vier Kanten des Rechteckes und die zwei Diagonalen
* f soll daher hier wie eine ganzzahlige Zahl behandelt werden
*/
@Override
public Strecke generiereStrecke(float f) {
return null;
}
public static void main (String[] args) {
Rechteck rechteck = new Rechteck(3,3,2.0,4.0);
}
}
Nun soll das ganze Ding gedreht werden:
Die Methode soll das Objekt in 90 Grad Schritten drehen(daher den Eckpunkt oder PunktA. BeimCode:void drehen(int winkel)
Kreis macht eine Drehung keinen Unterschied)
Als Anhaltspunkt hab ich das hier Drehmatrix ? Wikipedia
Aber ich hab ja hier kein kartesisches Koordinatensystem. Da steh ich im Moment ziemlich auf dem Schlauch ... :rtfm:
Ich soll dazu noch die Methoden:
Die dürften aber nicht das große Problem darstellen,Die Methode soll das Objekt skalieren, daher die Breite und Höhe skalieren, den Radius skalierenCode:void skalieren(float f)
oder den Abstand von PunktB zu PunktA verändern.
Die Methode soll das Objekt um die in p angegebenen Koordinaten verschieben. Daher denCode:void verschieben(Point p)
Mittelpunkt, eckPunkt oder beide Punkte einer Strecke
Code:
höhe*x, breite*x
Code:
setEckPunkt(x, y)