AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi brauche dringend ein programm das funktionen zeichnet
Thema durchsuchen
Ansicht
Themen-Optionen

brauche dringend ein programm das funktionen zeichnet

Ein Thema von silva · begonnen am 27. Apr 2004 · letzter Beitrag vom 27. Apr 2004
Antwort Antwort
silva

Registriert seit: 27. Apr 2004
2 Beiträge
 
#1

brauche dringend ein programm das funktionen zeichnet

  Alt 27. Apr 2004, 18:12
ich muss wissen wie ich, mit delphi, ein programm schreibe, welches funktionen zeichnet.
also lineare funktion, quadratische funktion, wurzelfunktion, tangenzfunktion, und potenzfunktion (sinus und cosinus hab ich schon)
das programm sollte so laufen das man einfach nur die parameter (a,b,c)eingibt und das programm dann den graphen in ein koordinatensystem zeichnet
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: ich hab nen riesen problem

  Alt 27. Apr 2004, 18:15
Frage: sind die Funktionen im Quelltext definiert? Wenn ja, dann ist das relativ einfach:
Du musst programmintern eine Wertetabelle aufstellen. Auf einer TCanvas-Kompo kannst du das dann zeichnen, wichtig ist der richtige Maßstab, du musst für jedes Pixel einen Wert haben, ansonsten wird die Funktion eckig. Dabei darf 1 Pixel aber nicht 1 mathematischen Einheit sein. Falls du noch nichts mit TCanvas gemacht hast, hier auf dem Forum gibts genug infos
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: ich hab nen riesen problem

  Alt 27. Apr 2004, 18:16
Hi,
1. gebe bitte deinem Beitrag einen sinvolleren Titel, in dem du auf den -Button neben deinem Beitrag klickst und dann den Titel editierst. So kann jeder direkt erkennen was für ein Problem du hast.

2. Generell solltest du das folgendermaßen machen: du sagst eine Spanne von 100px (Pixeln) ist = 1 Einheit. Dann gehst du von einem beliebigen -z (das, wo dein Koordinatensystem links beginnen sollen) bis zu einem +z (Ende rechts). Nun rechnest du für jedes z einen Funktionswert aus. Das Intervall, wie du vergehst ergibt sich aus deiner Spanne (siehe mein erster Satz im 2. Punkt): 1/100. Du zeichnest dann eine Linie, von deinem letzen Punkt zu deinem neuen Punkt. Und die y-Koordinate errechnest du einfach durch deine Funktion.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#4

Re: ich hab nen riesen problem

  Alt 27. Apr 2004, 18:16
Die Funktionen kannst du mit tan(wasauchimmer), sqr(wasauchimmer), sqrt(wasauchimmer) ausrechnen, falls du das auch wissen wolltest.

Hoffe, wenigstens einigermaßen geholfen zu haben
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#5

Re: ich hab nen riesen problem

  Alt 27. Apr 2004, 18:25
Das ist ein interessantes Problem. Sowas wollte ich auch schon mal schreiben, mit 'ner Paintbox. Ich versuche mal Quelltext zu rekonstruiren, den ich verwendet habem um mal testweise die Funktion
f(x)=x
darzustellen:
Delphi-Quellcode:
paintbox1.Canvas.MoveTo(0,0);
paintbox1.Canvas.LineTo(100,100);
Das geht zumindest ein bißchen. Aber der doof fängt mit seiner Linie oben Links an. Dann habe ich mal was "parableartiges" probiert:
Delphi-Quellcode:
var x,y,s:integer;
paintbox1.Canvas.MoveTo(0,0);
for s:=1 to 100 do
begin
  inc(x);
  y :=x*x;
  paintbox1.Canvas.LineTo(x,y);
end;
Da kam aber was raus, was nach allem anderen, als nach 'ner Parabel aussah. Aber ich habe mir schon seit längerem mal überlegt 'ne Kompo zu schreiben, die ein Paintbox bedient und in die man nur mit Werten füttern muss, die dann automatisch zeichnet.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
silva

Registriert seit: 27. Apr 2004
2 Beiträge
 
#6

Re: brauch nen programm das funktionen zeichnet

  Alt 27. Apr 2004, 18:38
sorry bin aber ein wenig unwissend sonst wär ich auch schon weiter aber ich brauch starke hilfe ich bin total verwirrt den ich versuch das schon seit 2 monaten und komm nicht weiter
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#7

Re: ich hab nen riesen problem

  Alt 27. Apr 2004, 18:42
Du wurdest in der zweiten Antwort bereits gebeten den Titel zu ändern. Tue dieses bitte.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
27. Apr 2004, 18:42
Dieses Thema wurde von "sakura" von "Projekte" nach "Sonstige Fragen zu Delphi" verschoben.
Ist kein DP-Projekt
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: brauche dringend ein programm das funktionen zeichnet

  Alt 27. Apr 2004, 19:00
Das gibt schon mal eine Parabel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Loop : Integer;
begin
  Paintbox1.Canvas.MoveTo(0, 0);
  for Loop := 0 to 10000 do
  begin
    Paintbox1.Canvas.LineTo((Loop * Loop) div 100 , Loop);
  end;
end;
Prinzip ist das: Du hast eine Funktionsgleichung der Art: f(x) = ax³+bx²+cx+d. Wenn du die jetzt Zeichen willst, musst du dir für jeden Punkt auf der y-Achse, f(x), den Funktionswert ausrechnen und dann den Punkt zeichnen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#10

Re: brauche dringend ein programm das funktionen zeichnet

  Alt 27. Apr 2004, 19:53
Dieses Thema wurde auch schon einige MAle abgehandelt, eine Suche wäre vielleicht auch angebracht
PS: Wenn du die Cosinus usw. schon hast, dann kannst du es doch gneau so mit ner Parabel oder anderer Funktion machen, du musst dir nur einen entsprechenden Mathe-Parser schreiben, wenn du eine Eingabe in der Form ax³+bx²+cx+d erstellen willst (und da liegt die eigentliche Schwierigkeit, meiner Meinung nach)
Alexander
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 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