Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   graphen zeichnen ? (https://www.delphipraxis.net/110308-graphen-zeichnen.html)

B89 16. Mär 2008 14:34


graphen zeichnen ?
 
Hi,
ich hab mich für den Physikunterricht mal an ein Programm zur Lichtbrechung gesetzt.
Bin jetzt schon soweit das ich die beiden Dichtewerte und den Winkel Alpha mittels trackbar bestimmen lassen kann und so auch die anderen Winkel ausrechnet.
Ich möchte die Werte nun aber am besten graphisch darstellen lassen, also wenn ich die werte verändere das sich der Graph auch automatisch mit verändert. Hab es schon mit einem TImage versucht aber ich komme einfach nicht weiter.
Hat von vielleicht jmd. eine Idee wie ich das am besten meistern kann??

Danke!!

Fussball-Robby 16. Mär 2008 14:39

Re: graphen zeichnen ?
 
Wo hakt es denn? Weißt du, wie man auf ein Canvas zecihnet? Oder hast du Probleme beim Berechnen o.ä.?

Mfg

PS. herzlich willkommen in der Dp :dp:

B89 16. Mär 2008 15:02

Re: graphen zeichnen ?
 
naja ich hab es schon mit move to ..line to versucht, aber so richtig komm ich beim zeichen nicht raus

Medium 16. Mär 2008 15:16

Re: graphen zeichnen ?
 
Bevor du dich an Delphi-Projekte begibst, lerne bitte zunächst ordentliches Fragen stellen. Du hast noch nichtmal gesagt, WAS du überhaupt darstellen willst, von sämtlichen Randinfos mal ganz abgesehen.

dajuhsa 16. Mär 2008 15:21

Re: graphen zeichnen ?
 
versuch doch ne funktion in der art f(x)= ...
und dann so oder so ähnlich:

Delphi-Quellcode:
procedure GraphZeichnen(Graphenbreite:integer);
var i,j:integer;
begin

  for i := 0 to graphenbreite do
  begin
    j := i * XYZ; //statt XYZ halt deine funktion einsetzen
    Paintbox.Canvas.Pixels[i,j] := clblack;
  end;

end;
oder falls ne funktion nicht hinhaut auch so:


Delphi-Quellcode:
var YWert: Array [0..Graphenbreite] of Integer;

...

procedure GraphZeichnen;
var i:integer;
begin

  for i := 0 to High(YWert) do
    Paintbox.Canvas.Pixels[i,YWert[i]] := clblack;

end;
EDIT: das kommt dann am besten ins OnChange-Event des Trackbars, weil sie ja gezeichnet werden sollen, sobald man einen Wert ändert

mfG,
dajuhsa :wink:

sx2008 16. Mär 2008 15:28

Re: graphen zeichnen ?
 
Du könntest deine Daten an das Programm gnuPlot weitergeben. Damit kann man professionelle Diagramme erzeugen, ohne das du dich allzu tief in die komplexe Materie einarbeiten musst.

B89 16. Mär 2008 15:50

Re: graphen zeichnen ?
 
danke schön...werd mal versuchen eure Tipps umzusetzen :)

toms 16. Mär 2008 16:14

Re: graphen zeichnen ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Du kannst dir auch mal TEasyGraph anschauen (mit Zoom + div. Einstellungsmöglichkeiten)
oder bei (Siehe Anlage) DelphiForFun vorbeischauen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz