Hallo Freunde, ich hoffe ich bin in diesem Thread richtig. Ich würde gerne Daten von Sensoren (Laserscanner, IR-Sensor, Ultraschallsensor) über C (Microsoft Visual Studio) einlesen und grafisch darstellen lassen. Am Ende soll eine Art Karte rauskommen. Laserscanner geben mir Daten über Winkel und Position Infrarotsensoren nur eine Spannung Ultraschallsensoren eine Entfernung.. Problem ist das ich in einer C-Konsole nur glaub 32x32 Pixel (Buchstaben) habe. Das ganze sollte hochauflösender sein. Habt ihr eine Idee wie ich das ganze darstellen kann? Das des ganze dann ungefair so aussieht: http://www.generationrobots.com/img/cms/kh3_lrf_in_playerstage.png Gibt es ne Möglichkeit C und Java miteinander zu verbinden? Das C an Java Daten schickt und Java die Verarbeitet? Habt ihr eine andere/bessere Idee? Bin für jede Anregung sehr dankbar!! Gruß Tammi
Warum zur Hölle C? Eine ungeeignetere Sprache für Visualisierungen hast du wohl nicht finden können? Nimm doch was, was dir eine möglichst high-levelige Grafikschnittstelle zur Verfügung stellt. Z.B. C#, Java oder C++. Da gibt es dolle Frameworks zum zeichnen (2D und 3D). Mit C wird das echt zum Krampf...
wenn Du schon Visual Studio einsetzt, dann solltest Du auch das Managed-C++ oder vielleicht besser C# als Programmiersprache dort nutzen. Ich persönlich bevorzuge eigenlich VisualBasic.Net ... aber das hat historische Gründe :-) Bei Verwendung des .NET-Frameworks sind auch hochauflösende Grafikanwendungen eigentlich kein echtes Problem. Mit dem Graphics Objekt (http://msdn.microsoft.com/de-de/library/system.drawing.graphics%28v=vs.110%29.aspx) zum Beispiel kannst Du nahezu beliebig in einem Bildschrim-Formular oder einem Print-Dokument zeichnen. Das Objekt definert dafür zahlreichen Methoden zum Zeichnen von Text, Rechtecken, Kreisen, Polygonen usw. Wenn Du noch einen Schritt weiter gehen willst, lohnt auch eine Einarbeitung in die sog. WPF-Anwendungen (http://de.wikipedia.org/wiki/Windows_Presentation_Foundation) Auch diese lassens ich mit der aktuellen Visual Studio Version erstellen.
Eine andere Möglichkeite wäre, dir sowas in SVG zusammenzustöpseln. Das kannst du einfach in C in eine Datei schreiben, und die dann mit dem Browser öffnen. (Hat auch den Vorteil, dass du beliebig weit hineinzoomen kannst) Ich habe das mal gemacht, weil ich das für einen Webserver auf dem Robo erzeugt habe, siehe Anhang.
Tammi schrieb: > Problem ist das ich in einer C-Konsole nur glaub 32x32 Pixel > (Buchstaben) habe. Das ganze sollte hochauflösender sein. Natürlich macht man sowas nicht in einer Textkonsole, sondern in einem Fenster welches beliebige Grafiken darstellen kann. > Habt ihr eine Idee wie ich das ganze darstellen kann? > Das des ganze dann ungefair so aussieht: > http://www.generationrobots.com/img/cms/kh3_lrf_in_playerstage.png Es gibt etliche Grafikbibliotheken - auch für C: http://stackoverflow.com/questions/1701728/graphics-library-in-c > Gibt es ne Möglichkeit C und Java miteinander zu verbinden? > Das C an Java Daten schickt und Java die Verarbeitet? Auch das wäre möglich. Also dass ein C-Programm die Sensordaten in eine Datei reinschreibt, und ein in Java (oder C++, C#, Python, ...) geschriebenes Programm liest diese Datei aus und zeichnet daraus die Grafik. Wieder andere Möglichkeit, wie schon genannt, ist dass Dein C-Programm eine Bilddatei erzeugt die von beliebigen anderen Programmen geöffnet und dargestellt werden kann.
Im Canvas-Konzept sind ein paar rudimentäre Zeichen- und Füll-Befehle enthalten. Für die von Dir angegebenen Grafiken sollten diese ausreichen. Auch ein paar Exportfunktionen (BMP, JPG usw.) sind vorhanden.
>Warum zur Hölle C? Eine ungeeignetere Sprache für Visualisierungen hast >du wohl nicht finden können? Auch wenn ich aus der C# Ecke komme: Das GTK+ Framework ist auch in C geschrieben. http://www.gtk.org/
Gozo schrieb: > Auch wenn ich aus der C# Ecke komme: > Das GTK+ Framework ist auch in C geschrieben. > http://www.gtk.org/ Vieles ist in C geschrieben ;-) Das heißt aber nicht, dass auch für den konkreten Anwendungsfall sinnvoll ist.
Vielen Dank für die vielen Antworten!! Werd mir das morgen mal in Ruhe anschauen ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.