koordinatensystem mit 4 quadranten
-
hallo, ich erstelle über diese funktion ein koordinatensytem:
dc->SetMapMode(MM_ISOTROPIC); dc->SetWindowExt(UpperBorder.x, UpperBorder.y); dc->SetViewportExt(rect.Width(), rect.Height()); dc->SetViewportOrg(center); dc->MoveTo(center); dc->SetPixelV(center, RGB(0,0,0));
nur bin ich mir grade nicht sicher, wie das dann aussieht. UpperBorder ist ein CPOINT mit koordinaten, rect die grösse meines fensterbereiches, center der mittelpunkt. allerdings funktioniert das nicht so ganz, deshalb habe ich ein paar fragen:
- hat mein koordinatensystem überhaupt 4 quadranten (also hat die x-achse einen wertebereich von -UpperBorder bis UpperBorder)?
2)wie funktioniert die umrechnung von logischen in geräteeinheiten, mein graph ist immer nur in einem kleinen bereich, die koordinaten stehen dabei in einem CPOINT Array. mit dieser funktion zeichne ich:
int lauf = 0; CPen pen(PS_DASH, 10, RGB(0,0,0)); dc->SelectObject(&pen); int size_array = GetArraySize(); //Koordinatenachsen zeichnen CPoint upleft = rect.TopLeft(); CPoint downright = rect.BottomRight(); dc->MoveTo(downright); dc->Rectangle(rect); dc->MoveTo(center); dc->MoveTo(downright.x, center.y); dc->LineTo(upleft.x, center.y); dc->MoveTo(center.x, downright.y); dc->LineTo(center.x, upleft.y); //Koordinaten umrechnen dc->LPtoDP(result_array, lauf); //Graph zeichnen while (lauf <= size_array) { dc->MoveTo(result_array[lauf]); dc->SetPixelV(100 * result_array[lauf].x, 100 * result_array[lauf].y, RGB(0,0,255)); lauf++; }
vielen dank für eure hilfe,
daniel
- hat mein koordinatensystem überhaupt 4 quadranten (also hat die x-achse einen wertebereich von -UpperBorder bis UpperBorder)?