Kreis zeichnen

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
mohvl
Beiträge: 1
Registriert: 10 Dez 2010, 12:15

Kreis zeichnen

Beitrag von mohvl » 10 Dez 2010, 12:19

Hallo, wir haben die Aufgabe bekommen, das der Roboter einen Stift aus einem Stifthalter greifen soll und danach einen Schneemann, als 3 Kreise zeichen soll...

Nur weiß ich leider nicht wie man den Roboter Programmiert, damit er einen Kreis zeichnet und hab auch net so viel möglichkeiten das auszuprobieren, das ich den roboter nicht zu hause habe.
Evtl. habt ihr ja eine Idee wie man das Problem lösen kann??

ft-user
Beiträge: 2
Registriert: 01 Nov 2010, 12:04

Re: Kreis zeichnen

Beitrag von ft-user » 10 Dez 2010, 12:29

Hallo,

das hier sollte ein guter Startpunkt sein: http://de.wikipedia.org/wiki/Bresenham-Algorithmus.

Viele Grüße

ft-user

Benutzeravatar
steffalk
ft:pedia-Herausgeber
Beiträge: 1792
Registriert: 01 Nov 2010, 16:41
Wohnort: Karlsruhe
Kontaktdaten:

Re: Kreis zeichnen

Beitrag von steffalk » 10 Dez 2010, 13:22

Tach auch!

Auf einem Raster-Gerät kann man Kreise (und auch Ellipsen) unter ausschließlicher Verwendung von Ganzzahlen und Ganzzahlarithmetik zeichnen. Die folgende Routine habe ich aus meiner guten alten Modula-2-Bibliothek kopiert, sie zeichnet einen perfekten Kreis um die Koordinaten (x0, y0) mit Radius r in der Farbe c. Plot(x, y, c) muss an der Koordinate dann einen Punkt malen bzw. einen Stift dorthin bewegen (das ist immer max. 1 Schritt vom vorherigen Punkt entfernt):

Code: Alles auswählen

  PROCEDURE Circle (x0, y0, r: INTEGER;
                    c: CARDINAL);

    VAR
      e: INTEGER;
      x, y: INTEGER;

  BEGIN
    x := r;
    y := 0;
    e := 0;
    WHILE y <= x DO
      Plot (x0 + x, y0 + y, c);
      Plot (x0 - x, y0 + y, c);
      Plot (x0 + x, y0 - y, c);
      Plot (x0 - x, y0 - y, c);
      Plot (x0 + y, y0 + x, c);
      Plot (x0 - y, y0 + x, c);
      Plot (x0 + y, y0 - x, c);
      Plot (x0 - y, y0 - x, c);
      INC (y);
      INC (e, y * dy - 1);
      IF e > x THEN
        DEC (x);
        DEC (e, x * dx + 1);
      END;
    END;
  END Circle;
An einen Stiftplotter müsstest Du das wohl so anpassen, dass nicht wie hier, 8 Achtelkreise gleichzeitig gezeichnet werden, sondern die Sache tasächlich ein mal umläuft, damit der Stift den Kreis in einem Zug zieht. INC(i) inkrementiert i um 1 (ist also sowas wie i := i + 1), DEC dekrementiert um 1.

Gruß,
Stefan

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 13 Jan 2011, 13:39

Hallo
ich will auch eine plotter bauen der kreise zeichnen kann (X und Y achse mit endcoder).
Nur leider verstehe ich dein fach chinesisch nicht , köntest du das vielleicht für RoboPro
zeigen .
Mit freundlichen grüßen Tim_Fischer
Gruß Tim_Fischer

Benutzeravatar
steffalk
ft:pedia-Herausgeber
Beiträge: 1792
Registriert: 01 Nov 2010, 16:41
Wohnort: Karlsruhe
Kontaktdaten:

Re: Kreis zeichnen

Beitrag von steffalk » 13 Jan 2011, 23:09

Tach auch!

Leider bin ich zur Zeit mit Arbeit so eingedeckt, dass ich das nicht eben mal zwischenrein schieben kann, und ich habe auch gerade kein Plottermodell, an dem ich das testen könnte. Vielleicht kann jemand anderes, der in einer Textsprache programmieren und obigen Code lesen kann, das in RoboPro gießen?

Gruß,
Stefan

robopro
Beiträge: 55
Registriert: 08 Nov 2010, 18:57

Re: Kreis zeichnen

Beitrag von robopro » 25 Jan 2011, 14:31

Hallo,
machs doch einfach mechanisch!
Grüße robopro!
Ohne ft ist alles doof!

heiko
Beiträge: 256
Registriert: 28 Okt 2010, 17:10

Re: Kreis zeichnen

Beitrag von heiko » 25 Jan 2011, 17:06

Wollte ich auch gerade vorschlagen. Wenn man den Stift mechanisch im Kreis bewegt, werden Kreise einfach und Geraden schwierig. Wenn man geschickt ist, kriegt man mechanisch sogar Ellipsen gezeichnet, und mit Ellipsensegmenten kann man schon eine Menge gekrümmte Linien malen.

Mit einer rechtwinkligen Apparatur einen Kreis zu zeichnen ist genauso einfach oder schwer, wie mit einer kreisförmigen Apparatur eine Gerade zu zeichnen. Beides geht, aber es gibt immer noch andere Möglichkeiten :-)

Heiko

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 25 Jan 2011, 17:49

Hallo
ja das stimmt aber mein plotter
soll kreise zeichnen können und
schreiben (plotter abc)Können
Danke
Gruß Tim_Fischer

robopro
Beiträge: 55
Registriert: 08 Nov 2010, 18:57

Re: Kreis zeichnen

Beitrag von robopro » 26 Jan 2011, 17:39

Hallo,
die Achse an der die Achse zum Kreis Zeichnen ist, muss sich beim Schreiben ja nicht drehen!
Grüße robopro!
Ohne ft ist alles doof!

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 27 Jan 2011, 09:09

Hallo
ja das stimmt
aberman kann nicht den radius einstellen
Gruß Tim_Fischer

robopro
Beiträge: 55
Registriert: 08 Nov 2010, 18:57

Re: Kreis zeichnen

Beitrag von robopro » 01 Feb 2011, 14:24

Hallo,
ja doch, wenn die Achse vor/zurück nicht fixiert ist bzw. durch einen Motor angetrieben wird.
Grüße robopro!
Ohne ft ist alles doof!

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 01 Feb 2011, 15:05

Hallo
ich habe aber keinen motor aus gang mehr frei
Gruß Tim_Fischer

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 28 Feb 2011, 18:07

Hallo
könntet ihr mir mal helfen
Gruß Tim_Fischer
Gruß Tim_Fischer

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 08 Apr 2011, 20:52

Hallo Alle
Gruß Tim_Fischer

Masked
Beiträge: 500
Registriert: 18 Okt 2010, 18:19

Re: Kreis zeichnen

Beitrag von Masked » 08 Apr 2011, 21:01

Hallo,
Solange du nicht schreibst, bei was du Hilfe haben willst, wirst du auch Keine bekommen. Auch mehrere Postings untereinander helfen dann nicht.
Und es kann auch durchaus sein, dass mal Niemand dir helfen kann. Dann bekommst du halt keine Antwort.
Bitte denke an so etwas in Zukunft,
Martin

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 30 Mai 2011, 16:21

Hallo
ich und mein Freund wollen
einen plotter (x- und y-achse Endecoder) bauen der Kreise ,Vierecke etc. zeichnen und mit einem selbts entworfenem Plotter ABC schreiben kann .
wir schreiben das programm in robo Pro
und können des halb auch nicht den oben genannten Cod benutzen.
Gruß Tim_Fischer
P.S. haben keine ausgänge mehr frei am TX
Gruß Tim_Fischer

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 06 Jun 2011, 17:57

Tim_Fischer hat geschrieben:Hallo
ich und mein Freund wollen
einen plotter (x- und y-achse Endecoder) bauen der Kreise ,Vierecke etc. zeichnen und mit einem selbts entworfenem Plotter ABC schreiben kann .
wir schreiben das programm in robo Pro
und können des halb auch nicht den oben genannten Cod benutzen.
Gruß Tim_Fischer
P.S. haben keine ausgänge mehr frei am TX
Kann mir bitte jemand helfen!!!!!!!!!!
Gruß Tim_Fischer

Benutzeravatar
Pilami
Beiträge: 332
Registriert: 31 Okt 2010, 21:35
Wohnort: Mörshausen

Re: Kreis zeichnen

Beitrag von Pilami » 07 Jun 2011, 07:02

Hallo,

ich glaube an dieser Stelle weiß niemand mit welchen Vorraussetzungen bzw. Vorkenntnissen ihr an die Aufgabe herangeht.
Der Algorythmus weiter oben im Thread soll ja ein Beispiel für die Herangehensweise sein. Die Übersetzung mußt du dann schon selber machen.
Über die mechanische Realisierung habt ihr euch auch noch nicht ausgelassen.

Grüße
Lothar

Benutzeravatar
fish
Beiträge: 137
Registriert: 01 Nov 2010, 17:19
Wohnort: Wiesbaden
Kontaktdaten:

Re: Kreis zeichnen

Beitrag von fish » 07 Jun 2011, 13:01

Hallo Tim_Fischer,
eine ganz primitive Möglichkeit Kreise zu zeichnen ist es sich ein gleichseitiges Vieleck zu Zeichnen und die Koordinaten der einzelnen Punkte an den Plotter zu übergeben (in einer Liste), welcher eine Verbindungslinie zwischen den Punkten zeichnent.
http://py4ft.weebly.com Programmiere Fischertechnik mit Python

Tim_Fischer
Beiträge: 27
Registriert: 18 Dez 2010, 17:11

Re: Kreis zeichnen

Beitrag von Tim_Fischer » 08 Jun 2011, 17:46

Hallo
1.Ich kann diesen Cod nicht Lesen.
2.Verstehe ich die lösung von fish nicht.
Gruß Tim_Fischer
Gruß Tim_Fischer

Antworten