Delphi-PRAXiS

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

mortality 17. Mär 2008 20:53


lineare gleichung zeichnen
 
hallo nochmal,
da mir keiner auf mein vorherigen topic antwortet....werde ich das letzte mal was einfaches fragen...was bei mir irgendwie net funktionieren will

und zwar die ableitung der funktion ax²+bx+c soll graphisch dargestellt werden, aber wird net korrekt eingestellt
Delphi-Quellcode:
bereich:= Round(StrToInt(intervall.Text)/2);

...

procedure TForm1.AbleitungClick(Sender: TObject);
var f1,f2,x1,x2:integer;
begin
new_b:=a*2;
new_c:=b;
abl_ausg.Visible:=true;
if new_c=0 then
  Abl_ausg.Caption:='y=f(x)='+floattostr(new_b)+'x'
   else
     Abl_ausg.Caption:='y=f(x)='+floattostr(new_b)+'x'+'+'+floattostr(new_c);
if a=0  then
 begin
  Abl_ausg.Caption:='y=f(x)='+floattostr(new_c)
 end;
 graphbox.Canvas.pen.color :=clRed; //Ändert die Farbe des Stift-Objekts Pen
 graphbox.Canvas.pen.width :=1; //Ändert die Strichstärke des Stift-Objekts Pen
 f1:=Round(graphbox.height/2)-(new_b*(-bereich))+new_c;
 f2:=Round(graphbox.height/2)-(new_b*(bereich))+new_c;
 x1:= Round(graphbox.width/2)-bereich;
 x2:= Round(graphbox.width/2)+bereich;
 graphbox.canvas.MoveTo(x1,f1);
 graphbox.Canvas.LineTo(x2,f2);


end;
dies will einfach net funktionieren, stellt falsch dar

Fussball-Robby 17. Mär 2008 20:57

Re: lineare gleichung zeichnen
 
Was zeichnet er denn falsch, bzw. zeichnet er überhaupt was?

Mfg

PS.: ax²+bx+c ist imho eine quadratische und keine lineare Funktion :wink:

mortality 17. Mär 2008 21:02

Re: lineare gleichung zeichnen
 
die abletung davon ist imho eine lineare

zeichnet falsch z.bsp für y=2x macht er y=(1/2)*x

mortality 17. Mär 2008 21:47

Re: lineare gleichung zeichnen
 
könnte mir wenigstens jemand einen unicode geben den ich dann für meinen einsetzen kann???
hab ich was an mir das euch abschreckt....keiner will antworten

Die Muhkuh 17. Mär 2008 21:53

Re: lineare gleichung zeichnen
 
Nein, aber es sind nicht alle 24/7 für Dich da. Und Pushen ist erst nach 24h erlaubt.

mortality 17. Mär 2008 22:01

Re: lineare gleichung zeichnen
 
tja bloss morgen ist die hilfe sinnlos...denn ich muss morgen abgeben

Die Muhkuh 17. Mär 2008 22:02

Re: lineare gleichung zeichnen
 
Sorry, aber ist das unser Problem, wenn Du nicht gebacken bekommst, Deinen Grips ein paar Tage früher einzuschalten bzw. früher mit der gestellten Aufgabe anzufangen?

mortality 17. Mär 2008 22:08

Re: lineare gleichung zeichnen
 
es ist nicht dein problem,was du machst ist einfach nur spam...such dir ein chat und belehre dort ander leute..
ich hab vor einem tag einen andere thread erstellt auf den keiner geantwortet hat...

marabu 17. Mär 2008 22:12

Re: lineare gleichung zeichnen
 
Hallo,

Zitat:

Zitat von mortality
... da mir keiner auf mein vorherigen topic antwortet ...

manchmal musst du etwas Wartezeit einkalkulieren.

Was die Berechnung von Funktionswerten für den Graph der Kurve oder ihrer Ableitung angeht, so solltest du deinen Code etwas allgemeingültiger auslegen. Dabei helfen dir Funktionen und Prozeduren - es muss nicht alles in die Ereignisprozedur eines Buttons gequetscht werden. Kennst du schon das Horner-Schema? Damit kannst du Funktionswertberechnung und beliebige Ableitungen extrem elegant kodieren. Speziell Polynome mit ganzzahligen Exponenten lassen sich besonders einfach implementieren.

Noch etwas zu deinem Code: Du solltest nicht verschiedene Dinge miteinander vermengen. Trenne die Funktionswertberechnung von der Koordinatentransformation, sonst erkennt man nicht sofort was da passieren soll. Und je sorgfältiger du die Namen für deine Variablen wählst, desto eher ist ein Leser deines Threads bereit sich in dein spezielles Problem einzuarbeiten.

Freundliche Grüße vom marabu

mortality 17. Mär 2008 22:23

Re: lineare gleichung zeichnen
 
also irgendwie will es auch nicht

Delphi-Quellcode:
function Horner(x: integer; coeff: array of Integer): integer;
var
  i: Integer;
begin
  Result := 0;
  for i := Low(coeff) to High(coeff) do
    Result := Result * x + coeff[i];
end;
rocedure TForm1.AbleitungClick(Sender: TObject);
var f1,f2,x1,x2:integer;
begin
new_b:=a*2;
new_c:=b;
abl_ausg.Visible:=true;
if new_c=0 then
  Abl_ausg.Caption:='y=f(x)='+floattostr(new_b)+'x'
   else
     Abl_ausg.Caption:='y=f(x)='+floattostr(new_b)+'x'+'+'+floattostr(new_c);
if a=0  then
 begin
  Abl_ausg.Caption:='y=f(x)='+floattostr(new_c)
 end;
 graphbox.Canvas.pen.color :=clRed; //Ändert die Farbe des Stift-Objekts Pen
 graphbox.Canvas.pen.width :=1; //Ändert die Strichstärke des Stift-Objekts Pen

 x1:= Round(graphbox.width/2)-bereich;
 x2:= Round(graphbox.width/2)+bereich;
 f1:=Round(graphbox.height/2)+horner(x1,new_b);
 f2:=Round(graphbox.height/2)-horner(x2,new_c);
 graphbox.canvas.MoveTo(x1,f1);
 graphbox.Canvas.LineTo(x2,f2);



end;
aber danke das wenigsten jemand richtung MEIN problem geantwortet hat

Namenloser 17. Mär 2008 22:30

Re: lineare gleichung zeichnen
 
[ot]
Zitat:

Zitat von mortality
es ist nicht dein problem,was du machst ist einfach nur spam...such dir ein chat und belehre dort ander leute..
ich hab vor einem tag einen andere thread erstellt auf den keiner geantwortet hat...

Ich finde, wenn, dann solltest du dir einen Chat suchen, wenn du es nicht ertragen kannst, wenn innerhalb von 5 min keiner auf dein Problem antwortet.[/ot]

mortality 17. Mär 2008 22:35

Re: lineare gleichung zeichnen
 
man du merkst auch nicht das du nur spam bist...hey...wenn du lust auf diskussionen mit mir hast dann gebe ich gerne meine icq nummer....aber spam wird hier nicht gebraucht, wenn du kein bock hattes die vorheringen beiträge zu lesen dan leave bitte

grenzgaenger 17. Mär 2008 22:44

Re: lineare gleichung zeichnen
 
sag mal hast du schon 'n papiertest durchgeführt? 'n bleistift, lineal und 'n rechenschieber wirste doch noch haben... wenn der debugger zu kompliziert ist...

mortality 17. Mär 2008 22:46

Re: lineare gleichung zeichnen
 
papiertest mach ich schon seit stunden.....deshalb hab ich den thread erstellt ...da ich nicht verstehe was zwischen meinen papieraufzeichnungen und den code nicht stimmt

grenzgaenger 17. Mär 2008 22:51

Re: lineare gleichung zeichnen
 
und was hast du schon herausgefunden? ist die funktion korrekt oder liegts an der zeichnung...

Luckie 17. Mär 2008 22:56

Re: lineare gleichung zeichnen
 
Zitat:

Zitat von mortality
man du merkst auch nicht das du nur spam bist...hey...wenn du lust auf diskussionen mit mir hast dann gebe ich gerne meine icq nummer....aber spam wird hier nicht gebraucht, wenn du kein bock hattes die vorheringen beiträge zu lesen dan leave bitte

Der Hinweis, sich etwas früher damit zu beschäfftigen, war durch aus gerechtfertigt, auch wenn er dir erstmal nicht hilft. Du kannst nicht erwarten, dass wir uns jetzt alle hinsetzen und dir das machen, nur damit du das morgen hast. Es besteht keinerlei Grund für dich hier ausfallend zu werden. aber für die Zukunft solltet du dir das zu Herzen nehmen und dich mal früher hinsetzen und deine Hausaufgaben machen.

mortality 17. Mär 2008 23:01

Re: lineare gleichung zeichnen
 
der punkt P1( breite/2 -x1 ; höhe/2+ f1(breite/2-x1)) soll verbunden werden mit
Punkt P2(( breite/2 +x2 ; höhe/2+ f2(breite/2+x2)) dies soll dann meine ableitung sein

// f(x)= (lineare gleichung) mx+n -> new_b=m new_c=n


dies ist ungefähr mein papier mathe status^^
@luckie: omg...will jetzt jeder aus dem forum mir das vorwerfen...bald haben wir hier 10^9 postings, ich zwinge hier keinem drum mir zu helfen(könnte ich sowieso nicht, aber die spammer tun so) und ich rege mich auch nicht auf weil keiner schreibt...danke für deinen beitrag

grenzgaenger 17. Mär 2008 23:04

Re: lineare gleichung zeichnen
 
wo hast du hier einen punkt? 'n punkt ist x|y du hast hier nur x || y

ansonsten von P(x|y) --> P(X|Y) --> Lineto ... oder über 'ne schleife die pixel einzeln zeichnen ...

ausserdem solltest du drauf achten, dass deine punkte im canvas und lesbar sind

mortality 17. Mär 2008 23:07

Re: lineare gleichung zeichnen
 
sorry aber ich verstehe nicht ganz was du meinst

WS1976 18. Mär 2008 06:42

Re: lineare gleichung zeichnen
 
Hi mortality,

merkst du eigentlich nicht, dass du dich im Ton vergreifst?

Zitat:

man du merkst auch nicht das du nur spam bist...hey...wenn du lust auf diskussionen mit mir hast dann gebe ich gerne meine icq nummer....aber spam wird hier nicht gebraucht, wenn du kein bock hattes die vorheringen beiträge zu lesen dan leave bitte
du willst doch offensichtlich Hilfe haben. Dann tu was dafür. Schildere uns was exakt nicht funktioniert.
Wenn du weiter in diesem Ton kommunizierst wirst du allerdings garnichts bekommen.

Nochwas: wir sind hier keine Hausaufgabenlösungsmaschine.

Grüsse
Rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 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 by Thomas Breitkreuz