Hier mal ein ASCII Strich ^^
Mit GIF Anitmation damit man auch sieht was passsiert
Und mein crazy Quellcode
#include < stdio.h > #include < math.h > #include < stdlib.h > #include < unistd.h > void gotoxy(int x,int y) { printf("%c[%d;%df",0x1B,y,x); } int main() { // Start / End Position des Striches float x1 = 0, x2 = 0, y1 = 0, y2 = 0; // Laufvariable int i = 0; // Y Wert der Geraden Gleichgung int y = 0; // Steigung und F(x) Achsenabschnitt float m = 0, b = 0; // Winkel float rad = 0; while(1) { system("clear"); // Neue x/y Positionen berechnen // Gerade hat einen Radius von 10 und ist um 25 in X und 15 in Y verschoben x1 = cos(rad) * 10 + 25; y1 = sin(rad) * 10 + 15; x2 = cos(rad+3.1415) * 10 + 25; y2 = sin(rad+3.1415) * 10 + 15; // um 1/16PI weiter drehen rad += 3.1415/16; // Steigung berechnen m = (y2-y1)/(x2-x1); // Achsenabschnitt berechnen b = y1-m*x1; // komische Schleife. // X1 kann groessr als X2 sein, daher lass schleife so lange laufen // bis x1 == x2 ist. Erhoehre oder erniedrige i je nachdem ob x1 groesser // x2 ist oder umgekehrt // Da nur ueber x Iteriert wird, ist bei einem senkrechten Strich nichts // zu sehen. Wenn die Hoehe des Striches groesser als die Breite ist, // sollte man ueber y Iterieren. for(i = (int)x1; i != (int)x2; x1>x2?i--:i++) { // Gerade Zeichnen y = m*i+b; gotoxy(i, y); printf("#"); } fflush(stdout); sleep(1); } }