Polarkoordinatenplot



  • Hallo zusammen,

    ist es möglich mit den Standardmitteln des BCB6 einen Plot in Polarkoordinaten vorzunehmen?

    Danke und liebe Grüße
    Todd



  • na dann fang mal an, Zeichnen auf Canvas.



  • Hast du es schon geschafft, in kartesichen Koordinaten zu plotten? Wenn ja, benötigst du für Polarkoordinaten nur eine einfach Umrechnung:

    x = r*cos(ph)+x0;
    y = r*sin(ph)+y0;
    

    (r und ph sind deine gegebenen Polarkoordinaten (ph in Bogenmaß), x0 und y0 die Lage des Zentrums (normalerweise liegt (0,0) in einer Ecke des Bildes - das ist für Polardarstellung nicht gerade optimal))



  • Danke für eure Antworten.

    Sagen wir es einmal so.
    Ich bin ziemlich verwöhnt aus anderen Umgebungen was das Plotten von Daten angeht.
    Mit dem Plotten selbst habe ich mich im BCB noch nicht beschäftigt. Stelle mir aber vor, dass man alles, bzw. vieles selbst definieren und programieren muss.

    Meine Frage ziehlte darauf hin ab, ob man das vielleicht durch eine schöne implementierte Funktion umgehen kann.

    Vielleicht gibt es ja eine geeignete Bibliothek, die mir die Schreibarbeit abnimmt.

    Liebe Grüße
    Todd



  • Wenn du mit Plotten das Ausgeben von Grafik auf einem Drucker meinst (bzw. als Vorschau) dann schau dir mal dir Klasse TPrinter an. Dort gibt es dann Zugriff auf die Leinwand (Canvas). Die Methoden der Klasse TCanvas sind alle in der Hilfe dokumentiert (MoveTo, LineTo, etc.).
    Um eine Vorschau zu implementieren, brauchst du einfach ein TImage bzw. TPaintBox auf ein Formular setzen und dann dessen Canvas benutzen, d.h. du übergibst deiner Plot-Funktion den Canvas:

    void DoPlot(TCanvas *cv, ...)
    {
      cv->MoveTo(10, 10);
      cv->LineTo(100, 100); // Zeichne Linie (Angabe in kartesischen Koordinaten)
    }
    

Log in to reply