Kurven zeichnen
-
Hallo !
Ich möchte gerne wissen, wie man Kurven in MFC zeichnet. Beispielsweise eine Sinuskurve. Muss man da mit Radiant umrechnen etc. um beispielsweise eine Wechselspannung darzustellen. (Zeigerdiagramm + Sinusform)
-
Das läuft mittels GDI, hier ein Artikel zur WinAPI. Bei MFC läuft das exakt gleich, nur gekapselt, also ohne hwnd bzw. hdc:
http://www.henkessoft.de/C++/WinAPI/WinAPI_GDI/WinAPI_7_GDI.htm (weiter unten sind auch Sinus-Kurven)
http://www.se.fh-heilbronn.de/usefulstuff/VCPLUS6/kap08.htm (GDI in MFC)
-
Danke für die super Tips !
Mit SetPixel ... war mir schon klar. Im Gegensatz zu LineTo ... Ich glaube hier muss mehr gerechnet werden um mit LineTo eine Kurve darzustellen ,oder?
Danke auch trotzdem noch mal für die Codeschnippsel auf den Seiten!
-
Habe nochmal eine Frage!
Wieso hängt sich ein Programm auf wenn man in kleineren SChritten eine For - Schleife hochzählen lässt ?
Beispiel: for(a=0;a<100;a=a+0,01){}
-
for(int i = 0; i < 100; i += 0.01);funktioniert nicht, da mit Integer gerechnet wird und diese keine Kommastellen haben. Das 0.01 ist somit gleich wie wenn man plus 0 rechnen würde. Somit hängt sich das ganze auf.
for(float i = 0; i < 100; i += 0.01);Das allerdings sollte funktionieren. Die Schleife wird dabei 10'000 mal durchlaufen, bevor sie beendet wird.
Grüssli
-
#include <iostream> #include <conio.h> using namespace std; int main() { for(double i=0; i<10; i=i+0.1) cout << i << endl; getch(); }Verwende einen Punkt als Dezimal-Trennzeichen. Du hast ein Komma(!). Daher addierst Du immer nur 0! => Endlosschleife.