![]() |
Programm zum zeichnen von 2 Graphen
Moin,
habe da nen Problem. das programm zeichnet beide graphen, aber verbindet diese auch, sprich füllt die fläche zwischen diesen aus? Oo wenn ich die procedure des einen graphen raus nehme zeichnet er auch richtig füllt keine fläche aus. Das zeichnen des 1. Graphen:
Delphi-Quellcode:
Das zeichnen des 2. Graphen:
Form1.Bild.Canvas.LineTo(xb,yb);
Delphi-Quellcode:
Warum kommt er jetzt daraus diese beiden Graphen zu verbinden? Ich verstehe es einfach nicht.
Form1.Bild.Canvas.LineTo(xb2,yb2);
Bitte helft mir Danke |
Re: Programm zum zeichnen von 2 Graphen
um es nochmal genauer zu machen:
Zeichnen des 1. Graphen:
Delphi-Quellcode:
Zeichnen des 2. Graphen:
procedure zeichnenGraph;
var defi,defivorher : boolean; xvorher,yvorher : double; begin xvorher := (xb-x0)/(xEins-x0); yvorher:=funktion(x,defivorher); x := (xb-x0)/(xEins-x0); y :=Funktion(x,defi); yB := Round(y*(yEins-y0)+y0); if y <> 0 then if xB = 0 then Form1.Bild.Canvas.MoveTo(xb,yb) else begin x := ((xb-1)-x0)/(xEins-x0); if defi and not ((y>10*index) or (y<-10*index) ) then begin Form1.Bild.Canvas.LineTo(xb,yb); end else begin xb := xb+1; x := (xb-x0)/(xEins-x0); y :=Funktion(x,defi); yB := Round(y*(yEins-y0)+y0); Form1.Bild.Canvas.MoveTo(xb,yb) end; end; end;
Delphi-Quellcode:
procedure zeichnenGraph2;
var defi2 : boolean; begin x2 := (xb2-x0)/(xEins-x0); y2 :=Funktion2(x2,defi2); yB2 := Round(y2*(yEins-y0)+y0); if y2 <> 0 then if xB2 = 0 then Form1.Bild.Canvas.MoveTo(xb2,yb2) else begin x2 := ((xb2-1)-x0)/(xEins-x0); if defi2 and not ((y2>10*index) or (y2<-10*index) ) then begin Form1.Bild.Canvas.LineTo(xb2,yb2); end else begin xb2 := xb2+1; x2 := (xb2-x0)/(xEins-x0); y2 :=Funktion(x2,defi2); yB2 := Round(y2*(yEins-y0)+y0); Form1.Bild.Canvas.MoveTo(xb,yb); end; end; end; Ich versteh einfach nicht, warum er die beiden verbindet Edit: Ok habe mir LineTo nochmal genau angeschaut und das Problem ist, dass er ja immer von der alten PenPos. eine Linie zieht und da ich 2 Graphen gleichzeitig zeichne auf einem image geht das nicht. Ok das habe ich. Wenn man es mit 2 verschiedenen Bildern versucht auf denen man zeichnet, dann geht das zwar flackert aber sehr, mit DoubleBuffered ist das auch nicht zu lösen, da dann der graph auf dem 2. bild , sprich der 2. graph nicht mehr sichtbar ist. wenn mir da irgendwer nen tipp geben könnte wäre das echt super |
Re: Programm zum zeichnen von 2 Graphen
Initialisiere xB und xB2 mal vor jedem Zeichnen mit 0.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz