mikrocontroller.net

Forum: Offtopic Bogen/Kreisinterpolation


Autor: Sebastian Schildt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe ne Frage: Ich habe hier ein Gerät, dass ich über
Schrittmotor+Spindel in x- und y- Richtung verfahren kann. Ich kann
also relativ leicht Linienzüge und Polygone abfahren.

Jetzt möchte ich gerne Kreise und möglicherweise Bezier Kurven
abfahren. Dazu müsste ich diese Formen ja zerstückeln in kleine lineare
Abschnitte. Leider weiß ich nicht, wonach ich googlen muss, um
rauszufinden wie. Kann mir mal einer sagen was da die mathematischen
Grundlagen sind und möglicherweise wo man die findet? Sowas müssen die
ganzen Fräsenbauer hier ja eigentlich gelöst haben?

Danke

Sebastian

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
über den Cosonus / Sienus bzw Tangente??

such mal danach ich mein damit muesse es gehen

ist schon sehr lannge her


Gruss Jens

Autor: Wirus! (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

ausgehend davon, daß der Mittelpunkt des Kreises auf 0,0 Deines
koordinatensystemes liegt, kannst Du mit

x = Wurzel(Radius^2 - y2^)

jedem Punkt y einen Punkt x zuweisen (und umgekehrt).Wichtig ist noch,
daß die Skala von -Radius bis +Radius zu durchlaufen ist (größer radius
gibt einen Fehlerwert) und daß der Wert zweimal gültig ist, einmal
positiv und einmal negativ

Grüße, der Wirus!

Autor: Michael (ein anderer) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich suchst Du nach dem Bresenham Algorithmus?

Autor: Sebastian Schildt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

danke für die Antowrten.

@Jens, Wirus!: Was reine Kreise angeht müsste ich das hinbekommen. Da
muss ich nochmal ein bißchen auf Papier rummalen.

@Michael e.a.: Wenn ich den Alogrithmus richtig verstehe kann der nur
GERADEN rastern. Damit habe ich sowieos kein PRoblem, da ich, wenn ich
Start und Entpunkt kenne einfach beide Achsen gleichzeitig mit der
entsprechenden Geschwindigkeit verfahren kann. Wenn du sowas wie
Bresenham für Kurven kennst, das wär gut

MfG

Sebastian

Autor: André K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es GIBT den Bresenham Algorithmus fuer Kreise. Dabei werden alle 4
Quadraten getrennt gezeichnet.

http://www-lehre.informatik.uni-osnabrueck.de/~cg/...

MfG

Autor: thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

x^2 +y^2=R^2    ...daraus bei der Wurzel +/- beachten!

Autor: Michael (ein anderer) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sebastian Schildt:

Bresenham gibt's für Geraden und Kreise. Das Bresenham-Prinzip kannst
Du auch auf andere Formen anwenden z.B. für Ellipsen.

Autor: Sebastian Schildt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

danke für den Input. Werde mich da mal ein wenig einlesen und gucken
was raus kommt.

MfG

Sebastian

Autor: Flo K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

werden die so berechneten Kreise und Bögen nicht zu kantig?

Kann man das auch mit definierten beschleunigungsrampen machen?

Autor: Peter Wolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian,

wenn Du dieses "Gerät" mit Schrittmotoren betreibst , hast Du doch
auch eine Art Steuerung dahinter , oder ?!
Hast Du das Programm selber geschrieben ?

Es gibt fertige Software, die schon alle Kreis- und Bahninterpolationen
beinhaltet ! Zum Beispiel das Programm PCNC. Da kannst Du sogar hpgl
files ( Plotfiles ) direkt einlesen , die Du zum Beispiel vorher mit
CorelDraw bearbeitet hast - wäre das nicht ein einfacherer Weg ?! Damit
sind übrigens auch Motorrampen zu definieren.

Ich weiß natürlich nicht WAS Du genau damit machen willst, aber alles
so einzeln "auszuklamüsern" wäre mir zu kompliziert.....


Gruß


Peter

Autor: Sebastian Schildt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also hier noch mal ne kurze Rückmeldung :) Das ganze war nur eine
kleine Aufgabe im Rahmen des Studiums. Das Teil war so ein kompletter
Portalroboter mit Steuerung und PC Software (Isel). Wir sollten das
Teil eigentlich nur in Betrieb nehmen und mal ne 8 fahren, aber als wir
die Software gesehen haben (MS DOS only), haben wir uns lieber ein Java
Prog geschrieben dass die Steuerung direkt ansteuert (is seriell
RS232). Die alte DOS Software hatte ne Funktion zum Kreise malen, hat
dann aber auch alles selber berechnet (wie, keine Ahnung gibt ja kein
Source).
Endgültige Lösung war: Wir haben rausgefunden das die Steuerung ne
Kreisinterpolation besitzt :D (lesen bildet...) , bei dem man nicht
alles von Hand machen muss. Es muss hierzu allerdings relativ aufwändig
ein sog "Interpolationsparameter" berechnet werden. So wie die
Berechnung da aussieht scheint es sich hierbei auch um was
Bresenham-artiges zu handeln wo man halt nur einen Teil zu Fuß
berechnet und den Rest macht die Steuerung. Nachteil->ccw geht, cw is
irgendwie buggy, und wir sind IMO nicht schuld :) Das würde auch
erklären warum die alte DOS Software das von Hand geamcht hat und nicht
auf die Kreisinterpolationd der Karte zurück gegriffen hat ....

Da sieht man das es funzt
http://reparts.org/gallery/view_photo.php?set_albu...
(die stylische Stifthalterung aus nem Kabelkanal haben wir auch sehr
profihaft selber gebaut :) )

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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.