Forum: Offtopic Bogen/Kreisinterpolation


von Sebastian Schildt (Gast)


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

von Jens (Gast)


Lesenswert?

über den Cosonus / Sienus bzw Tangente??

such mal danach ich mein damit muesse es gehen

ist schon sehr lannge her


Gruss Jens

von Wirus! (Gast)


Angehängte Dateien:

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!

von Michael (ein anderer) (Gast)


Lesenswert?

Vermutlich suchst Du nach dem Bresenham Algorithmus?

von Sebastian Schildt (Gast)


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

von André K. (Gast)


Lesenswert?

Es GIBT den Bresenham Algorithmus fuer Kreise. Dabei werden alle 4
Quadraten getrennt gezeichnet.

http://www-lehre.informatik.uni-osnabrueck.de/~cg/2000/skript/3_4_Kreis.html#SECTION00440000000000000000

MfG

von thomas (Gast)


Lesenswert?

Hi,

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

von Michael (ein anderer) (Gast)


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.

von Sebastian Schildt (Gast)


Lesenswert?

Hi,

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

MfG

Sebastian

von Flo K. (Gast)


Lesenswert?

Hi,

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

Kann man das auch mit definierten beschleunigungsrampen machen?

von Peter Wolf (Gast)


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

von Sebastian Schildt (Gast)


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_albumName=2005&id=PICT0003
(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? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.