Hallo
Es geht eigentlich nur drum, den Vektor p auf die neuen Achsen zu projizieren.
Sei der um alpha zu drehende Vektor p = [px,py] und die üblichen, normalen Koordinatenachsen ex = [1,0] und ey = [0,1].
Dann gilt ganz offensichtlich (Skalarprodukt ausrechnen):
px = p*ex
py = p*ey
Wenn man p auf die normalen Koordinatenachsen projiziert, erhält man die Koordinaten px und py.
Das ganze Spielchen funktioniert natürlich auch, wenn die Koordinatenachsen gedreht sind:
Seien ex' und ey' gedrehte Koordinatenachsen (siehe rechts, grün im Bild).
Projiziert man nun p auf ex' bzw. ey', erhält man die Koordinaten "vom gedrehten System aus betrachtet".
Es gilt analog zu oben:
px' = p*ex'
py' = p*ey'
Die Koordinaten im gedrehten System heissen also p'=[p*ex',p*ey'].
Nun muss man also nur noch ex' und ey' haben!
Die lauten ganz einfach: ex'=[cos(alpha),sin(alpha)] und ey'=[-sin(alpha),cos(alpha)].
Wieso? Wenn du dir die gedrehten Achsen im Einheitskreis aufzeichnest und die Winkel einzeichnest, siehst du es.
Mathematisch ohne Skizze:
1.) ex bildet mit ex' den Zwischenwinkel alpha, denn: ex*ex'=[1,0]*[cos(alpha),sin(alpha)]=cos(alpha), nach Definition des Skalarproduktes ist alpha also tatsächlich der Zwischenwinkel.
2.) ex'*ey'=0, d.h. ey' steht senkrecht zu ex'.
So, alles eingesetzt also:
px' = p*ex' = px*cos(alpha)+py*sin(alpha)
py' = p*ey' = -py*sin(alpha)+py*cos(alpha)
Falls jetzt die Vorzeichen mit oben nicht übereinstimmen macht das nichts; dann geht die Drehung halt einfach in die vekrehte Richtung.