Zeichnerisches Problemchen



  • Servus Gemeinde,

    ich hab ein kleines Rechenproblem. Ich versuche grad sowas hier zu zeichnen.

    http://de.wikipedia.org/wiki/Logarithmuspapier

    Allerdings fehlt mir hier gerade der mathematische Ansatz vollkommen. Logarithmus klar, aber wie??? 😕 Könnte mir da jemand mal bitte auf die Sprünge helfen wie ich sowas auf ein TImage gekleistert bekomme?

    MfG TFX



  • Mit MoveTo und LineTo müsste das , die richtigen Koordinaten vorausgesetzt,
    locker zu lösen sein. Die X- und Y-Werte legst du in einem Array ab.

    mfg
    Peter



  • die richtigen Koordinaten vorausgesetzt...

    Das mit LineTo/MoveTo ist mir schon klar, nur wie berechnen sich die die Abstände zwischen den Linien?
    Da wär ein Ansatz ziemlich hilfreich, quasi wie ich die Abstände der Linien innerhalb der einzelnen Dekade berechne?

    MfG TFX





  • kpeter schrieb:

    Schau mal unter...

    Thx, genau das was ich gesucht hab. Manchmal sieht man echt den Wald vor lauter Bäumen nicht.....

    Vielen Dank nochmal...

    MfG TFX



  • soooo ich hab das dann mal so gelöst: Image auf ne Form pappen und los gehts.

    void __fastcall TMainForm::DrawCoordSystem(TObject *)
    {
    	ImgCoord->Canvas->Pen->Color = clBlack;
    	ImgCoord->Canvas->Brush->Color = clWhite;
    	ImgCoord->Canvas->Rectangle(ImgCoord->ClientRect);
    
    	 for (int i = 0; i <= 3; i++)     // 3 Dekaden weit
    		for (int j =1; j <= 10; j++){ // die 10 Linien jeder Dekade
    			double a= Log10(j);
    			// x - Richtung
    			ImgCoord->Canvas->MoveTo((i*100) + (a*100), 0);
    			ImgCoord->Canvas->LineTo((i*100) + (a*100),ImgCoord->Height);
    			// y - Richtung
    			ImgCoord->Canvas->MoveTo(0, ImgCoord->Width-((i*100) + (a*100)));
    			ImgCoord->Canvas->LineTo(ImgCoord->Width, ImgCoord->Width-((i*100) + (a*100)));
    			}
    }
    

    falls es jemanden interessiert oder es vllt mal braucht. Wenn jemand ne bessere Lösung hat kann er sie mir gerne hier mal zeigen... 😉

    MfG TFX


Anmelden zum Antworten