Also ich hab ein LC-Display der mit nem M16 betrieben wird. Linien und Rechtecke und Texte gehen. Aber mit dem Kreis hab ich so meine Probleme. So ganz rund schaut er halt nicht aus. Hat irgendjemand vielleicht schon eine Funktion in C geschrieben die nen schoenen Kreis zeichnet. Danke Jochen
Hallo Jochen, das Problem hatte ich 'damals' auch schon mal, das lag aber einfach daran das die Pixel nicht gleich hoch wie breit waren... Gruss Andre
Dein LC-Display muß ein Grafik-Display sein, alpha-numerische Displays sind nur für Buchstaben und Zahlen.
Tripper: Das ist schon ein Grafik display. Hast du vielleicht eine Funktion die einen Kreis macht
Einen Kreis kann man auf zweierlei Methoden beschreiben: A) X=SIN(a)*R ; Y=COS(a)*R X,Y sind die Koordinaten der zu setzenden Punkte, a läßt man von 0..360° laufen. Da aber eine Sinus-Funktion nicht immer zur Verfügung steht, kann man es auch mit B) R^2 = X^2+Y^2 versuchen. Allerdings muß man hier 4 Quadranten durchlaufen und die Formel entsprechend umstellen. Berechnungsroutinen fürs Quadrat oder die Wurzel gibts sogar in Assembler. Man kann es sich auch vereinfachen, indem man nur einen Viertel-Kreis berechnet und dann jeweils über X- und Y-Achse spiegelt - geht schneller. Noch ein kleiner Tipp am Rande: Es reicht, wenn man ca. 90 Punkte des Kreises berechnet und diese Punkte via "LINE" miteinander verbindet. Schlagt mich aber nicht, wenn die o.g. Formeln nicht ganz korrekt sind - zuletzt habe ich Kreise "von Hand" mit dem C-64 programmiert.... ist schon ne Weile her ;-)
@thkaiser Kannst Du eine Quelle für gut umgesetzte Berechnungsroutinen für Quadrat und Wurzel in Assembler angeben? Ich will zwar keine Kreise malen, es würde mich aber sehr interessieren. Danke, Sven
Sorry, kann ich nicht mit dienen. Aber Google sollte einiges ausspucken.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.