0 Daumen
5,5k Aufrufe

für eine kleine Programmieraufgabe (nein, ich bin kein Schüler oder Student, der das als Hausaufgabe bekommen hat) bräuchte ich Hilfe bei eine mathematische Frage. Gegeben ist folgendes Rechteck:

 

Dieses Rechteck möchte ich nun um die linke obere Ecke um beispielsweise 30° drehen. Das heißt, die Koordinate der linken oberen Ecke bleibt gleich, die Koordinaten der anderen drei Ecken verschieben sich. Wie kann ich die neuen Koordinaten berechnen? Im Internet habe ich verschiedene Lösungen gefunden, aber die basieren alle auf Matrizen. Da ich nur einen Realschulabschluss habe, übersteigt das leider meine mathematischen Kenntnisse. Daher wäre ich dankbar für konkrete Formeln (ohne Matrix, so dass ich die Formeln beispielsweise in einen Taschenrechner eingeben könnte) für die einzelnen Eckpunkte.

Die Größe des Rechtecks in der Abbildung und die Koordinaten sind reine Beispiele. Gegeben sind aber immer:
- Die Koordinaten (X und Y) der vier Ecken des Rechtecks
- damit auch die Breite und Höhe des Rechtecks
- der Drehwinkel, mit dem das Rechteck um die linke obere Ecke gedreht werden soll.


Für konkrete Hilfe ,
Sarek \\//_

Avatar von

2 Antworten

0 Daumen
Der Linke obere Punkt ist
P = [2, 14]

Der linke untere Punkt hat die Koordinaten

Q = [2, 4]

Damit ist der Vektor PQ = Q - P = [0, -10]

Wollen wir den jetzt um 30 Grad drehen können wir eine Drehmatrix nehmen

M = [COS(α), - SIN(α); SIN(α), COS(α)] mit α = 30 Grad = pi/6


PQ' = M * PQ = [COS(pi/6), - SIN(pi/6); SIN(pi/6), COS(pi/6)] * [0, -10] = [5, - 5·√3]

Damit ist der neue Punkt Q' = P + PQ' = [2, 14] + [5, - 5·√3] = [7, 14 - 5·√3] = [7, 5.340]


So kannst du eigentlich für alle Punkte vorgehen.
Avatar von 487 k 🚀
0 Daumen

Hallo Sarek,

dieselbe Aufgabe hatte ich mir schon einmal zum Programmieren
gestellt und auch eine Lösung gefunden.
Mathematisch:
- Umwandlung der kartesischen Korrdinaten in Polarkoordinaten
- Winkel mit dem Drehwinkel ändern
- Rückberechnung in kartesische Koordinaten

 

x, y : kartesische Koordinaten von Punkt P
r : Abstand des Punkts zum Koordinatenursprung
α : Winkel
---------------
Berechnung
α ( neu ) = α + Drehwinkel
y ( neu ) = sin [ α ( neu ) ] * r
x ( neu ) = √ ( r^2 - [ y ( neu )]^2 )

Ist der Drehpunkt nicht der Koordinatenursprung
muß noch etwas umgerechnet werden.

Hier eine Prozedur in Pascal für eine Drehung um x,y

procedure drehe ( x,y, drehwinkel : real ; var x_p,y_p : real ) ;

var alpha, delta_x,delta_y : real ;

begin
delta_x:= x - x_p ;
delta_y:= y -  y_p ;
r := sqrt ( delta_x^2 + delta_y^2 ) ;
alpha:= delta_y / r ; { sin von alpha }
alpha:= arcsin(alpha); { Umwandlung in Grad oder Bogenmass }
alpha:= alpha + drehwwinkel ;
delta_y : = sin ( alpha ) * r ;
delta_x := sqrt ( r^2 - delta_y^2 ) ;
y_p:= y + delta_y ;
x_p:= x + delta_x ;
end;

Bei Fragen wieder melden.
Bin gern weiter behilflich.

mfg Georg

Avatar von 123 k 🚀

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community