mikrocontroller.net

Forum: PC-Programmierung Sinus in C zeichnen


Autor: pixeL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich versuche ein Programm zu schreiben, das den x-Achsenabschnitt, 
y-Achsenbschnitt, die Amplitude und die Periodendauer einliest, in die 
Formel
f(x)=a*(b*(x-c))+d einsetzt und dann in ein Koordinatensystem zeichnet.

/*
a=Amplitude;
b=Periodendauer;
c=x-Achsenabschnitt;
d=y-Achsenabschnitt;
*/

Ich denke mal das einlesen und in die Formel setzten ist kein Problem.
Dafür aber das Zeichnen und deswegen schreibe ich hier und frage euch ;)

Ich dachte vielleicht, dass mit windows forms zu realisieren, da ich 
dies zur Zeit auch in der Schule lerne.

Kennt vielleicht jemand ein Tutorial oder kann mir das jemand erklären?

Vielen Dank und liebe Grüße

pixeL

Autor: Dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sinuswerte mit einer schlauen auflösung innerhalb des gewählten 
x-Achsenabschnitt berechnen und in einem graphen zeihnen ....
Grüsse Dave

Autor: pixeL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dave

Ja das ist klar. Aber wie zeichne ich denn den Graph? Irgend ein Code 
Snippet oder so was in der Art würde mir sehr helfen.

Autor: xyz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: pixeL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schonmal.
Das werde ich mir nochmal genauer anschauen.
Aber ich hätte nicht gedacht, dass es so kompliziert wird.

Hat noch jemand anders ein Tutorial oder ähnliches?

Autor: C# (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
windows forms deutet drauf hin dass du mit C# programmiert oder ?
Wenn das so stimmt wäre vllt Zedgraph was für dich 
(http://zedgraph.org/wiki/index.php?title=Main_Page)

Autor: Oliver K. (okraits)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls es um C/C++ geht, empfehle ich mal wieder die libsdl:

http://www.libsdl.org/

Eine Einführung:  http://www.libsdl.org/intro.de/toc.html

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder system( "gnuplot ..." )

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pixeL schrieb:
> Danke schonmal.
> Das werde ich mir nochmal genauer anschauen.
> Aber ich hätte nicht gedacht, dass es so kompliziert wird.

Nun, ja.
Das eigentliche Zeichnen ist nicht so sehr das komplizierte.
Das Aufwändige besteht in der Bereitstellung einer 'Zeichenfläche', die 
Windows-konform in einem Fenster eingebettet werden soll und auf 
Anforderung von Windows auch neu gezeichnet werden soll (weil zb das 
Fenster unter anderen Fenstern hervorgeholt wird). Da liegt das 
eigentlich komplizierte: die Integration der Zeichenfläche in die 
Windows-Verwaltung.

Das Zeichnen in dieser Zeichenfläche selber ist nicht aufwändiger als 
Linie von Pixelkoordinate x1/y1 zu Pixelkoordinate x2/y2 malen. Und das 
bei einer Sinusschwingung eben in kleinen Linienabschnitten.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht hilft dir das weiter:
http://www.codeproject.com/KB/graphics/zedgraph.aspx

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.