Koordinaten berechnen
-
Hi zusammen
,Also ich habe die Funktion f(x)
Jetzt setzte ich in diese Funktion Werte ein (for-Schleife), welche anschließend in ein Koordianten System gezeichnet werden sollen... mein Problem ist das ich nicht weiß wie ich die Punkte umrechnen soll...PS das Koordinatensystem ist über die GDI gezeichnet (also n paar mal LineTo und MoveToEx ...)
danke!
-
Mit SetWindowOrgEx kannst du einen Punkt als Ursprung angeben, sodass du die Punkte nicht mehr umzurechnen brauchst.
-
hmm ok danke erstmal für die hilfe...aber irgend wie funktioniert das hier nicht:
// unter WM_PAINT // hdcBackBuffer ist der gültige Zeichenkontext // iXGraphField ist die horizontale Größe des Graphen // iYGraphField ist die vertikale Größe des Graphen // ptPrevOrg soll den ursprünglichen Koordinatenbasispunkt speichern SetWindowOrgEx(hdcBackBuffer, iXGraphField / 2, iYGraphField / 2, &ptPrevOrg); MoveToEx(hdcBackBuffer, 0, 0, NULL); LineTo(hdcBackBuffer, 10, 10); // Linie von der Mitte (0,0) bis (10,10) SetWindowOrgEx(hdcBackBuffer, ptPrevOrg.x, ptPrevOrg.y, NULL); // zurücksetzenvll. findeste ja den Fehler...und nochmals vielen dank!

PS: er zeichnet einfach nix^^

-
Servas!!!
Weiss nicht was genau du mit f(x) dann erreichen willst,
aber hier zB. wird zuerst das kartesische Koordinatensystem eingestellt dann der Vektor 100, 100 vom Ursprung gezeichnet!!vll hilfts!!
case WM_PAINT:
{
PAINTSTRUCT ps;
RECT rc;HDC hdc = BeginPaint (hWnd, &ps);
GetClientRect(hWnd, &rc);
SetMapMode(hdc, MM_LOMETRIC);
SetViewportOrgEx(hdc, rc.right/2, rc.bottom/2, NULL);
MoveToEx( hdc, 0, 0, NULL);
LineTo( hdc, 200, 250 );EndPaint( hWnd, &ps);
break;
}
-
doch ned 100, 100

-
funzt, danke, perfekt!
