AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Funktionsgraph zeichnen

Offene Frage von "Svenkan"
Ein Thema von Svenkan · begonnen am 14. Dez 2007 · letzter Beitrag vom 14. Dez 2007
Antwort Antwort
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#1

Funktionsgraph zeichnen

  Alt 14. Dez 2007, 17:48
Moinsen!
Ich wollte mich mal an eine neue Aufgabe wagen und habe auch schon die passende von einem Lehrer bekommen!
Und zwar, soll ich für den Physikunterricht versuchen, den Funktionsgraphen der Funktion y=1/(4d)*(Ua/Ub)*x² zeichnen zu lassen (Ablenkung der Elektronen in einer Elektronenröhre).
Ich habe allerdings noch nicht mit dem Zeichnen von Graphen bisher gearbeitet und weiß eigtl nicht viel mehr, als dass ich eine TBitMap brauche.
Ich brauche somit 2 Achsen (X und Y im positiven Bereich) und der Graph müsste von rechts beginnen zu laufen, statt wie normal von links (damit es mit unserem Versuchsaufbau übereinstimmt!).
Nun fehlen mir allerdings grad mal sämtliche Ansätze, weswegen ich dazu eure Hilfe benötige!
Als Komponentenbepakete besitzte ich zusätzlich noch JCL und JVCL. Falls da was bei ist, was man dazu gut benutzen kann, wisst ihr, dass ich das habe. ^^
Sven Kannenberg
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#2

Re: Funktionsgraph zeichnen

  Alt 14. Dez 2007, 17:52
Delphi-Quellcode:
for x := 0 to 100 do
begin
  Bitmap1.Canvas.LineTo(Bitmap1.Width-x, Bitmap1.Top - (1 div (4*d) * (Ua div Ub)*x*x));
end;
Also: Die halbe Koordinate musst du einfach plump erraten und die andere mit der Formel ausrechnen.
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#3

Re: Funktionsgraph zeichnen

  Alt 14. Dez 2007, 18:22
Svenkan,

such mal nach meinem Namen hier. Ich hab mal Quellcode gepostet fuer einen Funktiongraphen der lineare als auch quadratische Funktionen zeichnen kann. Nichts besonderers, ohne Parser oder so! Straight forward eben!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Funktionsgraph zeichnen

  Alt 14. Dez 2007, 18:28
Ich hatte hier auch schonmal ein Beispiel angehangen, um die beiden möglichen Herangehensweisen darszustellen in dem Programm.
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Funktionsgraph zeichnen

  Alt 14. Dez 2007, 18:34
Hallo Muetze,

danke schonmal für dein tolles Beispiel!
Ich wollte mir das mal in Action anschauen, leider fehlt mir dazu eine dcu (FunctionPainter).
Sven Kannenberg
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Funktionsgraph zeichnen

  Alt 14. Dez 2007, 18:53
Nein, brauchst du nicht. Einfach oben in der Uses Liste rauswerfen. Ist nur noch ein Überbleibsel von der Umstellung. Ich habe nämlich eine kleine Komponente geschrieben, welche das Koordinatensystem kapselt und das Funktionszeichnen. Die Funktionen werden dabei per Event von aussen definiert (also immer ein y zum übergebenen x berechnen). Das Beispiel braucht diese Unit aber nicht, dass ist noch die Originalform.
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Funktionsgraph zeichnen

  Alt 14. Dez 2007, 18:54
Ah!
Ok
Dankeschön!
Sven Kannenberg
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Funktionsgraph zeichnen

  Alt 14. Dez 2007, 18:58
Hi,

ich sollte mal eine Koordinatensystemkomponente machewn, und jetzt gerade verbessere ich das Programm wegen einer neuen Schulaufgabe... Hier im Forum suchenFAlterCalc heißt es, nächste Woche werde ich die neueste Version veröffentlichen (dann ist nämlich Abgabetermin).

Aber wenn du die Herausforderung suchst, wäre es wohl besser, wenn du dich selbst dranwagst und nicht nur mein Koordinatensystem verwendest.

Die Verfahrensweise bei meinem Koordinatensystem funktioniert so, falls du es selbst nachprogrammieren willst:

Erst wird eine Wertesammlung erstellt (Funktionswerte, also X- und Y-Werte, in geordneter Reihenfolge). Beim Zeichnen wird dann aus den tatsächlichen X- und Y-Werten unter Beachtung der Skaleneinteilung der Bildpubkt berechnet und die Bildpunkte werden mit LineTo (siehe malos Beispiel) verbunden. Also angenommen, ein Ursprung ist O mit dem Wertepaar O.X und O.Y, deine Einteilung ist A (A Pixel = 1 Einheit) und deine Werte sind X und Y, der Bildpunkt soll P (P.X und P.Y) werden, dann rechnest du ungefähr so:

Delphi-Quellcode:
P.X := O.X + Round(A * X);
P.Y := O.Y - Round(A * Y); //-, da nach oben
Viel Erfolg!

Mfg
FAlter
Felix Alter
  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 08:12 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