Linie zeichnen mit C++



  • @spatz "funktioniert nicht" ist immer sehr ungenau. also ich habs eben getestet mit "Neues Projekt" -> "Windows-Desktopanwendung" (achtung: nicht -Assistent!) -> "Weiter, weiter, weiter" -> vorhandenen quelltext löschen -> meinen code einfügen. wenn du ein leeres projekt erstellst, musst du in den linker-einstellungen das subsystem auf "Windows" ändern.



  • @Wade1234

    Jetzt hat es funktioniert. Da kommt dann ein kleines Strichli, richtig?
    Ich ging drum auf Konsole-Anwendung zuerst.
    Vielen Dank



  • @spatz ja da kommt ein strich von (10, 10) nach (20, 20). die dimensionen bzw. eckpunkte des fensters sind in rect (zeile 48) gespeichert und für linien musst du eben zuerst MoveToEx und dann LineTo aufrufen.



  • Es gibt auch sf::LineStrip. Dann musst Du nur entscheiden, welchen Bereich und mit welcher Abtastrate Du darstellen willst (sprich, Du brauchst (X,Y) Vektoren) und dann werden die Punkte automatisch linear interpoliert).

    Jetzt könnte man natürlich wieder fragen, wozu Du denn Funktionen plotten willst. Dafür gibt es wieder fertige Bibliotheken, oder es geht in anderen Programmiersprachen leichter und schneller. Deshalb solltest Du Deine Fragen eher so stellen z. B. :

    Ich möchte gerne zu Lernzwecken selbst Kurven plotten in C++, wie gehe ich am besten vor?

    Das führt i. d. R. schneller zum Ziel 😉

    Von der WinAPI würde ich hier persönlich abraten:

    • C-Style Interface, mischt sich nicht gut und schön mit C++, kennt kein RAII etc.

    • Windows Only (prinzipiell).

    • Viel Boilerplate Code notwendig, allgemein mehr Aufwand/low-level.

    P.S.:
    Qt oder Qwt können auch plotten, und wenn Du GUI Elemente willst, bist Du auch schon bedient. Es gibt auch GNUPlot, damit habe ich selbst aber noch nie in C++ gearbeitet. Python+Matplotlib ist aber sicherlich einfacher.



  • @HarteWare

    Auf alle Fälle, vielen Dank für eure Hilfe.
    Habe wieder ne Menge dazugelernt.


Anmelden zum Antworten