Drehe eine diagonale Linie in einem 2D 3 x 3 Raster - Rotationsmatrix benötigt?

Ich baue eine Bibliothek zum Zeichnen von ASCII-Grafiken auf. Wenn ich ein 3 x 3-Diagramm habe, in dem jeder Punkt ein Pixel darstellt, beginnt eine Linie am Punkt0,0 und geht diagonal zu2,2 (Punkt links unten nach rechts oben).

Wenn ich die Leinwand zeichne, sieht es so aus:

2   /      Points: 2,0  2,1  2,2
1  /               1,0  1,1  2,1
0 /                0,0  1,0  2,0
  0 1 2

Ich möchte jetzt einen Algorithmus erstellen, der die Linie im Uhrzeigersinn nach rechts drehen kann. Wenn ich den Algorithmus also auf die Linie anwende, sollte das Ergebnis lauten:

2         Points: 2,0  2,1  2,2
1                 1,0  1,1  2,1
0 _ _ _           0,0  1,0  2,0
  0 1 2

Im Grunde wird die Linie um 45 Grad nach rechts gedreht, was zu einer horizontalen Linie führt.

Ich denke, ich brauche eine Rotationsmatrix dafür, wie in @ beschriebehttp: //mathworld.wolfram.com/RotationMatrix.htm aber die Mathematik ist ein bisschen über meinem Kopf.

Hat jemand eine einfache Erklärung, wie das bei meinem 2D-Koordinatensystem funktionieren würde, vielleicht in Pseudocode?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage