Forum: Algorithmen, Datenstrukturen und Klassendesign
by jfheins,
8. Feb 2014
N'abend :-)
Ja das sollte so passen. Freut mich auch, dass mein Ingenieursstudium anscheinend nicht umsonst war :stupid:
P.S.: Falls du auf das letzte Quäntchen Performance angewiesen bist, würde ich die Koeffizienten vorher berechnen und zwischenspeichern.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jfheins,
7. Feb 2014
Äh, ja man kann sich auch wieder mit Geradengleichungen und Steigungen herumärgern. (Und Sonderfälle für senkrechte Gerade einführen)
Ich habe mal die Formel oben einmal eingesetzt für den einen der zwei fehlenden Punkte. Mit c=cos(phi) und s=sin(phi) ergibt das:
P3x = c^2 P1x - c*s P1y + s^2 P2x + c*s P2y
P3y = -c*s P1x + s^2 P1y + c*s P2x + c^2 P2y
Man sieht: Es ändert sich eigentlich...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jfheins,
7. Feb 2014
Nope. Der Winkel lässt sich doch aus den Punkten berechnen.
Aber aus deiner Skizze geht hervor, dass du den Winkel zwischen der horizontalen und der oberen Seite meinst. dann passt's.
Ich würde das Koordinatensystem um den Winkel drehen. Danach suchst du das achsparallele Rechteck und dreht die neuen zwei Punkte wieder zurück.
Die Formel kannst du dann auch in eine Zeile schreiben und...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jfheins,
7. Feb 2014
Zwei Punkte definieren dir noch kein Rechteck, es sei denn es handelt sich um ein achsparalleles Rechteck. Andererseits schreibst du "schief".
Wie wär's mit einer Skizze?