Autor Beitrag
jagdfalke
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 28.06.05 19:35 
Hallo,

ich möchte eine kleine 2D Grafik in einem stink normalen Fenster programmieren. Ich bin dabei ein Steuerungsprogramm für einen über einen AVR Controller betriebenen Roboterarm zu programmieren und möchte gerne eine kleine Grafik einbauen, die den Arm von der Seite zeigt und die Winkel an den einzelnen Gelenken anzeigt. Das eigentliche Problem ist, dass ich keinen Ansatz habe, wie ich anfangen soll. Gibts ne Komponente in der man einfacht Striche zeichnen lassen kann?

Den mathematischen Teil kann ich glaub ich: Über die allbekannte Dreieckslehre (cos, sin, Pythagoras) mittels Länge des Arms und Winkel den Endpunkt de Linie bestimmen und die Punkte verbinden.

mfg
jagdfalke
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Di 28.06.05 20:44 
ausblenden Delphi-Quelltext
1:
2:
canvas.moveto(x,y)//--> Stift zur Position X,Y setzen
canvas.lineto(x,y)//--> Line zum Punkt X,Y zeichen(von dem zuvor definierten Punkt)


wenn du die Punkte berechnen kann sollte es ein leichtes sein diese ^^ damit zu zeichnen
jagdfalke Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 28.06.05 20:47 
Und das wird einfach ins normale Fenster gezeichnet? Gibts nicht ne elegantere Möglichkeit?
pRoTeUs
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 47

Windows XP prof
Delphi 2005 prof
BeitragVerfasst: Di 28.06.05 20:51 
hi,


So wie oben würde es ins normale fenster gezeichnet werden.
Könntest es natürlich auch in ein TImage zeichnen. Oder du nimmst gleich DelphiGL (vielleicht ein bisschen oversized).

grüße
proteus
jagdfalke Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 28.06.05 20:53 
Ok, danke !!
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mi 29.06.05 07:36 
Du kannst auf so ziemlich alles selber Zeichnen. Evtl. würde sich für dein Problem auch die Komponente TPaintBox anbieten. (Auf dem Reiter "System"). Den platzierst du auf deinem Formular und dann musst du das Ereignis OnPaint benutzen um deine Grafiken zu malen. Beim Formular im Übrigen auch, da es sonst bei jedem Fensterneuzeichnen wieder gelöscht werden würde.

Für das TImage musst du ein paar andere Dinge beachten. Diese Komponente würde das von dir Gezeichnete in ein Bitmap speicher und dieses dann zeichnen. Du müsstest also bevor du neu zeichnest erst einmal das andere Bild löschen. Dazu kannst du Canvas.FillRect benutzen. Und beim TImage kannst du nicht mit OnPaint arbeiten. Die Komponente ist ja aber auch nicht flüchtig. Also würde es ausreichen es irgendwann neu zu zeichnen und gut.

PS: Für einen 3D Roboterarm würde sich natürlich eine 3D Darstelleung richtig lohnen. Wenn du alle entsprechenden Wert hast dürfte das wohl auch nicht so sonderlich schwierig sein.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
jagdfalke Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mi 29.06.05 08:53 
Wenn das mit 3D nicht allzu kompliziert ist bin ich da auch offen dafür. Ich bräuchte nur ein Tutorial oder was ähnliches.
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Mi 29.06.05 10:19 
Die Arbeitsweise von 3D zu verstehen ist daran mit Sicherheit das Komplizierteste. Alles andere kann man mit sehr simplen Würfeln gestalten. Die Positionierung an den Gelenken dürfte wieder ein wenig verzwickt werden aber dafür gibt es ein paar Tricks. Allerdings solltest du das eingewöhnen in 3D auch nicht unterschätzen. Wenn man einmal den Dreh raus ist es einfach. Aber bis es soweit ist kann es mitunter ein wenig dauern. Aber dafür gibt es ja auf der Seite unten ein Forum. ;-)

Für Totorials kann ich www.DelphiGL.com empfehlen.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
jagdfalke Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mi 29.06.05 10:23 
Cool, danke. Ich werd mich damit geschäftigen sobald ich die Steuerung an sich fertig hab.
Danke