Wir wollen eine Klasse Rechteck entwerfen, die es erlaubt, verschiedenste Operationen für achsenorientierte Rechtecke auszuführen. Wir repräsentieren ein Rechteck durch seinen Mittelpunkt (cx , cy) und durch seine Länge l und Breite b. Wir wollen ein Rechteck verschieben und drehen können, seinen Flächeninhalt bestimmen und den Schnitt mit anderen Rechtecken berechnen können.

    1. Schreiben Sie einen Konstruktor der Form __init__(self, cx, cy, l, b) und eine Memberfunktion __str__(self), die die Intervalldarstellung [ux, ox]x[uy, oy] des Rechteckes als String erzeugt.
    2. Schreiben Sie eine Funktion rotiere(self), die ein um 90° um den Mittelpunkt gedrehtes Rechteck erzeugt und eine Funktion verschiebe(self, tx, ty), die ein um (tx, ty) verschobenes Rechteck erzeugt.
    3. Schreiben Sie eine weitere Memberfunktion schnitt(self, other), die das Schnittrechteck zwischen den beiden Rechtecken erzeugt. Des Weiteren wird noch eine Funktion flaeche(slef) zur Berechnunf des Flächeninhalts benötigt.

Scaffold Foot
Start time:
Mi 14 Jun 2017 18:00:47
End time:
Di 20 Jun 2017 14:00:48
General test timeout:
10.0 seconds

Tests

Comment prefix #
Given input
Expected output
------------- Rechtecke -------------
[507.0|521.0] x [970.0|982.0]
[-1.0|13.0] x [2.0|6.0]
[1.5|14.5] x [-0.5|12.5]
[-2.5|4.5] x [0.5|1.5]
[-1.5|7.5] x [-2.5|6.5]
[5.0|5.0] x [3.0|9.0]
[-1.0|1.0] x [-2.0|2.0]
[-5.0|9.0] x [0.5|1.5]
[2.5|5.5] x [6.5|15.5]
[-5.0|9.0] x [-4.5|10.5]
[-4.5|8.5] x [8.0|18.0]
[1.0|13.0] x [3.0|11.0]
[-3.5|11.5] x [8.5|11.5]
[-5.0|5.0] x [6.0|10.0]
[1.0|13.0] x [4.5|5.5]
[2.0|4.0] x [-2.0|6.0]
[-3.5|5.5] x [-3.5|7.5]
[2.0|8.0] x [3.5|10.5]
[-1.5|13.5] x [-6.0|6.0]
[7.0|13.0] x [5.5|12.5]
[-4.5|8.5] x [-5.5|7.5]
[1.5|10.5] x [7.5|10.5]
[4.0|4.0] x [0.5|7.5]
[-3.5|3.5] x [-2.5|2.5]
[1.5|2.5] x [-3.5|11.5]
[-6.0|8.0] x [-3.0|5.0]
[-2.0|12.0] x [0.5|11.5]
[5.0|5.0] x [2.5|11.5]
[-2.0|2.0] x [0.0|0.0]
[0.0|4.0] x [-0.5|8.5]
[-1.0|3.0] x [0.5|3.5]
[-5.5|9.5] x [-3.5|11.5]
[8.5|19.5] x [-2.5|12.5]
[-4.0|10.0] x [3.0|3.0]
[8.5|17.5] x [0.0|6.0]
[-1.5|5.5] x [1.5|16.5]
[1.0|3.0] x [1.0|13.0]
[-7.0|7.0] x [-4.0|6.0]
[9.5|12.5] x [-0.5|6.5]
[-5.0|7.0] x [-5.5|9.5]
[3.0|3.0] x [1.0|11.0]
[0.0|0.0] x [-6.0|6.0]

------------- Verschobene/ Gedrehte Rechtecke -------------
[509.3|523.3] x [971.3|983.3]
[1.3|15.3] x [3.3|7.3]
[3.8|16.8] x [0.8|13.8]
[-0.2|6.8] x [1.8|2.8]
[0.8|9.8] x [-1.2|7.8]
[7.3|7.3] x [4.3|10.3]
[1.3|3.3] x [-0.7|3.3]
[-2.7|11.3] x [1.8|2.8]
[4.8|7.8] x [7.8|16.8]
[-2.7|11.3] x [-3.2|11.8]
[-4.5|8.5] x [8.0|18.0]
[1.0|13.0] x [3.0|11.0]
[-3.5|11.5] x [8.5|11.5]
[-5.0|5.0] x [6.0|10.0]
[1.0|13.0] x [4.5|5.5]
[2.0|4.0] x [-2.0|6.0]
[-3.5|5.5] x [-3.5|7.5]
[2.0|8.0] x [3.5|10.5]
[-1.5|13.5] x [-6.0|6.0]
[7.0|13.0] x [5.5|12.5]
[-4.5|8.5] x [-5.5|7.5]
[1.5|10.5] x [7.5|10.5]
[4.0|4.0] x [0.5|7.5]
[-3.5|3.5] x [-2.5|2.5]
[1.5|2.5] x [-3.5|11.5]
[-3.0|5.0] x [-6.0|8.0]
[-0.5|10.5] x [-1.0|13.0]
[0.5|9.5] x [7.0|7.0]
[0.0|0.0] x [-2.0|2.0]
[-2.5|6.5] x [2.0|6.0]
[-0.5|2.5] x [0.0|4.0]
[-5.5|9.5] x [-3.5|11.5]
[6.5|21.5] x [-0.5|10.5]
[-4.0|10.0] x [3.0|3.0]
[8.5|17.5] x [0.0|6.0]
[-1.5|5.5] x [1.5|16.5]
[-4.0|8.0] x [6.0|8.0]
[-5.0|5.0] x [-6.0|8.0]
[7.5|14.5] x [1.5|4.5]
[-9.5|5.5] x [-9.0|3.0]
[0.0|0.0] x [-4.0|6.0]
[0.0|0.0] x [-6.0|6.0]

------------- Schnitt von Rechtecke  -------------
None
[3.8|15.3] x [3.3|7.3]
[3.8|6.8] x [1.8|2.8]
[0.8|6.8] x [1.8|2.8]
[7.3|7.3] x [4.3|7.8]
None
[1.3|3.3] x [1.8|2.8]
None
[4.8|7.8] x [7.8|11.8]
[-2.7|8.5] x [8.0|11.8]
[1.0|8.5] x [8.0|11.0]
[1.0|11.5] x [8.5|11.0]
[-3.5|5.0] x [8.5|10.0]
None
[2.0|4.0] x [4.5|5.5]
[2.0|4.0] x [-2.0|6.0]
[2.0|5.5] x [3.5|7.5]
[2.0|8.0] x [3.5|6.0]
[7.0|13.0] x [5.5|6.0]
[7.0|8.5] x [5.5|7.5]
[1.5|8.5] x [7.5|7.5]
[4.0|4.0] x [7.5|7.5]
None
[1.5|2.5] x [-2.5|2.5]
[1.5|2.5] x [-3.5|8.0]
[-0.5|5.0] x [-1.0|8.0]
[0.5|9.5] x [7.0|7.0]
None
[0.0|0.0] x [2.0|2.0]
[-0.5|2.5] x [2.0|4.0]
[-0.5|2.5] x [0.0|4.0]
[6.5|9.5] x [-0.5|10.5]
[6.5|10.0] x [3.0|3.0]
[8.5|10.0] x [3.0|3.0]
None
[-1.5|5.5] x [6.0|8.0]
[-4.0|5.0] x [6.0|8.0]
None
None
[0.0|0.0] x [-4.0|3.0]
[0.0|0.0] x [-4.0|6.0]

------------- Fläche der Rechtecke -------------
168
56
169
7
81
0
8
14
27
210
130
96
45
40
12
16
99
42
180
42
169
27
0
35
15
112
154
0
0
36
12
225
165
0
54
105
24
140
21
180
0
0