[C++] Diagramm zeichnen

M--G

Lieutenant
Registriert
Dez. 2006
Beiträge
772
Hallo,
kann man mit C++ ein Diagramm zeichnen?
Wie? Link/Bsp?

Muss nicht beschriftet.... sein, nur dass man die Fieberkurve sieht.
Habe 43 Punkte, wobei die X Achse egal ist, da konstanter Abstand.

Würde mich irrsinnig freuen, wenn das klappt :)
Danke
 
Kann man.
Link gibts keinen, weil Programmiersprachen (besonders C++) haben so die Eigenschaften, dass meine seine Sache selbst programmiert. Man findet da nicht sein fertiges Programm, was man schreiben soll/will, nicht vorprogrammiert im Netz.

Das wäre ja so, als würde ich ein GTA (Spiel) programmieren wollen und dann in Foren frage, wo ich es downloaden kann, um es dann als meins auszugeben.

Es mag vielleicht hilfreiche Bibliotheken dafür geben aber die musst du schon selber suchen. So schwer ist das nun wirklich nicht!
 
Zu faul die Hausaufgabe selber zu erledigen, was?
 
hi,

schau dir doch mal opengl an, oder glut library...
oder ne Bitmap aus deinem Datensatz erstellen...
oder ganz hardcore einfach das Textausgabefenster als Diagramm missbrauchen ;) hast zwar keine feine Rasterung, aber man sieht bestimmt was gemeint ist.

gruß
 
Wolfsherz schrieb:
Zu faul die Hausaufgabe selber zu erledigen, was?

Weder noch.
Studienarbeit die ich schon vor 3Monaten abgeben sollte, aber verdammt viel schief gegangen ist bei den Versuchen. (und ich bin Verfahrenstechniker und kein Informatiker!!!)
Und da sich Professoren durch pille palle wie eine Kruve mehr beeindrucken lassen, als durch die geniale im Hintergrund laufende Programmlogik, wollte ich das noch gerne einbinden :D
 
Studienarbeit ist auch Hausaufgabe. Selbst machen!

Es ist doch nicht unsere Aufgabe dafür zu sorgen, dass du deine Professoren beeindrucken kannst!
 
danke soyd :)
Schonmal einen Ansatz, nach dem ich suchen kann ^^

Ansonsten ist es schon faszinierend, wie hilfsbereit manche Leute sind.
Wenn ihr ein Problem damit habt, dass ich es versuche mir "einfacher" zu machen (und mein Tag keine 50h hat, die ich momentan bräuchte)) spart euch einfach eure Antworten.
 
du machst es dir schon sehr einfach. auch in deinen vorherigen threads. ich finds langsam bisschen dreist.
 
Ohja, es geht wieder los, die Grundsatzdiskussion über das Hilfsverhalten hier im Forum.

Liebe Leute nehmt Platz und holt euch Popcorn, ich hab schon welches und genießt die Show.

Ups wenn ich so weiter mache krieg ich wieder ne Verwarnung das ich sowas ins Lächerliche ziehe und nicht gleich melden!
 
Foren sind zum Fragen da und wenn er keinen Ansatz hat ist es durchaus OK wenn er so fragt.
Zum Thema OpenGL würde ich dir http://nehe.gamedev.net/.
Aber OpenGL ist nicht so einfach wie man sich das wünschen würde. :)
Ich würde an deiner Stelle zu etwas einfacheren greifen, etwas was auf 2D Basis arbeitet, insofern das ausreicht.

Edit:
Bei manchen Leuten hab ich echt das Gefühl das sie einfach nicht verstehen wollen das es für jeden Themen gibt wo man einfach schnell durch muss und nicht soviel Zeit investieren kann und darum über jede Hilfe dankbar ist. Ich weiß nich ob es euch auch schon so ging, aber anscheinend habt ihr unendlich Zeit :)
 
Zuletzt bearbeitet:
Schonmal einen Ansatz, nach dem ich suchen kann ^^

Ansonsten ist es schon faszinierend, wie hilfsbereit manche Leute sind.
Wenn ihr ein Problem damit habt, dass ich es versuche mir "einfacher" zu machen (und mein Tag keine 50h hat, die ich momentan bräuchte)) spart euch einfach eure Antworten.

Wenn es für dich zuviel ist, dann bist du dafür eben nicht geeignet. Ganz einfach.
Im Job kannst du doch auch nicht einfach deinem Chef sagen, dass du es nicht kannst und er mal weniger von dir verlangen soll.

Genauso sind die genannten Sachen vollkommen dämlich für diese Aufgabe.
Was soll man mit einer Seit 10 Jahren veralteten Technik, wo man nicht mal mehr die Librarys bekommt, die auch noch für was vollkommen Anderes geeignet ist?
Nichts gegen OpenGL aber Nehe und Glut ist so irgendwie 90er Jahre und heute kaum noch existent und auch mehr für den alten 3D Spielebereich ausgelegt. Und wozu braucht er eine Hardwarebeschleunigte 3D Grafik Api um eine einfache 2D Kurve auszugeben?????

Das wäre so als wenn ich nach einem Fahrrad frage, um 2 Kilometer zur arbeit zu fahren und ihr mir einen Formel 1 Wagen von 1991 empfehlen würdet.

Zumal ich mit den hier ermittelten Kentnissen keine aber wirklich KEINE Chance sehe, dass diese Kurve vom Author gezeichnet wird.

Das sind nämlich genau jene, die sich das Studium zusammenschnorren und am Ende unvermittelbar sind.
 
Danke :) Endlich mal einer der die Wahrheit sagt :) Wird der Threadsteller eh nich glauben und für Wahr haben wollen, eben so wie dein Vorredner. Wer was lernen will soll sich gefälligst hinsetzen und sich verdammt nochmal einlesen und probieren bis ihm der Arsch glüht. Aber ich wollt da diesmal nicht an diesem Match teilnehmen sonst gibts gleich wieder ne PN vom Mod -.-
 
Zuletzt bearbeitet von einem Moderator: (Komplettzitat entfernt, bitte die Regeln beachten.)
Wenn du GUI-Bibliotheken, OpenGL, usw. meiden und möglichst nur mit Bordmitteln sehr einfache Grafiken erzeugen willst, dann ist meiner Meinung nach die einfachste Lösung eine Grafikdatei zu erzeugen.

Dazu bieten sich dann einfache Formate wie PGMs (Graustufenbilder) oder PPMs (Farbbilder) an.

Grobe Vorgehensweise:
1. Einen großen Array anlegen, der die einzelnen Bildpixel beinhaltet (Für ein 300x300 Pixel großes Grauwert-Bild zum Beispiel 90000 groß und vom Typ unsigned char)
2. Erst mal alle Pixel auf Weiß, also den Wert 255 setzen
3. Die gewünschten Pixel einfärben, also zB auf Schwarz mit dem Wert 0 setzen
4. Das Array zusammen mit einem passenden Header (siehe meine Wikipedialinks) in eine Datei schreiben
5. Die Bilder in einer anderen Software öffnen und weiter bearbeiten bzw. in ein anderes Format konvertieren

Großer Nachteil: Gibt keine fertigen Funktionen fürs Zeichnen von Linien und Text. Aber wenn du wirklich nur senkrechte und horizontale Linien sowie die Werte als einzelne Punkte zeichnen willst, dann sollte das zu schaffen sein :)
 
Qt ist relativ leicht zu erlernen und man hat recht schnell Ergebnisse, bringt so viel ich weiß auch ganz nette Funktionen zum zeichnen mit.

OpenGL ist für diesen Zweck Overkill, aber es als veraltet hinzustellen halte ich doch für ziemlich gewagt. Es geht ja nichtmal darum moderne Top-Grafik zu haben. Und gerade im professionellen Bereich wird es ja doch recht viel genutzt. Und auch einige aktuelle Spiele können OpenGL und sehen nicht gerade schlecht aus.

Aber vielleicht wirklich einfach auf Konsolenausgabe setzen, ist auf jeden Fall weniger Aufwand und bei einem ausreichend großen Fenster sollte das reichen um einen Trend zu zeigen.
 
@ Backslash: Es ging um die Kombination Nehe Tutorials + Glut die er sich anschauen sollte. Die sind einfach veraltet oder überholt, gibt neuere Alternativen, jedenfalls für Glut.
 
Nichts gegen OpenGL aber Nehe und Glut ist so irgendwie 90er Jahre und heute kaum noch existent und auch mehr für den alten 3D Spielebereich ausgelegt. Und wozu braucht er eine Hardwarebeschleunigte 3D Grafik Api um eine einfache 2D Kurve auszugeben?????

Das wäre so als wenn ich nach einem Fahrrad frage, um 2 Kilometer zur arbeit zu fahren und ihr mir einen Formel 1 Wagen von 1991 empfehlen würdet.

also die meisten Simulationen die ich in meinen Fachbereichen sehe sind hauptsächlich mit opengl bzw. glut erstellt, dass sie eventuell nicht mehr ganz zeitgemäß sind ist ja schön und gut, wenn man sich aber darin einarbeitet kann man damit nen ganzen Haufen machen. Läuft auf x86 x64 arm ; win / linux ... also hallo
Und ja für sowas würden auch ganz einfache Mittel reichen, später will man was komplexeres machen und dann? Erstellt man hier nen Thread und wird angemacht, warum hast du den Kinderfasching dir beigebracht, da brauchst du XY.
Dann lieber einmal halbwegs Opengl verstehen ;)


ich könnte ja auch Tips geben wie: Benutzt doch C#, was bringts ihm? 0

Ne einfache Bitmap zu erstellen wär wohl das Leichteste
Benutzt du QT oder Ähnliches? WinAPi? Oder alles Konsolenanwendungen?

gruß
 
Guten Abend,
entgegen mancher Unterstellungen schreibe ich immernoch (wie jeden Tag bis in die Nacht) an meiner Studienarbeit und bin nichtmal ansatzweise dazu gekommen irgendwas anderes zu machen.
(ja Studenten sind kostenlose Arbeitskräfte und werden gerne genutzt, sei es bei der Studienarbeit oder danach bei der Diplomarbeit (die ich im Herbst anfange, wenn alles läuft...)).

Danke für die vielen Tipps.
Mit OpenCV und ImgH hatte ich einige Stunden und Tage vergeudet, bis mich kuddlmuddl auf vigra aufmerksam gemacht und gerettet hat. Nun läuft mein Programm soweit und kann MessBilder einlesen, auswerten und Speichern.

Da mein Programm aber absolut puristisch ist (reine Konsolenanwendung, ohne WindowsAPI) wollte ich eben gerne ein kleines Highlite einbinden.

Ab liebsten wäre es mir wenn es wie von BackSlash vorgeschlagen mit einer Konsolenausgabe gehen würde. Falls nicht, macht es auch nichts ;)

Vielen vielen Dank an alle die mir versucht haben zu helfen! :)

Hier mal die Daten, die ich gerne darstellen würde, damit ihr besser seht was ich meine.
X-Achse kann wie gesagt vernachlässigt werden, da die abstände konstant sind.
30,2 # 6
30,4 # 11
30,6 # 15
30,8 # 23
31,0 # 35
31,2 # 51
31,4 # 73
31,6 # 92
31,8 # 102
32,0 # 115
32,2 # 120
32,4 # 126
32,6 # 129
32,8 # 133
33,0 # 136
33,2 # 140
33,4 # 143
33,6 # 146
33,8 # 150
34,0 # 153
34,2 # 157
34,4 # 161
34,6 # 166
34,8 # 170
35,0 # 174
35,2 # 179
35,4 # 182
35,6 # 187
35,8 # 191
36,0 # 194
36,2 # 197
36,4 # 200
36,6 # 203
36,8 # 205
37,0 # 207
37,2 # 209
37,4 # 211
37,6 # 212
37,8 # 213
38,0 # 215
38,2 # 216
38,4 # 217
38,6 # 219
 
Also wenn du einfach nur Daten in Textform visualisieren willst, kannst dir mal gnuplot anschauen. http://www.gnuplot.info/
Oder wenn es etwas individueller sein soll: tikz. Das ist eine LaTeX Erweiterung für Diagramme. Weil es eben wie LaTeX reine Textdateien als Eingabe entgegennimmt, lassen sich diese Diagramme gut generieren, also einfach auf Konsole ausgeben oder direkt als .tex Datei speicher, pdflatex ausführen, fertig. Ein paar Beispiele was mit tikz so möglich ist: http://www.texample.net/tikz/examples/ Da kann man sich dann auch einfach den Quellcode 'klauen' und für seine eigene Zwecke anpassen, so das man recht schnell zu guten Resultaten kommt.
 
Zurück
Oben